Mednafen Members Members   Search Search   Help Help   Register Register   Login Login   Home Home
Home » Mednafen » Development » Mednafen 0.8.2-beta:
Show: Today's Messages  :: Show Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
Mednafen 0.8.2-beta: [message #881] Sun, 08 July 2007 04:53 Go to next message
Administrator  [PM]
Major changes:

General:
  • Fixed audio track reading on big-endian systems for PCE CD and PC-FX emulation.
  • Added preliminary Sega Master System and Game Gear emulation based off of SMS Plus.
  • Added setting "srwframes", which controls the number of save states to keep when state rewinding is enabled.
  • Added blargg's experimental blz compressor, for use with state rewinding(change the setting "srwcompressor" to use it).


GB: Some sound and CPU interrupt/halt emulation bug fixes.

NES:
  • Fixed a bug that caused an emulator crash if Game Genie-style cheats were enabled at the same time as authentic Game Genie emulation was enabled.


PCE: Fixed several debugger bugs, files with the extension "sgx" will now automatically enable SuperGrafx emulation.

PC-FX:
  • Added emulation of the PC-FX mouse.
  • Added emulation of external backup memory(for more save-game slots in some games).
  • Implemented back-cellophane support, which fixes fadeouts and fadeins in several games.
  • Fixed hindmost color emulation, fixing the background color in the BIOS' backup memory manager.
  • Slightly optimized RAINBOW decoding
  • Improved inter-chip timing to fix lockup issues in Anime Freak FX Vol. 4. However, this causes some minor single-line graphics glitches in some games, due to them using CPU instruction-timing-sensitive raster effects. Fixing them will likely require V810 cache emulation and accurate emulation of bus wait states, which is...complicated, to say the least. Wink
  • Fixed a bug that caused missing background graphics in Tonari no Princess Rolfee.
  • Implemented scaling+rotation support for more KING background modes, fixes the background in the last stage of Zenki.
  • The RAINBOW transfer block count register is now emulated as being 5 bits instead of 16, which fixes a bug that turns the screen blue after fighting the snake monster.
  • Debugger bug-fixes and improvements.


WonderSwan:
  • Fixed a buffer overflow in the sprite drawing code.


WARNINGS:
Changes in the GameBoy and GameBoy Advance code since 0.8.1 could potentially cause save game corruption or deletion, therefore, you should backup Mednafen's non-volatile memory directory if you use Mednafen's emulation of these systems; this is ~/.sav on UN*X-like environments, and the "sav" directory under the directory holding the Mednafen executable on MS Windows.

Additionally, GameBoy save states made with versions <= 0.8.1 will not work at all with 0.8.2+. GameBoy Advance save states will work, but one of the legacy sound channels might sound wrong.

Please report any bugs, especially regressions, in this thread!

Known bugs:
PC-FX: BG0 scrolling+rotation in 4-color or 16-color KING BG mode will cause the palette bank number of the BAT to be ignored(causes graphical problems in the BIOS' CD player).

[Updated on: Fri, 14 November 2014 21:48]

Re: Mednafen 0.8.2-beta: [message #883 is a reply to message #881 ] Sun, 08 July 2007 13:52 Go to previous messageGo to next message
haikai  [PM]
This looks like yet another great release! First I noticed that it doesn't compile using --disable-debugger. I'm off to do real testing. :)

i686-pc-linux-gnu-g++ -DLOCALEDIR=\"/usr/share/games/locale\" -DHAVE_CONFIG_H -ffast-math -I../../include -I../../intl -Wall -Winline -Wshadow -fomit-frame-pointer -finline-limit=6000 --param large-function-growth=800 --param inline-unit-growth=175 --param max-inline-insns-single=10000 -I -I -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -c -o pcfx.o pcfx.cpp
pcfx.cpp: In function 'void DoMD5CDVoodoo()':
pcfx.cpp:734: warning: comparison between signed and unsigned integer expressions
pcfx.cpp:771: warning: comparison between signed and unsigned integer expressions
pcfx.cpp: In function 'int Load(const char*, MDFNFILE*)':
pcfx.cpp:851: warning: comparison between signed and unsigned integer expressions
pcfx.cpp: At global scope:
pcfx.cpp:596: warning: 'void SetRegGroups()' declared 'static' but never defined
i686-pc-linux-gnu-g++ -DLOCALEDIR=\"/usr/share/games/locale\" -DHAVE_CONFIG_H -ffast-math -I../../include -I../../intl -Wall -Winline -Wshadow -fomit-frame-pointer -finline-limit=6000 --param large-function-growth=800 --param inline-unit-growth=175 --param max-inline-insns-single=10000 -I -I -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -c -o king.o king.cpp
king.cpp: In function 'uint8 FXVCE_Read8(uint32)':
king.cpp:461: error: 'REGGETP' was not declared in this scope
king.cpp:468: error: 'REGGETP' was not declared in this scope
king.cpp: In function 'void FXVCE_Write8(uint32, uint8)':
king.cpp:527: error: 'REGSETP' was not declared in this scope
make[2]: *** [king.o] Error 1
make[2]: Leaving directory `/home/---/mednafen/src/pcfx'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/---/mednafen/src'
make: *** [all-recursive] Error 1
Re: Mednafen 0.8.2-beta: [message #885 is a reply to message #881 ] Tue, 10 July 2007 04:10 Go to previous messageGo to next message
haikai  [PM]
This beta has been working really well for me so far, and I haven't noticed any regressions. I've tested many Game Gear games and compatibility appears excellent, with only one strangeness in Ayrton Senna's Super Monaco GP II (U) [!], where the game does this fast pallette change effect in the first few screens. It will be obvious, and I think it's probably a video timing issue, not a fault with Mednafen.

SMS seems fine also, with the exception of the drawing area problem of which I'm sure you're aware, most noticeable in Hang-On.

I've boot tested quite a few GB & GBC games as well and haven't noticed any problems, and the sound is nicer with no stuck notes. Yay!

Eum, I tried to update the version of nes_ntsc used since it looked like it might be a simple drop-in replacement, but no dice. This would be nice to have for whenever, as would his sms_ntsc. But really - whenever.

Wish I could be of more help. Thank you for your wonderful efforts!
Re: Mednafen 0.8.2-beta: [message #886 is a reply to message #881 ] Thu, 12 July 2007 01:04 Go to previous messageGo to next message
haikai  [PM]
Here's a good one. -vdriver 1 -nes.special scale2x/hq2x/nn2x result in a blank screen, however the 3x/4x versions do not. And -vdriver 0 works fine with 2x filters.

The reason I'm using SDL rather than OpenGL is that the latter has been giving me quite distracting stuttering, especially in vertical shmups. Watching the FPS display, the top two numbers are always solid on 60, but the bottom number, like clockwork, drops to ~30-45 every ~1.5 seconds. I'm using the open source r300 driver on a Radeon 9600XT, Athlon-XP 1.8ghz.

The SDL framebuffer is solidly 60 for all three numbers, stutters less but still stutters, and isn't vsynced, so I get tons of tearing artifacts. Almost makes one wish for Windows. :*(

Other OpenGL applications I use are smooth, but they're 3D, where I might not notice any stuttering.

Any suggestions are appreciated. Otherwise I guess I'll have to think about shelling out for an Nvidia card and switch to using binary drivers if I want smooth 2D in my favorite emulator. :/

Edit1: rbelmont's port of Nestopia to Linux, in comparison, is smooth as silk. I fear I've been very unclear in describing this all. The game in question is Zanac (U) for the NES.

  • Attachment: glxinfo.txt
    (Size: 4.77KB, Downloaded 367 time(s))

[Updated on: Thu, 12 July 2007 02:19]

Re: Mednafen 0.8.2-beta: [message #887 is a reply to message #881 ] Thu, 12 July 2007 06:24 Go to previous messageGo to next message
Administrator  [PM]
A fix for the black-screen bug(around line 594 of drivers/video.cpp):

594c594
< source_surface = SDL_CreateRGBSurfaceFrom(NULL, 256, 256, 32, gi->pitch, 0xFF << rs, 0xFF << gs, 0xFF << bs, 0xFF << as);
---
> source_surface = SDL_CreateRGBSurfaceFrom(NULL, 256, 256, 32, gi->pitch, 0xFF << rs, 0xFF << gs, 0xFF << bs, 0);


[Updated on: Thu, 12 July 2007 06:28]

Re: Mednafen 0.8.2-beta: [message #889 is a reply to message #881 ] Sun, 15 July 2007 06:32 Go to previous messageGo to next message
didymos  [PM]
In regards to the REGGETP/REGGSETP problem, it's due to them both being #ifdef'ed out when WANT_DEBUGGER isn't set. I created a patch so I could build w/o the debugger:

--- mednafen/src/pcfx/king.cpp.orig     2007-07-14 20:18:32.000000000 -0700
+++ mednafen/src/pcfx/king.cpp  2007-07-14 20:20:36.000000000 -0700
@@ -260,10 +260,6 @@

 static void RedoKINGIRQCheck(void);

-#ifdef WANT_DEBUGGER
-static bool KRAMReadBPE = FALSE;
-static bool KRAMWriteBPE = FALSE;
-
 static INLINE void REGSETP(uint16 &reg, const uint8 data, const bool msb)
 {
  reg &= 0xFF << (msb ? 0 : 8);
@@ -277,6 +273,10 @@
  return(ret);
 }

+#ifdef WANT_DEBUGGER
+static bool KRAMReadBPE = FALSE;
+static bool KRAMWriteBPE = FALSE;
+
 void KING_NotifyOfBPE(bool read, bool write)
 {
  KRAMReadBPE = read;
Re: Mednafen 0.8.2-beta: [message #894 is a reply to message #881 ] Sun, 22 July 2007 23:02 Go to previous messageGo to next message
d_xiansheng  [PM]
Hi, I made a CheckInstall Debian package for 0.8.2beta with the patches in this thread and debugging disabled. If anyone wants it, let me know, I'll upload it to my server. Don't want to waste this forum's space with such a large attachment.

The SMS support looks great. I'm so happy to finally be able to play SMS and GG games on Linux without something as messy as, well, xmess.
Re: Mednafen 0.8.2-beta: [message #896 is a reply to message #881 ] Tue, 24 July 2007 06:12 Go to previous messageGo to next message
Sliver X  [PM]
SMS and GG support seem rock solid. I ran through a ton of them with no issues.

I notice you mention something about sprites and the Wonderswan. There's been an issue in Makaimura with sprite corruption. It actually *seems* like it's happening less, but heres an example:

http://panicus.googlepages.com/swan1.png

Notice the splatter sprite is jumbled.

The stage 2 boss still does it on occasion:

http://panicus.googlepages.com/swan2.png

Which is supposed to look like this (Just with the X/Y switched, I'm sure):

http://panicus.googlepages.com/swan3.png

So far as Gameboy, the main game I know of VBA's core having problems with is Defender/Joust: It still locks up when Joust is about to begin, so the changes had nothing to do with whatever causes that.

I'll let you know if I run into anything funny, and thanks for making this available! I've now ditched MEKA. Wink
Re: Mednafen 0.8.2-beta: [message #897 is a reply to message #896 ] Tue, 24 July 2007 19:18 Go to previous message
enik  [PM]
Sliver X wrote on Tue, 24 July 2007 07:12

SMS and GG support seem rock solid. I ran through a ton of them with no issues.




SMS compatibility is very good, indeed, but has some issues:


Ace of Aces (E) [!] - Doesn't work.

Jogos de Verao II (B) [!] - Doesn't work.

Shadow Dancer (E) [!] - Doesn't work.

Earthworm Jim (B) [!] - Halts when start first stage.

Cool Spot (E) [!] /
Mick & Mack as The Global Gladiators (E) [!] - no parts of main screen should appear between black line and scoreboard. Bottom of black line should be at top of scoreboard.

Desert Speedtrap (E) (M5) - Parts of screen move incorrectly at title screen.

GP Rider (U) [!] - graphic problems after some time racing

Terminator 2 - Judgment Day (E) [!] - graphic problems at title screen

Psychic World (E) [!] - Slow animations before the start of the level. Wilbert Pol fixed the problem for MESS (http://bugzilla.mess.org/show_bug.cgi?id=78): "This was indeed an interrupt issue. The sms1pal bios sets the line counter interrupt in such a way that it does not occur. The default smspal bios however never sets it and the default initialization is used, which happens to be set in such a way that it gets triggered every scanline. SVN has been updated to initialize the line counter register to 0xFF.."

Spider Man - Return of the Sinister Six (E) [!] - Doesn't run /
Star Wars (UE) [!] - Sprite collision detection doesn't work - Both problems shall have the same cause according with http://bugzilla.mess.org/show_bug.cgi?id=1087 and http://bugzilla.mess.org/show_bug.cgi?id=1097 : requires check for the line counter overflow on the line between the last drawn scanline and the line the vlbank interrupt gets triggered (thanks to Wilbert Pol).

[Updated on: Wed, 25 July 2007 00:40]

  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic:Sources and builds
Next Topic:Mednafen-0.8.3-beta:
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ ]

Current Time: Thu Apr 25 15:33:25 CDT 2024
.:: Contact :: Home ::.

Powered by FUDforum.
Copyright © FUDforum Bulletin Board Software