Glitch in intro/cut scene for GBC games The Legend of Zelda - Oracle of Seasons and also The Legend of Zelda - Oracle of Ages. Bars at top and the bottom of the screen should be black (top bar is correctly shown). Gambatte does not have this problem
Add a menu (avoid command line), see Lemon Boy, Oh Boy, various console ports, etc.
Add a menu, either a new menu system, or something based on Oh Boy or Goomba SDL menu
Add frame skip (frameskip) option for slow machines. See Pocket PC versions, OhBoy, Joyrider Dingoo port.
Fix compile warnings - mostly done as of late nov 2010
Add save screen shot support - done
Add volume support - see Oh Boy
Add dynamic sound on/off control (currently sound is set at start up time)
Add skins support, aka background images (for non-scaled view with a border), See Lemonboy
Add built in colorscale mapping for GB games (rather than defaulting). MESS supports this, basically the cart is checksum'd and then used to lookup good a looking color palette
Other archive support 7z, etc. file support? gzip support is already present (albeit a VERY slow implementation). See fex, also see fex and http://byuu.org/bsnes/, bsnes has support for other compression formats via micro-bunzip, a small, simple bzip2 decompression implementation and libjma. Finally also review see http://zziplib.sourceforge.net/zzip-file.html
Find enhancements implemented in other ports and integrate into this release
Currently sound is handled via a callback into the "porting" (or IO) layer, consider adding a build option for sound callback into gnuboy. This matches a few API approaches (like SDL). Ayla has been looking at a prototype for this:
The principe is to remove the part that produces sound on the main
emulator loop, and to put it on the SDL callback; then, it removes
the need for an intermediate buffer, and SDL always get the number
of samples it asked so there are no cracks.
Plus, if you set the number of samples when initing SDL sound to 736
(~= 44100/60Hz), you will have exactly 60 callbacks per second, so using
a simple semaphore you can synchronize on sound. The major interest is
that it's much more precise than waits (the dingoo wait time is MINIMUM
one millisecond) so it results in smoother emulation. The drawback is
that it is not supported by OSS. But it works on openAL, ALSA, and on
native firmware.