Mednafen 0.9.12-wip - 模擬器
By John
at 2010-08-15T21:30
at 2010-08-15T21:30
Table of Contents
http://forum.fobby.net/index.php?t=msg&th=566&start=0&
下載:
http://forum.fobby.net/index.php?t=getfile&id=213&
-- 0.9.12-WIP: --
August 13, 2010:
Updated internal copy of "libmpcdec" library from 1.2.5 to 1.2.6.
Updated internal copy of "trio" library to 1.14(I believe the previous
version was a pull from CVS between the 1.10
and 1.11 releases).
August 12, 2010:
PCE_FAST: Added setting "pce.correct_aspect", default value of 1. When
disabled(value of 0), no aspect correction
will take place(other than in the 10MHz dot clock mode to halve its width),
and overscan color will be used to
fill in the empty space when in 5MHz/10MHz dot clock modes.
PCE_FAST: Corrected aspect ratio when playing HES files.
PC-FX, VB: Fixed CPU operand order for FPU subops in the disassembler.
VB: Hooked up more debugger functionality.
PC-FX, VB: Fixed V810 read/write breakpoints in "fast" V810 emulation mode.
August 9, 2010:
Mednafen's now compiled with -Wempty-body and -Wignored-qualifiers.
NES: Removed a typoed semicolon in sound.cpp.
August 8, 2010:
Added "math.h" header order inclusion check to "types.h", and fixed a few
instances of incorrect #include order.
Fixed C68K code generator dependency when building on/for a platform that
has an extension for executables(AKA MS Windows).
Fixed a structure initialization problem in the input setting generation
code that could cause crashing under
certain circumstances.
Fixed Makefile.am to actually link against SDL(somehow it was working anyway
on Linux, probably through
an indirect linkage through SDL_net).
August 5, 2010:
Debugger settings *.debugger.disfontsize and *.debugger.memcharenc are now
automatically generated, the latter based on the system's DebuggerInfoStruct.
Renamed *.debugger.memcharset settings to *.debugger.memcharenc
PC-FX: Added settings "pcfx.input.port1.multitap" and
"pcfx.input.port2.multitap". These settings shouldn't be enabled by average
users.
August 4, 2010:
PC-FX: Added RAINBOW buffer data to save states.
Added a variable to save states whose absence was breaking save states made
in the middle of a CD-ROM transfer.
Switched to using the internal copy of Tremor to decode Ogg Vorbis
files during CD emulation preferentially over libsndfile, as libsndfile has
an unacceptably slow seek implementation for Ogg Vorbis.
August 3, 2010:
PC-FX: Added emulation of the 2 gamepad switches.
Fixed a bug that caused a crash if input type of "none" was selected for a
virtual input port.
Input device state is now saved in save states(missing a call before).
Fixed mouse emulation(previously, cursor movement was totally broken).
Disabled various debug printf statements.
Removed "bios.fastboot" setting and the HuEXE loading code(both of which
have been broken for a while). The fastboot code likely
won't return(it'd be better as an external patch to the BIOS ROM image),
and the HuEXE loading may return when PIO emulation is added(requiring
the use of the PC-FXGA BIOS most likely).
August 2, 2010:
PC-FX: Fixed the horizontal position of the VDC layers vs KING BG and
RAINBOW layers when VDC is in 7MHz dot clock mode.
PC-FX: Disabled a few unknown memory address read/write debug printf()s.
August 1, 2010:
PC-FX: Writing 0 to D0 of KING register 0x40 while a RAINBOW transfer is in
process will now abort it. Fixes background flickering in "Tonari
no Princess Rolfee".
PC-FX, VB: Values written to system registers EIPSW, FEPSW, EIPC, and FEPC
by instruction "ldsr" are now masked properly.
PC-FX: Added emulation of the TIMER TIREQ bit.
PC-FX: Interrupt controller level/priority register writes are now ignored
unless all 7 bits in the interrupt mask register are set. This matches
tests done on a real system(done by writing the priority registers, and then
reading back the values; wouldn't catch the case of there being shadow
registers, however, given that this ignoring behavior is documented in the
hardware documentation, this seems highly unlikely). This *finally* fixes
the PC-FX BIOS PhotoCD player!
PC-FX: Fixed interrupt controller register value masks.
July 31, 2010:
PCE: Removed a (mostly benign) debug addition left in the extended SF2
mapper size calculation code.
July 30, 2010:
NES: Removed/Disabled some debug(not debugger :b) code.
NES: Fixed the FDS written-disk shadow copy code. Previously, the FDS
loading code was updating the MD5 hash improperly, causing
the filename of the shadow copy to be different when it was written than it
was when a shadow copy was to be opened.
NES: Altered FDS IRQ emulation to fix "Druid".
NES: Fixed a bug that caused the entire file pathname to be evaluated when
determining system type, now only the filename is examined.
NES: Added strings "(Europe)", "(Germany)", "(USA)", and "(Japan)" to the
filename scanning code for system determination.
NES: Prettified the NES filter.cpp debug printf()s a little.
PCE: Fixed HES player screen dimensions.
PCE: Removed debug printf on bad opcode execution.
PCE: HES playback code now initializes the VDC horizontal and vertical
timing registers before calling the song initialization routine.
Interestingly,
this seems to have broken the Cosmic Fantasy IV HES, but that it even
sort-of worked in the first place was probably a fluke given the quality of
the rip...
PCE: Altered HuC6270 reset code to reset the horizontal and vertical timing
registers to 0(which is closer to the real system than setting them to 0xFF,
but
real reset values are unknown, though they might just be 0).
PCE: When in LFO(FM) mode, excessive playback frequency for channel
0(carrier) is handled more gracefully(but still not "correct",
as it would be too CPU intensive).
PCE: Rolled the LFO counter into the normal channel counter. On a real
system, the LFO counter(pre-divider) and the normal channel counter may be
resetable independently, however, rolling them into one shouldn't cause any
audible differences and simplifies the code(and fixes a bug due to how
it was implemented before in that if the modulator channel's volume was in
the audible range, the waveform would have been distorted for larger LFO
pre-divider
reload values).
July 25, 2010:
Fixed Ogg Vorbis playback when libsndfile doesn't support it(I'd
accidentally inverted the ov_open() success test during the change to
AudioReader()).
PCE: PSG channel numbering in the debugger's memory editor is now from 0
instead of 1.
July 24, 2010:
Fixed libsndfile linkage with mingw32 target(it was broken when we added
--with(out)-libsndfile configure option).
July 22, 2010:
PCE: The 2MiB of arcade card RAM is now defined as an array that's allocated
along with the ArcadeCard object, rather than a pointer that's manually
allocated off the heap.
PCE: Added support for HES files that load data into banks 0x80-0x87.
PCE: Fixed HES controls(song increment/decrement) to not lose responsiveness
if the frame is being skipped.
July 21, 2010:
PCE: Added a setting to select the PSG revision, "pce.psgrevision".
PCE, PCE_FAST, PC-FX: Added revision selection functionality(only supporting
HuC6280 and HuC6280A revisions currently) to the PSG emulation code, and
altered the volume table slightly to mimic the PCE's actual volume reduction
limits. Also, hooked up the PSG register setting code for the debugger.
July 17, 2010:
PCE: Fixed inconsistencies in how an emulated "power toggle" affects
timestamps, correcting a failed assert in the CD-ROM emulation code if the
user
tries to reset/power in the debugger under certain conditions. (TODO: Make
similar fixes to PC-FX emulation code)
PCE, PCE_FAST, PC-FX: Revamped and refactored PCE PSG core code to implement
new details obtained through tests on a real SuperGrafx(HuC6280A)
and on a PC Engine(HuC6280). However, the emulation is closer to the
HuC6280A revision. It may be necessary in the future to run tests on a PC-FX
to determine what differences, if any, are in its PSG core vs the HuC6280A's
sound core.
July 10, 2010:
PC-FX, PCE: SCSI CD-ROM emulation code cleanup and minor tweaks.
July 7, 2010:
PCE: Improved mouse emulation greatly; previously, emulation of two buttons
was missing. The two newly-emulated buttons "Select" and "Run" are mapped to
keyboard keys "Tab" and "Enter" by default. However, the L/R mapping may be
backwards, and there are still problems with using the mouse with at least
one game("Lemmings").
July 5, 2010:
Fixed a temporal blur code bug that was causing an unblurred section of the
screen on PCE games.
Renamed the <system>.vblur* settings to <system>.tblur* (for temporal blur)
to reduce confusion.
July 3, 2010:
PCE: Adjusted DMA timing again to fix an extremely long delay at the
beginning of Takeda Shingen(TODO: make sure the delay doesn't exist on a real
PCE).
The core CD reading functions now always put CD-DA data in the buffer in
little-endian form.
Separated and refactored the audio format decoding code out of cdromfile.cpp
into audioreader.cpp
July 2, 2010:
PCE_FAST: Scrapped the old arcade card code in favor of the modularized code
from the "pce" emulation module.
PCE: Moved arcade_card.* to hw_misc/arcade_card/arcade_card.*, and made its
save state section names more verbose.
July 1, 2010:
PCE_FAST: Corrected the aspect ratio.
PCE_FAST: Scrapped the old PSG code in favor of the new modularized PSG code
already being used by the regular "pce" module.
June 27, 2010:
PCE: Fixed PRAM poking in the debugger to not allow unused bits to be set.
June 26, 2010:
GBA: Including a line containing "rtc" in the save-game "type" file(refer to
the GBA module documentation) will now enable realtime clock emulation for
that game.
June 22, 2010:
SNES: Hooked up backup memory loading.
Fixed the "autosave" option to work instead of causing a crash on exit.
June 21, 2010:
The IPS patch loading code now checks for file read errors, and is no longer
tolerant of IPS patches that end without an "EOF" patch/chunk header.
Removed support for automatically patching with compressed IPS patches, as
it causes a problem with at least one patch that has semi-hidden
PKZIP-format data in it that was confusing the file loader.
June 20, 2010:
SNES: Hooked up multitap and mouse input emulation code(you'll need to
manually enable multitap by setting "snes.input.port2.multitap" to "1"
because it can cause problems if it's enabled by default.
SNES: Updated to bsnes v0.59(for SA-1 and SuperFX save state support).
June 17, 2010:
NES: Added cart WRAM to mapper 18 emulation to fix "Jajamaru Gekimaden".
PCE: Altered VRAM-to-VRAM DMA operation to fix Ankoku Densetsu/Legendary Axe
II(and without breaking Langrisser), though stage 5 in LAII/AD may still
randomly have graphics corruption in certain conditions.
June 11, 2010:
PC-FX: Fixed a bug that caused only half of the VDC BG tiles to be displayed
in the debugger's graphics viewer.
Fixed segfault on 0-entry setting enum lists.
Wrote some simple PHP scripts to automatically generate portions of the
individual emulation module documentation based on templates and the
settings definition file produced by -dump_settings_def.
Added a command-line option "-dump_settings_def", which will dump definition
data for all possible settings in Mednafen.
June 8, 2010:
PCE: Adjusted VDC VDW start timing to fix vibrating screen in World Court
Tennis.
June 7, 2010:
PCE: Fixed "pce.h_overscan" setting to actually work right.
PCE: Fixed screenshot width.
June 6, 2010:
Finally got rid of the old FSettings global, moving SndRate to SoundRate of
EmulateSpecStruct.
Video frames are now recorded before temporal blur effect is
applied(rationale: external movie encoders will have a wider variety of
filters, whose
quality and parameters are not constrained by being able to run in realtime).
June 5, 2010:
CDPLAY: Fixed a crash if playback when past the last audio track, and the
last audio track was not the last track of the disc.
PCE: Added more missing data to save states.
June 2, 2010
PCE: Altered vblank IRQ start timing to fix occasional massively-glitchy
frames in Street Fighter II.
PCE: Fixed a bug that could cause a crash(due to an incorrect parameter to
memcpy()) if trying to load a large ROM image(>= 2MiB) that was
not padded to the Street Fighter II mapper size.
PCE: Fixed missing intialization of many VDC variables on reset.
PCE: Added support for a hypothetical extended Street Fighter II mapper.
June 1, 2010:
Revamped CD-ROM system determination code.
PCE: Altered VDC BXR/BYR latch timing again to fix Seiya Monogatari, and
probably breaking another game in exchange though. :/
PC-FX: Fixed a problem caused by V810 optimization changes that broke CD ROM
emulation in save states.
Fixed loading of game cheats when loading a CD game(PCE CD, PC-FX).
May 31, 2010:
PCE: Added a few missing variables to save states.
May 29, 2010:
Fixed a bug that could cause crashing on invalid save states(or with a state
variable name >= 128 chars in length).
NES: Added a few missing sound variables to save states, and added a
missing CPU state variable to save states that could cause netplay
desync(unlikely, but still possible).
PCE_FAST: Fixed broken frameskip behavior in regards to sprite overflow
IRQs(which caused netplay desyncs).
PCE_FAST: Added missing variables to save states(whose absence caused
netplay desyncs).
May 26, 2010:
Made an optimization to the V810 emulation code in order to improve
performance on RISC CPUs(TODO: Make sure this didn't break anything).
Fixed compiling when the configure script was passed "--disable-debugger".
May 25, 2010:
Added support for compiling without libcdio and without libsndfile, by
passing --without-libcdio and --without-libsndfile to the configure script,
respectively. Compiling without either is not recommended for general use
of course, but may be of use to porters(especially compiling without libcdio).
May 23, 2010:
Lynx: Fixed a few pieces of poorly-formed(and possibly undefined) code in
the UART emulation code.
Fixed an incorrect object creation bug in cdrom/pcecd.cpp
SMS: Fixed a couple of strict aliasing violations.
GBA: Fixed code causing gcc to issue warnings(listed here in the ChangeLog
in the case I broke something, I'll know what did it) in the BIOS emulation
code.
May 22, 2010:
Moved MDFN_Rect typedef from types.h to video.h.
Removed an extraneous semicolon after an if statement in the V810 save state
code.
Fixed a few code constructs causing compiler warnings.
Added various macros(to force no inlining, force arbitrary alignment, etc.)
to allow for an easier time getting the code to compile on
non-gcc-compatible compilers.
May 21, 2010:
NES: Fixed a bug that could cause Mednafen to crash if the game crashed or
intentionally executed off the end of the 16-bit address space without an
immediate
absolute branch afterwards.
VB: Hooked up settings "vb.disable_parallax", "vb.default_color",
"vb.anaglyph.preset", "vb.anaglyph.lcolor", "vb.anaglyph.rcolor", and
"vb.input.instant_read_hack"
to a SettingChanged() notification function so that those settings can be
changed during emulation runtime. "vb.cpu_emulation" and "vb.3dmode"
are not hooked up, and can not be due to current Mednafen architectural
limitations(and even if those weren't present, "vb.cpu_emulation" would still
require a virtual power toggle).
May 15, 2010:
Began work on expanding the information in the setting definition
structures, so that the documentation on settings can eventually be mostly
auto-generated.
Altered the help screen accessible via command-line option "-help" to not
display any settings. There are far too many settings to list all at once.
Perhaps we'll add additional command-line options in the future to list
settings according to a simple filter.
May 14, 2010:
PC-FX: Added setting "pcfx.disable_bram". Only set this to 1 if you know
what you're doing, as it's enabling an illegal/broken state.
PCE: Added setting "pce.disable_bram_cd" and "pce.disable_bram_hucard".
Only set "pce.disable_bram_cd" to 1 if you know what you're doing, as it's
enabling
an illegal/broken state. pce.disable_bram_hucard is more useful, as it will
make HuCard game run as if they're on a plain-Jane PC Engine/TurboGrafx
without
CD-style backup memory.
May 13, 2010:
NES: Moved read/write handler installation from the Power function to the
Init function for input emulation, PPU emulation, and VS Unisystem emulation.
NES: Corrected the power-up state(values) of internal RAM.
NES: Fixed mapper 99 emulation(hopefully, I'm unable to test it currently).
Fixed #include order(for config.h, basically) in many files.
May 7, 2010:
Added a new fullscreen stretch mode that preserves the aspect ratio(at least
in the same way that keeping xscalefs == yscalefs does), courtesy of donb04.
May 6, 2010:
NES: Fixed PPU rendering code to use the real pitch of the output surface,
rather than the requested pitch as specified in the MDFNGameInfo struct.
This should fix garbled video with "overlay" vdriver in some circumstances.
NES: Fixed clear color during PPU startup/reset, such that the screen will
no longer be briefly green after a reset using the "overlay" vdriver.
NES: Added a (slow) kludge so that the output image is not totally wrong
when NTSC blitter is enabled while using the "overlay" vdriver.
April 30, 2010:
Altered the strerror_r() implementation detection preprocessor code to
hopefully work correctly on non-GNU platforms.
April 29, 2010:
GBA: Fixed a small bug that totally broke GSF loading.
PCE_FAST: Added padding to memory mapped into the HuC6280 virtual address
space to avoid potential emulator crashes if a game crashes.
VB: Implemented more of the debugger.
April 27, 2010:
Added 2xSaI, Super 2xSai, and Super Eagle scaling filters courtesy of a code
submission from "donb04".
Fixed fatal bugs in the IPS patching code(the bugs were introduced from the
refactoring of the file loading code).
Genesis: Removed various debug calls to exit() so that games crashing
should no longer cause Mednafen to crash/exit.
Genesis: Fixed interlaced mode to not be totally broken.
April 23, 2010:
VB: Fixed brightness calculation bug that resulted in very dark images
instead of completely black images.
April 12, 2010:
SMS: Encapsulated in a namespace.
SMS: Added missing state to save states to fix netplay and movie desynchs.
April 11, 2010:
VB: Null-terminated the anaglyph preset list.
--
下載:
http://forum.fobby.net/index.php?t=getfile&id=213&
-- 0.9.12-WIP: --
August 13, 2010:
Updated internal copy of "libmpcdec" library from 1.2.5 to 1.2.6.
Updated internal copy of "trio" library to 1.14(I believe the previous
version was a pull from CVS between the 1.10
and 1.11 releases).
August 12, 2010:
PCE_FAST: Added setting "pce.correct_aspect", default value of 1. When
disabled(value of 0), no aspect correction
will take place(other than in the 10MHz dot clock mode to halve its width),
and overscan color will be used to
fill in the empty space when in 5MHz/10MHz dot clock modes.
PCE_FAST: Corrected aspect ratio when playing HES files.
PC-FX, VB: Fixed CPU operand order for FPU subops in the disassembler.
VB: Hooked up more debugger functionality.
PC-FX, VB: Fixed V810 read/write breakpoints in "fast" V810 emulation mode.
August 9, 2010:
Mednafen's now compiled with -Wempty-body and -Wignored-qualifiers.
NES: Removed a typoed semicolon in sound.cpp.
August 8, 2010:
Added "math.h" header order inclusion check to "types.h", and fixed a few
instances of incorrect #include order.
Fixed C68K code generator dependency when building on/for a platform that
has an extension for executables(AKA MS Windows).
Fixed a structure initialization problem in the input setting generation
code that could cause crashing under
certain circumstances.
Fixed Makefile.am to actually link against SDL(somehow it was working anyway
on Linux, probably through
an indirect linkage through SDL_net).
August 5, 2010:
Debugger settings *.debugger.disfontsize and *.debugger.memcharenc are now
automatically generated, the latter based on the system's DebuggerInfoStruct.
Renamed *.debugger.memcharset settings to *.debugger.memcharenc
PC-FX: Added settings "pcfx.input.port1.multitap" and
"pcfx.input.port2.multitap". These settings shouldn't be enabled by average
users.
August 4, 2010:
PC-FX: Added RAINBOW buffer data to save states.
Added a variable to save states whose absence was breaking save states made
in the middle of a CD-ROM transfer.
Switched to using the internal copy of Tremor to decode Ogg Vorbis
files during CD emulation preferentially over libsndfile, as libsndfile has
an unacceptably slow seek implementation for Ogg Vorbis.
August 3, 2010:
PC-FX: Added emulation of the 2 gamepad switches.
Fixed a bug that caused a crash if input type of "none" was selected for a
virtual input port.
Input device state is now saved in save states(missing a call before).
Fixed mouse emulation(previously, cursor movement was totally broken).
Disabled various debug printf statements.
Removed "bios.fastboot" setting and the HuEXE loading code(both of which
have been broken for a while). The fastboot code likely
won't return(it'd be better as an external patch to the BIOS ROM image),
and the HuEXE loading may return when PIO emulation is added(requiring
the use of the PC-FXGA BIOS most likely).
August 2, 2010:
PC-FX: Fixed the horizontal position of the VDC layers vs KING BG and
RAINBOW layers when VDC is in 7MHz dot clock mode.
PC-FX: Disabled a few unknown memory address read/write debug printf()s.
August 1, 2010:
PC-FX: Writing 0 to D0 of KING register 0x40 while a RAINBOW transfer is in
process will now abort it. Fixes background flickering in "Tonari
no Princess Rolfee".
PC-FX, VB: Values written to system registers EIPSW, FEPSW, EIPC, and FEPC
by instruction "ldsr" are now masked properly.
PC-FX: Added emulation of the TIMER TIREQ bit.
PC-FX: Interrupt controller level/priority register writes are now ignored
unless all 7 bits in the interrupt mask register are set. This matches
tests done on a real system(done by writing the priority registers, and then
reading back the values; wouldn't catch the case of there being shadow
registers, however, given that this ignoring behavior is documented in the
hardware documentation, this seems highly unlikely). This *finally* fixes
the PC-FX BIOS PhotoCD player!
PC-FX: Fixed interrupt controller register value masks.
July 31, 2010:
PCE: Removed a (mostly benign) debug addition left in the extended SF2
mapper size calculation code.
July 30, 2010:
NES: Removed/Disabled some debug(not debugger :b) code.
NES: Fixed the FDS written-disk shadow copy code. Previously, the FDS
loading code was updating the MD5 hash improperly, causing
the filename of the shadow copy to be different when it was written than it
was when a shadow copy was to be opened.
NES: Altered FDS IRQ emulation to fix "Druid".
NES: Fixed a bug that caused the entire file pathname to be evaluated when
determining system type, now only the filename is examined.
NES: Added strings "(Europe)", "(Germany)", "(USA)", and "(Japan)" to the
filename scanning code for system determination.
NES: Prettified the NES filter.cpp debug printf()s a little.
PCE: Fixed HES player screen dimensions.
PCE: Removed debug printf on bad opcode execution.
PCE: HES playback code now initializes the VDC horizontal and vertical
timing registers before calling the song initialization routine.
Interestingly,
this seems to have broken the Cosmic Fantasy IV HES, but that it even
sort-of worked in the first place was probably a fluke given the quality of
the rip...
PCE: Altered HuC6270 reset code to reset the horizontal and vertical timing
registers to 0(which is closer to the real system than setting them to 0xFF,
but
real reset values are unknown, though they might just be 0).
PCE: When in LFO(FM) mode, excessive playback frequency for channel
0(carrier) is handled more gracefully(but still not "correct",
as it would be too CPU intensive).
PCE: Rolled the LFO counter into the normal channel counter. On a real
system, the LFO counter(pre-divider) and the normal channel counter may be
resetable independently, however, rolling them into one shouldn't cause any
audible differences and simplifies the code(and fixes a bug due to how
it was implemented before in that if the modulator channel's volume was in
the audible range, the waveform would have been distorted for larger LFO
pre-divider
reload values).
July 25, 2010:
Fixed Ogg Vorbis playback when libsndfile doesn't support it(I'd
accidentally inverted the ov_open() success test during the change to
AudioReader()).
PCE: PSG channel numbering in the debugger's memory editor is now from 0
instead of 1.
July 24, 2010:
Fixed libsndfile linkage with mingw32 target(it was broken when we added
--with(out)-libsndfile configure option).
July 22, 2010:
PCE: The 2MiB of arcade card RAM is now defined as an array that's allocated
along with the ArcadeCard object, rather than a pointer that's manually
allocated off the heap.
PCE: Added support for HES files that load data into banks 0x80-0x87.
PCE: Fixed HES controls(song increment/decrement) to not lose responsiveness
if the frame is being skipped.
July 21, 2010:
PCE: Added a setting to select the PSG revision, "pce.psgrevision".
PCE, PCE_FAST, PC-FX: Added revision selection functionality(only supporting
HuC6280 and HuC6280A revisions currently) to the PSG emulation code, and
altered the volume table slightly to mimic the PCE's actual volume reduction
limits. Also, hooked up the PSG register setting code for the debugger.
July 17, 2010:
PCE: Fixed inconsistencies in how an emulated "power toggle" affects
timestamps, correcting a failed assert in the CD-ROM emulation code if the
user
tries to reset/power in the debugger under certain conditions. (TODO: Make
similar fixes to PC-FX emulation code)
PCE, PCE_FAST, PC-FX: Revamped and refactored PCE PSG core code to implement
new details obtained through tests on a real SuperGrafx(HuC6280A)
and on a PC Engine(HuC6280). However, the emulation is closer to the
HuC6280A revision. It may be necessary in the future to run tests on a PC-FX
to determine what differences, if any, are in its PSG core vs the HuC6280A's
sound core.
July 10, 2010:
PC-FX, PCE: SCSI CD-ROM emulation code cleanup and minor tweaks.
July 7, 2010:
PCE: Improved mouse emulation greatly; previously, emulation of two buttons
was missing. The two newly-emulated buttons "Select" and "Run" are mapped to
keyboard keys "Tab" and "Enter" by default. However, the L/R mapping may be
backwards, and there are still problems with using the mouse with at least
one game("Lemmings").
July 5, 2010:
Fixed a temporal blur code bug that was causing an unblurred section of the
screen on PCE games.
Renamed the <system>.vblur* settings to <system>.tblur* (for temporal blur)
to reduce confusion.
July 3, 2010:
PCE: Adjusted DMA timing again to fix an extremely long delay at the
beginning of Takeda Shingen(TODO: make sure the delay doesn't exist on a real
PCE).
The core CD reading functions now always put CD-DA data in the buffer in
little-endian form.
Separated and refactored the audio format decoding code out of cdromfile.cpp
into audioreader.cpp
July 2, 2010:
PCE_FAST: Scrapped the old arcade card code in favor of the modularized code
from the "pce" emulation module.
PCE: Moved arcade_card.* to hw_misc/arcade_card/arcade_card.*, and made its
save state section names more verbose.
July 1, 2010:
PCE_FAST: Corrected the aspect ratio.
PCE_FAST: Scrapped the old PSG code in favor of the new modularized PSG code
already being used by the regular "pce" module.
June 27, 2010:
PCE: Fixed PRAM poking in the debugger to not allow unused bits to be set.
June 26, 2010:
GBA: Including a line containing "rtc" in the save-game "type" file(refer to
the GBA module documentation) will now enable realtime clock emulation for
that game.
June 22, 2010:
SNES: Hooked up backup memory loading.
Fixed the "autosave" option to work instead of causing a crash on exit.
June 21, 2010:
The IPS patch loading code now checks for file read errors, and is no longer
tolerant of IPS patches that end without an "EOF" patch/chunk header.
Removed support for automatically patching with compressed IPS patches, as
it causes a problem with at least one patch that has semi-hidden
PKZIP-format data in it that was confusing the file loader.
June 20, 2010:
SNES: Hooked up multitap and mouse input emulation code(you'll need to
manually enable multitap by setting "snes.input.port2.multitap" to "1"
because it can cause problems if it's enabled by default.
SNES: Updated to bsnes v0.59(for SA-1 and SuperFX save state support).
June 17, 2010:
NES: Added cart WRAM to mapper 18 emulation to fix "Jajamaru Gekimaden".
PCE: Altered VRAM-to-VRAM DMA operation to fix Ankoku Densetsu/Legendary Axe
II(and without breaking Langrisser), though stage 5 in LAII/AD may still
randomly have graphics corruption in certain conditions.
June 11, 2010:
PC-FX: Fixed a bug that caused only half of the VDC BG tiles to be displayed
in the debugger's graphics viewer.
Fixed segfault on 0-entry setting enum lists.
Wrote some simple PHP scripts to automatically generate portions of the
individual emulation module documentation based on templates and the
settings definition file produced by -dump_settings_def.
Added a command-line option "-dump_settings_def", which will dump definition
data for all possible settings in Mednafen.
June 8, 2010:
PCE: Adjusted VDC VDW start timing to fix vibrating screen in World Court
Tennis.
June 7, 2010:
PCE: Fixed "pce.h_overscan" setting to actually work right.
PCE: Fixed screenshot width.
June 6, 2010:
Finally got rid of the old FSettings global, moving SndRate to SoundRate of
EmulateSpecStruct.
Video frames are now recorded before temporal blur effect is
applied(rationale: external movie encoders will have a wider variety of
filters, whose
quality and parameters are not constrained by being able to run in realtime).
June 5, 2010:
CDPLAY: Fixed a crash if playback when past the last audio track, and the
last audio track was not the last track of the disc.
PCE: Added more missing data to save states.
June 2, 2010
PCE: Altered vblank IRQ start timing to fix occasional massively-glitchy
frames in Street Fighter II.
PCE: Fixed a bug that could cause a crash(due to an incorrect parameter to
memcpy()) if trying to load a large ROM image(>= 2MiB) that was
not padded to the Street Fighter II mapper size.
PCE: Fixed missing intialization of many VDC variables on reset.
PCE: Added support for a hypothetical extended Street Fighter II mapper.
June 1, 2010:
Revamped CD-ROM system determination code.
PCE: Altered VDC BXR/BYR latch timing again to fix Seiya Monogatari, and
probably breaking another game in exchange though. :/
PC-FX: Fixed a problem caused by V810 optimization changes that broke CD ROM
emulation in save states.
Fixed loading of game cheats when loading a CD game(PCE CD, PC-FX).
May 31, 2010:
PCE: Added a few missing variables to save states.
May 29, 2010:
Fixed a bug that could cause crashing on invalid save states(or with a state
variable name >= 128 chars in length).
NES: Added a few missing sound variables to save states, and added a
missing CPU state variable to save states that could cause netplay
desync(unlikely, but still possible).
PCE_FAST: Fixed broken frameskip behavior in regards to sprite overflow
IRQs(which caused netplay desyncs).
PCE_FAST: Added missing variables to save states(whose absence caused
netplay desyncs).
May 26, 2010:
Made an optimization to the V810 emulation code in order to improve
performance on RISC CPUs(TODO: Make sure this didn't break anything).
Fixed compiling when the configure script was passed "--disable-debugger".
May 25, 2010:
Added support for compiling without libcdio and without libsndfile, by
passing --without-libcdio and --without-libsndfile to the configure script,
respectively. Compiling without either is not recommended for general use
of course, but may be of use to porters(especially compiling without libcdio).
May 23, 2010:
Lynx: Fixed a few pieces of poorly-formed(and possibly undefined) code in
the UART emulation code.
Fixed an incorrect object creation bug in cdrom/pcecd.cpp
SMS: Fixed a couple of strict aliasing violations.
GBA: Fixed code causing gcc to issue warnings(listed here in the ChangeLog
in the case I broke something, I'll know what did it) in the BIOS emulation
code.
May 22, 2010:
Moved MDFN_Rect typedef from types.h to video.h.
Removed an extraneous semicolon after an if statement in the V810 save state
code.
Fixed a few code constructs causing compiler warnings.
Added various macros(to force no inlining, force arbitrary alignment, etc.)
to allow for an easier time getting the code to compile on
non-gcc-compatible compilers.
May 21, 2010:
NES: Fixed a bug that could cause Mednafen to crash if the game crashed or
intentionally executed off the end of the 16-bit address space without an
immediate
absolute branch afterwards.
VB: Hooked up settings "vb.disable_parallax", "vb.default_color",
"vb.anaglyph.preset", "vb.anaglyph.lcolor", "vb.anaglyph.rcolor", and
"vb.input.instant_read_hack"
to a SettingChanged() notification function so that those settings can be
changed during emulation runtime. "vb.cpu_emulation" and "vb.3dmode"
are not hooked up, and can not be due to current Mednafen architectural
limitations(and even if those weren't present, "vb.cpu_emulation" would still
require a virtual power toggle).
May 15, 2010:
Began work on expanding the information in the setting definition
structures, so that the documentation on settings can eventually be mostly
auto-generated.
Altered the help screen accessible via command-line option "-help" to not
display any settings. There are far too many settings to list all at once.
Perhaps we'll add additional command-line options in the future to list
settings according to a simple filter.
May 14, 2010:
PC-FX: Added setting "pcfx.disable_bram". Only set this to 1 if you know
what you're doing, as it's enabling an illegal/broken state.
PCE: Added setting "pce.disable_bram_cd" and "pce.disable_bram_hucard".
Only set "pce.disable_bram_cd" to 1 if you know what you're doing, as it's
enabling
an illegal/broken state. pce.disable_bram_hucard is more useful, as it will
make HuCard game run as if they're on a plain-Jane PC Engine/TurboGrafx
without
CD-style backup memory.
May 13, 2010:
NES: Moved read/write handler installation from the Power function to the
Init function for input emulation, PPU emulation, and VS Unisystem emulation.
NES: Corrected the power-up state(values) of internal RAM.
NES: Fixed mapper 99 emulation(hopefully, I'm unable to test it currently).
Fixed #include order(for config.h, basically) in many files.
May 7, 2010:
Added a new fullscreen stretch mode that preserves the aspect ratio(at least
in the same way that keeping xscalefs == yscalefs does), courtesy of donb04.
May 6, 2010:
NES: Fixed PPU rendering code to use the real pitch of the output surface,
rather than the requested pitch as specified in the MDFNGameInfo struct.
This should fix garbled video with "overlay" vdriver in some circumstances.
NES: Fixed clear color during PPU startup/reset, such that the screen will
no longer be briefly green after a reset using the "overlay" vdriver.
NES: Added a (slow) kludge so that the output image is not totally wrong
when NTSC blitter is enabled while using the "overlay" vdriver.
April 30, 2010:
Altered the strerror_r() implementation detection preprocessor code to
hopefully work correctly on non-GNU platforms.
April 29, 2010:
GBA: Fixed a small bug that totally broke GSF loading.
PCE_FAST: Added padding to memory mapped into the HuC6280 virtual address
space to avoid potential emulator crashes if a game crashes.
VB: Implemented more of the debugger.
April 27, 2010:
Added 2xSaI, Super 2xSai, and Super Eagle scaling filters courtesy of a code
submission from "donb04".
Fixed fatal bugs in the IPS patching code(the bugs were introduced from the
refactoring of the file loading code).
Genesis: Removed various debug calls to exit() so that games crashing
should no longer cause Mednafen to crash/exit.
Genesis: Fixed interlaced mode to not be totally broken.
April 23, 2010:
VB: Fixed brightness calculation bug that resulted in very dark images
instead of completely black images.
April 12, 2010:
SMS: Encapsulated in a namespace.
SMS: Added missing state to save states to fix netplay and movie desynchs.
April 11, 2010:
VB: Null-terminated the anaglyph preset list.
--
Tags:
模擬器
All Comments
Related Posts
GBA 未發售的機車賽
By Catherine
at 2010-08-15T21:24
at 2010-08-15T21:24
復活邪神296~技能問題
By Sarah
at 2010-08-15T20:23
at 2010-08-15T20:23
關於PSX2 金手指
By Frederic
at 2010-08-15T19:57
at 2010-08-15T19:57
PS2模擬器
By Margaret
at 2010-08-15T19:29
at 2010-08-15T19:29
PCSX2 0.9.7 r3636的GS的SSE4?
By Thomas
at 2010-08-15T16:21
at 2010-08-15T16:21