EmuCR Feeds
Email Us

EmuCR: MednafenMednafen v0.9.19 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).

Mednafen v0.9.19 WIP changelog:

-- 0.9.19-WIP: --

January 28, 2012:
Added workaround for questionable header changes with libcdio 0.83 and newer.

January 25, 2012:
Fixed "x" and "y" .videoip settings not working properly with screen rotation(though the fix is a bit
convoluted, in the future it may make sense to completely re-evaluate how destination rectangles and rotation
are done).

Re-added "ipxnotysharper", "ipynotxsharper", and "ipsharper" pixel shader settings.

Fixed interpolation-pixel-shader algorithm texture coordinate evaluation.

January 24, 2012:
Re-added "ipxnoty" and "ipynotx" pixel shader settings, to compensate for the removal of the extended videoip settings.

Fixed "x" and "y" .videoip settings to work properly in full-screen mode.

PSX: Added default mouse button assignments for emulated mice.

PC-FX: Fixed a crash when selecting the "RAINBOW" layer in the debugger's graphics viewer. (Note that viewing
the RAINBOW layer via this manner is still not supported; IE there's just empty space when the layer is selected in the
graphics viewer).

January 23, 2012:
WonderSwan: Fixed a reset initialization bug(due to a design flaw) that was partially corrupting internal and
external EEPROM.

PSX: Added emulation of LWL and LWR load delays, and emulation of LWL and LWR diversion of the register writeback
stage of a previous instruction's delayed load.

January 22, 2012:
libcdio version information is now printed out on startup.

January 21, 2012:
PSX: Added mouse emulation.

Changed how physical mouse events are processed, removing a potential thread-safety issue with some SDL functions,
and ensuring that a very quick mouse button press and release registers as pressed for at least 1 frame, as far
as command processing and virtual input device emulation go.

January 20, 2012:
PSX: Added default keyboard button assignments for emulated digital gamepad 1.

PSX: Worked on multitap emulation some more.

PSX: Corrected gamepad and memcard emulation, to only respond when the first communication byte is 0x01 or 0x81
respectively, rather than masking the byte with 0x81 and then testing, which is apparently incorrect based on
real system testing.

January 19, 2012:
PSX: Began adding multitap emulation.

Fixed broken emulated input device selection command keys for ports 6, 7, and 8

January 18, 2012:
PSX: Front port I/O changes:
Masked values written to control and mode registers to match tests on a real PS1.

Corrected RxD bit status when no device is driving it(was 0, should be 1).

Added emulation of DSR status bit to reads from the status register(though DSR emulation is totally kludgy
at the moment, need to fix it up in the future).

Added emulation of interrupt status bit to reads from the status register.

Added emulation of memory card insertion detection bit, that is apparently set when the memory card receives
power after being off, and is cleared by issuing a (successful?) write.

Attempted memory card block reads from beyond the end of the memory card will now fail as tested(granted
not extensively tested for multiple beyond-end address values) on a real PS1.

The high byte of the read address specified in the memory card read command will now be echoed back in
the following byte sent back to the PS1, as per tests on the real PS1(previously in Mednafen, that byte was
just being sent as 0x00).

The receive buffer byte is now duplicated across all bytes of multi-byte reads of the data port address,
as on a real PS1.

Began adding analog gamepad support; though, the current front port SIO device interface is a bit clunky,
so probably no more emulated devices will be added until that can be improved.

PSX: Removed asserts on MFC0 from a debug register; a warning message will still be printed if a debug register
is written with MTC0, however.

Fixed a bug that could cause an assert() to be thrown with small effective y-scale values on certain types of
multires video frames, thanks to Speedvicio for reporting it.

January 17, 2012:
PSX emulation module compilation is now enabled by default in the configure script.

PC-FX: Fixed a lack of updating a cached copy of the debugger-editable KING register "ADPCMCTRL" on edit.

Added a rudimentary test in the configure script to determine if "-fno-strict-overflow" or "-fwrapv" should be used
(in regards to gcc 4.2.x generating bad code for -fno-strict-overflow).

Updated list of gettext translateable source code files.

January 16, 2012:
PSX: Fixed emulation of bit7 of SPU control register, it actually appears to control the reverb algorithm writing
into the reverb work area, rather than setting the inputs to 0 as it was emulated before. Fixes music corruption
in "The Roots" demo, music playback in "Vib-Ribbon", and possibly minor sound glitches in other games as well.

PSX: CD audio data is now written to SPU RAM without SPU output CD volume being applied, fixes course generation
in "Vib-Ribbon".

Implemented support for mapping command keys(hotkeys) to mouse buttons; it was partially implemented before,
in that the command key configuration process allowed you to select mouse buttons for a command key, but the
mouse buttons had no effect in actually triggering the command.

January 15, 2012:
GB: Added GB system type selection via "gb.system_type" setting. Sound emulation nuances have
changed from the previous default, such that DMG games will select emulation of the DMG sound hardware whereas
before they selected CGB sound hardware. To achieve the previous behavior, set the "gb.system_type" setting to "cgb",
though note that in a future version this setting may change color and palette selection as well.

January 13, 2012:
Corrected a wrong argument type in an error reporting function in drivers/shader.cpp, which should fix compilation
issues with certain OpenGL implementations.

PSX: Removed erroneous coordinate check in line-drawing code that was preventing 1-pixel-long lines from
being drawn, and fixed a divide-by-zero issue that removing the check caused.

Port cache is now cleared on game close; has no practical effect on stock Mednafen, but needed for ports
that allow for more than one game loading per instance, to prevent problems with netplay and state rewinding.

PSX: Refined GPU status port bit28 emulation, per tests run on a
real system(it's a bit weird and inconsistent).

PSX: GPU polylines now require at least one line segment(two vertices) to
be specified before the termination code is honored, per tests on
a real system.

January 12, 2012:
PSX: Fixed a problem with shaded polyline end code evaluation, fixes startup lockup in "Codename: Tenka".

PSX: Fixed GPU flipped sprite drawing, the starting coordinates were being set incorrectly as
to how a real GPU apparently works(and how a real GPU apparently works is kind of wonky compared
to sprite flipping on older consoles!).

PSX: Sprites are no longer dithered, per test results run on the real thing(though only with commands
0x64 through 0x67, it's possible that the others couuuuld be different, more tests will be run). Fixes
the motion-blurred running scene in the beginning of "Silent Hill".

January 11, 2012:
PSX: Improved GPU FB Read, FB Write, FB Copy, and FB Fill command emulation(particularly coordinate and
size masking; and doing mask bit handling for FB Copy, which fixes FF8 battle transitions), based on tests
run on a real system.

January 8, 2012:
PSX: Fixed IRQ idle and FIFO room bits, fixes graphical update issues with "The Roots" demo.

PSX: Made OT clear DMA occur over time instead of instantly.

Fixed a deinterlacer bug that would cause a stale field to be displayed for the first interlaced frame after a
period of non-interlaced frames.

January 6, 2012:
More build information is displayed on startup.

Fixed a memory leak in the internal message display code.

January 5, 2012:
Improved PAL region game support, and added rough region autodetection, with a BIOS filename setting for each supported
region.

January 4, 2012:
Fixed multiple issues with the signal handler.

January 3, 2012:
Fixed temporal blur memory allocation that could lead to crashes with emulated systems that support
interlaced video, it was only allocating for a fixed height of 256 when it should have been using the fb_height
member of MDFNGameInfo.

Fixed problems with the configure script that caused user-supplied CPPFLAGS to be ignored.

The Win32 build is now compiled with gcc 4.5.4 20111030(prerelease), and compiled with gcc option "-mstackrealign".

December 30, 2011:
PSX: Added emulation of coprocessor->CPU transfer delay slots, fixes
graphical glitches in "Tekken 2".

PSX: Fixed bug that was causing timer overflow flag to be set when it shouldn't be(when in target mode).

PSX: GPU CLUT offset wrapping fixed(fixes "Next Tetris").

PSX: Return interlaced mode field in bit 13 of GPU status port reads.

PSX: Miscellaneous GPU emulation improvements relating to coordinate precision.

PSX: Revamped GPU, SPU, and MDEC DMA, (and GPU command buffering), to run over time instead of all at once.

December 29, 2011:
Lynx: Fixed EVERON detection emulation, and emulated a hardware bug regarding SCB data reading, the latter of which
fixes a graphical glitch in "Joust". Thanks to sage and LX.NET for information and patches.

December 21, 2011:
PSX: Fixed a typo in the return value calculation for control command 0x10, fixes graphical glitches in
"Xenogears".

December 19, 2011:
PSX: Added backing variables/memory for memory accesses to 0x1f801000-0x1f801023, though their actual functionality isn't
emulated yet.

PSX: Added dummy SIO(rear serial port) emulation to fix a divide-by-zero crash in Wipeout.

PSX: Altered ReadN and ReadS semantics, fixes a lockup in Suikoden II.

PSX: CD sector error correction will no longer be attempted on mode 2 form 2 sectors, fixes data corruption and lockup
issues with "Final Fantasy Tactics", "SaGa Frontier", and perhaps others.

December 18, 2011:
PSX: Fixed a problem with line drawing gradient shading, fixes some glitches with lighting effects
in "Quake II", "Need for Speed III", and probably other glitches in other games as well.

PSX: Altered Mem->GPU DMA completion calculation to take into account the GPU's FIFO, though the FIFO simulation
is rather crude; fixes various games that were flickering messes.

PSX: Fixed FB write coordinate and size masking to not be braindead(it didn't allow 1024 width or 512 height,
which obviously broke games).

December 17, 2011:
PSX: Improved emulation of SPU control register bit 15, fixes sound effects and music glitches in "Viewpoint", "Mat
Hoffman's Pro BMX", and likely other games as well(though "Hydro Thunder" still seems to have issues with
garbage sound).

PSX: Improved emulation of SPU control register bit 14.

December 16, 2011:
SMS: Began work on fixing H-counter behavior.

December 15, 2011:
PSX: Masked FB write coordinates and widths to the bare minimum; not sure if this is totally correct(need to run
tests on the real thing), but it fixes a startup lockup in "Crash Team Racing".

Revamped internal CD direct reading abstraction, and made several user-visible changes:
Removed "cdrom.lec_eval" setting; it complicated internal design, and was a bad decision in the sense
that it could promote distributing patches or CD rips that would likely not work properly when burned to
an actual disc.

Added more proper support for multi-disc CD games; see the CD-emulation section in the documentation
for further details.

Dropped support for physical CD drives that don't support MMC commands, don't support raw sector reading,
and/or don't support raw subchannel reading.

December 7, 2011:
Added experimental support for enabling linear interpolation on one axis only(via the .videoip setting),
that doesn't require FBOs or pixel shaders.

December 4, 2011:
PSX: Corrected time of FB Y readout offset lower bit versus field bit setting, fixes startup freeze in
"X-Men: Mutant Academy".

PSX: Made SPU IRQ emulation slightly more accurate.

December 3, 2011:
PSX: Added a kludge to prevent the GPU from returning busy status on status port reads after DMA to the GPU
finishes its simulated run time, to fix major problems with the battles in "Valkyrie Profile".
TODO: This kludge will be removed when more accurate DMA emulation is in place in the future.

PSX: Reduced triangle vertex x,y coordinate integer precision, fixes missing level graphics in "Tony Hawk's
Pro Skater 2".

December 2, 2011:
PSX: Improved mask bit emulation, fixes text brightness issues in "Dragon Quest 4", and possibly other
graphical issues in other games as well.

Swapped the lines the scanlines effect is applied to, and removed the OpenGL texture offset hack used when scanlines
were enabled.

December 1, 2011:
PSX: Improved display FB Y readout position emulation, and added support for line skipping and "dfe" functionality
when drawing in interlaced mode(it's likely not 100% correct, though).

November 29, 2011:
Added emulation of the VDP quirk present in the Japanese SMS VDP to fix the graphical glitches in the Japanese
version of "Ys"; however, the quirk will only be emulated when the "sms.territory" setting is set to "domestic".

November 28, 2011:
Replaced the various .pixshader ip* settings with "autoip" and "autoipsharper", and rewrote
the underlying "sharper" interpolation algorithm to produce more visually-pleasing results. There is some loss of
potential functionality with this change, but hopefully the gained functionality will greatly offset the loss in
practice.

November 25, 2011:
SMS: Reduced FM volume to prevent some kind of overflow clicking in Blip_Buffer(TODO: investigate where
exactly it was happening).

November 17, 2011:
Fixed some code causing compiler warnings in:
psx/dis.cpp
pcfx/king.cpp
pcfx/fxscsi.cpp
pce_fast/vdc.cpp
pce/vce_sync.inc
nes/boards/emu2413.cpp
nes/ntsc/nes_ntsc.cpp
md/debug.cpp
md/cd/cdc_cdd.cpp

November 15, 2011:
Fixed the broken scanline effect when the screen is rotated when using the OpenGL video output driver.

November 13, 2011:
Genesis: Fixed left/right gamepad default key assignments, they were backwards for some reason.

Changed the default values for .xres and .yres to "0", which will cause Mednafen to use
the same resolution as the desktop video mode.

Changed the default values for .xscalefs and .yscalefs to "1", and changed the default value
for .stretch from "0"(disabled) to "aspect_mult2".

Revamped the quick help(via F1) screen, removing the annoying partial opacity and changing colors and layout
slightly.

Remapped the screen rotation button from "F8" to "ALT + O", enabled screen rotation for all emulated systems,
and renamed the "command.rotatescreen" setting to "command.rotate_screen".

November 12, 2011:
Began adding support for emulated analog buttons/axes to the core and driver code(to be used in the future
for additional PSX input device support).

November 11, 2011:
Implemented a workaround for compiling the unzip code with Gentoo's messed up zlib header files.

November 10, 2011:
NES: Corrected multiple problems with mouse coordinate translation for Zapper, Space Shadow Gun, Oeka Kids Tablet,
and Arkanoid controller emulation, especially with non-default video settings.

November 9, 2011:
Altered "video.glvsync" semantics slightly, such that a setting of "0"(vsync disabled) will override video card
system driver settings in the same way that a setting of "1" will. (In short, it makes disabling vsync via this
setting more reliable)

November 8, 2011:
Added new video stretch modes "aspect_int" and "aspect_mult2".

WonderSwan: Implemented experimental setting "wswan.language"; it's only known to affect one game.

November 7, 2011:
PSX: Made SPU execution slaved to the CDC, to prevent potential edge-case synchronization issues for audio streaming.

PSX: Implemented rudimentary CD-XA playback.

PSX: Implemented GetLocL CD command.

October 30, 2011:
PSX: Implemented more of MDEC, to the point where the video in FMV sequences is working to a degree.

October 27, 2011:
NES: Improved iNES mapper 69 expansion sound emulation accuracy(volume interpretation and channel frequencies
were off).

October 26, 2011:
PSX: Fixed a bug that caused crashing when emulator sound output was disabled.

PSX: Fixed missing initialization of a local variable in a GTE emulation function(very curiously, gcc 4.4 optimized it
as if it were initialized to zero, and didn't even print a warning about an uninitialized variable being used, but
the lack of initialization DID cause a warning and broke the code with gcc 4.6).

October 25, 2011:
PSX: More GTE fixes.

October 19, 2011:
PSX: Altered GPU triangle rendering to fix the little problem of
invisible walls in "Doom".

October 18, 2011:
PSX: Corrected GTE MVMA when mx is 3(it has very strange behavior).

October 17, 2011:
PSX: Improved CPU branch delay slot emulation, fixes a few graphical glitches in "Threads of Fate".

PSX: Improved GTE flag emulation, and support for MVMA with the far color vector.

October 15, 2011:
Fixed a bug that caused crackling and increased CPU usage when using certain non-integer fast/slow-forward speed
multipliers.

October 13, 2011:
GBA: Added GSF-related file extensions to known file extensions list.

PSX: Added PSF-related file extensions to known file extensions list.

PSX: Disabled memory card emulation when a PSF is loaded.

October 12, 2011:
CDPLAY, SNES, PSX: Changed several large statically-allocated arrays to be dynamically-allocated to reduce
memory usage when those emulation modules aren't being used.

Increased the maximum supported sound output rate to 1048576 Hz, JUST BECAUSE.

GB: Fixed loading of custom per-game palettes.

October 10, 2011:
Changed setting and code constraints to increase the maximum supported sound output rate from 48KHz to 192KHz.

NES: Altered the resampler to work for output rates higher than 48KHz.

Modified Blip_Buffer to use 64-bit types for time-keeping and calculation instead of 32-bit, and extended
the precision of the fractional component of the output-to-input rate ratio from 20 bits to 32-bits. This
change to 64-bit types also has the effect for allowing for very large buffer sizes with very high
output rates. However, if you're using a custom video mode with a refresh rate tuned to minimize juddering
and frameskipping, you will need to adjust/recalculate those modes for all emulation modules
*other* than "nes", "psx", and "snes".

October 8, 2011:
NES: Fixed a bug in the MMC5 split-screen emulation that caused a garbage scanline in the intro sequence
of "Uchuu Keibitai SDF".

NES: Fixed MMC5 32K PRG switching mode.

September 29, 2011:
Fixed a file descriptor leak in the gzip loading code, and removed usage of dup().

Maximum ROM image size is now enforced in the gzip loading code.

September 25, 2011:
GBA: Fixed an endian-related bug in the sound emulation code.

September 22, 2011:
Changed an erroneous memcpy() of an object to an assignment in the MDFN_Surface constructor.

SMS: Removed an unecessary memset() that sometimes tried to memset() a NULL pointer.

September 5, 2011:
PSX: Changed coordinate precision in the GPU sprite drawing code so that the level in "Skullmonkeys"
doesn't disappear when your character goes far enough to the right.

September 4, 2011:
PSX: Added memory card support.

PSX: Reworked SIO(for front ports) code, fixes problems with controllers acting totally wonky on some games.

August 29, 2011:
NES: Fixed potential(in ports) memory leaks in the Game Genie emulation code.

August 28, 2011:
PCE, PCE_FAST: Fixed an Arcade Card emulation bug that made Garou Densetsu 2 virtually unplayably difficult.

August 25, 2011:
Added a "close()" method to FileWrapper, and modified the QuickTime and WAV recording code to make use of it.

August 24, 2011:
GBA: Encapsulated in a namespace.

GB: Encapsulated in a namespace.

GB: Added a few minor missing variables to save states.

PCE, PCE_FAST, PC-FX: Fixed potential memory leak(in ports) in the SCSI CD emulation code.

NES: Fixed potential memory leaks(in ports) in the FDS and PPU emulation code.

August 23, 2011:
PC-FX: Fixed a potential memory leak in the RAINBOW emulation code, again currently only relevant to ports of Mednafen.

Refactored and reorganized physical CD and image reading code, and moved utility-type functions, types, and
enums into their own namespace, with somewhat more consistent naming, and removal of redundant functions and macros.

Fixed a crash when "cdrom.lec_eval" is "0" and a physical data CD is loaded.

Fixed potential(in ports of Mednafen) memory leaks in the CD-ROM emulation code.

August 20, 2011:
PCE, PCE_FAST: Fixed potential memory leaks(in ports of Mednafen, not Mednafen as-is) in HES player code.

August 18, 2011:
WonderSwan: Fixed an issue in the debugger's disassembly code that had the potential to cause the
compiler's linker to error out in certain situations.

NGP: Fixed a memory map initialization bug(won't affect Mednafen as it is currently, but may affect ports that
load more than one game without restarting Mednafen). Thanks to raz0red for pointing it out.

August 13, 2011:
Fixed(again) waveform Y coordinate saturation in the music player.


Download: Mednafen v0.9.19 WIP
Source: Here

2 Comments:

  1. WOW! nice job guys,alot of changes this time! thank you!

    ReplyDelete
  2. Good job!! Thanks.

    ReplyDelete

Can't post a comment? Try This!