VBAl

Lenny - 2012


A fork of VisualBoyAdvance-1.7.2 with new video, audio and timing pipelines for the SDL port.

1. Features and limitations

Compared to the original, I've re-written some portions of src/sdl/SDL.cpp and changed the meaning of the systemFrameSkip variable in both the GB and GBA emulators.

1.1 Video

Uses AdMame2x and the YUY2 overlay. It's fast, gives reasonably good video quality, it's resizable and synchronized to v-blank. There are no configurable options.

1.2 Audio

To allow for drift between the audio and video subsystems I've implemented a FIFO where the fill level acts as the error signal in a PLL. By slightly changing the delay value in the main loop, the FIFO is maintained in an half filled state.

1.3 Timing

The main loop timing is SDL_GetTicks/ SDL_Delay based and performs automatic frame skipping. I got the general idea from SDL's documentation and snes9x. The gameplay speed should be correct to within a few percent.

2. Audio setup for Linux

I strongly advice anybody to disable pulseaudio and enable dmix instead. PulseAudio, like Mono and Gnome 3, is a computer virus and should be treated as such.

3. Links

Project page