Notes from the Developer

Speed could still use some improvement. If anyone can make the code more efficient, knows PPC assembly, or can make it faster in any way, let me know.

Installation

If you are using the Homebrew Channel just copy the apps directory from the archive to the root of your SD card. If you are using another loader use the executables/vbagx_wii.dol.

ROMs & saves files should be stored in /vbagx/roms and /vbagx/saves on the root of your SD card or USB flash drive. You can copy the vbagx directory from the archive to your support drive. Your ROMs must be in ".gb", ".gbc" or ".gba" format. To be clear, there will be 2 "vbagx" folders. One in your apps folder, and one on the SD root.

Installation

Loading Games

From DVD

From Network (using SMB)

Using the emulator via network requires that your Wii is configured for your wireless network, and that you've set up a file share. You must provide a username, password, share name, and IP address to log in to the file server (in settings.xml). This XML file is created for you upon first loading the emulator and entering/exiting Preferences. Here's an example snippet for your XML configuration file:

Also be sure to mirror the required directory structure within your share folder, or change the LoadFolder and SaveFolder values in the XML file. See the tinysmb page for additional information and troubleshooting.

Language Patches (IPS/UPS)

IPS files must be placed in the same folder as the ROM you are loading, and named identically to the ROM name, except with a IPS extension. They will be loaded automatically upon loading the game.

Patches can be used to colourise a monochrome gameboy game, or to translate a game into your language, or to stop the game from needing special hardware. Search the internet for patches. Many games have been translated by fans. They can be in IPS or UPS format. You don't need to patch anything yourself. Just put the IPS or UPS file in the /vbagx/roms folder along with the rom itself. The patch must have the same name as the rom. Patches can not be put inside the ZIP file. If a rom is zipped, you might need to check inside the zip for the actual rom filename.

You must not use patched versions of Boktai roms! (Except for the translation patch for Boktai 3, which is highly recommended). The patches are for old emulators that don't support the solar sensor. VBA GX and NO$GBA support the solar sensor natively, and the patch will stop them from working.

You must also not use patched versions of WarioWare Twisted, Kirby's Tilt n Tumble, or Yoshi's Universal Gravitation (Topsy Turvy). The original roms are fully supported, and the patch will stop them from working.

Editing Palettes

Games for Gameboy Advance, Gameboy Color, and Super Gameboy, are already in colour, and changing palettes for these games will have no effect. Unfortunately, some Super Gameboy games are programmed in greyscale and that can't be changed yet.

Monochrome games for the original Gameboy had four shades of grey. But with VBA-Wii you can define your own colour palettes for these games.

Other games will use a default palette of green background, white status bar, red sprites and blue sprites. This palette makes palette editing easier, but isn't all that suitable for most games. You should usually either edit the palette for these games, or switch to black and white mode. Or you can edit the default palette by manually editing the "sd:\apps\vbagx\palette.xml" file.

To switch between black and white and palette mode, start a game, go to the HOME menu, choose "Game Settings", choose "Video", and click on "Colorize Mono GB". The game "Megaman 1" will always be in black and white, to prevent flashing.

To edit the palette for the current game, go to the HOME menu, choose "Game Settings", choose "Video", and click on "Choose Palette" to go to the Palette Editor.

After editing the palette, the palette might appear screwed up in the game until the game changes palettes. To fix that, you might need to save the game and then start the game again, or you might need to press start to pause or go to the menu, then press start again, or you might need to try moving your sprite to the far left side of the screen.

Palette Editor

The colours are divided into 4 columns, which are arranged by brightness.

The first column is the background. The bottom "background" colour is used for both the background tiles, and also for parts of the screen not covered by background tiles or any sprites. Sometimes the background can go in front of some sprites, and in those cases the bottom background colour is transparent.

The second column is the "window". Usually that means the status bar and HUD, but it's sometimes used for other things, for example in Mortal Kombat 1, the entire game screen except the status bar is the window. VBA Wii is the only Gameboy emulator that lets you change the window colours, in other emulators the window uses the background colours.

The third column, "OBJ", is for sprites that use palette 0. Sprites only have 3 colours, because one is always transparent. Games can choose which three of the four brightness levels will be used (that's why there are two sprite palettes). In the editor it's assumed that the first three brightness levels will be chosen. When the game chooses different brightness levels, some of those colours will be brightened or darkened in-game. Black is assumed to be 10% brightness, while dark grey is assumed to be 40% brightness. That means half the time, the colour you choose for OBJ 2 will appear 4 times darker in-game, so you might need to make it very bright. Other colours also will appear at different brightnesses, but not by a factor of 4.

The fourth column "SPR", is for sprites that use palette 1. It has the same issues as specified above. VBA on other platforms uses the same colours for both palette 0 and palette 1, but VBA Wii lets you change them separately. Palette 1 is often used for some monsters, or for when your character takes damage, or for making collectible items flash.

Clicking on any colour will pop up a colour editor window. You change a colour by choosing how much red, green, and blue are mixed together. You can only go up or down 8 at a time. It is in hexadecimal, which means it goes up to F instead of up to 9. F means 15.

red+green+blue = white

red+green = yellow

two parts red, one part green = orange

dark orange is brown, especially if you mix in a bit of blue

red+blue = magenta (pinkish purple)

two parts blue, one part red = purple

two parts red, one part blue = hot pink

green+blue = cyan (bright blue/green)

two parts blue, one part green = light blue

To make a colour paler, mix in a little bit of all the other colours

Clicking on the "load / save" button will save the palette changes. Unless you are worried about a power failure, this is unnecessary, since they are saved automatically when you close. This button will have more features in the next version.

The palette will be saved whenever you close the editor window.

As mentioned above, after editing the palette, the palette might appear screwed up in the game until the game changes palettes. To fix that, you might need to save the game and then start the game again, or you might need to press start to pause or go to the menu, then press start again, or you might need to try moving your sprite to the far left side of the screen.

palette.xml

Once the emulator has created the palette.xml file (by playing a mono game), you can edit it manually to change the palettes. This might be quicker and easier than editing inside the emulator. It also lets you edit the default palette to something more suitable. And it lets you set some games to play in Black and White mode.

You can, and should, share your palette.xml with other users if you have made palettes for other games.

Game names in the palette.xml file are based on the ROM's internal name, not the filename. That means you only have to set the palette once even if you have several files for different regions. It also means you can use other people's xml files without worrying what they named their ROMs. If you need to know the game's internal name, you can check in VBA-M on the PC, or some websites will tell you, or you can just start editing the palette in the emulator and then it will be added to the XML file for you.

When "use" is set to "1" that means that game will be in palette mode. When "use" is set to "0", that means that game will always be in black and white mode.

Colours are specified in hexadecimal, in the format: 0xRRGGBB. FF is the brightest, 80 is half brightness, 00 is black. VBA-Wii only uses 15-bit colour, so the last digit will be rounded down to either 8 or 0. But if palette support is ported to other platforms, then they might not be rounded on those platforms.

2.3.5 - December 10, 2016

2.3.4 - September 15, 2016

Changed the box colors for the SRAM and Snapshots files to match the color scheme of the emu GUI

Change the "Power off Wii" exit option to completely turn off the wii, ignoring the WC24 settings

Updated settings file name in order to have it's own settings file name

Added an option to switch between screenshots, covers, or artwork images,with their respective named folders at the device's root. You can set which one to show, by going to Settings > Menu > Preview Image. The .PNG image file needs to have the same name as the ROM (e.g.: Mother 3.png)

Removed sound from GUI (thanks to Askot)

Added option to switch between the Green or Monochrome GB color screen. You can set which one to show by going to Settings > Emulation > GB Screen Palette

2.3.3 - June 25, 2016

Fixed the GC pad Down input on the File browser window

Added Koston's green gb color screen

Added the Screenshot Button

Increased and Centered the Screenshot image and reduce game list width

Added a background for the preview image

Added the WiiuPro Controller icon on the controller settings

Fix DSI error / Bug from Emulator Main Menu

2.3.2 - March 4, 2015

libertyernie

Wii U: if widescreen is enabled in the Wii U setting, VBA GX will use a 16:9 aspect ratio, except while playing a game with fixed pixel mode turned on

There are now three options for border in the emulation settings menu (see "Super Game Boy borders" section for details)

PNG borders now supported for GBA games

Video mode "PAL (50Hz)" renamed to "PAL (576i)"

Video mode "PAL (60Hz)" renamed to "European RGB (480i)"

240p support added (NTSC and European RGB modes)

All video modes now use a width of 704 for the best pixel aspect ratio

2.3.1b - November 8, 2014

Glitch

Added FIX94's libwupc for WiiU Pro Controllers

Added tueidj's vWii Widescreen Fix

2.3.1 - October 14, 2014

libertyernie

Super Game Boy border support

Borders can be loaded from (and are automatically saved to) PNG files

Any border loaded from the game itself will override the custom PNG border

Custom palette support from 2.2.8 restored

Option added to select Game Boy hardware (GB/SGB/GBC/auto)

Fixed pixel ratio mode added

Overrides zoom and aspect ratio settings

To squish the picture so it appears correctly on a 16:9 TV, you can open the settings.xml file and add 10 to the gbFixed/gbaFixed value. However, setting your TV to 4:3 mode will yield a better picture.

Real-time clock fixes for GB/GBC games, including Pokémon G/S/C

RTC data in save file stored as little-endian

Option added for UTC offset in the main menu (only required if you use the same SRAM on other, time-zone-aware platforms)

New option for selecting "sharp" or "soft" filtering settings

"Sharp" was the default for 480p, "soft" was the default for 480i

2.3.0 - September 10, 2014

libertyernie

VBA-M core updated to r1231

Tiled rendering used for GBA games (new VBA-M feature, originally from RetroArch) - provides a major speed boost!

Changes from cebolleto's version

Screenshots can be displayed for each game on the menu

Nicer 7-Zip support

When you leave a folder, the folder you just left will be selected

New options available:

Disable the " Auto" string being appended to save files

Disable frameskip entirely on GBA

Keyboard fixed (from libwiigui r56)

GUI prompt is now purple instead of green (button colors more intuitive)

Goomba and Goomba Color ROM support:

Any Game Boy ROM stored within a Goomba ROM can be loaded "natively" in the Game Boy (Color) emulator (or the Goomba ROM can be loaded as GBA)

Fix for WarioWare startup - Nunchuk C button or Wii Remote B button will now make calibration easy by locking the gyroscope.

Fixed issues with constant rumbling

2.0.2 - May 26, 2009

Improved stability

Fixed broken SDHC from HBC 1.0.2 update

Fixed issues with returning to menu from in-game

Add option to disable rumble

Auto-determines if HBC is present - returns to Wii menu otherwise

Unfiltered mode fixed

Miscellaneous bugfixes

2.0.1 - April 30, 2009

Multiple state saves now working

Built with more stable libogc/libfat

Fixed settings saving glitches

Fixed Mortal Kombat GameCube controller bug

Fixed Zelda DX palette bug

Fixed Harry Potter 1-3 keyboard bug

2.0.0 - April 27, 2009

New GX-based menu, with a completely redesigned layout. Has Wiimote IR support, sounds, graphics, animation effects, and more

Thanks to the3seashells for designing some top-notch artwork, to Peter de Man for composing the music, and a special thanks to shagkur for fixing libogc bugs that would have otherwise prevented the release