pkgsrc/emulators/mednafen/Makefile

58 lines
1.6 KiB
Makefile
Raw Normal View History

mednafen: Update to 1.26.1 -- 1.26.1: -- November 8, 2020: PSX: Fixed various inaccuracies in the SPU reverb emulation code. PSX: Fixed quasi-benign dereferencing of a null pointer in the GPU code when playing a PSF. November 3, 2020: SNES-Faust: Fixed a crash when an MSU1-enabled game tried to play MSU1 audio but no audio tracks existed. SNES-Faust: Only create MSU1 multithreaded audio reader object if at least one audio track is available. November 2, 2020: SNES-Faust: Fixed a design flaw in the MSU1 audio track loading code that broke loading of audio tracks when the game's filename included a "%" character. November 1, 2020: SS: Fixed compilation errors after configuring with --disable-debugger. SS: Fixed compilation errors with clang. -- 1.26.0-UNSTABLE: -- October 26, 2020: SS: Added "The Lost World: Jurassic Park" to the internal database of games to enable full cache emulation with, to fix most rock face graphical glitches. October 25, 2020: SS: Added "Corpse Killer" to the internal database of games to enable full cache emulation with, to fix the glitchy rotation-zoom effect. October 24, 2020: SS: Fixed major bug, existing since Saturn save state support was added, in the SCU save state code that caused wrong state to be saved(and later restored) when an SCU DMA level in indirect mode was active. SS: Added "Kaitei Daisensou"/"In the Hunt" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix FMV tearing. SS: Added "Zero Divide" to the internal database of games to use the data cache read bypass kludge with, to fix a graphical glitch with character portraits. October 23, 2020: SS: Made changes to prevent the CDB emulation from reporting PLAY status until the second sector is read after a seek completes; fixes game-breaking problems in "Break Point", "DJ Wars", "Hop Step Idol", and "Tennis Arena". SS: Fixed inaccuracies with how CDB playback buffer full auto-pause and resume works; fixes occasional hangs of finite duration in "Dragon Force II" and "World Cup France '98: Road to Win" when trying to skip FMVs. October 22, 2020: SS: Added "Mujintou Monogatari R: Futari no Love Love Island" to the internal database of games to use the data cache read bypass kludge with, to fix glitches when character portrait graphics change. October 21, 2020: SS: Added "Doraemon: Nobita to Fukkatsu no Hoshi" to the internal database of games to use the data cache read bypass kludge with, to fix the blank Game Over screen. SS: When a CDB 'Get CD Device Connection' command is issued very shortly after a 'Reset Selector' command, the 'Get CD Device Connection' command will now be executed before the resetting effects of the 'Reset Selector' command occur. Fixes startup hang in the USA version of "Independence Day". October 20, 2020: SS: Slowed down emulated VDP1 pixel plotting performance by a bit less than 20%(10% in 8bpp mode); fixes prematurely cut-off voices in "Paneltia Story", and reduces tearing in "Yu-No". October 18, 2020: SS: Added "3D Baseball", "The Crow", "NBA Action", "NFL Quarterback Club 96", "Solar Eclipse", and "Titan Wars" to the internal database of games to enable full cache emulation with, to fix minor FMV glitches. SS: Added "Thunder Force Gold Pack 1" to the internal database of games to enable full cache emulation with, to fix the glitchy ship sprite in the ending of "Thunder Force III". SS: Added the Europe releases of "Virtua Cop" and "Virtua Cop 2" to the internal database of games to enable full cache emulation with, to fix startup hangs. SS: Added "Yu-No" to the internal database of games to enable full cache emulation with, to fix the problem of the intro FMV ending too soon. SS: Added "Horror Tour" to the internal database of games to enable full cache emulation with, to fix graphical glitches on the save and load screens. SS: Added "Falcom Classics II" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix tearing in the intro FMV of "Ys II". SS: Added "Tokimeki Memorial: Forever With You" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix the glitchy arm sprite in the Konami intro. SS: Added "Virtua Fighter Kids" to the internal database of games to use the data cache read bypass kludge with, to fix a major FMV glitch. October 17, 2020: SS: Made a very small SSE2-based optimization to the cache tag evaluation code. October 16, 2020: SS: Removed incorrect write mirrors for the SH-2 CCR register; fixes FMV glitches in "NFL Quarterback Club 97". SS: When full cache emulation is enabled(e.g. via database), alternate slave CPU and bus sharing emulation code will be used, to reduce disproportionate sharing of the bus(it's still not perfect, however). SS: SH-2 PC-relative MOV.W and MOV.L loads are now correctly treated as instruction fetches instead of data fetches with respect to the OD/ID bits of CCR. SS: The SH-2 WB/EX pipeline stall emulation logic is now always enabled, instead of only being enabled in full cache emulation mode as it was previously. October 12, 2020: SS: Moved SH-2 cache entry invalid bit from bit31 of the internal combined tag variable to bit0, for slightly better code generation. October 11, 2020: SS: Slave SH-2 on/off is now handled outside of the regular event handling system to prevent a crash under certain conditions. October 9, 2020: SS: Extended the handling of VDP1 command execution slowdown on SH-2 CPU reads/writes to also include SH-2 DMA accesses. October 5, 2020: SS: Bumped up minimum seek timing delay, to compensate for upcoming general CPU timing improvements in the games sensitive to seek timing. October 4, 2020: SS: The SR value loaded with RTE is now properly masked. October 2, 2020: SS: Allow the SMPC joystick reading process to be aborted earlier on, while still waiting for vblank to end; fixes another hang in "QuoVadis". SS: Added "Wolf Fang SS: Kuuga 2001" to the internal database of games to enable SH-2 CPU read/write VDP1 draw slowdown with, to fix glitchy graphics in the player's robot. SS: Added "Mahjong Doukyuusei Special" to the internal database of games to use the data cache read bypass kludge with, to fix the missing background graphics layer on disc 2. SS: Added "Kidou Senkan Nadesico: Yappari Saigo wa Ai ga Katsu" to the internal database of games to use full cache emulation with, to fix a hang. SS: Implemented emulation of the timing effects of the B-bus write buffer on SH-2 CPU writes; fixes hang in "QuoVadis". September 4, 2020: SNES-Faust: Fixed bug in the multithreaded PPU renderer that could cause massive graphics corruption when a game interleaves reads and writes to VRAM without resetting the VRAM address, like in "NBA Pro Basketball: Bulls vs Blazers". August 28, 2020: SS: Delay CDB status position info update by about 44us after a seek request(via Play command, or otherwise); fixes missing graphics in the intro of "Magical Drop 3". -- 1.25.0-UNSTABLE: -- June 27, 2020: SS: Implemented more accurate emulation of VDP1 drawing of excessively-large primitives. It's not perfect, there's still something weird going on with antialiasing, and the effects on gradient shading and texturing are not fully emulated, but it's enough to fix missing graphics in the attract mode of "Virtua Cop", and a hang after defeating the final boss in "Rayman". SS: Fixed an off-by-1 inaccuracy in the edge stepping code for sprites and polygons, with minor visible effects in non-rectangular sprites/polygons. June 26, 2020: SS, MD: Fixed/Implemented M68K MULU and MULS instruction timing. June 24, 2020: SS: Added wait states to M68K writes; fixes hang in "Lunar" after the Meribia pub singer's singing, that was caused by a timer being reloaded too quickly in an interrupt handler. June 13, 2020: SS: Allow VDP1 primitive drawing code to be suspended(and later resumed) mid-drawing when it's consumed too much emulated time; fixes excessive CPU usage during the FMV in "Dark Seed II". June 4, 2020: SS: Added "Senken Kigyouden", "Xian Jian Qi Xia Zhuan", "Virtua Fighter", and "Virtua Fighter Remix" to the internal database of games to enable full cache emulation with, to fix graphical glitches. May 17, 2020: SS: Implemented more complete emulation of SCSP's buggy(inter-slot contamination) linear interpolation on FM carrier slots.
2020-11-20 15:54:00 +01:00
# $NetBSD: Makefile,v 1.34 2020/11/20 14:54:00 nia Exp $
mednafen: Update to 1.26.1 -- 1.26.1: -- November 8, 2020: PSX: Fixed various inaccuracies in the SPU reverb emulation code. PSX: Fixed quasi-benign dereferencing of a null pointer in the GPU code when playing a PSF. November 3, 2020: SNES-Faust: Fixed a crash when an MSU1-enabled game tried to play MSU1 audio but no audio tracks existed. SNES-Faust: Only create MSU1 multithreaded audio reader object if at least one audio track is available. November 2, 2020: SNES-Faust: Fixed a design flaw in the MSU1 audio track loading code that broke loading of audio tracks when the game's filename included a "%" character. November 1, 2020: SS: Fixed compilation errors after configuring with --disable-debugger. SS: Fixed compilation errors with clang. -- 1.26.0-UNSTABLE: -- October 26, 2020: SS: Added "The Lost World: Jurassic Park" to the internal database of games to enable full cache emulation with, to fix most rock face graphical glitches. October 25, 2020: SS: Added "Corpse Killer" to the internal database of games to enable full cache emulation with, to fix the glitchy rotation-zoom effect. October 24, 2020: SS: Fixed major bug, existing since Saturn save state support was added, in the SCU save state code that caused wrong state to be saved(and later restored) when an SCU DMA level in indirect mode was active. SS: Added "Kaitei Daisensou"/"In the Hunt" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix FMV tearing. SS: Added "Zero Divide" to the internal database of games to use the data cache read bypass kludge with, to fix a graphical glitch with character portraits. October 23, 2020: SS: Made changes to prevent the CDB emulation from reporting PLAY status until the second sector is read after a seek completes; fixes game-breaking problems in "Break Point", "DJ Wars", "Hop Step Idol", and "Tennis Arena". SS: Fixed inaccuracies with how CDB playback buffer full auto-pause and resume works; fixes occasional hangs of finite duration in "Dragon Force II" and "World Cup France '98: Road to Win" when trying to skip FMVs. October 22, 2020: SS: Added "Mujintou Monogatari R: Futari no Love Love Island" to the internal database of games to use the data cache read bypass kludge with, to fix glitches when character portrait graphics change. October 21, 2020: SS: Added "Doraemon: Nobita to Fukkatsu no Hoshi" to the internal database of games to use the data cache read bypass kludge with, to fix the blank Game Over screen. SS: When a CDB 'Get CD Device Connection' command is issued very shortly after a 'Reset Selector' command, the 'Get CD Device Connection' command will now be executed before the resetting effects of the 'Reset Selector' command occur. Fixes startup hang in the USA version of "Independence Day". October 20, 2020: SS: Slowed down emulated VDP1 pixel plotting performance by a bit less than 20%(10% in 8bpp mode); fixes prematurely cut-off voices in "Paneltia Story", and reduces tearing in "Yu-No". October 18, 2020: SS: Added "3D Baseball", "The Crow", "NBA Action", "NFL Quarterback Club 96", "Solar Eclipse", and "Titan Wars" to the internal database of games to enable full cache emulation with, to fix minor FMV glitches. SS: Added "Thunder Force Gold Pack 1" to the internal database of games to enable full cache emulation with, to fix the glitchy ship sprite in the ending of "Thunder Force III". SS: Added the Europe releases of "Virtua Cop" and "Virtua Cop 2" to the internal database of games to enable full cache emulation with, to fix startup hangs. SS: Added "Yu-No" to the internal database of games to enable full cache emulation with, to fix the problem of the intro FMV ending too soon. SS: Added "Horror Tour" to the internal database of games to enable full cache emulation with, to fix graphical glitches on the save and load screens. SS: Added "Falcom Classics II" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix tearing in the intro FMV of "Ys II". SS: Added "Tokimeki Memorial: Forever With You" to the internal database of games to enable SH-2 read/write VDP1 draw slowdown with, to fix the glitchy arm sprite in the Konami intro. SS: Added "Virtua Fighter Kids" to the internal database of games to use the data cache read bypass kludge with, to fix a major FMV glitch. October 17, 2020: SS: Made a very small SSE2-based optimization to the cache tag evaluation code. October 16, 2020: SS: Removed incorrect write mirrors for the SH-2 CCR register; fixes FMV glitches in "NFL Quarterback Club 97". SS: When full cache emulation is enabled(e.g. via database), alternate slave CPU and bus sharing emulation code will be used, to reduce disproportionate sharing of the bus(it's still not perfect, however). SS: SH-2 PC-relative MOV.W and MOV.L loads are now correctly treated as instruction fetches instead of data fetches with respect to the OD/ID bits of CCR. SS: The SH-2 WB/EX pipeline stall emulation logic is now always enabled, instead of only being enabled in full cache emulation mode as it was previously. October 12, 2020: SS: Moved SH-2 cache entry invalid bit from bit31 of the internal combined tag variable to bit0, for slightly better code generation. October 11, 2020: SS: Slave SH-2 on/off is now handled outside of the regular event handling system to prevent a crash under certain conditions. October 9, 2020: SS: Extended the handling of VDP1 command execution slowdown on SH-2 CPU reads/writes to also include SH-2 DMA accesses. October 5, 2020: SS: Bumped up minimum seek timing delay, to compensate for upcoming general CPU timing improvements in the games sensitive to seek timing. October 4, 2020: SS: The SR value loaded with RTE is now properly masked. October 2, 2020: SS: Allow the SMPC joystick reading process to be aborted earlier on, while still waiting for vblank to end; fixes another hang in "QuoVadis". SS: Added "Wolf Fang SS: Kuuga 2001" to the internal database of games to enable SH-2 CPU read/write VDP1 draw slowdown with, to fix glitchy graphics in the player's robot. SS: Added "Mahjong Doukyuusei Special" to the internal database of games to use the data cache read bypass kludge with, to fix the missing background graphics layer on disc 2. SS: Added "Kidou Senkan Nadesico: Yappari Saigo wa Ai ga Katsu" to the internal database of games to use full cache emulation with, to fix a hang. SS: Implemented emulation of the timing effects of the B-bus write buffer on SH-2 CPU writes; fixes hang in "QuoVadis". September 4, 2020: SNES-Faust: Fixed bug in the multithreaded PPU renderer that could cause massive graphics corruption when a game interleaves reads and writes to VRAM without resetting the VRAM address, like in "NBA Pro Basketball: Bulls vs Blazers". August 28, 2020: SS: Delay CDB status position info update by about 44us after a seek request(via Play command, or otherwise); fixes missing graphics in the intro of "Magical Drop 3". -- 1.25.0-UNSTABLE: -- June 27, 2020: SS: Implemented more accurate emulation of VDP1 drawing of excessively-large primitives. It's not perfect, there's still something weird going on with antialiasing, and the effects on gradient shading and texturing are not fully emulated, but it's enough to fix missing graphics in the attract mode of "Virtua Cop", and a hang after defeating the final boss in "Rayman". SS: Fixed an off-by-1 inaccuracy in the edge stepping code for sprites and polygons, with minor visible effects in non-rectangular sprites/polygons. June 26, 2020: SS, MD: Fixed/Implemented M68K MULU and MULS instruction timing. June 24, 2020: SS: Added wait states to M68K writes; fixes hang in "Lunar" after the Meribia pub singer's singing, that was caused by a timer being reloaded too quickly in an interrupt handler. June 13, 2020: SS: Allow VDP1 primitive drawing code to be suspended(and later resumed) mid-drawing when it's consumed too much emulated time; fixes excessive CPU usage during the FMV in "Dark Seed II". June 4, 2020: SS: Added "Senken Kigyouden", "Xian Jian Qi Xia Zhuan", "Virtua Fighter", and "Virtua Fighter Remix" to the internal database of games to enable full cache emulation with, to fix graphical glitches. May 17, 2020: SS: Implemented more complete emulation of SCSP's buggy(inter-slot contamination) linear interpolation on FM carrier slots.
2020-11-20 15:54:00 +01:00
DISTNAME= mednafen-1.26.1
CATEGORIES= emulators
MASTER_SITES= https://mednafen.github.io/releases/files/
EXTRACT_SUFX= .tar.xz
MAINTAINER= nia@NetBSD.org
HOMEPAGE= https://mednafen.github.io/
COMMENT= Portable multi-system emulator
Update to 0.8.C/0.8.12: 0.8.C: SMS: Fixed the input and reset emulation when the territory was set to "domestic"(Japan) and FM emulation was enabled; the emulated system was erroneously being treated as a Game Gear in a few places when those conditions were met. GB: Fixed initialization of "HRAM" on virtual power toggle/reset. GB: Fixed a bug(still many left) in the external RAM handling code, fixing an emulator crash with "Wizards & Warriors - Chapter X". 0.8.C-rc1: NGP: Fixed an unaligned memory access bug in the memory r/w handlers, causing crashes on platforms that do not support unaligned memory accesses. NES: Fixed an intialization bug in mapper 193. Added define "ALWAYS_INLINE" to force the compiler to always inline speed-critical functions, and added it to many emulation functions in that category. gcc can be a pain in the butt. GBA: Fixed a bug that would cause data corruption and the loaded game to crash whenever a state was saved(but the state itself, and loading it, was fine) on a big-endian platform. Fixed several instances of mismatches between format strings and passed argument types, which could cause nonsensical information to be printed on big-endian platforms, and perhaps some little-endian platforms as well. Fixed the minimum field-width specifier on the statements that print the loaded game's CRC32 in several places. Added the "format(...)" function attribute to the MDFN_DispMessage(), MDFN_PrintError(), and MDFN_printf() function prototypes to catch format string errors. Fixed the order of the sound drivers in the documentation(it was erroneously implying that OSS had a higher priority than ALSA for the default sound driver), and added various notes to explain the sound drivers. If an invalid "sounddriver" is selected, Mednafen will now print an error message and not initialize sound instead of silently selecting the default sound driver. SexyAL: Altered the argument order of SexiALI_Convert() to make more sense. Fixed the broken conversion code used when the frame count passed to Write() is greater than 2048. Fixed a bug/design flaw in the SexyAL SDL sound driver that can cause a crash during program deinitialization. Added support for "float" output format to the ALSA driver. The ALSA driver will now try all formats that SexyAL's conversion code supports if the desired format is not supported by the output device, rather that simply erroring out as before. Added support for converting to 24-bit and 32-bit PCM output formats from the source format(which is still fixed to signed 16-bit). The driver function RawCanWrite() is now passed a pointer to a uint32_t, which it sets to the number of bytes that can be written without blocking, rather than returning the value directly, so that the return value can be used as a success/failure indicator. The driver function RawWrite(), and the "user" function Write(), will now return 1 on success, 0 on (fatal) error, rather than returning the amount of data written. The OSS driver was testing the return value of open() incorrectly. Fixed. SexyAL is now compiled as C++(but doesn't use many C++ features yet), which necessitated adding several explicit casts in various code, and fixing some inconsistent function prototypes and declarations. JACK: Fixed a stereo playback crashing problem(a loop count was being calculated incorrectly). JACK: Switched to using jack_client_open() instead of the deprecated jack_client_new(). JACK: The "sounddevice" setting is now used, to specify the JACK server to connect to. JACK: Fixed a possible race condition in RawCanWrite(). JACK, SDL: Changed the inter-thread ringbuffer setup to be less likely to underrun, while not hurting latency. JACK, SDL: Additional playback position precision is now obtained by using jack_get_time()/SDL_GetTicks(). This will improve Mednafen's performance with larger fragment sizes with these drivers, but smaller fragment sizes are still preferred for latency-to-underrun-occurrence-ratio reasons. Renamed the "byteorder" field of SexyAL_format to "revbyteorder", and changed it to a boolean type, to avoid confusion over what it actually represents. Removed erroneous dependency on CD-ROM emulation when WonderSwan emulation is enabled in the configure script. Added sanity checks to the first track number and total track count returned from libcdio, to prevent a crash in Mednafen if the libcdio driver fails and returns nonsensical values. Removed unused file sms/state.h Fixed a very-old bug that caused joystick unique ID collisions if more than 2 of the same "type" of physical joystick were available. Fixed a string constant-to-(char *) problem in sms/romdb.h. Mednafen is now compiled with -fsigned-char, to prevent any potential problems on systems with an "unsigned" char type as default. The included Tremor is now compiled with "-fvisibility=hidden" to work around a dynamic symbol collision problem with libsndfile(BUT, -fvisibility is only available in gcc 4.0 and newer). This solution may not be correct... Updated Tremor to the latest SVN version. PC-FX: Added a semi-hack to fix a missing background layer problem in parts of "Angelique Special". The underlying problem(no emulation of the programmable BG0 subscreen) will be corrected in 0.9.0. PC-FX: Removed the unused V810 cache structures(Mednafen 0.9.0 will feature cache emulation, however). PC-FX: Added a few CPU variables to save states whose absence could have caused netplay/movie desynch. PCE: Fixed virtual power-toggle initialization of VCE and gamepad input variables. PCE, PC-FX: Fixed the emulation of SCSI command 0xDE, mode 0x1. The value returned was too small by 2 seconds. PCE, PC-FX: Fixed the sector count for the last track(which influences the leadout track start position/total sector count) in multi-track CUE/BIN CDROM images. PC-FX: Fixed the handler address called when a TRAP instruction is executed. PC-FX: Fixed the exception code set when an FPU divide-by-zero occurs(previously, it was being set to the integer divide-by-zero exception code). Fixed several problems in file.cpp, including buggy and overly-complicated MDFN_read*le() functions, and a problem with the const-ness of the return value of strrchr() with gcc 4.4.
2009-10-31 02:56:36 +01:00
LICENSE= gnu-gpl-v2
CONFIGURE_ARGS+= --with-external-mpcdec
CONFIGURE_ARGS+= --with-external-tremor
CONFIGURE_ARGS+= --with-external-trio
CONFIGURE_ARGS+= --with-external-lzo
CONFIGURE_ARGS+= --disable-alsatest
CONFIGURE_ARGS+= --disable-sdltest
CONFIGURE_ARGS+= --disable-sdlframework
WRKSRC= ${WRKDIR}/mednafen
GNU_CONFIGURE= yes
USE_TOOLS+= intltool pkg-config
USE_TOOLS+= msgfmt msgmerge xgettext
2020-05-12 11:57:58 +02:00
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_PKGLOCALEDIR= yes
2009-02-15 20:58:12 +01:00
INSTALLATION_DIRS= share/doc/mednafen
2020-05-12 11:57:58 +02:00
GCC_REQD+= 4.7 # gnu++11
.include "../../mk/oss.buildlink3.mk"
.if ${OSS_TYPE} != "none"
SUBST_CLASSES+= dsp
SUBST_STAGE.dsp= pre-configure
SUBST_MESSAGE.dsp= Fixing path to audio device.
Update to 0.8.C/0.8.12: 0.8.C: SMS: Fixed the input and reset emulation when the territory was set to "domestic"(Japan) and FM emulation was enabled; the emulated system was erroneously being treated as a Game Gear in a few places when those conditions were met. GB: Fixed initialization of "HRAM" on virtual power toggle/reset. GB: Fixed a bug(still many left) in the external RAM handling code, fixing an emulator crash with "Wizards & Warriors - Chapter X". 0.8.C-rc1: NGP: Fixed an unaligned memory access bug in the memory r/w handlers, causing crashes on platforms that do not support unaligned memory accesses. NES: Fixed an intialization bug in mapper 193. Added define "ALWAYS_INLINE" to force the compiler to always inline speed-critical functions, and added it to many emulation functions in that category. gcc can be a pain in the butt. GBA: Fixed a bug that would cause data corruption and the loaded game to crash whenever a state was saved(but the state itself, and loading it, was fine) on a big-endian platform. Fixed several instances of mismatches between format strings and passed argument types, which could cause nonsensical information to be printed on big-endian platforms, and perhaps some little-endian platforms as well. Fixed the minimum field-width specifier on the statements that print the loaded game's CRC32 in several places. Added the "format(...)" function attribute to the MDFN_DispMessage(), MDFN_PrintError(), and MDFN_printf() function prototypes to catch format string errors. Fixed the order of the sound drivers in the documentation(it was erroneously implying that OSS had a higher priority than ALSA for the default sound driver), and added various notes to explain the sound drivers. If an invalid "sounddriver" is selected, Mednafen will now print an error message and not initialize sound instead of silently selecting the default sound driver. SexyAL: Altered the argument order of SexiALI_Convert() to make more sense. Fixed the broken conversion code used when the frame count passed to Write() is greater than 2048. Fixed a bug/design flaw in the SexyAL SDL sound driver that can cause a crash during program deinitialization. Added support for "float" output format to the ALSA driver. The ALSA driver will now try all formats that SexyAL's conversion code supports if the desired format is not supported by the output device, rather that simply erroring out as before. Added support for converting to 24-bit and 32-bit PCM output formats from the source format(which is still fixed to signed 16-bit). The driver function RawCanWrite() is now passed a pointer to a uint32_t, which it sets to the number of bytes that can be written without blocking, rather than returning the value directly, so that the return value can be used as a success/failure indicator. The driver function RawWrite(), and the "user" function Write(), will now return 1 on success, 0 on (fatal) error, rather than returning the amount of data written. The OSS driver was testing the return value of open() incorrectly. Fixed. SexyAL is now compiled as C++(but doesn't use many C++ features yet), which necessitated adding several explicit casts in various code, and fixing some inconsistent function prototypes and declarations. JACK: Fixed a stereo playback crashing problem(a loop count was being calculated incorrectly). JACK: Switched to using jack_client_open() instead of the deprecated jack_client_new(). JACK: The "sounddevice" setting is now used, to specify the JACK server to connect to. JACK: Fixed a possible race condition in RawCanWrite(). JACK, SDL: Changed the inter-thread ringbuffer setup to be less likely to underrun, while not hurting latency. JACK, SDL: Additional playback position precision is now obtained by using jack_get_time()/SDL_GetTicks(). This will improve Mednafen's performance with larger fragment sizes with these drivers, but smaller fragment sizes are still preferred for latency-to-underrun-occurrence-ratio reasons. Renamed the "byteorder" field of SexyAL_format to "revbyteorder", and changed it to a boolean type, to avoid confusion over what it actually represents. Removed erroneous dependency on CD-ROM emulation when WonderSwan emulation is enabled in the configure script. Added sanity checks to the first track number and total track count returned from libcdio, to prevent a crash in Mednafen if the libcdio driver fails and returns nonsensical values. Removed unused file sms/state.h Fixed a very-old bug that caused joystick unique ID collisions if more than 2 of the same "type" of physical joystick were available. Fixed a string constant-to-(char *) problem in sms/romdb.h. Mednafen is now compiled with -fsigned-char, to prevent any potential problems on systems with an "unsigned" char type as default. The included Tremor is now compiled with "-fvisibility=hidden" to work around a dynamic symbol collision problem with libsndfile(BUT, -fvisibility is only available in gcc 4.0 and newer). This solution may not be correct... Updated Tremor to the latest SVN version. PC-FX: Added a semi-hack to fix a missing background layer problem in parts of "Angelique Special". The underlying problem(no emulation of the programmable BG0 subscreen) will be corrected in 0.9.0. PC-FX: Removed the unused V810 cache structures(Mednafen 0.9.0 will feature cache emulation, however). PC-FX: Added a few CPU variables to save states whose absence could have caused netplay/movie desynch. PCE: Fixed virtual power-toggle initialization of VCE and gamepad input variables. PCE, PC-FX: Fixed the emulation of SCSI command 0xDE, mode 0x1. The value returned was too small by 2 seconds. PCE, PC-FX: Fixed the sector count for the last track(which influences the leadout track start position/total sector count) in multi-track CUE/BIN CDROM images. PC-FX: Fixed the handler address called when a TRAP instruction is executed. PC-FX: Fixed the exception code set when an FPU divide-by-zero occurs(previously, it was being set to the integer divide-by-zero exception code). Fixed several problems in file.cpp, including buggy and overly-complicated MDFN_read*le() functions, and a problem with the const-ness of the return value of strrchr() with gcc 4.4.
2009-10-31 02:56:36 +01:00
SUBST_FILES.dsp= src/sexyal/drivers/oss.cpp src/sexyal/sexyal.cpp
SUBST_SED.dsp= -e s,/dev/dsp,${DEVOSSAUDIO},
LDFLAGS+= ${LIBOSSAUDIO}
.endif
post-install:
${INSTALL_DATA} ${WRKSRC}/Documentation/*.html \
2009-02-15 20:58:12 +01:00
${DESTDIR}${PREFIX}/share/doc/mednafen
.include "options.mk"
.include "../../archivers/lzo/buildlink3.mk"
.include "../../audio/libsndfile/buildlink3.mk"
.include "../../audio/musepack/buildlink3.mk"
.include "../../audio/tremor/buildlink3.mk"
.include "../../devel/SDL2/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/trio/buildlink3.mk"
2014-01-08 11:43:02 +01:00
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"