Ah, now I get your problem. I thought all the time you could not use a resolution greater than 640x480, but you want to select those below 640x480.
Now I have an idea what to change, if I remmber correctly, there were some flags specifiable when enumerating the display modes. I'll have a closer look at that
EDIT:
You are right, there was a restriction:
VideoMode.cpp, Line 110:
if(surf->dwWidth >= 640 && surf->dwHeight >= 480) {.........
Kode54 just removed that line.
For me, the modes below 640x480 are enumerated now, but when I actually select one, I get the following result:
The screen is switched to full screen 640x480, and only a 320x240 area in the center of the screen is drawn by VBA, so there is a big black border around.
I will further investigate if it's possible to switch to true 320x240 mode. This could only be caused by some flags.
Edit2:
I could not find a way to use real 320x240, so I just uploaded the patch as is to CVS.