ROM map (Boktai 3): Difference between revisions
No edit summary |
No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
! Address || Description | ! Address || Description | ||
|- | |- | ||
| | | 0x80001f0 || undefined IRQ_Dispatcher(void) | ||
Copied to IWRAM @ 0x3003a60 during boot, and executed from there | |||
|- | |- | ||
| | | 0x8000350 || int Video_UpdateSpritePalette(Sprite * param_1, undefined4 * param_2) | ||
Copied to and executed from IWRAM @ 0x03000000. Sprite rendering related. | |||
|- | |- | ||
| | | 0x8000430 || undefined Video_RenderSprite(Sprite * param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4) | ||
Copied to and executed from IWRAM @ 0x030000e0 (more functions like this follow). Renders one sprite. | |||
|- | |- | ||
| | | 0x8000e90 || undefined Video_RenderAllSpritesImpl(void) | ||
Copied to and executed from IWRAM @ 0x03000b40. Renders all sprites. | |||
|- | |- | ||
| | | 0x800145c || undefined main(void) | ||
|- | |- | ||
| | | 0x800211c || undefined Video_LoadGlobalTileset_Scripted(void) | ||
|- | |- | ||
| | | 0x8030c84 || int TextBox_Open(byte * param_1) | ||
|- | |- | ||
| | | 0x8030d9c || undefined TextBox_OpenScripted(void) | ||
|- | |- | ||
| | | 0x8031eac || void TextBox_AdvanceVertically(TextBoxOutput * out) | ||
|- | |- | ||
| | | 0x8031ed8 || undefined TextBox_AdvanceHorizontally(TextBoxOutput * param_1, bool isWide) | ||
|- | |- | ||
| | | 0x8031f58 || undefined TextBox_DrawCharNarrow(TextBoxOutput * param_1, undefined4 ch) | ||
|- | |- | ||
| | | 0x8031fa0 || undefined TextBox_DrawCharWide(void) | ||
|- | |- | ||
| | | 0x8032070 || int16_t Text_ParseEscapeSequence(char * text) | ||
|- | |- | ||
| | | 0x803223c || char * String_FindCharOrNullTerminator(char * s, char ch) | ||
Almost like strchr(3), but strchr would return NULL if it reaches the | |||
null terminator. This function will return a pointer to the null | |||
terminator instead. | |||
|- | |- | ||
| | | 0x8032a44 || int TextBox_DrawTextImpl(int param_1, char * param_2) | ||
|- | |- | ||
| | | 0x8032b24 || undefined TextBox_DrawText(void) | ||
|- | |- | ||
| | | 0x8032c54 || void TextBox_SetBounds(TextBoxOutput * param_1, undefined1 x, undefined1 y, undefined1 width, undefined1 height) | ||
|- | |- | ||
| | | 0x8033e18 || undefined Credits_Update(void) | ||
|- | |- | ||
| | | 0x8033e74 || int Credits_Destroy(int param_1) | ||
|- | |- | ||
| | | 0x8033ea4 || undefined Credits_LoadData(void) | ||
|- | |- | ||
| | | 0x8033fec || undefined Credits_Init(void) | ||
|- | |- | ||
| | | 0x8034030 || undefined Credits_Create(void) | ||
|- | |- | ||
| | | 0x810fddc || undefined BikeRace_Render3Digits(void) | ||
|- | |||
| 0x8110834 || undefined BikeRace_RecordScreen_Update(void) | |||
|- | |||
| 0x811086c || undefined BikeRace_RecordScreen_Destroy(void) | |||
|- | |||
| 0x8110894 || int BikeRace_RecordScreen_Init(int param_1) | |||
|- | |||
| 0x8110a40 || undefined BikeRace_RecordScreen_Create(void) | |||
|- | |||
| 0x816381c || void Video_AnimatePalette(ushort * palEntry, byte * timer) | |||
|- | |||
| 0x8163f14 || undefined4 __Example_LoadTilemap(undefined4 actor, undefined4 tilemap, short param_3, undefined4 param_4, undefined * palette) | |||
|- | |||
| 0x8179320 || undefined BikeRace_UpdateSpeed(void) | |||
|- | |||
| 0x81793ec || undefined BikeRace_UpdateTimer(void) | |||
|- | |||
| 0x81db474 || void OptionMenu_Update(OptionMenu * menu) | |||
|- | |||
| 0x81db75c || undefined OptionMenu_Destroy(void) | |||
|- | |||
| 0x81db794 || int OptionMenu_Init(OptionMenu * menu) | |||
|- | |||
| 0x81dbb0c || OptionMenu * OptionMenu_Create(void) | |||
|- | |||
| 0x81dc02c || void Menu_EraseRect(uint x, uint y, int width, int height) | |||
|- | |||
| 0x81dc054 || void Video_DrawText(uint x, uint y, char * text) | |||
|- | |||
| 0x81dc154 || void Menu_RenderOption(undefined4 param_1, undefined4 param_2, undefined4 pc, undefined4 option_index) | |||
|- | |||
| 0x81dc178 || undefined Sprite_SetPos(Sprite * param_1, SpritePos * param_2) | |||
|- | |||
| 0x81dc244 || undefined EnterPasswordYesNo_Update(EnterPasswordYesNo * param_1) | |||
|- | |||
| 0x81dc448 || undefined EnterPasswordYesNo_Destroy(EnterPasswordYesNo * param_1) | |||
|- | |||
| 0x81dc470 || int EnterPasswordYesNo_Init(EnterPasswordYesNo * param_1) | |||
|- | |||
| 0x81dc6d0 || void Time_ShowRegionMenu(int param_1) | |||
|- | |||
| 0x81dc754 || void Time_RegionMenuOnSelect(TimeMenu * param_1) | |||
Called when selecting an option | |||
in the region menu | |||
|- | |||
| 0x81dc7a0 || void Time_HandleRegionKeypad(TimeMenu * param_1) | |||
|- | |||
| 0x81dca6c || void Time_DestroyRegionMenu(int param_1) | |||
|- | |||
| 0x81dca9a || int Time_LoadRegionList(int param_1) | |||
|- | |||
| 0x81dca9c || int Time_LoadRegionList(void * param_1) | |||
|- | |||
| 0x81dcdf4 || void * Time_StartRegionMenu(void) | |||
|- | |||
| 0x81ddbc0 || void NameEntry_HandleKeypad(int param_1) | |||
|- | |||
| 0x81de5e4 || void TimeMenu_HideSprites(TimeMenu * menu) | |||
|- | |||
| 0x81de630 || void TimeMenu_InitNumberSprites(TimeMenu * menu) | |||
|- | |||
| 0x81de6c4 || void TimeMenu_InitFields(TimeMenu * menu) | |||
|- | |||
| 0x81de780 || void TimeMenu_RenderCursor(TimeMenu * param_1) | |||
|- | |||
| 0x81de84c || void TimeMenu_RenderNumbers(TimeMenu * param_1) | |||
|- | |||
| 0x81dea60 || void TimeMenu_HandleKeypadUpDown(TimeMenu * param_1) | |||
|- | |||
| 0x81dec2c || void TimeMenu_Update(TimeMenu * param_1) | |||
|- | |||
| 0x81dedf4 || undefined TimeMenu_Destroy(void) | |||
|- | |||
| 0x81dee38 || undefined TimeMenu_Init(TimeMenu * menu) | |||
|- | |||
| 0x81df0ac || undefined TimeMenu_Create(void) | |||
|- | |||
| 0x81df1d8 || void PasswordMenu_CalcCursorPosition(PasswordMenu * menu) | |||
|- | |||
| 0x81df32c || undefined PasswordMenu_HandleKeypadUp(void) | |||
|- | |||
| 0x81df510 || void PasswordMenu_HandleKeypadDown(PasswordMenu * menu) | |||
|- | |||
| 0x81df694 || undefined PasswordMenu_HandleKeypadLeft(void) | |||
|- | |||
| 0x81df878 || undefined PasswordMenu_HandleKeypadRight(void) | |||
|- | |||
| 0x81dfa50 || void PasswordMenu_DrawPassword(PasswordMenu * menu) | |||
|- | |||
| 0x81dfb18 || void PasswordMenu_DrawPasswordChar(PasswordMenu * menu, int position) | |||
|- | |||
| 0x81dfb9c || void PasswordMenu_RenderCaret(PasswordMenu * param_1) | |||
|- | |||
| 0x81dfc1c || bool PasswordMenu_AddCharacter(PasswordMenu * param_1) | |||
|- | |||
| 0x81dfc60 || int PasswordMenu_RemoveChar(PasswordMenu * menu) | |||
|- | |||
| 0x81dfcb4 || void PasswordMenu_Update(PasswordMenu * param_1) | |||
|- | |||
| 0x81e00e8 || void PasswordMenu_Destroy(PasswordMenu * param_1) | |||
|- | |||
| 0x81e013c || int PasswordMenu_Init(PasswordMenu * param_1) | |||
|- | |||
| 0x81e0474 || PasswordMenu * PasswordMenu_Create(void) | |||
|- | |||
| 0x81e2f44 || undefined Help_InitHelpScreen(void) | |||
|- | |||
| 0x8210a8c || int Album_GetAcquiredCount(void) | |||
|- | |||
| 0x8210b50 || int Album_GetPageCount(void) | |||
|- | |||
| 0x8210f04 || undefined AlbumMenu_InitUI(AlbumMenu * param_1) | |||
|- | |||
| 0x82112f4 || undefined AlbumMenu_Update(void) | |||
|- | |||
| 0x821159c || undefined AlbumMenu_Init(void) | |||
|- | |||
| 0x82116a8 || undefined AlbumMenu_Create(void) | |||
|- | |||
| 0x8213888 || undefined DollMenu_Update(void) | |||
|- | |||
| 0x8213d10 || undefined Mem_InitializeMemoryWithDMA(void) | |||
Copies interrupt dispatcher (ARM code) from ROM to IWRAM, | |||
Clears VRAM/OAM/PAL, | |||
and enables game pak & V-Blank interrupts | |||
|- | |||
| 0x8213fd8 || undefined IRQ_DefaultVBlankHandler(void) | |||
Default handler for V-blank IRQ | |||
|- | |||
| 0x8214144 || void IRQ_DefaultVCounterHandler(void) | |||
Default handler for V-counter match IRQ | |||
|- | |||
| 0x82141b4 || undefined IRQ_DefaultHBlankHandler(void) | |||
Default handler for H-blank IRQ (no-op) | |||
|- | |||
| 0x82141b8 || undefined IRQ_DefaultKeypadHandler(void) | |||
Default handler for keypad IRQ (no-op) | |||
|- | |||
| 0x82141bc || undefined IRQ_NoHandler(void) | |||
|- | |||
| 0x8214424 || int Sprite_Install(Sprite * sprite, int param_2) | |||
|- | |||
| 0x8214450 || void Sprite_Uninstall(Sprite * param_1, undefined4 param_2) | |||
|- | |||
| 0x8215698 || undefined Video_GetBackgroundMap(undefined4 bgNum) | |||
|- | |||
| 0x82156b8 || void Video_ClearBackgroundMap(int bgNum) | |||
|- | |||
| 0x8215c8c || GlobalTileSetChunk * Video_FindTileSetChunk(GlobalTileSet * set, undefined2 id) | |||
|- | |||
| 0x8215d40 || int Video_LoadGlobalTileset(undefined4 bgNum, GlobalTileSetFile * tilesetFile, undefined4 blockCount, ushort * blockIds, undefined4 param_5) | |||
Loads tilset from directory id_low=0x4f2d id_high=0xcee5 file=8e32 | |||
|- | |||
| 0x8216e54 || TilemapFile * Video_LoadTileMap(ushort id) | |||
|- | |||
| 0x8218be0 || int Video_LoadFont(void) | |||
|- | |||
| 0x8218c78 || GBA_Tile * Video_GetFontNarrowData(void) | |||
|- | |||
| 0x8218c94 || undefined * Video_GetFontWideData(void) | |||
|- | |||
| 0x8218cb0 || void Video_ClearBackgroundMap0(void) | |||
|- | |||
| 0x8218d1c || undefined Video_LoadCharFromFont(undefined4 param_1, undefined4 ch, undefined4 param_3, undefined4 param_4, undefined4 param_5) | |||
|- | |||
| 0x8218f2c || void Video_DrawCharNarrow(undefined4 ch, undefined4 x, undefined4 y, undefined4 param_4) | |||
|- | |||
| 0x8218fb4 || undefined Video_DrawCharWide(void) | |||
|- | |||
| 0x82195e0 || void Sprite_Destroy(Sprite * param_1) | |||
|- | |||
| 0x8219624 || void Video_RenderAllSprites(void) | |||
Calls Video_RenderAllSpritesImpl in IWRAM | |||
|- | |||
| 0x82196c4 || int SpriteSet_Load(SpriteSet * dest, SpriteSetHeader * src) | |||
|- | |||
| 0x8219728 || int Sprite_LoadSprite(Sprite * sprite, SpriteSet * set, uint spriteIndex) | |||
|- | |||
| 0x82197a4 || int Sprite_InitWithSprite(undefined4 sprite, SpriteSet * set, undefined4 spriteIndex, undefined4 param_4, undefined1 param_5, undefined1 param_6, undefined2 param_7, short * initialPosition) | |||
|- | |||
| 0x821980c || int Sprite_SetSprite(Sprite * sprite, SpriteSet * set, undefined2 index, undefined param_4) | |||
|- | |||
| 0x821983c || int Sprite_Create(Sprite * sprite, SpriteSet * set, int spriteId, uint param_4, undefined param_5, undefined param_6, undefined param_7, int * initialPosition) | |||
|- | |||
| 0x8219aac || undefined Actor_Boot(void) | |||
|- | |||
| 0x8219b24 || void Sys_ReadKeypad(void) | |||
|- | |||
| 0x8219c00 || uint rand_bootstrap(void) | |||
|- | |||
| 0x8219c40 || void * malloc(int bytes) | |||
|- | |||
| 0x8219cb4 || undefined malloc2(void) | |||
TODO: How is this different from malloc? | |||
|- | |||
| 0x8219d38 || void free(void * mem) | |||
|- | |||
| 0x8219db4 || void memcpy(void * dest, void * source, uint len) | |||
|- | |||
| 0x8219dd8 || void bzero(void * mem, uint bytes) | |||
|- | |||
| 0x8219ebc || undefined memcpy_slow(void) | |||
|- | |||
| 0x8219f50 || undefined Actor_InitializeList(void) | |||
|- | |||
| 0x8219f74 || void Actor_Install(Actor * param_1) | |||
Adds an [[actor]] to the actor list. | |||
|- | |||
| 0x8219f94 || void Actor_Uninstall(Actor * * param_1) | |||
Removes an actor from the actor list. | |||
|- | |||
| 0x8219fbc || Actor * Actor_Create(byte type, undefined4 size) | |||
Allocates an actor, and adds it to the actor list. | |||
|- | |||
| 0x821a004 || Actor * Actor_Create2(undefined1 type, undefined4 size) | |||
Like Actor_Create, but uses malloc2 instead of malloc. | |||
|- | |||
| 0x821a04c || void Actor_SetCallbacks(Actor * object, ActionOfPtr * frame_cb, ActionOfPtr * destroy_cb) | |||
Sets the "on_frame" and "on_destroy" callbacks of an actor. | |||
|- | |||
| 0x821a054 || void Actor_RunAll(void) | |||
Runs the onFrame and onDestroy (as required) callbacks for all actors | |||
|- | |||
| 0x821a0c0 || int Actor_Delete(Actor * param_1) | |||
|- | |||
| 0x821a520 || void * Mft_GetFile(ushort dirId, undefined4 fileId) | |||
|- | |||
| 0x821a66c || int Script_ReadLength(byte * pc, int * length) | |||
Returns pc after all the length bytes, the length itself is stored in *length. | |||
|- | |||
| 0x821a6f0 || byte * Script_GetValueCore(byte * pc, uint * param_2, int * out_value) | |||
|- | |||
| 0x821a91c || undefined Script_StoreVariable(void) | |||
|- | |||
| 0x821a960 || void Script_SetPc(byte * pc) | |||
|- | |||
| 0x821a96c || byte * Script_SeekToKeyword(char kw) | |||
|- | |||
| 0x821aa00 || int Script_GetValueAt(byte * pc) | |||
|- | |||
| 0x821aa88 || int Script_GetValueAtSafe(byte * param_1) | |||
|- | |||
| 0x821aabc || ushort Script_ParseStringRef(byte * pc) | |||
|- | |||
| 0x821ab18 || void * Script_GetPc(void) | |||
|- | |||
| 0x821ab40 || int Script_GetValue(void) | |||
|- | |||
| 0x821ab88 || int Script_GetValueSafe(void) | |||
|- | |||
| 0x821aba8 || int Script_GetKeywordValue(char kw, int fallback) | |||
|- | |||
| 0x821acdc || byte * Script_LookupById(int script_id, uint * param_2) | |||
|- | |||
| 0x821ad08 || int Script_ExecById(int script_id, int param_2) | |||
|- | |||
| 0x821add4 || char * Textbox_LookupString(int string_id) | |||
|- | |||
| 0x821af2c || int Script_ExecBlock(byte * pc, undefined4 param_2, undefined4 param_3) | |||
|- | |||
| 0x821afd8 || int Script_Exec(byte * pc, int param_2) | |||
|- | |||
| 0x821b148 || void Save_BackupStatAndWorld(void) | |||
|- | |||
| 0x821b20c || undefined Script_LoadPointer(byte * param_1, uint * param_2, int param_3, uint * param_4) | |||
|- | |||
| 0x821b3e4 || undefined Script_StorePointer(void) | |||
|- | |||
| 0x821b938 || undefined Script_RunOperator(void) | |||
|- | |||
| 0x821ba5c || int Script_RunExpression(byte * pc) | |||
|- | |||
| 0x8225410 || int Save_BackupStatAndWorld_Scripted(void) | |||
|- | |||
| 0x82284f4 || void Time_ClearData(void) | |||
|- | |||
| 0x8228548 || int Time_GetDaysInMonth(undefined4 year, undefined4 month) | |||
|- | |||
| 0x822867c || byte Time_GetDayOfWeek(undefined4 year, undefined4 month, undefined4 day) | |||
This uses Zeller's congruence to compute the day of the week of a given date. | |||
|- | |||
| 0x822874c || uint Time_DateToBCD(int param_1, int param_2, int param_3) | |||
|- | |||
| 0x8228c40 || int Time_Set(int year, int month, int day, byte hours, undefined1 minutes, byte seconds, undefined4 writeToRtcChip) | |||
|- | |||
| 0x8228d7c || undefined Time_GetRtcDate(void) | |||
|- | |||
| 0x8228d88 || undefined Time_GetRtcHours(void) | |||
|- | |||
| 0x8228d94 || undefined Time_GetRtcMinutes(void) | |||
|- | |||
| 0x8229180 || int Time_WriteToRtcChip(undefined4 year, undefined4 month, undefined4 date, undefined1 hours, undefined1 minutes, undefined1 seconds) | |||
|- | |||
| 0x822a7a8 || undefined Time_CalculateSunriseSunset'(undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 tz_offset) | |||
|- | |||
| 0x822ae00 || undefined Time_CalculateSunriseSunset(void) | |||
|- | |||
| 0x822b2f8 || undefined Sound_Play(void) | |||
|- | |||
| 0x822c238 || undefined Sensor_GetBars(void) | |||
|- | |||
| 0x822fe60 || undefined MP2K_SoundInit(void) | |||
|- | |||
| 0x822fed8 || undefined MP2K_SoundMain(void) | |||
|- | |||
| 0x822fee4 || void MP2K_SongNumStart(int param_1) | |||
|- | |||
| 0x82305cc || undefined MP2K_SoundVSync(void) | |||
|- | |||
| 0x8243d28 || void Sensor_Timer3Handler(void) | |||
|- | |||
| 0x8248590 || void Mem_CpuFastSet(void * source, void * destination, uint count) | |||
|- | |||
| 0x8248594 || void Mem_CpuSet(void * source, void * destination, uint count) | |||
|- | |||
| 0x8248598 || int Math_Div(int dividend, int divisor) | |||
|- | |||
| 0x824859c || int Math_Mod(int dividend, int divisor) | |||
|- | |||
| 0x82485a4 || int Math_ModArm(int divisor, undefined4 dividend) | |||
|- | |||
| 0x82485ac || undefined Sys_LZ77Uncomp8Bit(void * src, void * dest) | |||
|- | |||
| 0x82485b0 || undefined Sys_RegisterRamReset(int resetFlags) | |||
|- | |||
| 0x82485b4 || void Sys_SoftReset(int param_1) | |||
|- | |||
| 0x82485d0 || void Sys_SoundBiasLow(void) | |||
|- | |||
| 0x82485d8 || void Sys_SoundBiasHigh(void) | |||
|- | |||
| 0x82485e0 || int Math_Sqrt(int x) | |||
|- | |||
| 0x82485e4 || void Sys_VBlankIntrWait(void) | |||
|- | |||
| 0x8248970 || void GPIO_EnableClearFlag(void) | |||
|- | |||
| 0x8248988 || void GPIO_DisableSetFlag(void) | |||
|- | |||
| 0x8249210 || void GPIO_Enable(void) | |||
|- | |||
| 0x8249224 || void GPIO_Disable(void) | |||
|- | |||
| 0x824923c || undefined4 CallParam2(void * arg, ActionOfPtr * fn) | |||
|- | |||
| 0x824da48 || void * memcpy'(void * dest, void * src, uint len) | |||
How is this different from memcpy? | |||
|- | |||
| 0x826456c || MP2K_SongTable (1483 entries) | |||
|- | |||
| 0x860330c || [[Engine calls (Boktai_3)|Engine call]] table (null-terminated array of <code>struct { void(*)(int r0) fn; int id; }</code>) | |||
|- | |||
| 0x8614d6c || [[Master file table]] | |||
|} | |} | ||
[[Category:Documentation]] | [[Category:Documentation]] | ||
[[Category:Boktai 3]] | [[Category:Boktai 3]] |
Latest revision as of 07:43, 25 November 2024
This is the ROM map for Boktai 3 (J).
Address | Description |
---|---|
0x80001f0 | undefined IRQ_Dispatcher(void)
Copied to IWRAM @ 0x3003a60 during boot, and executed from there |
0x8000350 | int Video_UpdateSpritePalette(Sprite * param_1, undefined4 * param_2)
Copied to and executed from IWRAM @ 0x03000000. Sprite rendering related. |
0x8000430 | undefined Video_RenderSprite(Sprite * param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4)
Copied to and executed from IWRAM @ 0x030000e0 (more functions like this follow). Renders one sprite. |
0x8000e90 | undefined Video_RenderAllSpritesImpl(void)
Copied to and executed from IWRAM @ 0x03000b40. Renders all sprites. |
0x800145c | undefined main(void) |
0x800211c | undefined Video_LoadGlobalTileset_Scripted(void) |
0x8030c84 | int TextBox_Open(byte * param_1) |
0x8030d9c | undefined TextBox_OpenScripted(void) |
0x8031eac | void TextBox_AdvanceVertically(TextBoxOutput * out) |
0x8031ed8 | undefined TextBox_AdvanceHorizontally(TextBoxOutput * param_1, bool isWide) |
0x8031f58 | undefined TextBox_DrawCharNarrow(TextBoxOutput * param_1, undefined4 ch) |
0x8031fa0 | undefined TextBox_DrawCharWide(void) |
0x8032070 | int16_t Text_ParseEscapeSequence(char * text) |
0x803223c | char * String_FindCharOrNullTerminator(char * s, char ch)
Almost like strchr(3), but strchr would return NULL if it reaches the null terminator. This function will return a pointer to the null terminator instead. |
0x8032a44 | int TextBox_DrawTextImpl(int param_1, char * param_2) |
0x8032b24 | undefined TextBox_DrawText(void) |
0x8032c54 | void TextBox_SetBounds(TextBoxOutput * param_1, undefined1 x, undefined1 y, undefined1 width, undefined1 height) |
0x8033e18 | undefined Credits_Update(void) |
0x8033e74 | int Credits_Destroy(int param_1) |
0x8033ea4 | undefined Credits_LoadData(void) |
0x8033fec | undefined Credits_Init(void) |
0x8034030 | undefined Credits_Create(void) |
0x810fddc | undefined BikeRace_Render3Digits(void) |
0x8110834 | undefined BikeRace_RecordScreen_Update(void) |
0x811086c | undefined BikeRace_RecordScreen_Destroy(void) |
0x8110894 | int BikeRace_RecordScreen_Init(int param_1) |
0x8110a40 | undefined BikeRace_RecordScreen_Create(void) |
0x816381c | void Video_AnimatePalette(ushort * palEntry, byte * timer) |
0x8163f14 | undefined4 __Example_LoadTilemap(undefined4 actor, undefined4 tilemap, short param_3, undefined4 param_4, undefined * palette) |
0x8179320 | undefined BikeRace_UpdateSpeed(void) |
0x81793ec | undefined BikeRace_UpdateTimer(void) |
0x81db474 | void OptionMenu_Update(OptionMenu * menu) |
0x81db75c | undefined OptionMenu_Destroy(void) |
0x81db794 | int OptionMenu_Init(OptionMenu * menu) |
0x81dbb0c | OptionMenu * OptionMenu_Create(void) |
0x81dc02c | void Menu_EraseRect(uint x, uint y, int width, int height) |
0x81dc054 | void Video_DrawText(uint x, uint y, char * text) |
0x81dc154 | void Menu_RenderOption(undefined4 param_1, undefined4 param_2, undefined4 pc, undefined4 option_index) |
0x81dc178 | undefined Sprite_SetPos(Sprite * param_1, SpritePos * param_2) |
0x81dc244 | undefined EnterPasswordYesNo_Update(EnterPasswordYesNo * param_1) |
0x81dc448 | undefined EnterPasswordYesNo_Destroy(EnterPasswordYesNo * param_1) |
0x81dc470 | int EnterPasswordYesNo_Init(EnterPasswordYesNo * param_1) |
0x81dc6d0 | void Time_ShowRegionMenu(int param_1) |
0x81dc754 | void Time_RegionMenuOnSelect(TimeMenu * param_1)
Called when selecting an option in the region menu |
0x81dc7a0 | void Time_HandleRegionKeypad(TimeMenu * param_1) |
0x81dca6c | void Time_DestroyRegionMenu(int param_1) |
0x81dca9a | int Time_LoadRegionList(int param_1) |
0x81dca9c | int Time_LoadRegionList(void * param_1) |
0x81dcdf4 | void * Time_StartRegionMenu(void) |
0x81ddbc0 | void NameEntry_HandleKeypad(int param_1) |
0x81de5e4 | void TimeMenu_HideSprites(TimeMenu * menu) |
0x81de630 | void TimeMenu_InitNumberSprites(TimeMenu * menu) |
0x81de6c4 | void TimeMenu_InitFields(TimeMenu * menu) |
0x81de780 | void TimeMenu_RenderCursor(TimeMenu * param_1) |
0x81de84c | void TimeMenu_RenderNumbers(TimeMenu * param_1) |
0x81dea60 | void TimeMenu_HandleKeypadUpDown(TimeMenu * param_1) |
0x81dec2c | void TimeMenu_Update(TimeMenu * param_1) |
0x81dedf4 | undefined TimeMenu_Destroy(void) |
0x81dee38 | undefined TimeMenu_Init(TimeMenu * menu) |
0x81df0ac | undefined TimeMenu_Create(void) |
0x81df1d8 | void PasswordMenu_CalcCursorPosition(PasswordMenu * menu) |
0x81df32c | undefined PasswordMenu_HandleKeypadUp(void) |
0x81df510 | void PasswordMenu_HandleKeypadDown(PasswordMenu * menu) |
0x81df694 | undefined PasswordMenu_HandleKeypadLeft(void) |
0x81df878 | undefined PasswordMenu_HandleKeypadRight(void) |
0x81dfa50 | void PasswordMenu_DrawPassword(PasswordMenu * menu) |
0x81dfb18 | void PasswordMenu_DrawPasswordChar(PasswordMenu * menu, int position) |
0x81dfb9c | void PasswordMenu_RenderCaret(PasswordMenu * param_1) |
0x81dfc1c | bool PasswordMenu_AddCharacter(PasswordMenu * param_1) |
0x81dfc60 | int PasswordMenu_RemoveChar(PasswordMenu * menu) |
0x81dfcb4 | void PasswordMenu_Update(PasswordMenu * param_1) |
0x81e00e8 | void PasswordMenu_Destroy(PasswordMenu * param_1) |
0x81e013c | int PasswordMenu_Init(PasswordMenu * param_1) |
0x81e0474 | PasswordMenu * PasswordMenu_Create(void) |
0x81e2f44 | undefined Help_InitHelpScreen(void) |
0x8210a8c | int Album_GetAcquiredCount(void) |
0x8210b50 | int Album_GetPageCount(void) |
0x8210f04 | undefined AlbumMenu_InitUI(AlbumMenu * param_1) |
0x82112f4 | undefined AlbumMenu_Update(void) |
0x821159c | undefined AlbumMenu_Init(void) |
0x82116a8 | undefined AlbumMenu_Create(void) |
0x8213888 | undefined DollMenu_Update(void) |
0x8213d10 | undefined Mem_InitializeMemoryWithDMA(void)
Copies interrupt dispatcher (ARM code) from ROM to IWRAM, Clears VRAM/OAM/PAL, and enables game pak & V-Blank interrupts |
0x8213fd8 | undefined IRQ_DefaultVBlankHandler(void)
Default handler for V-blank IRQ |
0x8214144 | void IRQ_DefaultVCounterHandler(void)
Default handler for V-counter match IRQ |
0x82141b4 | undefined IRQ_DefaultHBlankHandler(void)
Default handler for H-blank IRQ (no-op) |
0x82141b8 | undefined IRQ_DefaultKeypadHandler(void)
Default handler for keypad IRQ (no-op) |
0x82141bc | undefined IRQ_NoHandler(void) |
0x8214424 | int Sprite_Install(Sprite * sprite, int param_2) |
0x8214450 | void Sprite_Uninstall(Sprite * param_1, undefined4 param_2) |
0x8215698 | undefined Video_GetBackgroundMap(undefined4 bgNum) |
0x82156b8 | void Video_ClearBackgroundMap(int bgNum) |
0x8215c8c | GlobalTileSetChunk * Video_FindTileSetChunk(GlobalTileSet * set, undefined2 id) |
0x8215d40 | int Video_LoadGlobalTileset(undefined4 bgNum, GlobalTileSetFile * tilesetFile, undefined4 blockCount, ushort * blockIds, undefined4 param_5)
Loads tilset from directory id_low=0x4f2d id_high=0xcee5 file=8e32 |
0x8216e54 | TilemapFile * Video_LoadTileMap(ushort id) |
0x8218be0 | int Video_LoadFont(void) |
0x8218c78 | GBA_Tile * Video_GetFontNarrowData(void) |
0x8218c94 | undefined * Video_GetFontWideData(void) |
0x8218cb0 | void Video_ClearBackgroundMap0(void) |
0x8218d1c | undefined Video_LoadCharFromFont(undefined4 param_1, undefined4 ch, undefined4 param_3, undefined4 param_4, undefined4 param_5) |
0x8218f2c | void Video_DrawCharNarrow(undefined4 ch, undefined4 x, undefined4 y, undefined4 param_4) |
0x8218fb4 | undefined Video_DrawCharWide(void) |
0x82195e0 | void Sprite_Destroy(Sprite * param_1) |
0x8219624 | void Video_RenderAllSprites(void)
Calls Video_RenderAllSpritesImpl in IWRAM |
0x82196c4 | int SpriteSet_Load(SpriteSet * dest, SpriteSetHeader * src) |
0x8219728 | int Sprite_LoadSprite(Sprite * sprite, SpriteSet * set, uint spriteIndex) |
0x82197a4 | int Sprite_InitWithSprite(undefined4 sprite, SpriteSet * set, undefined4 spriteIndex, undefined4 param_4, undefined1 param_5, undefined1 param_6, undefined2 param_7, short * initialPosition) |
0x821980c | int Sprite_SetSprite(Sprite * sprite, SpriteSet * set, undefined2 index, undefined param_4) |
0x821983c | int Sprite_Create(Sprite * sprite, SpriteSet * set, int spriteId, uint param_4, undefined param_5, undefined param_6, undefined param_7, int * initialPosition) |
0x8219aac | undefined Actor_Boot(void) |
0x8219b24 | void Sys_ReadKeypad(void) |
0x8219c00 | uint rand_bootstrap(void) |
0x8219c40 | void * malloc(int bytes) |
0x8219cb4 | undefined malloc2(void)
TODO: How is this different from malloc? |
0x8219d38 | void free(void * mem) |
0x8219db4 | void memcpy(void * dest, void * source, uint len) |
0x8219dd8 | void bzero(void * mem, uint bytes) |
0x8219ebc | undefined memcpy_slow(void) |
0x8219f50 | undefined Actor_InitializeList(void) |
0x8219f74 | void Actor_Install(Actor * param_1)
Adds an actor to the actor list. |
0x8219f94 | void Actor_Uninstall(Actor * * param_1)
Removes an actor from the actor list. |
0x8219fbc | Actor * Actor_Create(byte type, undefined4 size)
Allocates an actor, and adds it to the actor list. |
0x821a004 | Actor * Actor_Create2(undefined1 type, undefined4 size)
Like Actor_Create, but uses malloc2 instead of malloc. |
0x821a04c | void Actor_SetCallbacks(Actor * object, ActionOfPtr * frame_cb, ActionOfPtr * destroy_cb)
Sets the "on_frame" and "on_destroy" callbacks of an actor. |
0x821a054 | void Actor_RunAll(void)
Runs the onFrame and onDestroy (as required) callbacks for all actors |
0x821a0c0 | int Actor_Delete(Actor * param_1) |
0x821a520 | void * Mft_GetFile(ushort dirId, undefined4 fileId) |
0x821a66c | int Script_ReadLength(byte * pc, int * length)
Returns pc after all the length bytes, the length itself is stored in *length. |
0x821a6f0 | byte * Script_GetValueCore(byte * pc, uint * param_2, int * out_value) |
0x821a91c | undefined Script_StoreVariable(void) |
0x821a960 | void Script_SetPc(byte * pc) |
0x821a96c | byte * Script_SeekToKeyword(char kw) |
0x821aa00 | int Script_GetValueAt(byte * pc) |
0x821aa88 | int Script_GetValueAtSafe(byte * param_1) |
0x821aabc | ushort Script_ParseStringRef(byte * pc) |
0x821ab18 | void * Script_GetPc(void) |
0x821ab40 | int Script_GetValue(void) |
0x821ab88 | int Script_GetValueSafe(void) |
0x821aba8 | int Script_GetKeywordValue(char kw, int fallback) |
0x821acdc | byte * Script_LookupById(int script_id, uint * param_2) |
0x821ad08 | int Script_ExecById(int script_id, int param_2) |
0x821add4 | char * Textbox_LookupString(int string_id) |
0x821af2c | int Script_ExecBlock(byte * pc, undefined4 param_2, undefined4 param_3) |
0x821afd8 | int Script_Exec(byte * pc, int param_2) |
0x821b148 | void Save_BackupStatAndWorld(void) |
0x821b20c | undefined Script_LoadPointer(byte * param_1, uint * param_2, int param_3, uint * param_4) |
0x821b3e4 | undefined Script_StorePointer(void) |
0x821b938 | undefined Script_RunOperator(void) |
0x821ba5c | int Script_RunExpression(byte * pc) |
0x8225410 | int Save_BackupStatAndWorld_Scripted(void) |
0x82284f4 | void Time_ClearData(void) |
0x8228548 | int Time_GetDaysInMonth(undefined4 year, undefined4 month) |
0x822867c | byte Time_GetDayOfWeek(undefined4 year, undefined4 month, undefined4 day)
This uses Zeller's congruence to compute the day of the week of a given date. |
0x822874c | uint Time_DateToBCD(int param_1, int param_2, int param_3) |
0x8228c40 | int Time_Set(int year, int month, int day, byte hours, undefined1 minutes, byte seconds, undefined4 writeToRtcChip) |
0x8228d7c | undefined Time_GetRtcDate(void) |
0x8228d88 | undefined Time_GetRtcHours(void) |
0x8228d94 | undefined Time_GetRtcMinutes(void) |
0x8229180 | int Time_WriteToRtcChip(undefined4 year, undefined4 month, undefined4 date, undefined1 hours, undefined1 minutes, undefined1 seconds) |
0x822a7a8 | undefined Time_CalculateSunriseSunset'(undefined4 param_1, undefined4 param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6, undefined4 param_7, undefined4 tz_offset) |
0x822ae00 | undefined Time_CalculateSunriseSunset(void) |
0x822b2f8 | undefined Sound_Play(void) |
0x822c238 | undefined Sensor_GetBars(void) |
0x822fe60 | undefined MP2K_SoundInit(void) |
0x822fed8 | undefined MP2K_SoundMain(void) |
0x822fee4 | void MP2K_SongNumStart(int param_1) |
0x82305cc | undefined MP2K_SoundVSync(void) |
0x8243d28 | void Sensor_Timer3Handler(void) |
0x8248590 | void Mem_CpuFastSet(void * source, void * destination, uint count) |
0x8248594 | void Mem_CpuSet(void * source, void * destination, uint count) |
0x8248598 | int Math_Div(int dividend, int divisor) |
0x824859c | int Math_Mod(int dividend, int divisor) |
0x82485a4 | int Math_ModArm(int divisor, undefined4 dividend) |
0x82485ac | undefined Sys_LZ77Uncomp8Bit(void * src, void * dest) |
0x82485b0 | undefined Sys_RegisterRamReset(int resetFlags) |
0x82485b4 | void Sys_SoftReset(int param_1) |
0x82485d0 | void Sys_SoundBiasLow(void) |
0x82485d8 | void Sys_SoundBiasHigh(void) |
0x82485e0 | int Math_Sqrt(int x) |
0x82485e4 | void Sys_VBlankIntrWait(void) |
0x8248970 | void GPIO_EnableClearFlag(void) |
0x8248988 | void GPIO_DisableSetFlag(void) |
0x8249210 | void GPIO_Enable(void) |
0x8249224 | void GPIO_Disable(void) |
0x824923c | undefined4 CallParam2(void * arg, ActionOfPtr * fn) |
0x824da48 | void * memcpy'(void * dest, void * src, uint len)
How is this different from memcpy? |
0x826456c | MP2K_SongTable (1483 entries) |
0x860330c | Engine call table (null-terminated array of struct { void(*)(int r0) fn; int id; } )
|
0x8614d6c | Master file table |