Join Our Free Newsletter Community

Free, weekly updates about retro gaming news, nostalgic collectibles and in-depth reviews.

Subscribe Retro Dodo cover image
Sebastian Santabarbara profile image Sebastian Santabarbara

Super Mario Galaxy Has Arrived On The Game Boy Advance

Super Mario Galaxy on a GBA SP
Credit: Game of Tobi
🤝
Like our website? Support us as an independent publisher by tipping, joining our paid community or checking out our accessories brand GAMENOOK!

I love Game of Tobi's work, and I especially love it when I come back from holiday and find that he's dropped a new video showing his work bringing Super Mario Galaxy to the GBA. He's a Mario backporting wizard, and I've covered all of his work to bring Super Mario 64 to the GBA and other exciting projects over the last year. Now, he's been working on getting Super Mario Galaxy onto the GBA with another highly polished announcement video.

So how has all of this come about? Well, as you know if you're a regular reader, Tobias Friedly loves playing with Super Mario source code. Writing on this latest project, he says that 'every model, animation, texture, sound, piece of music and line of text is constructed on your computer from your own copy of SMG while the game is built'. You'll need your own legally acquired ROM of Super Mario Galaxy to get this working, and Tobias has sorted out the rest for you.

What I like about Tobias' work is that he's incredibly transparent. All of the source code of the engine and the game's code is available for you to peruse - he's got no secrets to hide. He's relied on the engine made by Joshua Barettos and the recent decomp of SMG to get the ball rolling, and while a lot blockier than the original Wii game, it's still a fully playable version of Super Mario Galaxy on a handheld that came out way before the Wii. And let's face it, they were never going to compare - the Wii is WAY more powerful, but this is such a fun and ambitious project and delivered in Tobi's trademark way, and it's very impressive.

Tobias' videos just make me smile; he loves what he does so much, and that comes out in the creativity and sheer awesomeness of his videos. They're like movie trailers, all accompanied by his trusty tribal GBA SP.

Tobias standing in SMG
Credit: Game of Tobi

You'll need a legally acquired version of SMG (USA) as an .iso file. Once you've obtained that 100% legally acquired ROM, you can follow the instructions from Tobi's Github below to get started:

macOS

  1. Open Terminal

Install Apple's developer tools:

xcode-select --install

Click Install on the opened window

  1. Install devkitPro:
  2. Open a new terminal to build, following the steps below.

Then run this command with sudo access:

sudo dkp-pacman -S gba-dev

Windows

We use WSL.

  1. Close the Ubuntu window and open it again
  2. Copy this project folder and your .iso into Ubuntu: in Windows Explorer, open \\wsl$\Ubuntu\home\<your user name> and copy them there. Maybe don't build from the C: drive: it works, but it's a bit slower...

Install devkitPro:

curl -fsSLO -A "dkp apt" https://apt.devkitpro.org/install-devkitpro-pacman
chmod +x install-devkitpro-pacman
sudo ./install-devkitpro-pacman
sudo dkp-pacman -S gba-dev

In Ubuntu, install the tools:

sudo apt update
sudo apt install -y build-essential python3 curl wget

Open Windows PowerShell and choose Run as administrator. Run:

wsl --install -d Ubuntu

When it says the changes take effect after a reboot, restart your PC. After the restart, open Windows PowerShell as administrator again and run the same command again. Now it should download Ubuntu and start it in that window. Create a default Unix user account (with a password for sudo later).

Then build with the building steps below.

Linux (Ubuntu or Debian)

So actually like Windows but easier: do steps 2 to 4 of the Windows section in a normal terminal.

Building

  1. Put your game dump into the project folder and rename itbaserom_us.iso. Windows Explorer hides file extensions, so rename it to just baserom_us there (otherwise it becomes baserom_us.iso.iso). Or, in Ubuntu: mv "<your dump>.iso" galaxy-gba/baserom_us.iso.
  2. In terminal, go into the project folder. Type cd drag the project folder into the terminal window and press Enter. On Windows/Ubuntu, if you copied the folder into your home folder as in step 5, type cd galaxy-gba instead, using your folder's name.

Start the build:

make

The first build takes a few minutes. It downloads the disc tool nodtool and unpacks your disc, checks that every file it needs matches the original game. It also constructs assets.

❤️
Like what you are reading? If you do and want to support us, you can do so by becoming a member, tipping us or taking a look at our gaming accessory company GAMENOOK (10% off just for you). This allows us to continue what we do without succumbing to algorithms, clickbait and over-intrusive ads, while paying human writers instead of AI.

Sebastian Santabarbara profile image Sebastian Santabarbara
Sebastian is fuelled by a lifelong passion for Zelda, Banjo Kazooie, Donkey Kong, and all things retro. He uses his misspent youth with retro consoles to create content for readers around the world.