VisualBoy Advance (GameBoy Advance emulator)

IRIX/Nekoware development, porting and related topics.
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
User avatar
necron2600
Posts: 252
Joined: Tue May 26, 2015 10:38 pm
Location: Boston

VisualBoy Advance (GameBoy Advance emulator)

Unread postby necron2600 » Mon Jan 09, 2017 8:05 pm

On a whim.. from a link a decade ago found in a google search.. VisualBoy Advance 1.7.1 compiled on linux. I didnt seem to see this compiled for IRIX before. Requirements seemed just right for IRIX with nekoware.. so I gave it a shot in compiling (GCC though.. its README's are quite strong on GCC)

Few commented lines out of src/debugger.cpp and it compiles.

At first it ran horribly (with no arguments)... but I found holding spacebar (speeds up game) made its speedup very well but it was silly to keep holding it down. So with more arguments:

Code: Select all

./VisualBoyAdvance -2 --no-throttle --throttle=1000 -frameskip=9 -N  romfile.zip


Its good to go. Maybe play with more settings, etc.. Im not sure if frameskip made any difference in my testing. I really didnt test anything very well.. it worked.. I was happy. My expectations are so low.

Tested on a 600mhz Octane.. unknown how it performs on an O2, Indigo2, Indy, etc.. Most likely not that well.

Visuals seem good.. Tested a few fast games (Contra, Crash Bandicoot,etc..). Sound.. hmm. while it has sound.. it sounds like its from a cheap radio with bad reception.

Ill see about compiling newer versions of it later. But maybe someone can have some initial fun with it in the time being.

FYI to run:
[octane]:/tmp $ ldd VisualBoyAdvance
libSDL-1.2.so.1 => /usr/nekoware/lib/libSDL-1.2.so.1
libpthread.so => /usr/lib32/libpthread.so
libz.so.1 => /usr/nekoware/lib/libz.so.1
libpng.so.3 => /usr/nekoware/lib/libpng.so.3
libm.so => /usr/lib32/libm.so
libc.so.1 => /usr/lib32/libc.so.1
libiconv.so.3 => /usr/nekoware/lib/libiconv.so.3
libaudio.so => /usr/lib32/libaudio.so
libX11.so.1 => /usr/lib32/libX11.so.1
libXext.so => /usr/lib32/libXext.so
libz.so => /usr/nekoware/lib/libz.so
Attachments
VisualBoyAdvance.gz
VisualBoyAdvance .. initial compile of an old version
(425.1 KiB) Downloaded 11 times

User avatar
Krokodil
Donor
Donor
Posts: 465
Joined: Fri Apr 17, 2015 2:32 pm
Location: The House of Particular Individuals

Re: VisualBoy Advance (GameBoy Advance emulator)

Unread postby Krokodil » Mon Jan 09, 2017 9:21 pm

Thanks. The more emulators the better.
:Octane2: - :O2: - :Octane: - :Indigo2IMP:

User avatar
guardian452
Donor
Donor
Posts: 3404
Joined: Tue Aug 21, 2007 10:12 pm
Location: United States
Contact:

Re: VisualBoy Advance (GameBoy Advance emulator)

Unread postby guardian452 » Tue Jan 10, 2017 8:37 am

necron2600 wrote:Sound.. hmm. while it has sound.. it sounds like its from a cheap radio with bad reception.


Check your HW sample rate and try a couple different settings. Alternatively, if there is a setting in VisualBoy to change the sample rate, set it to match what your hardware is at.

User avatar
necron2600
Posts: 252
Joined: Tue May 26, 2015 10:38 pm
Location: Boston

Re: VisualBoy Advance (GameBoy Advance emulator)

Unread postby necron2600 » Tue Jan 10, 2017 9:39 pm

I got the next version 1.7.2 (final) compiled too.
Still, the sound was really off. Example, StarWars games are low pitched theme music when normally its very high pitched/tinny.
Eventually, after playing around with SDL.cpp.. audio frequency, setting mono versus stero, and # of audio samples .. I was able to get sound to a very good level by setting soundBufferLen within SDL audio initialization from normally a very high number (1000s) to just 2 (0 didnt work, and its supposed to be a power of 2). I dont know why this is the case though. Sounds better the lower you go.

The attached binary has Mono sound (saving cpu cycles so things play well), 22050 sound rate, and 850 audio samples (anything over 1024 gets a ticking noise.. anything less doesnt sound very good. At 1024 it is the best sound but can see the game emulation slow slightly.

SDL.cpp mods: (couldnt seem to get soundQuality selection working in an argument or config file, so I forced it here..)

Code: Select all

//  switch(soundQuality) {
//  case 1:
//    audio.freq = 44100;
//    soundBufferLen = 1470*2;
//    break;
//  case 2:
//    audio.freq = 22050;
//    soundBufferLen = 736*2;
//    break;
//  case 4:
//    audio.freq = 11025;
//    soundBufferLen = 368*2;
//    break;
//  }

//IRIX
audio.freq = 22050;
soundBufferLen = 2;
audio.format=AUDIO_S16SYS;
//IRIX  audio.channels = 2;
audio.channels = 0;
//IRIX  audio.samples = 1024;
audio.samples = 850;


And I run roms like this that seems to perform much better now on a 600mhz Octane:

Code: Select all

VisualBoyAdvance --throttle=1000 --frameskip=9 -N -f 12 filename.zip
Attachments
VisualBoyAdvance.gz
VisualBoyAdvance 1.7.2 withsound mods
(424.91 KiB) Downloaded 10 times


Return to “SGI: Development”

Who is online

Users browsing this forum: No registered users and 2 guests