Gba Emulator That You Can Adjust The Screen Size


I finally tried this. It works a treat! Although I was confused about why the screen still seemed blurry. Then I realized that I needed to turn off the graphics filter in the gpSP menu (as well as the Pandora's built-in filter in LCD-Settings) and I finally got a pixel-sharp image.
 
I was playing the Mario & Luigi RPG when the emulator suddenly quit to desktop for no discernable reason, soon after I had beat the first boss up the mountain from Hoohoo village. Contents of the .out file:

Code:
sudo /usr/pandora/scripts/pnd_run.sh -m -p /media/mmcblk0p1/pandora/menu//gpSP.pnd -e gpsp.sh -b gpsp
not mounted on loop yet, doing so
LoopMountedon: 
/dev/loop6
Filetype is Squashfs
Mounting PND (mount -t squashfs) :
/dev/loop6 on /mnt/pnd/gpsp type squashfs (ro)
Filesystem is vfat
Mounting the Union FS using /media/mmcblk0p1/pandora/appdata/gpsp as Write directory:
mount -t aufs -o exec,noplink,dirs=/media/mmcblk0p1/pandora/appdata/gpsp=rw+nolwh:/mnt/pnd/gpsp=rr none /mnt/utmp/gpsp
none on /mnt/utmp/gpsp type aufs (rw,si=64d27b77,noplink)
none on /mnt/utmp/gpsp type aufs (rw,si=64d27b77,noplink)
[------------------------------]{ App start }[---------------------------------]
writing fir:
Simple pixel doubling (no filter)
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
ALSA lib pcm.c:7234:(snd_pcm_recover) underrun occured
xenv: X vendor: The X.Org Foundation, rel: 10704000, display: :0.0, protocol ver: 11.0
xenv: display is 800x480
 switching to 240x160@16
/dev/fb1: 240x160@16
fbdev initialized.
audio: freq 44100, size 8192
 switching to 400x272@16
game config missing
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
 switching to 400x272@16
 switching to 240x160@16
bad jump e3a0e3a0 (358) (0)
open /dev/tty: No such device or address
[-------------------------------]{ App end }[----------------------------------]
cleanup done
 
The "bad jump" thing basically means the game crashed. I'm sure the real thing didn't do this on GBA, but is doing it here because of emulation bugs. It could be related to problems in open memory or BIOS addressing.. Nintendo games seem to have a lot of that (the Minish Cap bug). However I remember M&L was strangely timing sensitive, and originally would never get past the first battle until the timing was made less generous. There could be other parts of the game that are like this for the same sequence of code, entering or exiting battles. gpSP's timing can be made a little closer to a real GBA's without too much work but to really make a difference it'd need to have timing penalties for non-IWRAM data accesses and DMAs. I tried adding the latter once but it ended up upsetting the hsync timing in a game I was testing..
 
I'm having a lot of fun with this, even though there are occasional bugs. Besides he aforementioned "sudden exit to desktop" (which happened again, this time in a different spot), the game also sometimes freezes and I get a horrible screeching static from the speakers, in which case I need to load from my previous save state.

Is there a general list somewhere of which games have bugs?
 
Freezing and horrible screeching is a symptom of the same thing: game crashed and jumped to somewhere weird that it wasn't supposed to. If the CPU stops doing useful work the video state without code to fill the audio buffers they'll loop - worse, without code to reset the audio buffer positions, they'll just start playing whatever's in RAM which will sound awful.
 
Exophase said:
Freezing and horrible screeching is a symptom of the same thing: game crashed and jumped to somewhere weird that it wasn't supposed to. If the CPU stops doing useful work the video state without code to fill the audio buffers they'll loop - worse, without code to reset the audio buffer positions, they'll just start playing whatever's in RAM which will sound awful.

A more in-depth bug report... the freezing+static and (more rarely) the sudden exits to desktop happen randomly in Mario and Luigi, but in the same places:
-entering/exiting battle (mostly entering)
-hitting the "save" block in the game
-cut-scenes/scene changes

I find the game quite playable regardless, but I now have a habit of pressing "1" to save state before every battle or scene change. I also moved the "load state" assignment to the "4" key instead of "2", so that I don't confuse the two buttons (I did that once and had to replay through a whole section of the game).

Are there other games with similar problems as this one? (All Nintendo games, you say?)
 
Last edited by a moderator:
Back
Top