diff options
| author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-10-23 16:04:15 -0400 |
|---|---|---|
| committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-10-23 16:04:15 -0400 |
| commit | a2b6befd7d12b2ad8bb97979a10519500dcdd870 (patch) | |
| tree | 48fbfc2cec4e64748b13d56b7e3e9efe1a53a01e /engine/link | |
| parent | 7991db972b5892c36a7b004404c16f28f6b65bad (diff) | |
Identify some more labels, mostly WRAM
Diffstat (limited to 'engine/link')
| -rw-r--r-- | engine/link/mystery_gift.asm | 71 |
1 files changed, 38 insertions, 33 deletions
diff --git a/engine/link/mystery_gift.asm b/engine/link/mystery_gift.asm index 716fad205..e28167f14 100644 --- a/engine/link/mystery_gift.asm +++ b/engine/link/mystery_gift.asm @@ -605,13 +605,14 @@ Function104d5e: xor a ldh [rIF], a call Function104d96 +; runs for ~$40400 cycles xor a ld b, a -.asm_104d6d +.busy_wait inc a - jr nz, .asm_104d6d + jr nz, .busy_wait inc b - jr nz, .asm_104d6d + jr nz, .busy_wait ret Function104d74: @@ -846,9 +847,9 @@ Function104ed6: ld b, a ld a, $f4 ldh [rTMA], a -.asm_104eee +.main_loop inc b - jr z, .asm_104f2e + jr z, .done ld a, $8 ldh [hPrintNumBuffer + 3], a ld a, [hli] @@ -859,7 +860,7 @@ Function104ed6: ldh a, [hPrintNumBuffer + 5] adc 0 ldh [hPrintNumBuffer + 5], a -.asm_104f02 +.inner_loop xor a ldh [rIF], a halt @@ -869,26 +870,27 @@ Function104ed6: ld a, e rlca ld e, a - jr nc, .asm_104f13 + jr nc, .wait inc d -.asm_104f13 +.wait ldh a, [rTIMA] cp $f8 - jr c, .asm_104f13 + jr c, .wait ld a, $c0 ldh [rRP], a dec d - jr z, .asm_104f25 + jr z, .no_halt xor a ldh [rIF], a halt -.asm_104f25 +.no_halt ldh a, [hPrintNumBuffer + 3] dec a - jr z, .asm_104eee + jr z, .main_loop ldh [hPrintNumBuffer + 3], a - jr .asm_104f02 -.asm_104f2e + jr .inner_loop + +.done ld a, $fe ldh [rTMA], a xor a @@ -987,48 +989,50 @@ Function104faf: xor a ldh [hMGPrevTIMA], a call Function104d86 -.asm_104fd2 +.main_loop inc b - jr z, .asm_10501a + jr z, .done ld a, $8 ldh [hPrintNumBuffer + 3], a -.asm_104fd9 +.inner_loop ld d, $0 -.asm_104fdb +.wait_one inc d - jr z, .asm_104fe5 + jr z, .got_one ldh a, [c] bit 1, a - jr z, .asm_104fdb + jr z, .wait_one ld d, $0 -.asm_104fe5 +.got_one +.wait_zero inc d - jr z, .asm_104fed + jr z, .got_zero ldh a, [c] bit 1, a - jr nz, .asm_104fe5 -.asm_104fed + jr nz, .wait_zero +.got_zero ldh a, [hMGPrevTIMA] ld d, a ldh a, [rTIMA] ldh [hMGPrevTIMA], a sub d cp $12 - jr c, .asm_104ffd + jr c, .zero set 0, e - jr .asm_104fff -.asm_104ffd + jr .ok +.zero res 0, e -.asm_104fff +.ok ldh a, [hPrintNumBuffer + 3] dec a ldh [hPrintNumBuffer + 3], a - jr z, .asm_10500b + jr z, .continue ld a, e rlca ld e, a - jr .asm_104fd9 -.asm_10500b + jr .inner_loop + +.continue ld a, e ld [hli], a ldh a, [hPrintNumBuffer + 4] @@ -1037,8 +1041,9 @@ Function104faf: ldh a, [hPrintNumBuffer + 5] adc 0 ldh [hPrintNumBuffer + 5], a - jr .asm_104fd2 -.asm_10501a + jr .main_loop + +.done call Function104d74 xor a ldh [rIF], a |
