Recent News

[11SEP2011]  Updated Debugger Tutorial for BGB.More…

Duo's GameBoy ASMSchool

What is ASMSchool?

ASMSchool is a set of lessons and other articles that can help you dive into the world of programming the GameBoy/Color in assembly language. Just because the GameBoy itself is a simple-looking machine and is not the highest powered portable game device ever created doesn't mean that its easy to program for. If you've never programmed anything in your life, this would be a bad place to start.

Other Note:

I DO NOT CONDONE VIDEO GAME PIRACY. As a coder I can understand the amount of effort put into most video games. If you like a game, BUY IT.

Welcome to ASMSchool!
Welcome, welcome, welcome! Here I have my ASMSchool lessons posted for all to read and learn about coding in assembly language for the GameBoy! Browse through what I have up so far and enjoy!


Disassembling... hehehe

Why disassemble? Well there's a wealth of information and techniques to learn from. I've chosen a few different game types to get a good idea of how the different types of games are structured. I also chose the games based on the small size and AGE, since Nintendo doesn't really promote these games actively. I will be using the most excellent debugger BGB, written and maintained by beware. I suggest using this emulator/debugger for Gameboy development as it is highly accurate and actively maintained. NOTE: I will NOT post the "roms" to these games. What I will be posting is (legally) reverse-engineered source code with comments by me, for the pure and simple purpose of education.

Disassembly 1: Disassembly of Final Fantasy Legend 3
This lesson, when completed, will introduce you to the concept of a large-scale/small code event driven RPG engine with a compressed text storage/display system and some interesting self-modifying code.

Disassembly 2: Disassembly of Alleyway
This lesson, when completed, will analyze an action-puzzle type game with some ingenious collision detection ideas. (on a more personal note, I think that the Super Breakout game for GBC has pathetic physics and gameplay compared to this awesome 1989 original)

Disassembly 3: Disassembly of Super Mario Land
This lesson, when completed, will include an analysis of the principles of a platform "run-and-jump" type of game.

Articles written by various coders


In no way do I claim to be the world's best ASM guru. I make no claims that the information presented on this website is 100% correct, though I try my best. I do not claim that the lessons contained within will make you an ASM coder either... it takes a sick, masochistic bastard to become an ASM coder. =) All games and logos and names and referenes that aren't mine are copyrighted to Nintendo, and several game development companies. I do not claim to own any of the names or games that are commercial and are mentioned on this site. Any and all reverse-engineering done by me and posted here is purely for educational purposes only, as this IS a site that teaches assembly coding on the GameBoy system.