ROM map (Boktai 1): Difference between revisions

From Boktai Hacking Wiki
mNo edit summary
(MusicPlayer2000)
 
(2 intermediate revisions by the same user not shown)
Line 6: Line 6:
! Address || Description
! Address || Description
|-
|-
| 0x080001e0 || void Sys_InterruptHandler(void)
| 0x80001e0 || void Sys_InterruptHandler(void)
Will be copied to and executed from IWRAM at 0x03001d40
|-
|-
| 0x08000318 || void main(void)
| 0x8000318 || void main(void)
|-
|-
| 0x08000b68 || int Mem_FillArray_Scripted(void)
| 0x8000b68 || int Mem_FillArray_Scripted(void)
|-
|-
| 0x08000c54 || int Math_Rng_Scripted(void)
| 0x8000c54 || int rand_scripted(void)
Use with control 0xb745; u16 0x3469; keyword 'p'; i23 UPPER_BOUND from bytecode
|-
|-
| 0x08005788 || void Textbox_CloseChoices_Scripted(void)
| 0x8005788 || void Textbox_CloseChoices_Scripted(void)
|-
|-
| 0x08005a10 || void Textbox_Confirm_Scripted(int param_1)
| 0x8005a10 || void Textbox_Confirm_Scripted(int param_1)
|-
|-
| 0x080123f0 || undefined Sensor_GetBars(void)
| 0x801233c || short Sensor_GetBars(void)
|-
|-
| 0x080413f8 || bool Map_IsAreaCleared(uint area_id)
| 0x80123f0 || undefined Sensor_GetBars(void)
|-
|-
| 0x08044da0 || void Textbox_CloseBox_Scripted(void)
| 0x80413f8 || bool Map_IsAreaCleared(uint area_id)
|-
|-
| 0x0804533c || int Inventory_GiveItem(int item_id, int amount)
| 0x8044da0 || void Textbox_CloseBox_Scripted(void)
|-
|-
| 0x08045424 || int Inventory_GiveItem_Scripted(void)
| 0x804533c || int Inventory_GiveItem(int item_id, int amount)
|-
|-
| 0x08045560 || int Inventory_GetAmount(int item_id)
| 0x8045424 || int Inventory_GiveItem_Scripted(void)
|-
|-
| 0x080455b0 || int Inventory_GetAmount_Scripted(int item_id)
| 0x8045560 || int Inventory_GetAmount(int item_id)
|-
|-
| 0x08045638 || undefined Inventory_HasGrenadeType(void)
| 0x80455b0 || int Inventory_GetAmount_Scripted(int item_id)
|-
|-
| 0x08045690 || void Inventory_GiveGunPart(int gun_part_type, uint gun_part_id)
| 0x8045638 || undefined Inventory_HasGrenadeType(void)
|-
|-
| 0x080457c0 || undefined Inventory_HasGunPart(undefined4 part_type, undefined4 part_index)
| 0x8045690 || void Inventory_GiveGunPart(int gun_part_type, uint gun_part_id)
|-
|-
| 0x08127120 || void Map_AddEvent(Event * event)
| 0x80457c0 || undefined Inventory_HasGunPart(undefined4 part_type, undefined4 part_index)
|-
|-
| 0x08127e64 || undefined Map_SpawnChest_Scripted(void)
| 0x80814ec || void Enemy_SpawnBok(void)
|-
|-
| 0x0812f8f0 || void Textbox_Open(byte * pc)
| 0x812196c || int Video_GetTileMapLayerIndexById(TileMap * map, undefined2 id)
|-
|-
| 0x0812fa48 || undefined Textbox_Open_Scripted(void)
| 0x8121998 || undefined Video_LoadTileMap_Scripted(void)
|-
|-
| 0x0812fbfc || int Textbox_SetVar(int index, int value)
| 0x8121bd4 || int Video_LoadGlobalTileSet_Scripted(void)
|-
|-
| 0x0812fc20 || void Textbox_SetVar_Scripted(void)
| 0x8127120 || void Map_AddEvent(Event * event)
|-
|-
| 0x081bf3ec || void Math_WorldSpaceToViewSpace(short * view, short * world)
| 0x8127e64 || undefined Map_SpawnChest_Scripted(void)
control 0xb745
u16 0xddcf
|-
|-
| 0x081bf48c || void Math_WorldSpaceToScreenSpace(short * screen, short * world)
| 0x812f8f0 || void Textbox_Open(byte * pc)
|-
|-
| 0x081c4b90 || void * malloc(int bytes)
| 0x812fa48 || undefined Textbox_Open_Scripted(void)
ctrl_0xb745(0x1c64)
|-
|-
| 0x081c4c00 || void free(void * ptr)
| 0x812fbfc || int Textbox_SetVar(int index, int value)
|-
|-
| 0x081c4c7c || void memset32(int * destination, int value, int word_count)
| 0x812fc20 || void Textbox_SetVar_Scripted(void)
ctrl_0xb745(0xab3c)
|-
|-
| 0x081c4ca0 || void bzero(void * ptr, uint bytes)
| 0x8130aa4 || int Video_DrawTextSomewhere(int font, char * text)
|-
|-
| 0x081c4d0c || void memset(byte * destination, byte value, int byte_count)
| 0x8130bd8 || char * Video_DrawText(undefined4 font, char * text)
|-
|-
| 0x081c4d84 || void memcpy_slow(byte * destination, byte * source, int byte_count)
| 0x8130d1c || int Video_LoadFont(int param_1)
|-
|-
| 0x081c4dcc || void memcpy_dma(void * source, void * dest, int count)
| 0x81aa4dc || undefined OptionMenu_Update(OptionMenu * menu)
|-
|-
| 0x081c510c || void SolarSensor_Clock(void)
| 0x81bf298 || undefined Video_Render(void)
|-
|-
| 0x081c55b0 || void * Mft_bsearch(uint needle, undefined4 param_2, ushort file_id_low, undefined4 param_4, undefined4 param_5)
| 0x81bf3ec || void Math_WorldSpaceToViewSpace(short * view, short * world)
|-
|-
| 0x081c55ec || void * Mft_FileGetItem(int * file_ptr, uint file_id_high, short item_id, uint file_id_low)
| 0x81bf48c || void Math_WorldSpaceToScreenSpace(short * screen, short * world)
|-
|-
| 0x081c5644 || void * Mft_LookupFile(uint id, mft_index * array, int start, int size)
| 0x81bf510 || Animation * Animation_GetList(void)
|-
|-
| 0x081c567c || void * Mft_GetItem(int mft_key, int item_id)
| 0x81bf558 || int Animation_Install(Animation * anim, undefined4 priority)
|-
|-
| 0x081c57c8 || byte * Script_ReadLength(byte * pc, uint * length)
| 0x81bf688 || void Animation_Create(undefined4 anim, AnimationDefinition * def, undefined4 param_3)
|-
|-
| 0x081c584c || byte * Script_GetValueCore(byte * pc, uint * param_2, int * out_value)
| 0x81bf730 || void Animation_SetDefinition(Animation * anim, AnimationDefinition * def)
|-
|-
| 0x081c5a74 || undefined Script_StoreVariable(void)
| 0x81bf7a0 || void Animation_Render(undefined4 anim, undefined4 x, undefined4 y, undefined4 z)
|-
|-
| 0x081c5ac4 || byte * Script_SeekToKeyword(char keyword)
| 0x81bfcd8 || void Animation_RenderAll(void)
|-
|-
| 0x081c5b58 || int Script_GetValueAndUpdatePC(byte * pc)
| 0x81c00cc || void Video_LoadSpritePalettes(void)
|-
|-
| 0x081c5c14 || short Script_ExpectStringRef(byte * pc)
| 0x81c0138 || AnimationFrame * Animation_FindFrames(undefined2 id)
|-
|-
| 0x081c5c70 || byte * Script_GetPc(void)
| 0x81c0180 || int Animation_Load(AnimationDefinition * anim, undefined4 id)
|-
|-
| 0x081c5c98 || int Script_GetValue(void)
| 0x81c0220 || void Animation_SetPalette(AnimationDefinition * animation, undefined4 index)
|-
|-
| 0x081c5d00 || int Script_GetKeywordValue(char keyword, int default)
| 0x81c05dc || undefined * Video_GetBackgroundMapBuffer(int bg)
|-
|-
| 0x081c5e28 || byte * Script_LookupById'(int script_id, undefined * param_2)
| 0x81c0620 || undefined Video_ClearDispCntBits(void)
|-
|-
| 0x081c5e64 || byte * Script_LookupById(int script_id, undefined4 param_2)
| 0x81c0634 || undefined Video_SetDispCntBits(void)
|-
|-
| 0x081c5e74 || int Script_ExecById(int script_id, undefined4 param_2)
| 0x81c0848 || undefined Video_ScrollBackgrounds(void)
|-
|-
| 0x081c5f04 || script_index * Script_bsearch(script_index * index_start, int script_id, int index_size)
| 0x81c0950 || GlobalTileSetChunk * Video_FindGlobalTileSetChunk(GlobalTileSetB1 * param_1, short id)
|-
|-
| 0x081c5f40 || char * Textbox_LookupString(int id)
| 0x81c097c || undefined Video_LoadGlobalTileSet(undefined4 target, GlobalTileSetFileB1 * tileSet, undefined4 blockCount, ushort * blockIds, undefined4 loadOffsetTiles)
|-
|-
| 0x081c609c || int Script_ExecBlock(byte * pc, undefined4 param_2, undefined4 param_3)
| 0x81c0eac || undefined Video_LoadTileMap(undefined4 target, undefined4 param_2, TilemapFile * tileMap, undefined4 param_4, undefined4 param_5, undefined4 kwN, int * layerIndices)
|-
|-
| 0x081c614c || int Script_Exec(byte * pc, int param_2, int param_3)
| 0x81c114c || undefined Video_ScrollBackgroundBuffer(undefined param_1, undefined param_2, undefined param_3, undefined param_4, undefined4 param_5, undefined4 param_6)
|-
|-
| 0x081c6310 || undefined Script_LoadPointer(int param_1, int param_2, int param_3, int param_4)
| 0x81c1a74 || TilemapFile * Video_GetTileMapFile(undefined2 id)
|-
|-
| 0x081c6464 || undefined Script_StorePointerCore(void)
| 0x81c3ec4 || undefined Video_DrawCharNarrow(GBA_Tile * tiles, undefined4 param_2)
|-
|-
| 0x081c6508 || undefined Script_StorePointer(void)
| 0x81c42cc || void Video_DrawCharWide(byte * start, int param_2)
|-
|-
| 0x081c68b8 || int Script_Ctrl_if(byte * pc)
| 0x81c4b90 || void * malloc(int bytes)
|-
|-
| 0x081c68d4 || int Script_Ctrl_switch(byte * pc)
| 0x81c4c00 || void free(void * ptr)
|-
|-
| 0x081c6950 || void Script_Ctrl_return(void)
| 0x81c4c7c || void memset32(int * destination, int value, int word_count)
|-
|-
| 0x081c6a64 || undefined Script_RunOperator(void)
| 0x81c4ca0 || void bzero(void * ptr, uint bytes)
|-
|-
| 0x081c6b88 || undefined Script_RunExpression(void)
| 0x81c4d0c || void memset(byte * destination, byte value, int byte_count)
|-
|-
| 0x081cbea0 || undefined Math_InitRngTable(void)
| 0x81c4d84 || void memcpy_slow(byte * destination, byte * source, int byte_count)
|-
|-
| 0x081ce8e8 || void Map_CallInitScript_Scripted(void)
| 0x81c4dcc || void memcpy_dma(void * source, void * dest, int count)
|-
|-
| 0x081cea04 || undefined Script_Ctrl_d4cb(void)
| 0x81c4e38 || void Actor_Install(Actor * param_1)
|-
|-
| 0x081cfac8 || void Camera_SetBounds(int minX, int minY, int maxX, int maxY)
| 0x81c4e58 || void Actor_Uninstall(Actor * * param_1)
|-
|-
| 0x081cfb84 || void Camera_SetBounds_Scripted(void)
| 0x81c4e80 || Actor * Actor_Create(undefined1 type, undefined4 size)
|-
|-
| 0x081d02c4 || int Camera_Unlock(void)
| 0x81c4ec8 || undefined Actor_SetCallbacks(Actor * actor, ActionOfPtr * onFrame, ActionOfPtr * onDestroy)
|-
|-
| 0x081d095c || byte * Script_GetPcSlow(void)
| 0x81c4ed0 || void Actor_RunAll(void)
|-
|-
| 0x081d83c0 || void Mem_CpuFastSet(void * source, void * dest, uint wordcount)
| 0x81c4f44 || undefined Actor_Destroy(Actor * actor)
|-
|-
| 0x081d83c4 || void Mem_CpuSet(void * source, void * destination, uint count)
| 0x81c510c || void SolarSensor_Clock(void)
|-
|-
| 0x081d83c8 || int Math_DivArm(int divisor, int dividend)
| 0x81c55b0 || void * Mft_bsearch(uint needle, undefined4 param_2, ushort file_id_low, undefined4 param_4, undefined4 param_5)
|-
|-
| 0x081d83cc || int Math_ModArm(int divisor, int dividend)
| 0x81c55ec || void * Mft_FileGetItem(int * file_ptr, uint file_id_high, short item_id, uint file_id_low)
|-
|-
| 0x081d83d4 || void Mem_LZ77_Decompress8Bit(void * source, void * destination)
| 0x81c5644 || void * Mft_LookupFile(uint id, mft_index * array, int start, int size)
|-
|-
| 0x081d83d8 || void Sound_BiasLow(void)
| 0x81c567c || void * Mft_GetItem(int mft_key, int item_id)
|-
|-
| 0x081d83e0 || undefined Sound_BiasHigh(void)
| 0x81c57c8 || byte * Script_ReadLength(byte * pc, uint * length)
Returns pc after all the length bytes, the length itself is stored in *length.
|-
|-
| 0x081d83e8 || uint Math_Sqrt(uint x)
| 0x81c584c || byte * Script_GetValueCore(byte * pc, uint * param_2, int * out_value)
|-
|-
| 0x081d83ec || void Sys_WaitForVBlank(void)
| 0x81c59fc || void * Script_SetCurrentArgs(void * argp, undefined4 param_2)
|-
|-
| 0x082cce44 || undefined switchD(void)
| 0x81c5a74 || undefined Script_StoreVariable(void)
|-
|-
| 0x08584c00 || [[Engine calls (Boktai_1)|Engine call]] table (null-terminated array of <code>struct { void(*)(int r0) fn; int id; }</code>)
| 0x81c5ac4 || byte * Script_SeekToKeyword(char keyword)
|-
|-
| 0x085b02c4 || mft_header[] - [[Master file table]]
| 0x81c5b58 || int Script_GetValueAndUpdatePC(byte * pc)
|-
| 0x81c5c14 || short Script_ExpectStringRef(byte * pc)
Returns the value of the `string-ref` instruction that begins at `pc`.
|-
| 0x81c5c70 || byte * Script_GetPc(void)
|-
| 0x81c5c98 || int Script_GetValue(void)
|-
| 0x81c5d00 || int Script_GetKeywordValue(char keyword, int default)
|-
| 0x81c5e28 || byte * Script_LookupById'(int script_id, undefined * param_2)
|-
| 0x81c5e64 || byte * Script_LookupById(int script_id, undefined4 param_2)
|-
| 0x81c5e74 || int Script_ExecById(int script_id, void * argp)
|-
| 0x81c5f04 || script_index * Script_bsearch(script_index * index_start, int script_id, int index_size)
|-
| 0x81c5f40 || char * Textbox_LookupString(int id)
|-
| 0x81c609c || int Script_ExecBlock(byte * pc, void * argp, undefined4 param_3)
|-
| 0x81c6128 || int Script_ExecByPointer(undefined4 pc, void * argp)
|-
| 0x81c614c || int Script_Exec(byte * pc, void * argp, int param_3)
|-
| 0x81c624c || void Save_BackupStatAndWorld(void)
|-
| 0x81c6310 || undefined Script_LoadPointer(int param_1, int param_2, int param_3, int param_4)
|-
| 0x81c6464 || undefined Script_StorePointerCore(undefined * base, undefined4 typeAndBit, undefined4 index, undefined4 value)
|-
| 0x81c6508 || undefined Script_StorePointer(void)
|-
| 0x81c66e0 || undefined Save_BackupStatAndWorld_Specific(void)
|-
| 0x81c68b8 || int Script_Ctrl_if(byte * pc)
|-
| 0x81c68d4 || int Script_Ctrl_switch(byte * pc)
|-
| 0x81c6950 || void Script_Ctrl_return(void)
|-
| 0x81c6a64 || undefined Script_RunOperator(void)
|-
| 0x81c6b88 || undefined Script_RunExpression(void)
|-
| 0x81cbea0 || undefined Math_InitRngTable(void)
|-
| 0x81ce860 || int Save_BackupStatAndWorld_Scripted(void)
|-
| 0x81ce8e8 || void Map_CallInitScript_Scripted(void)
ctrl_0xc8bb
|-
| 0x81cea04 || undefined Script_Ctrl_d4cb(void)
|-
| 0x81cfac8 || void Camera_SetBounds(int minX, int minY, int maxX, int maxY)
|-
| 0x81cfb84 || void Camera_SetBounds_Scripted(void)
ctrl_0xb745(0x63b)
|-
| 0x81d02c4 || int Camera_Unlock(void)
|-
| 0x81d095c || byte * Script_GetPcSlow(void)
Why does this function exist?
|-
| 0x81d0ad0 || void SetTimeout_Update(SetTimeoutActor * actor)
|-
| 0x81d0b40 || undefined SetTimeout_Destroy(void)
|-
| 0x81d0b44 || SetTimeoutActor * SetTimeout(int callback, int * args, int timeout)
|-
| 0x81d0bc8 || undefined SetTimeout_Scripted(void)
|-
| 0x81d3b40 || void Sound_Play(uint param_1)
|-
| 0x81d5790 || undefined MP2K_SoundVSync(void)
|-
| 0x81d5dec || undefined MP2K_SoundInit(void)
|-
| 0x81d5e64 || undefined MP2K_SoundMain(void)
|-
| 0x81d5e70 || void MP2K_SongNumStart(int param_1)
|-
| 0x81d83c0 || void Mem_CpuFastSet(void * source, void * dest, uint wordcount)
|-
| 0x81d83c4 || void Mem_CpuSet(void * source, void * destination, uint count)
|-
| 0x81d83c8 || int Math_DivArm(int divisor, int dividend)
|-
| 0x81d83cc || int Math_ModArm(int divisor, int dividend)
|-
| 0x81d83d4 || void Mem_LZ77_Decompress8Bit(void * source, void * destination)
|-
| 0x81d83d8 || void Sound_BiasLow(void)
|-
| 0x81d83e0 || undefined Sound_BiasHigh(void)
|-
| 0x81d83e8 || uint Math_Sqrt(uint x)
|-
| 0x81d83ec || void Sys_WaitForVBlank(void)
|-
| 0x81d90f8 || undefined4 CallParam2(void * param_1, ActionOfPtr * fn)
|-
| 0x81ec904 || MP2K_SongTable (906 entries)
|-
| 0x82cce44 || undefined switchD(void)
|-
| 0x8584c00 || [[Engine calls (Boktai_1)|Engine call]] table (null-terminated array of <code>struct { void(*)(int r0) fn; int id; }</code>)
|-
| 0x85b02c4 || mft_header[] - [[Master file table]]
|}
|}


[[Category:Documentation]]
[[Category:Documentation]]
[[Category:Boktai 1]]
[[Category:Boktai 1]]

Latest revision as of 11:25, 19 October 2024

This is the ROM map for Boktai 1 (U).

Address Description
0x80001e0 void Sys_InterruptHandler(void)

Will be copied to and executed from IWRAM at 0x03001d40

0x8000318 void main(void)
0x8000b68 int Mem_FillArray_Scripted(void)
0x8000c54 int rand_scripted(void)

Use with control 0xb745; u16 0x3469; keyword 'p'; i23 UPPER_BOUND from bytecode

0x8005788 void Textbox_CloseChoices_Scripted(void)
0x8005a10 void Textbox_Confirm_Scripted(int param_1)
0x801233c short Sensor_GetBars(void)
0x80123f0 undefined Sensor_GetBars(void)
0x80413f8 bool Map_IsAreaCleared(uint area_id)
0x8044da0 void Textbox_CloseBox_Scripted(void)
0x804533c int Inventory_GiveItem(int item_id, int amount)
0x8045424 int Inventory_GiveItem_Scripted(void)
0x8045560 int Inventory_GetAmount(int item_id)
0x80455b0 int Inventory_GetAmount_Scripted(int item_id)
0x8045638 undefined Inventory_HasGrenadeType(void)
0x8045690 void Inventory_GiveGunPart(int gun_part_type, uint gun_part_id)
0x80457c0 undefined Inventory_HasGunPart(undefined4 part_type, undefined4 part_index)
0x80814ec void Enemy_SpawnBok(void)
0x812196c int Video_GetTileMapLayerIndexById(TileMap * map, undefined2 id)
0x8121998 undefined Video_LoadTileMap_Scripted(void)
0x8121bd4 int Video_LoadGlobalTileSet_Scripted(void)
0x8127120 void Map_AddEvent(Event * event)
0x8127e64 undefined Map_SpawnChest_Scripted(void)

control 0xb745 u16 0xddcf

0x812f8f0 void Textbox_Open(byte * pc)
0x812fa48 undefined Textbox_Open_Scripted(void)

ctrl_0xb745(0x1c64)

0x812fbfc int Textbox_SetVar(int index, int value)
0x812fc20 void Textbox_SetVar_Scripted(void)

ctrl_0xb745(0xab3c)

0x8130aa4 int Video_DrawTextSomewhere(int font, char * text)
0x8130bd8 char * Video_DrawText(undefined4 font, char * text)
0x8130d1c int Video_LoadFont(int param_1)
0x81aa4dc undefined OptionMenu_Update(OptionMenu * menu)
0x81bf298 undefined Video_Render(void)
0x81bf3ec void Math_WorldSpaceToViewSpace(short * view, short * world)
0x81bf48c void Math_WorldSpaceToScreenSpace(short * screen, short * world)
0x81bf510 Animation * Animation_GetList(void)
0x81bf558 int Animation_Install(Animation * anim, undefined4 priority)
0x81bf688 void Animation_Create(undefined4 anim, AnimationDefinition * def, undefined4 param_3)
0x81bf730 void Animation_SetDefinition(Animation * anim, AnimationDefinition * def)
0x81bf7a0 void Animation_Render(undefined4 anim, undefined4 x, undefined4 y, undefined4 z)
0x81bfcd8 void Animation_RenderAll(void)
0x81c00cc void Video_LoadSpritePalettes(void)
0x81c0138 AnimationFrame * Animation_FindFrames(undefined2 id)
0x81c0180 int Animation_Load(AnimationDefinition * anim, undefined4 id)
0x81c0220 void Animation_SetPalette(AnimationDefinition * animation, undefined4 index)
0x81c05dc undefined * Video_GetBackgroundMapBuffer(int bg)
0x81c0620 undefined Video_ClearDispCntBits(void)
0x81c0634 undefined Video_SetDispCntBits(void)
0x81c0848 undefined Video_ScrollBackgrounds(void)
0x81c0950 GlobalTileSetChunk * Video_FindGlobalTileSetChunk(GlobalTileSetB1 * param_1, short id)
0x81c097c undefined Video_LoadGlobalTileSet(undefined4 target, GlobalTileSetFileB1 * tileSet, undefined4 blockCount, ushort * blockIds, undefined4 loadOffsetTiles)
0x81c0eac undefined Video_LoadTileMap(undefined4 target, undefined4 param_2, TilemapFile * tileMap, undefined4 param_4, undefined4 param_5, undefined4 kwN, int * layerIndices)
0x81c114c undefined Video_ScrollBackgroundBuffer(undefined param_1, undefined param_2, undefined param_3, undefined param_4, undefined4 param_5, undefined4 param_6)
0x81c1a74 TilemapFile * Video_GetTileMapFile(undefined2 id)
0x81c3ec4 undefined Video_DrawCharNarrow(GBA_Tile * tiles, undefined4 param_2)
0x81c42cc void Video_DrawCharWide(byte * start, int param_2)
0x81c4b90 void * malloc(int bytes)
0x81c4c00 void free(void * ptr)
0x81c4c7c void memset32(int * destination, int value, int word_count)
0x81c4ca0 void bzero(void * ptr, uint bytes)
0x81c4d0c void memset(byte * destination, byte value, int byte_count)
0x81c4d84 void memcpy_slow(byte * destination, byte * source, int byte_count)
0x81c4dcc void memcpy_dma(void * source, void * dest, int count)
0x81c4e38 void Actor_Install(Actor * param_1)
0x81c4e58 void Actor_Uninstall(Actor * * param_1)
0x81c4e80 Actor * Actor_Create(undefined1 type, undefined4 size)
0x81c4ec8 undefined Actor_SetCallbacks(Actor * actor, ActionOfPtr * onFrame, ActionOfPtr * onDestroy)
0x81c4ed0 void Actor_RunAll(void)
0x81c4f44 undefined Actor_Destroy(Actor * actor)
0x81c510c void SolarSensor_Clock(void)
0x81c55b0 void * Mft_bsearch(uint needle, undefined4 param_2, ushort file_id_low, undefined4 param_4, undefined4 param_5)
0x81c55ec void * Mft_FileGetItem(int * file_ptr, uint file_id_high, short item_id, uint file_id_low)
0x81c5644 void * Mft_LookupFile(uint id, mft_index * array, int start, int size)
0x81c567c void * Mft_GetItem(int mft_key, int item_id)
0x81c57c8 byte * Script_ReadLength(byte * pc, uint * length)

Returns pc after all the length bytes, the length itself is stored in *length.

0x81c584c byte * Script_GetValueCore(byte * pc, uint * param_2, int * out_value)
0x81c59fc void * Script_SetCurrentArgs(void * argp, undefined4 param_2)
0x81c5a74 undefined Script_StoreVariable(void)
0x81c5ac4 byte * Script_SeekToKeyword(char keyword)
0x81c5b58 int Script_GetValueAndUpdatePC(byte * pc)
0x81c5c14 short Script_ExpectStringRef(byte * pc)

Returns the value of the `string-ref` instruction that begins at `pc`.

0x81c5c70 byte * Script_GetPc(void)
0x81c5c98 int Script_GetValue(void)
0x81c5d00 int Script_GetKeywordValue(char keyword, int default)
0x81c5e28 byte * Script_LookupById'(int script_id, undefined * param_2)
0x81c5e64 byte * Script_LookupById(int script_id, undefined4 param_2)
0x81c5e74 int Script_ExecById(int script_id, void * argp)
0x81c5f04 script_index * Script_bsearch(script_index * index_start, int script_id, int index_size)
0x81c5f40 char * Textbox_LookupString(int id)
0x81c609c int Script_ExecBlock(byte * pc, void * argp, undefined4 param_3)
0x81c6128 int Script_ExecByPointer(undefined4 pc, void * argp)
0x81c614c int Script_Exec(byte * pc, void * argp, int param_3)
0x81c624c void Save_BackupStatAndWorld(void)
0x81c6310 undefined Script_LoadPointer(int param_1, int param_2, int param_3, int param_4)
0x81c6464 undefined Script_StorePointerCore(undefined * base, undefined4 typeAndBit, undefined4 index, undefined4 value)
0x81c6508 undefined Script_StorePointer(void)
0x81c66e0 undefined Save_BackupStatAndWorld_Specific(void)
0x81c68b8 int Script_Ctrl_if(byte * pc)
0x81c68d4 int Script_Ctrl_switch(byte * pc)
0x81c6950 void Script_Ctrl_return(void)
0x81c6a64 undefined Script_RunOperator(void)
0x81c6b88 undefined Script_RunExpression(void)
0x81cbea0 undefined Math_InitRngTable(void)
0x81ce860 int Save_BackupStatAndWorld_Scripted(void)
0x81ce8e8 void Map_CallInitScript_Scripted(void)

ctrl_0xc8bb

0x81cea04 undefined Script_Ctrl_d4cb(void)
0x81cfac8 void Camera_SetBounds(int minX, int minY, int maxX, int maxY)
0x81cfb84 void Camera_SetBounds_Scripted(void)

ctrl_0xb745(0x63b)

0x81d02c4 int Camera_Unlock(void)
0x81d095c byte * Script_GetPcSlow(void)

Why does this function exist?

0x81d0ad0 void SetTimeout_Update(SetTimeoutActor * actor)
0x81d0b40 undefined SetTimeout_Destroy(void)
0x81d0b44 SetTimeoutActor * SetTimeout(int callback, int * args, int timeout)
0x81d0bc8 undefined SetTimeout_Scripted(void)
0x81d3b40 void Sound_Play(uint param_1)
0x81d5790 undefined MP2K_SoundVSync(void)
0x81d5dec undefined MP2K_SoundInit(void)
0x81d5e64 undefined MP2K_SoundMain(void)
0x81d5e70 void MP2K_SongNumStart(int param_1)
0x81d83c0 void Mem_CpuFastSet(void * source, void * dest, uint wordcount)
0x81d83c4 void Mem_CpuSet(void * source, void * destination, uint count)
0x81d83c8 int Math_DivArm(int divisor, int dividend)
0x81d83cc int Math_ModArm(int divisor, int dividend)
0x81d83d4 void Mem_LZ77_Decompress8Bit(void * source, void * destination)
0x81d83d8 void Sound_BiasLow(void)
0x81d83e0 undefined Sound_BiasHigh(void)
0x81d83e8 uint Math_Sqrt(uint x)
0x81d83ec void Sys_WaitForVBlank(void)
0x81d90f8 undefined4 CallParam2(void * param_1, ActionOfPtr * fn)
0x81ec904 MP2K_SongTable (906 entries)
0x82cce44 undefined switchD(void)
0x8584c00 Engine call table (null-terminated array of struct { void(*)(int r0) fn; int id; })
0x85b02c4 mft_header[] - Master file table