Nintendo e-Reader Z80 API List

Last updated: 2004-05-16

"(?)" means the function has not been identified yet
"(n/a)" means the function does not exist


RST Number Name
0 0x00 ERAPI_FadeIn
0 0x01 ERAPI_FadeOut
0 0x02 ERAPI_FlashWhite
0 0x03 (?)
0 0x04 (?) blend_func_unk1
0 0x05 (?)
0 0x06 (?)
0 0x07 (?)
0 0x08 (?)
0 0x09 (?) _020264CC_check
0 0x0A (?) _020264CC_free
0 0x0B (n/a)
0 0x0C (n/a)
0 0x0D (n/a)
0 0x0E (n/a)
0 0x0F (n/a)
0 0x10 ERAPI_LoadBackgroundSystem
0 0x11 ERAPI_SetBackgroundOffset
0 0x12 ERAPI_SetBackgroundAutoScroll
0 0x13 ERAPI_SetBackgroundMirrorToggle
0 0x14 (?)
0 0x15 (?)
0 0x16 (?) write_000000FF_to_02029494_
0 0x17 (?)
0 0x18 (?)
0 0x19 ERAPI_SetBackgroundMode
0 0x1A (?)
0 0x1B (?)
0 0x1C (?)
0 0x1D (?)
0 0x1E (?)
0 0x1F (?)
0 0x20 ERAPI_LayerShow
0 0x21 ERAPI_LayerHide
0 0x22 (?)
0 0x23 (?)
0 0x24 (?)
0 0x25 (?)
0 0x26 (?)
0 0x27 (?)
0 0x28 (?)
0 0x29 (?)
0 0x2A (?)
0 0x2B (?)
0 0x2C (?)
0 0x2D ERAPI_LoadBackgroundCustom
0 0x2E (?)
0 0x2F (?)
0 0x30 ERAPI_CreateSpriteSystem
0 0x31 ERAPI_SpriteFree
0 0x32 ERAPI_SetSpritePos
0 0x33 (?) sprite_unk2
0 0x34 ERAPI_SpriteFrameNext
0 0x35 ERAPI_SpriteFramePrev
0 0x36 ERAPI_SetSpriteFrame
0 0x37 (?) sprite_unk3
0 0x38 (?) sprite_unk4
0 0x39 ERAPI_SetSpriteAutoMove
0 0x3A (?) sprite_unk5
0 0x3B (?) sprite_unk6
0 0x3C ERAPI_SpriteAutoAnimate
0 0x3D (?) sprite_unk7
0 0x3E ERAPI_SpriteAutoRotateUntilAngle
0 0x3F ERAPI_SpriteAutoRotateByAngle
0 0x40 ERAPI_SpriteAutoRotateByTime
0 0x41 (?) sprite_unk8
0 0x42 ERAPI_SetSpriteAutoMoveHorizontal
0 0x43 ERAPI_SetSpriteAutoMoveVertical
0 0x44 (?) sprite_unk9
0 0x45 ERAPI_SpriteDrawOnBackground
0 0x46 ERAPI_SpriteShow
0 0x47 ERAPI_SpriteHide
0 0x48 ERAPI_SpriteMirrorToggle
0 0x49 (?) sprite_unk10
0 0x4A (?) sprite_unk11
0 0x4B (?) sprite_unk12
0 0x4C (?)
0 0x4D ERAPI_SpriteCreate
0 0x4E (?)
0 0x4F (?) sprite_unk14
0 0x50 (?) sprite_unk15
0 0x51 (?) sprite_unk16
0 0x52 (?) sprite_unk17
0 0x53 (?) sprite_unk18
0 0x54 (?)
0 0x55 (?) sprite_unk20
0 0x56 (?)
0 0x57 ERAPI_SpriteMove
0 0x58 (?) sprite_unk22
0 0x59 (?) sprite_unk23
0 0x5A (?) sprite_unk24
0 0x5B ERAPI_SpriteAutoScaleUntilSize
0 0x5C ERAPI_SpriteAutoScaleBySize
0 0x5D ERAPI_SpriteAutoScaleWidthUntilSize
0 0x5E ERAPI_SpriteAutoScaleHeightBySize
0 0x5F (?)
0 0x60 (?)
0 0x61 (?)
0 0x62 (?)
0 0x63 (?)
0 0x64 (?)
0 0x65 (?) sprite_unk25
0 0x66 ERAPI_SetSpriteVisible
0 0x67 (?) sprite_unk26
0 0x68 (?) set_sprite_unk27
0 0x69 (?) get_sprite_unk27
0 0x6A (?)
0 0x6B (?)
0 0x6C (?)
0 0x6D (?)
0 0x6E (?)
0 0x6F (?)
0 0x70 (?)
0 0x71 (?)
0 0x72 (?)
0 0x73 (?)
0 0x74 (?)
0 0x75 (?)
0 0x76 (?)
0 0x77 (?)
0 0x78 (?)
0 0x79 (?)
0 0x7A (?)
0 0x7B (?)
0 0x7C (?) _0202FD2C_unk12
0 0x7D (?)
0 0x7E ERAPI_SetBackgroundPalette
0 0x7F (?)
0 0x80 ERAPI_SetSpritePalette
0 0x81 (?)
0 0x82 ERAPI_ClearPalette
0 0x83 (?) _0202FD2C_unk11
0 0x84 (?)
0 0x85 (?)
0 0x86 (?)
0 0x87 (?) _0202FD2C_unk8
0 0x88 (?) _0202FD2C_unk7
0 0x89 (?)
0 0x8A (?) _0202FD2C_unk6
0 0x8B (?) _0202FD2C_unk5
0 0x8C (?)
0 0x8D (?)
0 0x8E (?)
0 0x8F ERAPI_WindowHide
0 0x90 ERAPI_CreateRegion
0 0x91 ERAPI_SetRegionColor
0 0x92 ERAPI_ClearRegion
0 0x93 ERAPI_SetPixel
0 0x94 ERAPI_GetPixel
0 0x95 ERAPI_DrawLine
0 0x96 ERAPI_DrawRect
0 0x97 (?) _0202FD2C_unk4
0 0x98 ERAPI_SetTextColor
0 0x99 ERAPI_DrawText
0 0x9A ERAPI_SetTextSize
0 0x9B (?) RegionUnk7
0 0x9C (?) _0202FD2C_unk3
0 0x9D (?) _0202FD2C_unk2
0 0x9E (?) _0202FD2C_unk1
0 0x9F (?)
0 0xA0 (?)
0 0xA1 (?)
0 0xA2 (?) RegionUnk6
0 0xA3 (?)
0 0xA4 (?)
0 0xA5 (?)
0 0xA6 (?)
0 0xA7 (?)
0 0xA8 (?)
0 0xA9 (?)
0 0xAA (?)
0 0xAB (?)
0 0xAC (?)
0 0xAD (?) RegionUnk5
0 0xAE (?)
0 0xAF (?)
0 0xB0 (?)
0 0xB1 (?)
0 0xB2 (?)
0 0xB3 (?)
0 0xB4 (?)
0 0xB5 (?)
0 0xB6 (?)
0 0xB7 (?)
0 0xB8 (?)
0 0xB9 (n/a)
0 0xBA (n/a)
0 0xBB (n/a)
0 0xBC (n/a)
0 0xBD (n/a)
0 0xBE (n/a)
0 0xBF (n/a)
0 0xC0 (?) RegionUnk3
0 0xC1 (?) RegionUnk1
0 0xC2 (?)
0 0xC3 (n/a)
0 0xC4 (?)
0 0xC5 (?)
0 0xC6 (?)
0 0xC7 (?)
0 0xC8 (?)
0 0xC9 (?)
0 0xCA (?)
0 0xCB (?)
0 0xCC (?)
0 0xCD (?)
0 0xCE (?)
0 0xCF (?)
0 0xD0 (?)
0 0xD1 (?)
0 0xD2 (?)
0 0xD3 (?)
0 0xD4 (?)
0 0xD5 (?)
0 0xD6 (?)
0 0xD7 (?)
0 0xD8 (?)
0 0xD9 (?)
0 0xDA (?)
0 0xDB (?)
0 0xDC (?)
0 0xDD ERAPI_DecompressVPK
0 0xDE (?)
0 0xDF (?)
0 0xE0 ERAPI_SoftReset
0 0xE1 (?)
0 0xE2 (?)
0 0xE2 (?)
0 0xE3 (?)
0 0xE4 (?)
0 0xE5 (?)
0 0xE6 (?)
0 0xE7 (?)
0 0xE8 (?)
0 0xE9 (n/a)
0 0xEA (?) BL_irq_sio_dma3
0 0xEB (?) ERAPI_unk3
0 0xEC (?)
0 0xED (?)
0 0xEF (?) ERAPI_unk2
0 0xF0 (?) ERAPI_unk1
0 0xF1 ERAPI_RandInit
0 0xF2 (?)
8 0x00 ERAPI_Exit
8 0x01 (?)
8 0x02 (?)
8 0x03 ERAPI_Div
8 0x04 ERAPI_Mod
8 0x05 ERAPI_PlaySoundSystem
8 0x06 ERAPI_sound_unk1
8 0x07 ERAPI_Rand
8 0x08 ERAPI_SetSoundVolume
8 0x09 (?)
8 0x0A (?)
8 0x0B ERAPI_Set_040000xx
8 0x0C ERAPI_Get_040000xx
8 0x0D (?)
8 0x0E (?)
8 0x0F (?)
8 0x10 (?)
8 0x11 ERAPI_Div_Signed
8 0x12 ERAPI_RandMax
8 0x13 ERAPI_SetSoundSpeed
8 0x14 (?)
8 0x15 (?)
8 0x16 ERAPI_SoundPause
8 0x17 ERAPI_SoundResume
8 0x18 ERAPI_PlaySoundSystemEx
8 0x19 ERAPI_IsSoundPlaying
8 0x1A (?)
8 0x1B (?)
8 0x1C (?)
8 0x1D (?)
8 0x1E (?)
8 0x1F (?)
8 0x20 (?)
8 0x21 (?)
8 0x22 (?) ERAPI_sound_unk7
8 0x23 (?) ERAPI_sound_unk8
8 0x24 (?) ERAPI_sound_unk9
8 0x25 (?) ERAPI_sound_unk10
8 0x26 (?) bg0_bg1_bg2_bg3_mosaic
8 0x27 (?)
8 0x28 (?)
8 0x29 (?)
8 0x2A (?) get_u16_from_02030110
8 0x2B (?)
8 0x2C (?) get_u16_from_02030112
8 0x2D (?) get_u16_from_02030114
8 0x2E (?)
8 0x2F (?)
8 0x30 (?)
8 0x31 (?)
8 0x32 (?) Init_BLDCNT_FF_BLDY_08
8 0x33 (?) Init_BLDCNT_00
8 0x34 (?)
8 0x35 (?)
8 0x36 (?) ResetTimer3
8 0x37 (?) GetTimer3Counter
8 0x38 (?)

ERAPI_FadeIn
A speed, number of frames (0..x)
n/a

ERAPI_LoadBackgroundSystem
A number of background (1..101)
E bg# (0..3)
n/a

ERAPI_SetBackgroundOffset
A bg# (0..3)
DE X
BC Y
n/a

ERAPI_SetBackgroundMode
A mode (0..2)
n/a

ERAPI_LoadBackgroundCustom
A bg# (0..3)
DE pointer to struct_background
max. tile data size = 0x3000 bytes
max. map data size = 0x1000 bytes

ERAPI_CreateSpriteSystem
- -
n/a

ERAPI_SpriteFree
HL sprite handle
n/a

ERAPI_SetSpritePos
HL sprite handle
DE X
BC Y
n/a

ERAPI_SetSpriteFrame
HL sprite handle
E frame number (0..x)
n/a

ERAPI_SetSpriteAutoMove
HL sprite handle
DE X
BC Y
n/a

ERAPI_SpriteShow
HL sprite handle
n/a

ERAPI_SpriteHide
HL sprite handle
n/a

ERAPI_SpriteAutoScaleUntilSize
HL sprite handle
DE size (0x100 = normal size, lower value = larger, higher value = smaller)
C speed (higher value is slower)
n/a

ERAPI_SetSpriteVisible
HL sprite handle
E 0 = not visible / 1 = visible
n/a

ERAPI_SetBackgroundPalette
HL pointer to palette data
DE offset
C number of colors (1..x)
n/a

ERAPI_SetSpritePalette
HL pointer to palette data
DE offset
C number of colors (1..x)
n/a

ERAPI_CreateRegion
H bg# (0..3)
L palbank# (0..15)
D left (in tiles)
E top (in tiles)
B width (in tiles)
C height (in tiles)
n/a

ERAPI_SetTextColor
A region handle
D color foreground (0..15)
E color background (0..15)
n/a

ERAPI_DrawText
A region handle
BC pointer to text
D X
E Y
n/a

ERAPI_Exit
A return value (1=restart 2=exit)
n/a

ERAPI_PlaySoundSystem
HL sound number
n/a

ERAPI_RandMax
A max
returns random value in A in the range 0 to max-1

struct_background
u16 pointer to tile data
u16 pointer to palette data
u16 pointer to map data
u16 number of tiles (1..x)
u16 number of palettes (1..x)

struct_sprite
u16 pointer to tile data
u16 pointer to palette data
u8 width (in tiles)
u8 height (in tiles)
u8 frames
u8 ?
u8 ? tile width
u8 ? tile height
u8 ? frames