- Labels use PascalCase.
DrawNPCs,GetOffsetFromCamera. - Labels in RAM (VRAM, SRAM, WRAM, HRAM; you shouldn't be using Echo RAM or OAM) use the same convention but are prefixed with the initial of the RAM they're in, in lowercase.
wCameraOffsetBuffer,hVBlankFlag,vTilesetTiles,sSaveFileChecksum. Rationale: to know in which memory type the label is; this is important because VRAM and SRAM have special access precautions and HRAM can (should (must)) be accessed using theldhinstruction. - Local labels use camelCase, regardless of memory type. (
.waitVRAM,wPlayer.xCoord) - Macro names use snake_case.
wait_vram,rst wait_vblank,end_struct. - Constants use CAPS_SNAKE.
NB_NPCS,OVERWORLD_STAT_LOAD_MAP. - Constants posing as labels use the appropriate label convention.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| SECTION "VWF engine",ROM0 | |
| ; Prints text pointed to by DE | |
| ; Text is null-terminated | |
| PrintVWFText:: | |
| ld a, 3 | |
| jr .startupColorID | |
This document is now at https://gbdev.io/guides/tools.html, please go there instead. It's kept here to avoid breaking links and to preserve history.
Previous versions can be checked out by selecting the "Revisions" tab, and selecting "View file" in the three-dot drop-down menu.
CartSwap (Cartridge Swapping) is a technique that allows ACE in any Game Boy game, even before the game has actually booted up! Example applications include :
- Spoofing consoles (Pokémon Crystal can run on the Gray Brick!)
- Speedrunning games quicker than a TAS
- Gaining ACE on games that are otherwise ACE-less
NewerOlder