Mednafen 0.9.14-WIP - 模擬器

By David
at 2010-11-08T14:44
at 2010-11-08T14:44
Table of Contents
Mednafen 0.9.14 WIP is released. Mednafen is a multi-game-system emulator,
for various platforms, including emulation of the following systems:Atari
Lynx,Famicom,GameBoy (Color),GameBoy Advance,Neo Geo Pocket (Color),
NES(both NTSC and PAL),PC Engine/TurboGrafx 16 (CD) and
SuperGrafx,PC-FX,WonderSwan (Color).
http://forum.fobby.net/index.php?t=msg&th=583&start=0&
Mednafen 0.9.14 WIP changelog:
-- 0.9.14-WIP: --
November 6, 2010:
Corrected the last updated dates in the auto-generated documentation files.
VB: Uncommented out important save state code that was commented out for
debugging purposes(and was accidentally left that way).
-- 0.9.13-WIP: --
November 5, 2010:
PCE: The timestamp displayed in the debugger is now counted from when a
virtual power off->on occurred, rather than the start of the Mednafen video
frame. However, the displayed value wrap when it reaches 2^32 due to
limitations in the debugger code(TODO: fix in the future).
PCE: Fixed default mouse L/R button assignments(they were reversed). (You'll
need to delete the Mednafen configuration file for the new defaults to take
effect, or reconfigure the mouse in Mednafen, with the correct L/R button
assignment)
PCE: Fixed a bug that caused the debugger to corrupt Arcade Card state in
certain common situations while the debugger was open or breakpoints were
enabled.
PCE, PCE_FAST: Reworked and fixed the ADPCM code to closer match a real
system(based on hardware tests). Previously, ADPCM playback IRQ generation
was sooooo wrong. These changes finally fix the broken battle voices in
"Langrisser", yay.
October 17, 2010:
Fixed 2xSaI family filters to not crash; the 2xSaI filter source image data
is now from a temporary video buffer created from the original source video
buffer, but with padding on all sides to handle 2xSaI's lack of source
video buffer coordinate bounds checking.
October 14, 2010:
Re-disabled physical CD unreadable sector testing code, as it causes too long
of a delay at startup. A different solution will need to be found.
October 4, 2010:
PCE: Optimized debugger PC and opcode breakpoint testing during emulation.
October 3, 2010:
PCE: Fixed CD register reads with side effects when the debugger is open, and
changed PCE_InDebug from bool to uint32, to allow for ++/-- pairs instead of
= true, = false, to handle potential recursion.
September 30, 2010:
PCE_FAST: Fixed a emulator crash in the case that a game didn't initialize
MPRs properly.
PCE_FAST: Made a small optimization to the HuC6280 core.
PCE_FAST: Rewrote a bit of HES playback code so it works at a lower-level,
allowing the removal/privatization of some HuC6280 state setting functions.
September 29, 2010:
PCE_FAST: Fixed a reversed-tile issue with BG drawing on big-endian
platforms(thanks to Rakashazi for pointing it out).
PCE_FAST: Added 16bpp rendering support.
NES: Added 16bpp rendering support.
Added 16bpp support to MDFN_Surface and MDFN_PixelFormat. However, most
internal components in Mednafen currently can't handle 16bpp, emulation
modules included.
September 25, 2010:
Altered the text for the "sound" setting to better match what it actually
does.
September 19, 2010:
The destination blit rectangle in the video output code now has the lowermost
bits of the X and Y coordinates cleared, as a quick kludge to fix potential
issues with the VB emulation's "hli" and "vli" video modes. A cleaner
solution may be prudent in the future.
VB: Added setting "vb.liprescale".
Optimized the "hli" video mode drawing code slightly.
September 18, 2010:
VB: Added setting "vb.3dreverse".
VB: Renamed "pbarrier" 3dmode to "vli".
VB: Added 3dmode "hli".
September 16, 2010:
When -force_module is used with an unknown/invalid system, Mednafen will
print an error stating so, rather than stating that the file format is
unrecognized. If the system is recognized, but the system only supports CDs
and the file being loaded is not a CD image, a message will be printed to
that effect.
September 13, 2010:
PCE_FAST: HDS is now used in calculating the screen viewable area position,
fixing the "Final Blaster" intro sequence.
September 12, 2010:
Fixed a significant memory leak in the video output code(the leak would
increase every time fullscreen is toggled while Mednafen is running).
PCE_FAST: Fixed a benign(in Mednafen as it is now) memory leak.
PCE_FAST, PCE: IsSGX variable is now explicitly initialized to 0 correctly.
Updated the AX_CFLAGS_GCC_OPTION autoconf macro.
PCE_FAST: Renamed various identifiers in the HuC6280 emulator code to avoid
conflicting with C reserved identifier conventions.
PCE_FAST: Removed unused VDC debug code.
NES: An error while attempting to open the file specified by setting
"nes.cpalette" will no longer cause Mednafen to crash.
SCSI CD:
Refactoring and code cleanups.
Added various command error condition checks, and corrected various error
codes(NEC uses a few nonstandard ASC values). (INCOMPLETE)
Specific command fixes for PCE CD:
Command 0xD8: If the command is executed with the same address as when it was
previously executed, and the previous execution was < 190ms ago, then the new
execution is ignored(this occurs regardless if the previous command was
ignored). This is more of a kludge than a proper fix, and it is intended to
fix the silent CD-DA problem with "Steam Heart's".
Specific command fixes for PC-FX:
MODE SENSE and MODE SELECT:
Added support for block descriptor(incomplete), and the DBD bit for MODE
SENSE.
Added support for all the mode pages present on a PC-FX(though most don't
actually do anything in emulation yet, as I do not know their function or
their function is irrelevant at the current level of CD emulation accuracy).
Command 0x25: Corrected returned data when PMI bit is set.
Command 0x42: Fixed the relative address returned when the address results
are expressed as LBA.
Command 0xD8: Proper support for play bit.
Command 0xD9: Improved play mode evaluation, and play mode 0x1 is no longer
erroneously interpreted as loop mode(only 0x4 is).
Command 0xDD: The control/adr field is now returned in the data.
Command 0xDE: Added emulation of returned data mode 0x03(there was a dummy
stub before, to get the PhotoCD player to work).
September 11, 2010:
Changed hqxx's sole supported pixel format to match the new OpenGL texture
pixel format used(in the future, changing its hardcoded pixel format based on
an #ifdef MSB_FIRST may be warranted).
WonderSwan: Re-enabled(and fixed) debugger's graphics viewer.
PCE_FAST: Reduced fb_height from 256 to 242.
September 10, 2010:
If Mednafen is running with an OpenGL implementation of OpenGL >= 1.2, and is
on an x86 or x86_64 platform, it will now upload texture data in
GL_BGRA GL_UNSIGNED_INT_8_8_8_8_REV format rather than GL_RGBA GL_UNSIGNED_BYTE.
This may need to be tweaked for older video cards. Would it have killed the
OpenGL developers to have included a means of querying the fastest formats for
texture uploading?
September 8, 2010:
todo: make sure tblur works right with surface->pitch32 != gameinfo->fb_width
and player
Converted MDFNGI pitch(in bytes) to fb_width(in pixels).
Fixes for incorrectly using MDFNGameInfo->fb_width instead of the surface's
pitch:
gb
gba
lynx(was hardcoded)
nes
ngp
pce_fast(was hardcoded)
player
wswan
mmrecord.cpp
tblur.cpp
Reduction of fb_width to minimum acceptible for the module(the driver-side
can still round up to a power of 2 when creating the MDFN_Surface, of course):
gb
gba
lynx
ngp
pce_fast(required a bit of work in vdc.cpp to eliminate non-visible-area
surface rendering)
vb
wswan
September 5, 2010:
PC-FX: Implemented an optimization to the FX VCE layer mixing priority
evaluation code, that will also allow further optimization in the future.
September 4, 2010:
NES: Replaced "femms" inline assembly generated when compiling for x86_64
with "emms", as not all x86_64 processors are made by AMD.
August 24, 2010:
PC-FX: Track numbers in READ TOC(10) are now returned in hex instead of
BCD(fixes BIOS handling of discs with a large number of tracks; no PC-FX
games are like this, but it may be useful for playing audio CDs or audio
portions of PCE CD). The bug was present in 0.8.x, but due to a design
decision/bug elsewhere, it didn't cause the BIOS to be unable to play the
CD-DA tracks.
August 22, 2010:
Re-enabled raw MMC command usage for reading physical discs(it had been
disabled for debugging purposes).
PC-FX: A PhotoCD disc will now automatically be detected as being handled by
the PC-FX module.
L-EC correction code is now called external to cdromfile.cpp, and with
PC-FX/PCE CD emulation, will generate a SCSI error if it fails.
August 20, 2010:
SNES: Applied a patch from Jonas Quinn to fix a Cx4 emulation bug.
VB: Mednafen will no longer automatically recognize files with the ".bin"
extension as Virtual Boy games, as the extension conflicts with Sega Genesis
/Megadrive. If you have any such files, they will need to be renamed to have
an extension of ".vb" or ".vboy".
VB: Files with the extension ".vboy" are now automatically recognized as
Virtual Boy games.
VB: Altered timer emulation to fix digital sound and voice playback in
"Virtual Bowling". The change has the possibility of causing regressions with
other games, but none were detected in very quick and not thorough testing.
August 14, 2010:
Cleaned up git.h slightly.
--
for various platforms, including emulation of the following systems:Atari
Lynx,Famicom,GameBoy (Color),GameBoy Advance,Neo Geo Pocket (Color),
NES(both NTSC and PAL),PC Engine/TurboGrafx 16 (CD) and
SuperGrafx,PC-FX,WonderSwan (Color).
http://forum.fobby.net/index.php?t=msg&th=583&start=0&
Mednafen 0.9.14 WIP changelog:
-- 0.9.14-WIP: --
November 6, 2010:
Corrected the last updated dates in the auto-generated documentation files.
VB: Uncommented out important save state code that was commented out for
debugging purposes(and was accidentally left that way).
-- 0.9.13-WIP: --
November 5, 2010:
PCE: The timestamp displayed in the debugger is now counted from when a
virtual power off->on occurred, rather than the start of the Mednafen video
frame. However, the displayed value wrap when it reaches 2^32 due to
limitations in the debugger code(TODO: fix in the future).
PCE: Fixed default mouse L/R button assignments(they were reversed). (You'll
need to delete the Mednafen configuration file for the new defaults to take
effect, or reconfigure the mouse in Mednafen, with the correct L/R button
assignment)
PCE: Fixed a bug that caused the debugger to corrupt Arcade Card state in
certain common situations while the debugger was open or breakpoints were
enabled.
PCE, PCE_FAST: Reworked and fixed the ADPCM code to closer match a real
system(based on hardware tests). Previously, ADPCM playback IRQ generation
was sooooo wrong. These changes finally fix the broken battle voices in
"Langrisser", yay.
October 17, 2010:
Fixed 2xSaI family filters to not crash; the 2xSaI filter source image data
is now from a temporary video buffer created from the original source video
buffer, but with padding on all sides to handle 2xSaI's lack of source
video buffer coordinate bounds checking.
October 14, 2010:
Re-disabled physical CD unreadable sector testing code, as it causes too long
of a delay at startup. A different solution will need to be found.
October 4, 2010:
PCE: Optimized debugger PC and opcode breakpoint testing during emulation.
October 3, 2010:
PCE: Fixed CD register reads with side effects when the debugger is open, and
changed PCE_InDebug from bool to uint32, to allow for ++/-- pairs instead of
= true, = false, to handle potential recursion.
September 30, 2010:
PCE_FAST: Fixed a emulator crash in the case that a game didn't initialize
MPRs properly.
PCE_FAST: Made a small optimization to the HuC6280 core.
PCE_FAST: Rewrote a bit of HES playback code so it works at a lower-level,
allowing the removal/privatization of some HuC6280 state setting functions.
September 29, 2010:
PCE_FAST: Fixed a reversed-tile issue with BG drawing on big-endian
platforms(thanks to Rakashazi for pointing it out).
PCE_FAST: Added 16bpp rendering support.
NES: Added 16bpp rendering support.
Added 16bpp support to MDFN_Surface and MDFN_PixelFormat. However, most
internal components in Mednafen currently can't handle 16bpp, emulation
modules included.
September 25, 2010:
Altered the text for the "sound" setting to better match what it actually
does.
September 19, 2010:
The destination blit rectangle in the video output code now has the lowermost
bits of the X and Y coordinates cleared, as a quick kludge to fix potential
issues with the VB emulation's "hli" and "vli" video modes. A cleaner
solution may be prudent in the future.
VB: Added setting "vb.liprescale".
Optimized the "hli" video mode drawing code slightly.
September 18, 2010:
VB: Added setting "vb.3dreverse".
VB: Renamed "pbarrier" 3dmode to "vli".
VB: Added 3dmode "hli".
September 16, 2010:
When -force_module is used with an unknown/invalid system, Mednafen will
print an error stating so, rather than stating that the file format is
unrecognized. If the system is recognized, but the system only supports CDs
and the file being loaded is not a CD image, a message will be printed to
that effect.
September 13, 2010:
PCE_FAST: HDS is now used in calculating the screen viewable area position,
fixing the "Final Blaster" intro sequence.
September 12, 2010:
Fixed a significant memory leak in the video output code(the leak would
increase every time fullscreen is toggled while Mednafen is running).
PCE_FAST: Fixed a benign(in Mednafen as it is now) memory leak.
PCE_FAST, PCE: IsSGX variable is now explicitly initialized to 0 correctly.
Updated the AX_CFLAGS_GCC_OPTION autoconf macro.
PCE_FAST: Renamed various identifiers in the HuC6280 emulator code to avoid
conflicting with C reserved identifier conventions.
PCE_FAST: Removed unused VDC debug code.
NES: An error while attempting to open the file specified by setting
"nes.cpalette" will no longer cause Mednafen to crash.
SCSI CD:
Refactoring and code cleanups.
Added various command error condition checks, and corrected various error
codes(NEC uses a few nonstandard ASC values). (INCOMPLETE)
Specific command fixes for PCE CD:
Command 0xD8: If the command is executed with the same address as when it was
previously executed, and the previous execution was < 190ms ago, then the new
execution is ignored(this occurs regardless if the previous command was
ignored). This is more of a kludge than a proper fix, and it is intended to
fix the silent CD-DA problem with "Steam Heart's".
Specific command fixes for PC-FX:
MODE SENSE and MODE SELECT:
Added support for block descriptor(incomplete), and the DBD bit for MODE
SENSE.
Added support for all the mode pages present on a PC-FX(though most don't
actually do anything in emulation yet, as I do not know their function or
their function is irrelevant at the current level of CD emulation accuracy).
Command 0x25: Corrected returned data when PMI bit is set.
Command 0x42: Fixed the relative address returned when the address results
are expressed as LBA.
Command 0xD8: Proper support for play bit.
Command 0xD9: Improved play mode evaluation, and play mode 0x1 is no longer
erroneously interpreted as loop mode(only 0x4 is).
Command 0xDD: The control/adr field is now returned in the data.
Command 0xDE: Added emulation of returned data mode 0x03(there was a dummy
stub before, to get the PhotoCD player to work).
September 11, 2010:
Changed hqxx's sole supported pixel format to match the new OpenGL texture
pixel format used(in the future, changing its hardcoded pixel format based on
an #ifdef MSB_FIRST may be warranted).
WonderSwan: Re-enabled(and fixed) debugger's graphics viewer.
PCE_FAST: Reduced fb_height from 256 to 242.
September 10, 2010:
If Mednafen is running with an OpenGL implementation of OpenGL >= 1.2, and is
on an x86 or x86_64 platform, it will now upload texture data in
GL_BGRA GL_UNSIGNED_INT_8_8_8_8_REV format rather than GL_RGBA GL_UNSIGNED_BYTE.
This may need to be tweaked for older video cards. Would it have killed the
OpenGL developers to have included a means of querying the fastest formats for
texture uploading?
September 8, 2010:
todo: make sure tblur works right with surface->pitch32 != gameinfo->fb_width
and player
Converted MDFNGI pitch(in bytes) to fb_width(in pixels).
Fixes for incorrectly using MDFNGameInfo->fb_width instead of the surface's
pitch:
gb
gba
lynx(was hardcoded)
nes
ngp
pce_fast(was hardcoded)
player
wswan
mmrecord.cpp
tblur.cpp
Reduction of fb_width to minimum acceptible for the module(the driver-side
can still round up to a power of 2 when creating the MDFN_Surface, of course):
gb
gba
lynx
ngp
pce_fast(required a bit of work in vdc.cpp to eliminate non-visible-area
surface rendering)
vb
wswan
September 5, 2010:
PC-FX: Implemented an optimization to the FX VCE layer mixing priority
evaluation code, that will also allow further optimization in the future.
September 4, 2010:
NES: Replaced "femms" inline assembly generated when compiling for x86_64
with "emms", as not all x86_64 processors are made by AMD.
August 24, 2010:
PC-FX: Track numbers in READ TOC(10) are now returned in hex instead of
BCD(fixes BIOS handling of discs with a large number of tracks; no PC-FX
games are like this, but it may be useful for playing audio CDs or audio
portions of PCE CD). The bug was present in 0.8.x, but due to a design
decision/bug elsewhere, it didn't cause the BIOS to be unable to play the
CD-DA tracks.
August 22, 2010:
Re-enabled raw MMC command usage for reading physical discs(it had been
disabled for debugging purposes).
PC-FX: A PhotoCD disc will now automatically be detected as being handled by
the PC-FX module.
L-EC correction code is now called external to cdromfile.cpp, and with
PC-FX/PCE CD emulation, will generate a SCSI error if it fails.
August 20, 2010:
SNES: Applied a patch from Jonas Quinn to fix a Cx4 emulation bug.
VB: Mednafen will no longer automatically recognize files with the ".bin"
extension as Virtual Boy games, as the extension conflicts with Sega Genesis
/Megadrive. If you have any such files, they will need to be renamed to have
an extension of ".vb" or ".vboy".
VB: Files with the extension ".vboy" are now automatically recognized as
Virtual Boy games.
VB: Altered timer emulation to fix digital sound and voice playback in
"Virtual Bowling". The change has the possibility of causing regressions with
other games, but none were detected in very quick and not thorough testing.
August 14, 2010:
Cleaned up git.h slightly.
--
Tags:
模擬器
All Comments
Related Posts
紀錄被誤刪後

By Quintina
at 2010-11-08T12:50
at 2010-11-08T12:50
(NES) Fceux SVN r2078

By Quanna
at 2010-11-08T10:41
at 2010-11-08T10:41
請問紅白機上的快打旋風1代的英文名字갠…

By Eartha
at 2010-11-07T23:23
at 2010-11-07T23:23
FFX不能玩

By Yedda
at 2010-11-07T22:05
at 2010-11-07T22:05
Dolphin SVN r6354

By Quanna
at 2010-11-07T19:46
at 2010-11-07T19:46