Empty program: Difference between revisions

Content added Content deleted
m (Clarification)
Line 126: Line 126:
===Game Boy Advance===
===Game Boy Advance===


The Nintendo logo is loaded from the cartridge, and the Game Boy Advance's firmware won't boot the game without it. So an empty program can't be run at all. Thus a minimum of a valid cartridge header is required for an empty program that the Game Boy Advance can actually run.
At the beginning of the cartridge header is the instruction to branch to the main program.
The first four bytes of the cartridge header are an unconditional branch instruction to the program's start. Simply duplicate this instruction at that address and voila:

The cartridge header won't be reproduced here, but the label name you have in the first line of the header needs to match the entry point of your main program.


<lang ARM_Assembly>ProgramStart:
<lang ARM_Assembly>ProgramStart: