Recently, I've decided to clean up the Gens source code. So far, I've cleaned up the codebase quite a bit, ported some features from Gens Rerecording, and added some new features, including PNG screenshot and 7z support.UPDATE:
Gens/GS Milestone 6 (2.15.5/GS-m6) is out! Get it at http://info.sonicretro.org/Gens/GS
Milestone 6 introduces the new plugin system (internal plugins at first), plus has a bunch of other changes.
High-level TODO list, in no particular order:
- Move global variables to a global Settings struct.
- Port all changes from Gens Rerecording.
- Add Qt4 UI in addition to the GTK+ UI.
- Switch to the CMake build system instead of GNU automake.
- Convert all code to C++ using classes.
- VGM dumping support
- Add more compression format support.
- Improve the Zip File Selection Dialog.
- MacOS X UI
Emulator TODO list:
- VRAM overwrite bug: Sonic 2 Delta works in Gens, but has VRAM corruption in Kega and the real console.
- Illegal Address bug: Gens' emulated CPU doesn't crash on an illegal address exception, but Kega and the real console do.
- Sprite priority bug. RESOLVED WORKSFORME
- Overclocking! Add an option to overclock the emulated CPUs so Sonic 2 2P doesn't lag.
- Proper support for 448 lines in interlaced mode. (Sonic 2 2P)
- Set the border color to color 0 of palette 0. (See Sonic 1 GHZ for an example.)
- Z80 initialization bug: http://forums.sonicretro.org/index.php?showtopic=11192
- Erase the entire MD palette when a new ROM is loaded.