Difference between revisions of "Application:VBA"

From WebOS Internals
Jump to navigation Jump to search
 
(103 intermediate revisions by 14 users not shown)
Line 1: Line 1:
 +
[[Category:SDL]]
 +
 +
{{application
 +
|name=VisualBoyAdvance
 +
|type=webOS
 +
|version=Version: 1.3.3
 +
|tag=Games
 +
|screenshot=vba-gba.png
 +
|description=
 +
}}
 
=VisualBoyAdvance=
 
=VisualBoyAdvance=
VisualBoyAdvance (commonly abbreviated as VBA) is an emulator of the Game Boy, Game Boy Color, and Game Boy Advance handheld game consoles sold by Nintendo.
+
[[Image:VBA_Icon.png]]VisualBoyAdvance (commonly abbreviated as VBA) is an emulator of the Game Boy, Game Boy Color, and Game Boy Advance handheld game consoles sold by Nintendo.
  
 
==Credit==
 
==Credit==
 
Ported by Will Dietz Jan 2010. <br>
 
Ported by Will Dietz Jan 2010. <br>
Thanks to #webos-internals for their feedback throughout testing!
+
Thanks to #webos-internals for their feedback throughout testing! <br/>
 +
Icon created by [http://austin.seph.ws/index.html Austin] (Used with Permission)
  
 
==License==
 
==License==
Line 13: Line 24:
 
== Donate ==
 
== Donate ==
 
Lots of work has gone into making this a great game for you to enjoy!
 
Lots of work has gone into making this a great game for you to enjoy!
If you like it please consider donating.  See [http://forums.precentral.net/webos-internals/224974-visualboyadvance.html official thread] for the paypal link if you're interested.
+
 
 +
If you like it please consider purchasing the app [http://developer.palm.com/appredirect/?packageid=org.webosinternals.visualboyadvance.beta App Catalog].  A percentage of the proceeds go to WebOS Internals.
 +
 
 +
Alternatively you might wish to donate.  See [http://forums.precentral.net/webos-internals/224974-visualboyadvance.html official thread] for the paypal link if you're interested.
  
 
== Installing VBA ==
 
== Installing VBA ==
Install [[Preware]], and then launch it. Click on "Available Packages" then "Applications, or "Available Applications" then "All" depending on the Preware preferences you have chosen. Now type in "visual" (no quotes). VisualBoyAdvance should show up. If not, make sure your feeds are up to date. Click on VBA and then click install. You will probably have to install other services as well (it will tell you if you do).
+
VBA is available in both the official app catalog as well as for *FREE* in preware.  Both versions are identical other than packaging.
 +
 
 +
To purchase this app, just go here: [http://developer.palm.com/appredirect/?packageid=org.webosinternals.visualboyadvance.beta App Catalog].
 +
 
 +
To get VBA for Free: Install [[Preware]], and then launch it. Click on "Available Packages" then "Applications, or "Available Applications" then "All" depending on the Preware preferences you have chosen. Now type in "visualb" (no quotes). VisualBoyAdvance should show up. If not, make sure your feeds are up to date. Click on VBA and then click install.
 
<br/>
 
<br/>
 +
 +
'''As of Version 1.2.X VBA requires WebOS 1.4.5 and up!!!'''
  
 
Now you are ready to add ROMs(games)!
 
Now you are ready to add ROMs(games)!
 +
 +
==Support==
 +
For support, please:
 +
* Check this wiki for information
 +
* Check the [http://forums.precentral.net/webos-internals/224974-visualboyadvance.html official VBA thread], and post if you want to.  This way your problems are something others can see (and knowledgeable users can help when I'm not available).
 +
* Email webos@wdtz.org
  
 
==Adding ROMS==
 
==Adding ROMS==
We aren't going to discuss how to get ROMs here but we will tell you how to transfer them to your Pre. If you want to try some free Homebrew games for the GBA look at the end of the wiki page.
+
===Rom Availability===
 +
Many games are available for VBA. Sources of free open source and free homebrew roms are listed [http://www.webos-internals.org/wiki/Application:VBA#Free_Roms at the end of this article].  
  
Compatible ROM Files:<br/>
+
There exist sources of copyright game ROMS on the interent which webos-internals will not link to. There also exist explanations of how to copy roms you own into files which VBA can use. Those topics are outside the scope of this article.  
.gba (Game Boy Advance)<br/>
 
.gbc (Game Boy Color)<br/>
 
.gb (Game Boy)<br/>
 
  
If the downloaded game has a ".bin" extension just rename it to the proper extension(for example, rename a gameboy advance game to end with ".gba" without quotes)
+
===ROM File definitions===
 +
VBA ROMs extensions indicate what device is being emulated. There are three valid extensions:
 +
* .gba (Game Boy Advance)
 +
* .gbc (Game Boy Color)
 +
* .gb (Game Boy)
  
Once you have installed VBA on your Pre via [[Preware]], click on it from the launcher to open it for the first time. This should create the necessary folders for the ROMs.
+
If you find a ROM image which has a ".bin" extension just rename it to the proper extension (for example, rename a gameboy advance game to end with ''.gba'' without quotes).
  
Now connect your Pre to your computer via USB mode. Once the Pre shows up on your computer, open it. You now should be at the "root" of your Pre's storage. If you look at the folders in the root, there should be a few including the "wallpapers", "ringtones", and most importantly, "vba" folders. Click on that and then the "roms" folder. Copy the ROMs from your computer and move them here. DO NOT put the ROMs (.gb, .gbc, .gba) in folders or zips within the "roms" folder.  
+
===Installing ROMS to the device===
 +
Once you have installed VBA on your Pre, click on it from the launcher to see short instructions on how to install ROMs, which we'll explain in more detail here.
  
<br>If you don't see a "vba" folder, but you do see a "wallpapers" and a "ringtones" folder AND you know you installed VBA properly, go ahead and create the necessary folders. Create one at the root called "vba" (no quotes or caps). Then make another one inside that called "roms" (again, no quotes or caps).  
+
Now connect your Pre to your computer via USB mode. Once the Pre shows up on your computer, open it. You now should be at the "root" of your Pre's storage. If you look at the folders in the root, there should be a few including the "wallpapers", and "ringtones" folders. Create a folder called "vba" (no caps). Click on that and inside that create a folder called "roms" (again, no caps). Copy the ROMs from your computer and move them here. ''DO NOT put the ROMs (.gb, .gbc, .gba) in folders within the "roms" folder.''
  
<br><b>NOTE</b> The game talks about "/media/internal/vba/roms" because that's what the folder is called from the game's perspective. When mounted on USB it will just be "/vba/roms". Sorry for the confusion!
+
VBA cannot create these folders for you due to the 1.4.5 fstab bug.
  
<br>As of 1.0.3, the "roms" folder is also where the saves (.sav) and screen captures go.
+
===Notes:===
 +
VBA can also handle rom files stored inside a zip files.
  
 
==Controls==
 
==Controls==
 
To select a rom, just tap on it in the rom selector.<br>
 
To select a rom, just tap on it in the rom selector.<br>
 
Note that if you have more roms than fit on the screen, simply scroll to them.<br>
 
Note that if you have more roms than fit on the screen, simply scroll to them.<br>
'''New in 1.0.4'''  Hit a letter key to jump to  that letter in the rom list (useful when you have lots of roms)<br>
+
Hit a letter key to jump to  that letter in the rom list (useful when you have lots of roms)<br>
  
 
These are the current controls (while playing):<br>
 
These are the current controls (while playing):<br>
 +
 
{| border="1"
 
{| border="1"
 
|'''Pre Button'''
 
|'''Pre Button'''
Line 98: Line 129:
 
|orange+l (apostrophe)
 
|orange+l (apostrophe)
 
|Change Scaling Filter
 
|Change Scaling Filter
 +
|
 +
|-
 +
|orange+@
 +
|Change Screen Orientation
 
|
 
|
 
|-
 
|-
Line 111: Line 146:
 
|Load state number 1,2,3
 
|Load state number 1,2,3
 
|orange + "corresponding letter"
 
|orange + "corresponding letter"
 +
|-
 +
|orange+ w('+')
 +
|Toggle overlay (touchscreen) controls
 +
|Only works in the landscape orientation with keyboard on RIGHT
 +
|-
 +
|orange+a (ampersand)
 +
|Toggle 'autosave'/'autoresume' functionality
 +
|
 +
|-
 +
|orange+q (slash)
 +
|Cycle skins
 +
|
 +
|-
 +
|back gesture/swipe
 +
|In-game Menu.
 +
|
 
|}
 
|}
  
==Screenshots/Videos==
+
=== Custom Controls ===
No Screenshots Yet!(fbcat doesn't grab opengles apps apparently?)
+
==== Instructions ====
 +
VBA also allows you to customize the controls to fit what you find most useful!
 +
 
 +
To start customizing, while running a game, hit '=' (orange+p), or '?' (orange+n).
  
YouTube Videos of VBA(1.0.1): <br>
+
Then follow the on-screen instructions, hitting the keys you want the various buttons bound to.
Mario Kart Advance: http://www.youtube.com/watch?v=HdCZs3SU_Nc <br>
+
 
Metroid Fusion: http://www.youtube.com/watch?v=6nZKduqLcC8 <br>
+
To stop the binding and cancel, hit '=' or '?' again.
Zelda DX: http://www.youtube.com/watch?v=UE8SbBLbqHI <br>
+
 
Pokemon Crystal: http://www.youtube.com/watch?v=-312zgBPpyI <br>
+
'''Note''' Due to the pre's keyboard limitations, some keys cannot be detected when pressed down at same time (j/k is an example of such a pair).  Keep this in mind, it is not a bug in VBA.
Super Mario Land 2: http://www.youtube.com/watch?v=WQ9s_57jGTM <br>
+
 
 +
==== Community-suggested bindings ====
 +
If you have a binding you think is great, please share it here!
 +
 
 +
Alternate D-Pad position: Up-R, Down-F, Left-D, Right-G. Since there is a small bump on the F key, you may find it easier to know where your fingers are on the keyboard this way.
 +
 
 +
For playing Fire Emblem one-handed in Landscape mode: Up-G, Down-F, Left-R, Right-C, A-X, B-D. For Fire Emblem and other strategy games (and some RPGs) you can play with one hand since there's no need to use the D-pad and the action buttons at the same time.
 +
 
 +
==Skins==
 +
VBA also supports skins!
 +
Shipped by default (as of this writing) are skins from VincentLaw, zsoc, nights0223 and crzisme.
 +
 
 +
Skins are stored with the app, but if you want to add more from the community, put them in /vba/skins.
 +
 
 +
Each skin has a folder containing two files:
 +
* controller.png
 +
* controller.cfg
 +
 
 +
For an idea of what controller.cfg should contain, look at the other controller.cfg files, it should be mostly self-explanatory.  Hopefully :).
 +
 
 +
'''NOTES'''
 +
 
 +
* The x/y for each control object are the centers of the button.
 +
* The screen size variables are the maximum in each direction--the game will still scale them according to their aspect ratios.
 +
* The screens will always be drawn at the x,y indicated--they won't be centered.
 +
* There is support for turbo buttons, just no skin uses it yet.
 +
* orange+q (slash) cycles through the skins
 +
 
 +
==Screenshots / Videos==
 +
<gallery>
 +
Image:VBA_Rom-Launcher.jpg|ROM Launcher
 +
Image:VBA-Options_Menu.jpg|Options Menu
 +
Image:VBA-Ingame_Menu.jpg|Ingame Menu
 +
Image:VBA_skin-menu.jpg|Skin Menu
 +
Image:VBA_v1.3.3_zelda.jpg|GBC with transparent skin
 +
Image:VBA_v1.3.3_SMW.jpg|GBA with landscape skin
 +
Image:VBA_v1.3.3_SML.jpg|GB with transparent skin
 +
Image:VBA_v1.3.3_rayman.jpg|GBA with landscape skin
 +
Image:VBA_v1.3.3_pokemon.jpg|GBA with transparent skin
 +
Image:VBA_v1.3.3_pinball.jpg|GB in portrait mode
 +
Image:VBA_v1.3.3_mariokart.jpg|GBA with transparent skin
 +
Image:Mockup_1.1.1.jpg|Screenshot Mockup
 +
</gallery>
 +
Videos of latest VBA (v1.3.3):
 +
* [http://www.youtube.com/watch?v=9eTZvezpz9A Playing GBC and GBA Games] (@800Mhz)<br>
 +
Older Videos of VBA: <br>
 +
* [http://www.youtube.com/watch?v=yOJp1hvaKGU Pokemon - Ruby Edition] (@800Mhz v1.3.1)<br>
 +
* [http://www.youtube.com/watch?v=Yq9qCsVWBiM Mario Kart Advance] (@800Mhz v1.2.4)<br>
 +
* [http://www.youtube.com/watch?v=HdCZs3SU_Nc Mario Kart Advance] (v1.0.1)<br>
 +
* [http://www.youtube.com/watch?v=6nZKduqLcC8 Metroid Fusion] (v1.0.1)<br>
 +
* [http://www.youtube.com/watch?v=UE8SbBLbqHI Zelda DX] (v1.0.1)<br>
 +
* [http://www.youtube.com/watch?v=-312zgBPpyI Pokemon Crystal] (v1.0.1)<br>
 +
* [http://www.youtube.com/watch?v=WQ9s_57jGTM Super Mario Land 2] (v1.0.1)<br>
  
 
== Feature Requests/TODO ==
 
== Feature Requests/TODO ==
 
Here's a list of feature requests I'm aware of and/or things I plan to do.
 
Here's a list of feature requests I'm aware of and/or things I plan to do.
* ALSA instead of pulseaudio
+
* ALSA instead of pulseaudio (hopefully to improve emulation speed with sound enabled)
* Add ability to customize controls (it is possible allready but you have to create a new Config)
+
* Additional keybinding options, such as:
* Add on-screen controls
+
** Diagonal keys (up+right, right+down, etc)
** Portrait: controls can go off the screen (below, move image up)
+
** Pause emulation key? (Minimizing Card works fine)
** Landscape: if you can resolve the alpha blending performance issues, make that happen!
 
* Zip rom support
 
* "Go back to rom chooser" menu
 
* Option to move/hide the "Wrote battery" message.
 
* Create /save folder for .sav files (battery-backed RAM save info), instead of placing .sav in the /roms folder
 
* More Scaling options, particularly 1:1 (no scaling)
 
 
* Better performance on GBA!!
 
* Better performance on GBA!!
 
** See iphone/GP2X ports and their ARM optimizations! (dynarec?)
 
** See iphone/GP2X ports and their ARM optimizations! (dynarec?)
* Frameskip options! (auto-frameskip?)  [Note: Frameskip was tested via .cfg to be mostly useless for GBA games. GB/GBC games do not need frameskip at all.]
 
* Don't list 'hidden' files (ones starting with period)
 
* Toggle for globally enabling/disabling status messages, including "wrote battery".
 
 
* Include a homebrew rom to demo the app?
 
* Include a homebrew rom to demo the app?
* change splash screen to tell them about the wiki for roms
+
* system messages, draw them somewhere else and make them legible.
 +
* custom background for rom selector
 +
* haptic feedback on touchscreen controls?
 +
* other orientations for touchscreen
  
 
==Known issues==
 
==Known issues==
* Poor performance in GBA. Try disabling sound (press '*'/orange+z)
+
* Poor performance in GBA. Try disabling sound (press '*'/orange+z) or overclocking.
 
* Audio doesn't seem to be fully disabled (you won't hear anything, but Pulseaudio is still doing a little work)
 
* Audio doesn't seem to be fully disabled (you won't hear anything, but Pulseaudio is still doing a little work)
* Notifications always appear as if in landscape
+
* @ Turbo key can have keys bound to it, causing turbo AND the bound key to go at the same time.
 +
* Touchscreen Controls slow emulation down. Controlling with Pre Keyboard is faster.
  
 
== Changelog ==
 
== Changelog ==
 +
* '''1.3.3'''
 +
** Center screen in skin virtual screen
 +
** Fix scaling code (broken GB in previous release!)
 +
** Added Sonic-NKTs transparent_small skin
 +
** Better handling of small amount of ROMs
 +
** Force correct orientation when skin is on
 +
** Fix performance regression introduced in previous release
 +
** Fix crash from Rom selector
 +
** Be sure to show user the highlighted ROM before loading it
 +
* '''1.3.2'''
 +
** Transparent skin support (calling all skin creators!)
 +
** Kinetic scrolling+scrollbar in rom selector
 +
** Added reset option
 +
** Added 'stretch' option.
 +
** Fix notification orientation when in menus
 +
** Display skin count
 +
* '''1.3.1'''
 +
** Added skin preview in when changing skins in the menu.
 +
** Fixed initial screen not launching help.
 +
** Fixed actually disabling autoframeskip when user turns it off.
 +
* '''1.3.0'''
 +
** Improved UI, new menu. Menu includes save states, settings, skins, and in-game help!
 +
** Turbo toggle (see the settings menu). When activated the turbo button toggles turbo instead of only being on while the button is down.
 +
** Autosave defaults to being on. Your existing settings should stay in tact, but new users I think this is useful.
 +
** Support saving in Tactics Ogre. Note that you'll have to delete the corresponding *.sav and *.sgm files (aka START OVER) to see this in effect. Sorry.
 +
** Misc minor bug fixes, including one in the rom selector.
 +
* '''1.2.4'''
 +
** Added two skins (Wiimote2 and cfbauer2!)
 +
** Fix loading of duplicate skins
 +
** Changed default skin to have a/b buttons
 +
** Removed unused GBA debugger code
 +
** Small performance tweaks
 +
* '''1.2.1'''
 +
** Internal optimizations in rendering, faster on some games.
 +
** Portrait rom selector.
 +
** Swipe to return to rom selector while playing
 +
** WebOS 1.4.5 support!
 +
* '''1.1.2'''
 +
** Better d-pad behavior.
 +
** Notifications appear appropriately depending on orientation.
 +
** Better experience for new users -- link to wiki is now clickable
 +
** Updated skins (thanks to everyone who contributed!)
 +
** Skins no longer appear in photos
 +
* '''1.1.1'''
 +
** Skin support! Thanks to VincentLaw, zsoc, crzisme, and nights0223 for their work!
 +
** Support for turbo/capture bindings in custom controls!
 +
* '''1.1.0'''
 +
** New ARM assembly implementation of emulated instructions. (small speed boost, about 5% on average in GBA games)
 +
** touchscreen controls!
 +
*** NOTE: just touching the screen (regardless of touch controls enabled) slows things down.  I'm working on why, but it seems to be the same code that draws the ripple.  This is a known issue.
 +
*** toggle is '+' (orange+w)
 +
*** 0 (orange+@) will rotate the window for those used to the old layout/keyboard controls.
 +
** new 'autosave' feature (toggle enabled with '&' (orange+a))
 +
*** saves to a special state when you quit, when you load the rom resumes there immediately
 +
** zip file support
 +
** options are now saved across sessions (orientation, mute, displaying emulation speed, etc)
 +
** rom selector strips file extensions, and cleans up rom names
 +
** rom selector doesn't show hidden files
 +
* '''1.0.6'''
 +
** Fixed crash when creating custom configs (permissions issue)
 +
* '''1.0.5'''
 +
** Fixed saving issues
 +
** Added ability to create custom keybindings (see wiki)
 +
** Removed annoying battery messages
 +
** Updated icon (thanks Spyral!) (might need to restart to see it)
 +
** Fixed name for hopefully better word-wrap in launcher
 
* '''1.0.4'''
 
* '''1.0.4'''
 
** Remove dependence on upstart, should fix problem with VBA not launching.<br>
 
** Remove dependence on upstart, should fix problem with VBA not launching.<br>
Line 163: Line 330:
 
This is a list of games and how well they run.
 
This is a list of games and how well they run.
 
PLEASE include a version number (on rom selector) when adding entries!
 
PLEASE include a version number (on rom selector) when adding entries!
To see the emulation speed percentage, hit orange+s while playing (as of 1.0.3). <br>
+
To see the emulation speed percentage, hit orange+s while playing. <br>
 +
All Entries please in Portrait Mode without Touchscreen Control!
 
   
 
   
 
===Gameboy/Gameboy Color===
 
===Gameboy/Gameboy Color===
Line 173: Line 341:
 
|Notes
 
|Notes
 
|-
 
|-
|Legend of Zelda Oracle of Ages
+
|...
|YES
+
|...
|1.0.0
+
|...
|
+
|...
|-
 
|Legend of Zelda Oracle of Seasons
 
|YES
 
|1.0.0
 
|
 
|-
 
|Zelda DX
 
|YES
 
|1.0.0
 
|
 
|-
 
|Bugs Bunny and Lolla Bunny: Operation Carrots
 
|YES
 
|1.0.3
 
|
 
|-
 
|The Lion King: SImba's Mighty Adventure
 
|YES
 
|1.0.3
 
|
 
 
|}
 
|}
  
Line 205: Line 353:
 
{| border="1" class="wikitable"
 
{| border="1" class="wikitable"
 
! rowspan="2" | '''Title'''
 
! rowspan="2" | '''Title'''
! colspan="2" | '''Speed'''
+
! colspan="2" | '''Speed @500 Mhz'''
 +
! colspan="2" | '''Speed @800 Mhz'''
 +
! colspan="2" | '''Speed @1.0 Ghz'''
 
! rowspan="2" | '''VBA Version'''
 
! rowspan="2" | '''VBA Version'''
 
! rowspan="2" | '''Notes'''
 
! rowspan="2" | '''Notes'''
 
|-
 
|-
 +
! '''Sound'''
 +
! '''No Sound'''
 +
! '''Sound'''
 +
! '''No Sound'''
 
! '''Sound'''
 
! '''Sound'''
 
! '''No Sound'''
 
! '''No Sound'''
 
|-
 
|-
 
|Advance Wars
 
|Advance Wars
|bgcolor="orange"|48%  
+
|bgcolor="Orange"|45-55%
|bgcolor="lightgreen"|68%  
+
|bgcolor="yellow"|66-71%  
|1.0.3
+
|bgcolor="lightgreen"|85-100%  
|Very Playable without Sound!
+
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 +
|Fullspeed ingame with Sound @800Mhz!
 
|-
 
|-
 
|Astro Boy - Omega Factor
 
|Astro Boy - Omega Factor
|bgcolor="orange"|50%  
+
|bgcolor=""|%  
|bgcolor="yellow"|75%  
+
|bgcolor=""|%  
|1.0.4
+
|bgcolor="lightgreen"|100%
 +
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 
|
 
|
 
|-
 
|-
Line 227: Line 389:
 
|bgcolor="orange"|35%  
 
|bgcolor="orange"|35%  
 
|bgcolor="orange"|55%  
 
|bgcolor="orange"|55%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Menus work near 100% but gameplay is slow.
 
|Menus work near 100% but gameplay is slow.
Line 233: Line 399:
 
|bgcolor="yellow"|60-67%  
 
|bgcolor="yellow"|60-67%  
 
|bgcolor="lightgreen"|80-100%  
 
|bgcolor="lightgreen"|80-100%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Runs at 100% walking around. Battles haven't been tested.
 
|Runs at 100% walking around. Battles haven't been tested.
 
|-
 
|-
 
|Castlevania - Aria of Sorrow
 
|Castlevania - Aria of Sorrow
|bgcolor="orange"|56%  
+
|bgcolor=""|%
|bgcolor="lightgreen"|80%  
+
|bgcolor=""|%  
|1.0.4
+
|bgcolor="lightgreen"|100%  
 +
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 
|Very Playable without Sound!
 
|Very Playable without Sound!
 
|-
 
|-
 
|Chu Chu Rocket!
 
|Chu Chu Rocket!
|bgcolor="lightgreen"|97%
 
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
|1.0.4
+
|bgcolor="lightgreen"|100%
 +
|bgcolor="lightgreen"|100%
 +
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 
|Plays perfekt with or without sound :)
 
|Plays perfekt with or without sound :)
 +
|-
 +
|Double Dragon Advanced
 +
|bgcolor="lightgreen"|90-100%
 +
|bgcolor="lightgreen"|100%
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 +
|1.01
 +
|Plays well even with sound on
 
|-
 
|-
 
|Duke Nukem 3D Advanced
 
|Duke Nukem 3D Advanced
 
|bgcolor="orange"|40%  
 
|bgcolor="orange"|40%  
 
|bgcolor="orange"|50%  
 
|bgcolor="orange"|50%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.4
 
|1.0.4
 
|
 
|
 
|-
 
|-
 
|Drill Dozer
 
|Drill Dozer
|bgcolor="orange"|47%  
+
|bgcolor=""|%  
|bgcolor="yellow"|60%  
+
|bgcolor=""|%  
|1.0.4
+
|bgcolor="lightgreen"|75-100%
 +
|bgcolor="lightgreen"|100%
 +
|
 
|
 
|
 +
|1.2.4
 +
|While drilling there are some slowdowns with sound on!
 
|-
 
|-
 
|Final Fantasy Tactics Advance
 
|Final Fantasy Tactics Advance
 
|bgcolor="orange"|40%  
 
|bgcolor="orange"|40%  
 
|bgcolor="yellow"|60%  
 
|bgcolor="yellow"|60%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Semi-Playable without Sound
 
|Semi-Playable without Sound
Line 269: Line 469:
 
|bgcolor="yellow"|60%  
 
|bgcolor="yellow"|60%  
 
|bgcolor="lightgreen"|90-100%  
 
|bgcolor="lightgreen"|90-100%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Takes a bit to load. Extremely Playable without Sound!
 
|Takes a bit to load. Extremely Playable without Sound!
Line 275: Line 479:
 
|bgcolor="yellow"|60-70%  
 
|bgcolor="yellow"|60-70%  
 
|bgcolor="lightgreen"|90-100%  
 
|bgcolor="lightgreen"|90-100%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Extremely Playable without Sound!
 
|Extremely Playable without Sound!
Line 281: Line 489:
 
|bgcolor="orange"|43%  
 
|bgcolor="orange"|43%  
 
|bgcolor="yellow"|55%  
 
|bgcolor="yellow"|55%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 287: Line 499:
 
|bgcolor="orange"|35%  
 
|bgcolor="orange"|35%  
 
|bgcolor="orange"|50%  
 
|bgcolor="orange"|50%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Semi-Playable without sound if you have a lot patience.
 
|Semi-Playable without sound if you have a lot patience.
Line 293: Line 509:
 
|bgcolor="orange"|44%  
 
|bgcolor="orange"|44%  
 
|bgcolor="yellow"|65%  
 
|bgcolor="yellow"|65%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.4
 
|1.0.4
 
|playable without sound
 
|playable without sound
Line 299: Line 519:
 
|bgcolor="yellow"|60%  
 
|bgcolor="yellow"|60%  
 
|bgcolor="lightgreen"|95%  
 
|bgcolor="lightgreen"|95%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 305: Line 529:
 
|bgcolor="orange"|43%  
 
|bgcolor="orange"|43%  
 
|bgcolor="yellow"|57%  
 
|bgcolor="yellow"|57%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
 +
|-
 +
|Kirby and the Amazing Mirror
 +
|bgcolor="orange"|50-65%
 +
|bgcolor="lightgreen"|80-100%
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 +
|1.1.1
 +
|Usually is 86%  without sound. It is very responsive and works flawlessly.
 
|-
 
|-
 
|Kuru Kuru Kururin
 
|Kuru Kuru Kururin
 
|bgcolor="orange"|40%  
 
|bgcolor="orange"|40%  
 
|bgcolor="yellow"|65%  
 
|bgcolor="yellow"|65%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 317: Line 559:
 
|bgcolor="orange"|45%  
 
|bgcolor="orange"|45%  
 
|bgcolor="lightgreen"|63%  
 
|bgcolor="lightgreen"|63%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Playable, but a little slow.
 
|Playable, but a little slow.
Line 323: Line 569:
 
|bgcolor="orange"|65-70%  
 
|bgcolor="orange"|65-70%  
 
|bgcolor="lightgreen"|80-100%  
 
|bgcolor="lightgreen"|80-100%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Menu 100% with Sound ;), ingame mostly fullspeed without.
 
|Menu 100% with Sound ;), ingame mostly fullspeed without.
 
|-
 
|-
 
|Mario Kart - Super Circuit
 
|Mario Kart - Super Circuit
|bgcolor="orange"|44%  
+
|bgcolor="orange"|45%  
|bgcolor="yellow"|64%  
+
|bgcolor="yellow"|68%  
|1.0.3
+
|bgcolor="lightgreen"|96%
|Time Trial without Sound is almost Fullspeed (95%)!
+
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 +
|Playable without Sound @500Mhz, overlock!! ;)
 
|-
 
|-
 
|Metal Slug Advance
 
|Metal Slug Advance
 
|bgcolor="orange"|48%  
 
|bgcolor="orange"|48%  
 
|bgcolor="yellow"|68%  
 
|bgcolor="yellow"|68%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 341: Line 599:
 
|bgcolor="yellow"|68%  
 
|bgcolor="yellow"|68%  
 
|bgcolor="lightgreen"|92%  
 
|bgcolor="lightgreen"|92%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 347: Line 609:
 
|bgcolor="orange"|50%  
 
|bgcolor="orange"|50%  
 
|bgcolor="yellow"|70%  
 
|bgcolor="yellow"|70%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Playable without sound
 
|Playable without sound
 
|-
 
|-
 
|Ninja Five-0
 
|Ninja Five-0
|bgcolor="yellow"|57%  
+
|bgcolor=""|%
|bgcolor="lightgreen"|90%  
+
|bgcolor=""|%  
|1.0.3
+
|bgcolor="lightgreen"|97%  
 +
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 
|Runs very good without Sound
 
|Runs very good without Sound
 
|-
 
|-
Line 359: Line 629:
 
|bgcolor="orange"|60%  
 
|bgcolor="orange"|60%  
 
|bgcolor="yellow"|80%  
 
|bgcolor="yellow"|80%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
 
|-
 
|-
 
|Pokemon - Ruby
 
|Pokemon - Ruby
|bgcolor="orange"|60%
+
|bgcolor=""|%
|bgcolor="lightgreen"|80-90%
+
|bgcolor=""|%
|1.0.3
+
|bgcolor="lightgreen"|100%  
|Playable without sound
+
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 +
|
 
|-
 
|-
 
|Pokemon - Fire Red
 
|Pokemon - Fire Red
|bgcolor="orange"|47%
+
|bgcolor="orange"|50%
|bgcolor="yellow"|64%
+
|bgcolor="lightgreen"|80-90%
|1.0.3
+
|bgcolor=""|%
|A little slow to actually play, but bearable I guess
+
|bgcolor=""|%
 +
|
 +
|
 +
|1.1.2
 +
|Playable without sound.
 
|-
 
|-
 
|Pokemon - Leaf Green
 
|Pokemon - Leaf Green
|bgcolor="orange"|46%  
+
|bgcolor=""|%  
|bgcolor="yellow"|63%  
+
|bgcolor=""|%  
|1.0.3
+
|bgcolor="lightgreen"|88-98%
|Error Loading Savegame, but still works.
+
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 +
|
 
|-
 
|-
 
|Rayman Advance
 
|Rayman Advance
|bgcolor="orange"|53%  
+
|bgcolor="yellow"|48%
|bgcolor="lightgreen"|75%  
+
|bgcolor="yellow"|60%  
|1.0.3
+
|bgcolor="lightgreen"|97%  
|Without sound very playable!
+
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 +
|
 
|-
 
|-
 
|R-Type 3
 
|R-Type 3
|bgcolor="yellow"|70%  
+
|bgcolor="yellow"|75-95%  
 
|bgcolor="lightgreen"|90-100%  
 
|bgcolor="lightgreen"|90-100%  
|1.0.3
+
|bgcolor="lightgreen"|100%
 +
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 
|
 
|
 
|-
 
|-
Line 395: Line 689:
 
|bgcolor="orange"|45%  
 
|bgcolor="orange"|45%  
 
|bgcolor="yellow"|62%  
 
|bgcolor="yellow"|62%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 401: Line 699:
 
|bgcolor="orange"|43%  
 
|bgcolor="orange"|43%  
 
|bgcolor="yellow"|58%  
 
|bgcolor="yellow"|58%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 407: Line 709:
 
|bgcolor="orange"|51%  
 
|bgcolor="orange"|51%  
 
|bgcolor="lightgreen"|72%  
 
|bgcolor="lightgreen"|72%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|Takes a bit time to Load.
 
|Takes a bit time to Load.
 
|-
 
|-
 
|Sonic Advance 1  
 
|Sonic Advance 1  
|bgcolor="yellow"|60%  
+
|bgcolor=""|%
|bgcolor="lightgreen"|85%  
+
|bgcolor=""|%  
|1.0.3
+
|bgcolor="lightgreen"|100%  
 +
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 
|
 
|
 
|-
 
|-
Line 419: Line 729:
 
|bgcolor="orange"|55%  
 
|bgcolor="orange"|55%  
 
|bgcolor="lightgreen"|80%  
 
|bgcolor="lightgreen"|80%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 425: Line 739:
 
|bgcolor="orange"|49%  
 
|bgcolor="orange"|49%  
 
|bgcolor="yellow"|72%  
 
|bgcolor="yellow"|72%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|too slow for sonic
 
|too slow for sonic
 
|-
 
|-
 
|Super Ghouls'n Ghosts  
 
|Super Ghouls'n Ghosts  
|bgcolor="orange"|48%  
+
|bgcolor=""|%
|bgcolor="yellow"|69%  
+
|bgcolor=""|%
 +
|bgcolor="lightgreen"|80-100%
 +
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 +
|
 +
|-
 +
|Tactics Ogre
 +
|bgcolor="orange"|90%
 +
|bgcolor="yellow"|95%
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
|
+
|Does not save, runs pretty well without sound.
 
|-
 
|-
 
|V-Rally 3
 
|V-Rally 3
 
|bgcolor="orange"|37%  
 
|bgcolor="orange"|37%  
 
|bgcolor="orange"|48%  
 
|bgcolor="orange"|48%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 443: Line 779:
 
|bgcolor="yellow"|60%  
 
|bgcolor="yellow"|60%  
 
|bgcolor="lightgreen"|85%  
 
|bgcolor="lightgreen"|85%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 449: Line 789:
 
|bgcolor="yellow"|60%  
 
|bgcolor="yellow"|60%  
 
|bgcolor="lightgreen"|70-80%  
 
|bgcolor="lightgreen"|70-80%  
 +
|bgcolor=""|%
 +
|bgcolor=""|%
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 
|
 
|
Line 455: Line 799:
 
|bgcolor="orange"|45%  
 
|bgcolor="orange"|45%  
 
|bgcolor="yellow"|62%  
 
|bgcolor="yellow"|62%  
|1.0.3
+
|bgcolor="lightgreen"|80-90%
|Slow but Playable!
+
|bgcolor="lightgreen"|90-100%
 +
|
 +
|
 +
|1.2.4
 +
|Slow without Overlocking
 
|-
 
|-
 
|Zelda - The Minish Cap
 
|Zelda - The Minish Cap
|bgcolor="orange"|50%  
+
|bgcolor=""|%
|bgcolor="lightgreen"|85%  
+
|bgcolor=""|%  
|1.0.3
+
|bgcolor="lightgreen"|98%  
 +
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 
|
 
|
 
|-
 
|-
 
|Zooo
 
|Zooo
|bgcolor="orange"|55%  
+
|bgcolor=""|%
|bgcolor="lightgreen"|90%  
+
|bgcolor=""|%  
|1.0.3
+
|bgcolor="lightgreen"|100%  
 +
|bgcolor="lightgreen"|100%
 +
|
 +
|
 +
|1.2.4
 
|
 
|
 
|}
 
|}
Line 476: Line 832:
 
Here is a small list of free games that are worth trying, if you have more add them to the list!<br>
 
Here is a small list of free games that are worth trying, if you have more add them to the list!<br>
  
===GBA===
+
===Free GBA Roms links and playability===
 
{| border="1" class="freeware"
 
{| border="1" class="freeware"
 
! rowspan="2" | '''Title'''
 
! rowspan="2" | '''Title'''
! colspan="2" | '''Speed'''
+
! colspan="2" | '''Speed @500 Mhz'''
 +
! colspan="2" | '''Speed @800 Mhz'''
 +
! colspan="2" | '''Speed @1.0 Ghz'''
 
! rowspan="2" | '''VBA Version'''
 
! rowspan="2" | '''VBA Version'''
 +
! rowspan="2" | '''Notes'''
 
! rowspan="2" | '''Link'''
 
! rowspan="2" | '''Link'''
 
|-
 
|-
 +
! '''Sound'''
 +
! '''No Sound'''
 +
! '''Sound'''
 +
! '''No Sound'''
 
! '''Sound'''
 
! '''Sound'''
 
! '''No Sound'''
 
! '''No Sound'''
Line 489: Line 852:
 
|bgcolor="lightgreen"|80%  
 
|bgcolor="lightgreen"|80%  
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 +
|
 +
|
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 +
|
 
|http://www.pdroms.de/files/1724/
 
|http://www.pdroms.de/files/1724/
 
|-
 
|-
Line 495: Line 863:
 
|bgcolor="yellow"|60%  
 
|bgcolor="yellow"|60%  
 
|bgcolor="lightgreen"|85%  
 
|bgcolor="lightgreen"|85%  
 +
|
 +
|
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 +
|
 
|http://www.foxysofts.com/index.php?l=content/gba/anworld.inc
 
|http://www.foxysofts.com/index.php?l=content/gba/anworld.inc
 
|-
 
|-
Line 501: Line 874:
 
|bgcolor="yellow"|70%  
 
|bgcolor="yellow"|70%  
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 +
|
 +
|
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 +
|
 
|http://www.playeradvance.org/forum/showthread.php?t=4039
 
|http://www.playeradvance.org/forum/showthread.php?t=4039
 
|-
 
|-
Line 507: Line 885:
 
|bgcolor="yellow"|80%  
 
|bgcolor="yellow"|80%  
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 +
|
 +
|
 +
|
 +
|
 
|1.0.4
 
|1.0.4
 +
|
 
|http://pqrs.org/gba/bulletgba/
 
|http://pqrs.org/gba/bulletgba/
 
|-
 
|-
Line 513: Line 896:
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 +
|
 +
|
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 +
|
 
|http://www.russprince.com/gba/
 
|http://www.russprince.com/gba/
 
|-
 
|-
Line 519: Line 907:
 
|bgcolor="lightgreen"|95%  
 
|bgcolor="lightgreen"|95%  
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 +
|
 +
|
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 +
|
 
|http://www.rickdangerous.co.uk/rickxmas.htm
 
|http://www.rickdangerous.co.uk/rickxmas.htm
 
|-
 
|-
Line 525: Line 918:
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 
|bgcolor="lightgreen"|100%  
 +
|
 +
|
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 +
|
 
|http://www.pdroms.de/files/1317/
 
|http://www.pdroms.de/files/1317/
 
|-
 
|-
Line 531: Line 929:
 
|bgcolor=""|%  
 
|bgcolor=""|%  
 
|bgcolor=""|%  
 
|bgcolor=""|%  
 +
|
 +
|
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 +
|
 
|http://www.pdroms.de/files/895/
 
|http://www.pdroms.de/files/895/
 
|-
 
|-
Line 537: Line 940:
 
|bgcolor="yellow"|58%  
 
|bgcolor="yellow"|58%  
 
|bgcolor="lightgreen"|80%  
 
|bgcolor="lightgreen"|80%  
 +
|
 +
|
 +
|
 +
|
 
|1.0.3
 
|1.0.3
 +
|
 
|http://www.pdroms.de/files/495/
 
|http://www.pdroms.de/files/495/
 
|-}
 
|-}
 
If the downloaded game has a ".bin" extension just rename it to ".gba"
 
If the downloaded game has a ".bin" extension just rename it to ".gba"

Latest revision as of 15:55, 1 October 2010


« Go Back to the Games application list
Vba-gba.png

VisualBoyAdvance - Version: 1.3.3

VisualBoyAdvance

VBA Icon.pngVisualBoyAdvance (commonly abbreviated as VBA) is an emulator of the Game Boy, Game Boy Color, and Game Boy Advance handheld game consoles sold by Nintendo.

Credit

Ported by Will Dietz Jan 2010.
Thanks to #webos-internals for their feedback throughout testing!
Icon created by Austin (Used with Permission)

License

All source is under the GPLv2 license. The original source code is available here
And the latest VBA for webOS source is available on git here

Lots of work has gone into making this a great game for you to enjoy!

If you like it please consider purchasing the app App Catalog. A percentage of the proceeds go to WebOS Internals.

Alternatively you might wish to donate. See official thread for the paypal link if you're interested.

Installing VBA

VBA is available in both the official app catalog as well as for *FREE* in preware. Both versions are identical other than packaging.

To purchase this app, just go here: App Catalog.

To get VBA for Free: Install Preware, and then launch it. Click on "Available Packages" then "Applications, or "Available Applications" then "All" depending on the Preware preferences you have chosen. Now type in "visualb" (no quotes). VisualBoyAdvance should show up. If not, make sure your feeds are up to date. Click on VBA and then click install.

As of Version 1.2.X VBA requires WebOS 1.4.5 and up!!!

Now you are ready to add ROMs(games)!

Support

For support, please:

  • Check this wiki for information
  • Check the official VBA thread, and post if you want to. This way your problems are something others can see (and knowledgeable users can help when I'm not available).
  • Email webos@wdtz.org

Adding ROMS

Rom Availability

Many games are available for VBA. Sources of free open source and free homebrew roms are listed at the end of this article.

There exist sources of copyright game ROMS on the interent which webos-internals will not link to. There also exist explanations of how to copy roms you own into files which VBA can use. Those topics are outside the scope of this article.

ROM File definitions

VBA ROMs extensions indicate what device is being emulated. There are three valid extensions:

  • .gba (Game Boy Advance)
  • .gbc (Game Boy Color)
  • .gb (Game Boy)

If you find a ROM image which has a ".bin" extension just rename it to the proper extension (for example, rename a gameboy advance game to end with .gba without quotes).

Installing ROMS to the device

Once you have installed VBA on your Pre, click on it from the launcher to see short instructions on how to install ROMs, which we'll explain in more detail here.

Now connect your Pre to your computer via USB mode. Once the Pre shows up on your computer, open it. You now should be at the "root" of your Pre's storage. If you look at the folders in the root, there should be a few including the "wallpapers", and "ringtones" folders. Create a folder called "vba" (no caps). Click on that and inside that create a folder called "roms" (again, no caps). Copy the ROMs from your computer and move them here. DO NOT put the ROMs (.gb, .gbc, .gba) in folders within the "roms" folder.

VBA cannot create these folders for you due to the 1.4.5 fstab bug.

Notes:

VBA can also handle rom files stored inside a zip files.

Controls

To select a rom, just tap on it in the rom selector.
Note that if you have more roms than fit on the screen, simply scroll to them.
Hit a letter key to jump to that letter in the rom list (useful when you have lots of roms)

These are the current controls (while playing):

Pre Button Emulator Function Notes
WASD Up/left/down/right
k B
l A
q L (trigger)
p R (trigger)
Enter Start
Spacebar Select
@ Turbo
. (period) Screenshot
t Start/Select/a/b All at Once Useful for Resets (or saving in zelda)
orange+s (minus) Toggle Displaying Emulation Speed
orange+l (apostrophe) Change Scaling Filter
orange+@ Change Screen Orientation
orange+z (or y for qwertz pre) Toggle Sound Boosts (GBA) Performance
1,2,3 Save state number 1,2,3 orange + "corresponding letter"
4,5,6 Load state number 1,2,3 orange + "corresponding letter"
orange+ w('+') Toggle overlay (touchscreen) controls Only works in the landscape orientation with keyboard on RIGHT
orange+a (ampersand) Toggle 'autosave'/'autoresume' functionality
orange+q (slash) Cycle skins
back gesture/swipe In-game Menu.

Custom Controls

Instructions

VBA also allows you to customize the controls to fit what you find most useful!

To start customizing, while running a game, hit '=' (orange+p), or '?' (orange+n).

Then follow the on-screen instructions, hitting the keys you want the various buttons bound to.

To stop the binding and cancel, hit '=' or '?' again.

Note Due to the pre's keyboard limitations, some keys cannot be detected when pressed down at same time (j/k is an example of such a pair). Keep this in mind, it is not a bug in VBA.

Community-suggested bindings

If you have a binding you think is great, please share it here!

Alternate D-Pad position: Up-R, Down-F, Left-D, Right-G. Since there is a small bump on the F key, you may find it easier to know where your fingers are on the keyboard this way.

For playing Fire Emblem one-handed in Landscape mode: Up-G, Down-F, Left-R, Right-C, A-X, B-D. For Fire Emblem and other strategy games (and some RPGs) you can play with one hand since there's no need to use the D-pad and the action buttons at the same time.

Skins

VBA also supports skins! Shipped by default (as of this writing) are skins from VincentLaw, zsoc, nights0223 and crzisme.

Skins are stored with the app, but if you want to add more from the community, put them in /vba/skins.

Each skin has a folder containing two files:

  • controller.png
  • controller.cfg

For an idea of what controller.cfg should contain, look at the other controller.cfg files, it should be mostly self-explanatory. Hopefully :).

NOTES

  • The x/y for each control object are the centers of the button.
  • The screen size variables are the maximum in each direction--the game will still scale them according to their aspect ratios.
  • The screens will always be drawn at the x,y indicated--they won't be centered.
  • There is support for turbo buttons, just no skin uses it yet.
  • orange+q (slash) cycles through the skins

Screenshots / Videos

Videos of latest VBA (v1.3.3):

Older Videos of VBA:

Feature Requests/TODO

Here's a list of feature requests I'm aware of and/or things I plan to do.

  • ALSA instead of pulseaudio (hopefully to improve emulation speed with sound enabled)
  • Additional keybinding options, such as:
    • Diagonal keys (up+right, right+down, etc)
    • Pause emulation key? (Minimizing Card works fine)
  • Better performance on GBA!!
    • See iphone/GP2X ports and their ARM optimizations! (dynarec?)
  • Include a homebrew rom to demo the app?
  • system messages, draw them somewhere else and make them legible.
  • custom background for rom selector
  • haptic feedback on touchscreen controls?
  • other orientations for touchscreen

Known issues

  • Poor performance in GBA. Try disabling sound (press '*'/orange+z) or overclocking.
  • Audio doesn't seem to be fully disabled (you won't hear anything, but Pulseaudio is still doing a little work)
  • @ Turbo key can have keys bound to it, causing turbo AND the bound key to go at the same time.
  • Touchscreen Controls slow emulation down. Controlling with Pre Keyboard is faster.

Changelog

  • 1.3.3
    • Center screen in skin virtual screen
    • Fix scaling code (broken GB in previous release!)
    • Added Sonic-NKTs transparent_small skin
    • Better handling of small amount of ROMs
    • Force correct orientation when skin is on
    • Fix performance regression introduced in previous release
    • Fix crash from Rom selector
    • Be sure to show user the highlighted ROM before loading it
  • 1.3.2
    • Transparent skin support (calling all skin creators!)
    • Kinetic scrolling+scrollbar in rom selector
    • Added reset option
    • Added 'stretch' option.
    • Fix notification orientation when in menus
    • Display skin count
  • 1.3.1
    • Added skin preview in when changing skins in the menu.
    • Fixed initial screen not launching help.
    • Fixed actually disabling autoframeskip when user turns it off.
  • 1.3.0
    • Improved UI, new menu. Menu includes save states, settings, skins, and in-game help!
    • Turbo toggle (see the settings menu). When activated the turbo button toggles turbo instead of only being on while the button is down.
    • Autosave defaults to being on. Your existing settings should stay in tact, but new users I think this is useful.
    • Support saving in Tactics Ogre. Note that you'll have to delete the corresponding *.sav and *.sgm files (aka START OVER) to see this in effect. Sorry.
    • Misc minor bug fixes, including one in the rom selector.
  • 1.2.4
    • Added two skins (Wiimote2 and cfbauer2!)
    • Fix loading of duplicate skins
    • Changed default skin to have a/b buttons
    • Removed unused GBA debugger code
    • Small performance tweaks
  • 1.2.1
    • Internal optimizations in rendering, faster on some games.
    • Portrait rom selector.
    • Swipe to return to rom selector while playing
    • WebOS 1.4.5 support!
  • 1.1.2
    • Better d-pad behavior.
    • Notifications appear appropriately depending on orientation.
    • Better experience for new users -- link to wiki is now clickable
    • Updated skins (thanks to everyone who contributed!)
    • Skins no longer appear in photos
  • 1.1.1
    • Skin support! Thanks to VincentLaw, zsoc, crzisme, and nights0223 for their work!
    • Support for turbo/capture bindings in custom controls!
  • 1.1.0
    • New ARM assembly implementation of emulated instructions. (small speed boost, about 5% on average in GBA games)
    • touchscreen controls!
      • NOTE: just touching the screen (regardless of touch controls enabled) slows things down. I'm working on why, but it seems to be the same code that draws the ripple. This is a known issue.
      • toggle is '+' (orange+w)
      • 0 (orange+@) will rotate the window for those used to the old layout/keyboard controls.
    • new 'autosave' feature (toggle enabled with '&' (orange+a))
      • saves to a special state when you quit, when you load the rom resumes there immediately
    • zip file support
    • options are now saved across sessions (orientation, mute, displaying emulation speed, etc)
    • rom selector strips file extensions, and cleans up rom names
    • rom selector doesn't show hidden files
  • 1.0.6
    • Fixed crash when creating custom configs (permissions issue)
  • 1.0.5
    • Fixed saving issues
    • Added ability to create custom keybindings (see wiki)
    • Removed annoying battery messages
    • Updated icon (thanks Spyral!) (might need to restart to see it)
    • Fixed name for hopefully better word-wrap in launcher
  • 1.0.4
    • Remove dependence on upstart, should fix problem with VBA not launching.
    • backported sound fixes for (slight) speed, also added code to hopefully fix freezing on pause
    • save/load state support
    • jump-to-letter functionality in rom selector for better management of large libraries
    • sort roms case insensitively
  • 1.0.3 Added toggle for displaying emulation speed to help compatability reports
  • 1.0.2 Small metadata fix.
  • 1.0.1 Small performance boost, public release!
  • 1.0.0 Initial release (testing feed). Reimplemented rendering engine, rom selector.

Compatibility List

This is a list of games and how well they run. PLEASE include a version number (on rom selector) when adding entries! To see the emulation speed percentage, hit orange+s while playing.
All Entries please in Portrait Mode without Touchscreen Control!

Gameboy/Gameboy Color

All GB/GBC Games should be compatible (99.9%) at 100% Speed, please just report those NOT working.

Title Works Version Notes
... ... ... ...

Gameboy Advance

Orange: Not Playable/Very Slow
Yellow: Semi-Playable
Green: Playable

Title Speed @500 Mhz Speed @800 Mhz Speed @1.0 Ghz VBA Version Notes
Sound No Sound Sound No Sound Sound No Sound
Advance Wars 45-55% 66-71% 85-100% 100% 1.2.4 Fullspeed ingame with Sound @800Mhz!
Astro Boy - Omega Factor % % 100% 100% 1.2.4
Backyard Football 35% 55% % % 1.0.3 Menus work near 100% but gameplay is slow.
Breath of Fire II 60-67% 80-100% % % 1.0.3 Runs at 100% walking around. Battles haven't been tested.
Castlevania - Aria of Sorrow % % 100% 100% 1.2.4 Very Playable without Sound!
Chu Chu Rocket! 100% 100% 100% 100% 1.2.4 Plays perfekt with or without sound :)
Double Dragon Advanced 90-100% 100% % % 1.01 Plays well even with sound on
Duke Nukem 3D Advanced 40% 50% % % 1.0.4
Drill Dozer % % 75-100% 100% 1.2.4 While drilling there are some slowdowns with sound on!
Final Fantasy Tactics Advance 40% 60% % % 1.0.3 Semi-Playable without Sound
Fire Emblem 60% 90-100% % % 1.0.3 Takes a bit to load. Extremely Playable without Sound!
Fire Emblem: The Sacred Stones 60-70% 90-100% % % 1.0.3 Extremely Playable without Sound!
F-Zero - GP Legend 43% 55% % % 1.0.3
Golden Sun: The Lost Age 35% 50% % % 1.0.3 Semi-Playable without sound if you have a lot patience.
Gunstar Super Heroes 44% 65% % % 1.0.4 playable without sound
Harvest Moon - Friends of Mineral Town 60% 95% % % 1.0.3
Iridion II 43% 57% % % 1.0.3
Kirby and the Amazing Mirror 50-65% 80-100% % % 1.1.1 Usually is 86% without sound. It is very responsive and works flawlessly.
Kuru Kuru Kururin 40% 65% % % 1.0.3
Lord of the Rings, Return of the King 45% 63% % % 1.0.3 Playable, but a little slow.
Mario & Luigi - Superstar Saga 65-70% 80-100% % % 1.0.3 Menu 100% with Sound ;), ingame mostly fullspeed without.
Mario Kart - Super Circuit 45% 68% 96% 100% 1.2.4 Playable without Sound @500Mhz, overlock!! ;)
Metal Slug Advance 48% 68% % % 1.0.3
Metroid Fusion 68% 92% % % 1.0.3
Mortal Kombat Advance 50% 70% % % 1.0.3 Playable without sound
Ninja Five-0 % % 97% 100% 1.2.4 Runs very good without Sound
PocketNES - NES Emulator 60% 80% % % 1.0.3
Pokemon - Ruby % % 100% 100% 1.2.4
Pokemon - Fire Red 50% 80-90% % % 1.1.2 Playable without sound.
Pokemon - Leaf Green % % 88-98% 100% 1.2.4
Rayman Advance 48% 60% 97% 100% 1.2.4
R-Type 3 75-95% 90-100% 100% 100% 1.2.4
SMA2 - Super Mario World 45% 62% % % 1.0.3
SMA3 - Yoshi's Island 43% 58% % % 1.0.3
SMA4 - Mario Bros. 3 51% 72% % % 1.0.3 Takes a bit time to Load.
Sonic Advance 1 % % 100% 100% 1.2.4
Sonic Advance 2 55% 80% % % 1.0.3
Sonic Advance 3 49% 72% % % 1.0.3 too slow for sonic
Super Ghouls'n Ghosts % % 80-100% 100% 1.2.4
Tactics Ogre 90% 95% % % 1.0.3 Does not save, runs pretty well without sound.
V-Rally 3 37% 48% % % 1.0.3
Wario Land 4 60% 85% % % 1.0.3
Wario Ware Inc. 60% 70-80% % % 1.0.3
Zelda - A Link to the Past 45% 62% 80-90% 90-100% 1.2.4 Slow without Overlocking
Zelda - The Minish Cap % % 98% 100% 1.2.4
Zooo % % 100% 100% 1.2.4

Free Roms

There are several places where you can get free homebrew games for the GB and GBA that are 100% legal to download and try on the emulator.
The best source for homebrew games for any console is http://www.pdroms.org but there are several other homebrew sites around that offer something similar such as this site specifically for gameboy advance: http://www.gameboy-advance-roms.info/
Here is a small list of free games that are worth trying, if you have more add them to the list!

Free GBA Roms links and playability

If the downloaded game has a ".bin" extension just rename it to ".gba"
Title Speed @500 Mhz Speed @800 Mhz Speed @1.0 Ghz VBA Version Notes Link
Sound No Sound Sound No Sound Sound No Sound
Anguna 80% 100% 1.0.3 http://www.pdroms.de/files/1724/
Another World 60% 85% 1.0.3 http://www.foxysofts.com/index.php?l=content/gba/anworld.inc
Arkanoid Clone 70% 100% 1.0.3 http://www.playeradvance.org/forum/showthread.php?t=4039
BulletGBA 80% 100% 1.0.4 http://pqrs.org/gba/bulletgba/
Bust-A-Move Clone 100% 100% 1.0.3 http://www.russprince.com/gba/
Dangerous XMAS 95% 100% 1.0.3 http://www.rickdangerous.co.uk/rickxmas.htm
Hergs Solitaire 100% 100% 1.0.3 http://www.pdroms.de/files/1317/
The Last Seal % % 1.0.3 http://www.pdroms.de/files/895/
Motocross Challange 58% 80% 1.0.3 http://www.pdroms.de/files/495/