So what's new this time?
I've added some support for Sega Pico, which was not-so-famous Sega toy, based on MegaDrive hardware. I think PicoDrive is the first emu (remember SVP) to have some kind of support for that system. I've done this just because of the emu name (hey fDave, why have you named it like this?).
I've managed to improve performance again, after some more talks with Lordus (jEnesis/jEnesisDS author) and Exophase. Many games, which needed some push to run fullspeed (full 50/60fps) with accuracy settings enabled (like Comix Zone), should do that fine @ 200MHz now. SegaCD games should perform a bit better too.
I've also removed "accurate*" settings, as disabling them no longer gave any significant improvement with the new code. Now all games should just work, without any messing with options, and "bug" reports, which were configuration issues really, should go away, I hope. Unfortunately this is not yet true for SegaCD, but I hope to improve that in the future.
Another new thing is the bin_to_cso_mp3 tool, which converts cue/bin rips to cue/iso/mp3, made from Exophase's bin_to_iso_ogg. This is the tool I recommend using to get best rips for this emu.
- Added some basic support for Sega Pico, a MegaDrive-based toy.
- Added proper support for cue/bin images, including cdda playback. .cue sheets with iso/cso/mp3/wav files listed in them are now supported too (but 44kHz restriction still applies).
- Added bin_to_cso_mp3 tool, based on Exophase's bin_to_iso_ogg. The tool can convert .cue/.bin Sega CD images to .cso/.mp3.
- Greatly improved Sega CD load times.
- Changed how scheduling between 68k and z80 is handled. Improves performance for some games. Credits to Lordus for the idea.
- YM2612 state was not 100% saved, this should be better now.
- Improved renderer performance for shadow/hilight mode.
- Added a hack for YM2612 frequency overflow issue (bleep noises in Shaq Fu, Spider-Man - The Animated Series (intro music), etc.). Credits to Nemesis @ spritesmind forum. Works only sound rate is set to 44kHz.
- Implemented some sprite rendering improvements, as suggested by Exophase. Games with lots of sprites now perform better.
- Added better idle loop detection, based on Lordus' idea again.
- "accurate timing" option removed, as disabling it no longer improves performance.
- "accurate sprites" was removed too, the new sprite code can properly handle sprite priorities in all cases.
- Timers adjusted again.
- Improved .smd detection code.
- ARM: fixed a bug in DrZ80 core, which could cause problems in some rare cases.
- ARM: fixed a problem of occasional clicks on MP3 music start.
- Minor general optimizations and menu improvements.
- Fixed a bug in Sega CD savestate loader, where the game would sometimes crash after load.
- Fixed a crash of games using eeprom (introduced in 1.40b).
Jul 17: bugfix release:
- Improved bin_to_cso_mp3 tool, it should no longer complain about missing lame.exe even if it's in working dir.
- Fixed a regression from 1.50, which caused slowdowns in Final Fight.
- Fixed some regressions from 1.50 related to sprite limit and palette handling (caused graphical glitches in some games).
- Added ABC turbo actions to key config.
- Some other minor adjustments.