diff options
author | YamaArashi <shadow962@live.com> | 2015-11-27 01:33:50 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2015-11-27 01:33:50 -0800 |
commit | 85036fe67f90992493292b922f29269bf3237c1d (patch) | |
tree | 01da4b9f056edb5a68010cb8277c4ba704e95655 /asm/emerald.s | |
parent | 0e3464ffa0009f6650298df8268ae4d35f39e6ae (diff) |
partially comment GameCube multi-boot library
Diffstat (limited to 'asm/emerald.s')
-rw-r--r-- | asm/emerald.s | 133 |
1 files changed, 71 insertions, 62 deletions
diff --git a/asm/emerald.s b/asm/emerald.s index 7ce518805..aaab7fb54 100644 --- a/asm/emerald.s +++ b/asm/emerald.s @@ -702397,16 +702397,16 @@ load_copyright_graphics: ; 816CC70 .pool thumb_func_end load_copyright_graphics - thumb_func_start sub_816CCB8 -sub_816CCB8: ; 816CCB8 + thumb_func_start SerialCb_CopyrightScreen +SerialCb_CopyrightScreen: ; 816CCB8 push {lr} ldr r0, =0x030062b0 - bl sub_82DEEE2 + bl GameCubeMultiBoot_HandleSerialInterrupt pop {r0} bx r0 .align 2, 0 .pool - thumb_func_end sub_816CCB8 + thumb_func_end SerialCb_CopyrightScreen thumb_func_start do_copyright_screen do_copyright_screen: ; 816CCC8 @@ -702509,10 +702509,10 @@ do_copyright_screen: ; 816CCC8 lsls r2, 1 adds r0, r2, 0 strh r0, [r1] - ldr r0, =sub_816CCB8 + ldr r0, =SerialCb_CopyrightScreen bl set_serial_callback ldr r0, =0x030062b0 - bl sub_82DEE98 + bl GameCubeMultiBoot_Init @0816CDBC: bl fade_and_return_progress_probably ldr r0, =0x030022c0 @@ -702523,14 +702523,14 @@ do_copyright_screen: ; 816CCC8 adds r1, 0x1 strb r1, [r0] ldr r0, =0x030062b0 - bl sub_82DED84 + bl GameCubeMultiBoot_Main b @0816CEA0 .align 2, 0 .pool @0816CE00: ldr r4, =0x030062b0 adds r0, r4, 0 - bl sub_82DED84 + bl GameCubeMultiBoot_Main ldrb r0, [r4, 0x2] cmp r0, 0x1 beq @0816CEA0 @@ -702578,12 +702578,12 @@ do_copyright_screen: ; 816CCC8 str r4, [r6] @0816CE6C: adds r0, r5, 0 - bl sub_82DEE84 + bl GameCubeMultiBoot_ExecuteProgram b @0816CE96 .align 2, 0 .pool @0816CE8C: - bl sub_82DF012 + bl GameCubeMultiBoot_Quit ldr r0, =sub_800BA38 bl set_serial_callback @0816CE96: @@ -853744,8 +853744,9 @@ GetGlyphWidthFont6: ; 81BA6CC bx lr thumb_func_end GetGlyphWidthFont6 - thumb_func_start sub_81BA6D0 -sub_81BA6D0: ; 81BA6D0 + thumb_func_start MultiBootInit +; void MultiBootInit(MultiBootParam *mp) +MultiBootInit: ; 81BA6D0 adds r2, r0, 0 movs r1, 0 strb r1, [r2, 0x1E] @@ -853770,17 +853771,18 @@ sub_81BA6D0: ; 81BA6D0 bx lr .align 2, 0 .pool - thumb_func_end sub_81BA6D0 + thumb_func_end MultiBootInit - thumb_func_start sub_81BA70C -sub_81BA70C: ; 81BA70C + thumb_func_start MultiBootMain +; int MultiBootMain(MultiBootParam *mp) +MultiBootMain: ; 81BA70C push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} adds r7, r0, 0 - bl sub_81BAC30 + bl MultiBootCheckComplete cmp r0, 0 beq @081BA722 b @081BAAEA @@ -853810,7 +853812,7 @@ sub_81BA70C: ; 81BA70C cmp r5, 0x8 beq @081BA760 adds r0, r7, 0 - bl sub_81BA6D0 + bl MultiBootInit movs r0, 0x8 eors r0, r5 b @081BAAEC @@ -853821,7 +853823,7 @@ sub_81BA70C: ; 81BA70C cmp r0, 0xDF bls @081BA7B2 adds r0, r7, 0 - bl sub_81BAC44 + bl MultiBootHandShake adds r5, r0, 0 cmp r5, 0 beq @081BA774 @@ -853836,13 +853838,13 @@ sub_81BA70C: ; 81BA70C cmp r0, 0xE1 bls @081BA790 adds r0, r7, 0 - bl sub_81BAC30 + bl MultiBootCheckComplete cmp r0, 0 bne @081BA790 b @081BAADA @081BA790: adds r0, r7, 0 - bl sub_81BAC30 + bl MultiBootCheckComplete cmp r0, 0 beq @081BA79C b @081BAAEA @@ -853851,7 +853853,7 @@ sub_81BA70C: ; 81BA70C cmp r0, 0 bne @081BA7AC adds r0, r7, 0 - bl sub_81BA6D0 + bl MultiBootInit movs r0, 0x71 b @081BAAEC @081BA7AC: @@ -853963,7 +853965,7 @@ sub_81BA70C: ; 81BA70C cmp r0, r2 beq @081BA88A adds r0, r7, 0 - bl sub_81BAB48 + bl MultiBootStartProbe b @081BA892 .align 2, 0 .pool @@ -854113,7 +854115,7 @@ sub_81BA70C: ; 81BA70C adds r0, r2, 0 orrs r1, r0 adds r0, r7, 0 - bl sub_81BAAFC + bl MultiBootSend b @081BAAEC .align 2, 0 .pool @@ -854139,7 +854141,7 @@ sub_81BA70C: ; 81BA70C orrs r3, r0 adds r0, r7, 0 adds r1, r3, 0 - bl sub_81BAAFC + bl MultiBootSend b @081BAAEC @081BA9D6: movs r5, 0x3 @@ -854177,7 +854179,7 @@ sub_81BA70C: ; 81BA70C .pool @081BAA18: adds r0, r7, 0 - bl sub_81BA6D0 + bl MultiBootInit movs r0, 0x1E mov r1, r10 strb r0, [r1] @@ -854244,7 +854246,7 @@ sub_81BA70C: ; 81BA70C cmp r0, 0 bne @081BAAA2 adds r0, r7, 0 - bl sub_81BA6D0 + bl MultiBootInit movs r0, 0x50 b @081BAAEC @081BAAA2: @@ -854267,7 +854269,7 @@ sub_81BA70C: ; 81BA70C ldrb r1, [r0] orrs r1, r2 adds r0, r7, 0 - bl sub_81BAAFC + bl MultiBootSend adds r5, r0, 0 cmp r5, 0 bne @081BAAEC @@ -854277,11 +854279,11 @@ sub_81BA70C: ; 81BA70C cmp r0, 0x1 bne @081BAAEA @081BAADA: - bl sub_81BAD48 + bl MultiBootWaitSendDone b @081BA736 @081BAAE0: adds r0, r7, 0 - bl sub_81BA6D0 + bl MultiBootInit movs r0, 0x60 b @081BAAEC @081BAAEA: @@ -854294,10 +854296,11 @@ sub_81BA70C: ; 81BA70C pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_81BA70C + thumb_func_end MultiBootMain - thumb_func_start sub_81BAAFC -sub_81BAAFC: ; 81BAAFC + thumb_func_start MultiBootSend +; int MultiBootSend(MultiBootParam *mp, u16 data) +MultiBootSend: ; 81BAAFC push {r4,lr} adds r2, r0, 0 lsls r1, 16 @@ -854323,7 +854326,7 @@ sub_81BAAFC: ; 81BAAFC .pool @081BAB34: adds r0, r2, 0 - bl sub_81BA6D0 + bl MultiBootInit movs r0, 0x8 eors r4, r0 adds r0, r4, 0 @@ -854331,17 +854334,18 @@ sub_81BAAFC: ; 81BAAFC pop {r4} pop {r1} bx r1 - thumb_func_end sub_81BAAFC + thumb_func_end MultiBootSend - thumb_func_start sub_81BAB48 -sub_81BAB48: ; 81BAB48 + thumb_func_start MultiBootStartProbe +; void MultiBootStartProbe(MultiBootParam *mp) +MultiBootStartProbe: ; 81BAB48 push {lr} adds r1, r0, 0 ldrb r0, [r1, 0x18] cmp r0, 0 beq @081BAB5A adds r0, r1, 0 - bl sub_81BA6D0 + bl MultiBootInit b @081BAB66 @081BAB5A: adds r2, r1, 0 @@ -854353,10 +854357,11 @@ sub_81BAB48: ; 81BAB48 @081BAB66: pop {r0} bx r0 - thumb_func_end sub_81BAB48 + thumb_func_end MultiBootStartProbe - thumb_func_start sub_81BAB6C -sub_81BAB6C: ; 81BAB6C + thumb_func_start MultiBootStartMaster +; void MultiBootStartMaster(MultiBootParam *mp, u8 *srcp, int length, u8 palette_color, s8 palette_speed) +MultiBootStartMaster: ; 81BAB6C push {r4-r7,lr} adds r4, r0, 0 adds r6, r1, 0 @@ -854389,7 +854394,7 @@ sub_81BAB6C: ; 81BAB6C bls @081BABB4 @081BABA8: adds r0, r4, 0 - bl sub_81BA6D0 + bl MultiBootInit b @081BAC28 .align 2, 0 .pool @@ -854453,10 +854458,11 @@ sub_81BAB6C: ; 81BAB6C pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_81BAB6C + thumb_func_end MultiBootStartMaster - thumb_func_start sub_81BAC30 -sub_81BAC30: ; 81BAC30 + thumb_func_start MultiBootCheckComplete +; s32 MultiBootCheckComplete(MultiBootParam *mp) +MultiBootCheckComplete: ; 81BAC30 push {lr} ldrb r0, [r0, 0x18] cmp r0, 0xE9 @@ -854468,10 +854474,11 @@ sub_81BAC30: ; 81BAC30 @081BAC3E: pop {r1} bx r1 - thumb_func_end sub_81BAC30 + thumb_func_end MultiBootCheckComplete - thumb_func_start sub_81BAC44 -sub_81BAC44: ; 81BAC44 + thumb_func_start MultiBootHandShake +; int MultiBootHandShake(MultiBootParam *mp) +MultiBootHandShake: ; 81BAC44 push {r4-r6,lr} adds r3, r0, 0 ldrb r0, [r3, 0x18] @@ -854543,7 +854550,7 @@ sub_81BAC44: ; 81BAC44 ldrh r1, [r3] @081BACC2: adds r0, r3, 0 - bl sub_81BAAFC + bl MultiBootSend b @081BAD28 .align 2, 0 .pool @@ -854588,7 +854595,7 @@ sub_81BAC44: ; 81BAC44 .pool @081BAD1C: adds r0, r3, 0 - bl sub_81BA6D0 + bl MultiBootInit movs r0, 0x71 b @081BAD28 @081BAD26: @@ -854597,10 +854604,11 @@ sub_81BAC44: ; 81BAC44 pop {r4-r6} pop {r1} bx r1 - thumb_func_end sub_81BAC44 + thumb_func_end MultiBootHandShake - thumb_func_start sub_81BAD30 -sub_81BAD30: ; 81BAD30 + thumb_func_start MultiBootWaitCycles +; void MultiBootWaitCycles(u32 cycles) +MultiBootWaitCycles: ; 81BAD30 mov r2, pc lsrs r2, 24 movs r1, 0xC @@ -854614,10 +854622,11 @@ sub_81BAD30: ; 81BAD30 subs r0, r1 bgt @081BAD42 bx lr - thumb_func_end sub_81BAD30 + thumb_func_end MultiBootWaitCycles - thumb_func_start sub_81BAD48 -sub_81BAD48: ; 81BAD48 + thumb_func_start MultiBootWaitSendDone +; voidMultiBootWaitSendDone(void) +MultiBootWaitSendDone: ; 81BAD48 push {r4,r5,lr} movs r2, 0 ldr r3, =0x04000128 @@ -854640,13 +854649,13 @@ sub_81BAD48: ; 81BAD48 @081BAD6C: movs r0, 0x96 lsls r0, 2 - bl sub_81BAD30 + bl MultiBootWaitCycles pop {r4,r5} pop {r0} bx r0 .align 2, 0 .pool - thumb_func_end sub_81BAD48 + thumb_func_end MultiBootWaitSendDone thumb_func_start sub_81BAD84 sub_81BAD84: ; 81BAD84 @@ -862975,7 +862984,7 @@ sub_81BF3DC: ; 81BF3DC strb r5, [r0] ldr r0, [r4] adds r0, 0x4 - bl sub_81BA6D0 + bl MultiBootInit ldr r1, [r4] strh r5, [r1, 0x2] movs r0, 0x4 @@ -862986,7 +862995,7 @@ sub_81BF3DC: ; 81BF3DC adds r4, r5, 0 ldr r0, [r4] adds r0, 0x4 - bl sub_81BA70C + bl MultiBootMain ldr r4, [r4] ldrb r0, [r4, 0x1C] cmp r0, 0 @@ -863017,7 +863026,7 @@ sub_81BF3DC: ; 81BF3DC movs r3, 0x1 str r3, [sp] movs r3, 0x4 - bl sub_81BAB6C + bl MultiBootStartMaster ldr r1, [r5] movs r0, 0x5 b @081BF590 @@ -863032,10 +863041,10 @@ sub_81BF3DC: ; 81BF3DC ldr r5, =0x030012b8 ldr r0, [r5] adds r0, 0x4 - bl sub_81BA70C + bl MultiBootMain ldr r0, [r5] adds r0, 0x4 - bl sub_81BAC30 + bl MultiBootCheckComplete cmp r0, 0 beq @081BF540 ldr r1, [r5] |