Retroarch is a pain in the ass to set up, but works pretty well once you get it going. You will need to add a few things in the config file. By default, retroarch uses whatever your desktop resolution is, so you need to put this in the config file:
video_windowed_fullscreen = "false"
Also add the resolution you want. In your case it would be this:
video_fullscreen_x = "320"
video_fullscreen_y = "240"
I would recommend making a config file for each system.