I tracked down an ugly bug that only appeared in optimized builds to some highly dodgy code that’s probably been there since nearly the start of the project. As a result, it seemed like it might be a good idea to start building with -Wall, and actually fix the warnings (shock horror). Fixed a couple of real bugs in the process too. I also dug a little bit into the sound system (for the first time in nearly a year) and got the boot sound to play. Well, for a couple of seconds before it breaks into noise at least – there’s still some issues there.
The biggest performance problem now appears to be the rendering code. For some typical scenes it’s taking 30-40ms/frame, where the original budget was around 25% cpu, or <5ms per frame. Yeah, it's bad. Working on it ^_^.
Changes
- Fix (nearly) all of the compilation warnings gcc was generating under -Wall. Including a couple of actual bugs, which was nice.
- Fix ADPCM sound to at least sort of work.
- Fix AICA key-on/key-off behaviour.
- First draft of shiny new GUI (unfortunately debugger is broken at the moment, not sure if its worth fixing – does anyone actually want it?)
- Add support for output scaling
- Clean out a batch of obsolete cruft from the video driver.
lxdream 0.9.1