Expand description
The GBA’s BIOS provides limited built-in utility functions.
BIOS functions are accessed with an swi
instruction to perform a software
interrupt. This means that there’s a significant overhead for a BIOS call
(tens of cycles) compared to a normal function call (3 cycles, or even none
of the function ends up inlined). Despite this higher cost, some bios
functions are useful enough to justify the overhead.
Structs§
- Used to provide info to a call of the
BitUnPack
function.
Functions§
0x09
: Arc tangent.0x0A
: The “2-argument arctangent” (atan2).0x10
: Copy data fromsrc
todest
while increasing the bit depth of the elements copied.0x13
: Decompress huffman encoded data.0x04
: Waits for a specific interrupt type(s) to happen.0x11
: Decompress LZ77 data fromsrc
todest
using 8-bit writes.0x12
: Decompress LZ77 data fromsrc
todest
using 16-bit writes.0x14
: Decompress run-length encoded data (8-bit writes).0x15
: Decompress run-length encoded data (16-bit writes).0x00
: Software Reset.0x05
: Builtin shorthand forIntrWait(true, IrqBits::VBLANK)