Home CPSC 305

Running Game Boy Advance Games on the Hardware



Running games on the emulator is preferable for testing and development, but it is cool to run them on the real hardware too. This page contains instructions on doing exactly that.

This is all optional for doing this class!


Necessary Tools

In order to run your games on the actual Game Boy Advance, you will need the following things:


Setting up the Game Boy Advance

The EZ-Flash IV comes with modified firmware for the Game Boy Advance which allows it to work. To set this up:

  1. Download the kernel

    You can download the latest EZ4 Kernel from the EZ Flash download page, or download it from my site. The unzip the file.

  2. Put it on your SD card

    Move the "ezfla_up.bin" file which you downloaded onto your micro SD card. Then unmount and remove the micro SD card.

  3. Load the SD card into the GBA

    Load the micro SD card into the EZ-Flash cartridge:

    then load the cartridge into the GBA:

  4. Write it to the GBA

    Hold the "R" right side button on top of the GBA, and power it on. Don't let go until the update process starts. Wait for it to reach 100%, and then power off the GBA.

  5. Remove the kernel

    Remove the cartridge, and the SD card, and then delete the ezfla_up.bin file from the SD card, you won't need it any longer.


Writing the Game

You are now ready to write your GBA ROMs onto the SD card so that they can be run directly on the hardware.
  1. Download the EZ4-client

    Unfortunately you cannot save GBA ROMs directly to the SD card in the usual fashion. They must be first be patched to work with the EZ4 cartridge.

    The software to do this is a Windows program which you can download from the EZ Flash download page or download it from my site.

    The unzip the file, and run the "EZ4_Client.exe" program on a Windows computer.

  2. Choose the destination

    When running the program, you should first click the "Config" button, and then choose the path of the SD card (for me it was "K:"):

  3. Open the game

    Next, click the "Open" button, and choose the GBA ROM for the game you created:

  4. Send it to the card

    Then, choose a name for it, and click the "Send" button:

    It should now show up on the right pane, along with a directory called "saver":

  5. Close the client

    Close the client program and unmount the SD card.

You can write multiple of your ROMs to the SD card at one time, so you can run all of the games you've created without having to change out the SD card!


Running the Game

  1. Load the SD card into the GBA

    Place the micro SD card into the EZ4 cartridge, and then the cartridge into the GBA, just like before.

  2. Turn it on

    Power on the GBA, this should bring you to the EZ4 menu. You can move with the arrow buttons and select with the "A" button. The first time it will ask you whether you want the menu to be in Chinese or (badly translated) English.

    Then choose the first menu option:

  3. Choose your ROM

    Navigate to your ROM with the arrow buttons, and select the ROM you want to run with the "A" button:

  4. Run it

    Now your GBA game will be running directly on the hardware. From the GBA's perspective, your game is running on a cartridge by itself. All the EZ Flash does is load one of multiple ROMs into the GBA with a menu. Your code is running directly on the hardware.

    Here is the GBA running the Test program I loaded which just displays the UMW logo:

    Enjoy running your own games on the GBA!

Copyright © 2022 Ian Finlayson | Licensed under a Attribution-NonCommercial 4.0 International License.