You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.7 KiB
4.7 KiB
Terminology
GameBoy terminology.
Terminology
Hardware (1)(2)
| Name | Modern equivalent | Description |
|---|---|---|
| APU | Sound card | Audio Processing Unit |
| PPU | GPU | Pixel Processing Unit |
| Bootrom | BIOS | |
| HRAM (High RAM) | CPU cache | Embedded memory inside the CPU, 127 bytes |
| WRAM (Work RAM) | RAM |
Flags
The half-carry flag H is set when an arithmetic operation on two numbers
causes a carry from bit #3 to bit #4 for 8-bit operations or a carry from bit
#11 to bit #12 for 16-bit operations. For 16-bit operation this indicates the
lower 4 bits of the second byte(3).
We start counting from the right as bit #0!
Opcode
| Name | Bits | Sign | Mnemonics | 1 | 2 | 3/3 | 4 | Description | Note |
|---|---|---|---|---|---|---|---|---|---|
| immediate | 8 | unsigned | i8 | d8 | n8 | n | Next byte in memory | ||
| immediate | 16 | unsigned | i16 | d16 | n16 | nn | Next byte in memory | little-endian | |
| register | 8 | unsigned | r8 | r8 | r | Any of the registers | |||
| register | 16 | unsigned | r16 | r16 | rr | Any of the registers | little-endian | ||
| address | 8 | unsigned | a8 | (n) | Address at value | ||||
| address | 16 | unsigned | a16 or () | a16 | n16 | (nn) | nn | Address at value | little-endian |
| immediate | 8 | signed | s8 | r8 | e8 | e | dd | Next byte in memory | used as offset |
| immediate | 8 | unsigned | io8 | (a8) | n16 | (n) | n | 0xff00 + next byte in memory | write to I/O-port |
| condition | <ZNHC> | cc | f | Execute if condition met | |||||
| constant | 8 | unsigned | b | u3 | b | n | Single bit at position 'x' | ||
| constant | 8 | unsigned | vec | vec | n | One of RST vectors | absolute fixed address |
d = data
n = constant
Flag conditions
RST vectors
Absolute fixed address, possible values are(4): 0x00, 0x08, 0x10, 0x18,
0x20, 0x28, 0x30, and 0x38.
Variables
| Name | Meaning |
|---|---|
| length | amount of elements |
| size | amount of bytes |
| lhs | left hand side |
| rhs | right hand side |
| lsb | least significant byte |
| msb | most significant byte |
References
- "Memory Map". rgbdev.io. Retrieved 22 Aug 2022.
- "Specifications". rgbdev.io. Retrieved 22 Aug 2022.
- "A Visual Guide to the Gameboy's Half-Carry Flag". robdor.com. Retrieved 24 Aug 2022.
- "gbz80(7) — CPU opcode reference". rgbds.gbdev.io. Retrieved 26 Aug 2022.
- "GameBoy Opcode Summary". devrs.com. Retrieved 25 Aug 2022.