diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-10-23 15:35:31 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-10-23 16:04:03 -0400 |
commit | 26ddba8cfd8f035c06bd6419b64a6c4d7dbc226f (patch) | |
tree | 59b90025ea24099165b3699e8bc1709ecb76e63e /engine/link | |
parent | 3c8bf3c01d3ecb3d253cbf4399f472c3a5ae4f99 (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 7fcb10a9..dcea2e8c 100644 --- a/engine/link/mystery_gift.asm +++ b/engine/link/mystery_gift.asm @@ -477,13 +477,14 @@ Function2a18c: xor a ldh [rIF], a call Function2a1c4 +; runs for ~$40400 cycles xor a ld b, a -.asm_2a19b +.busy_wait inc a - jr nz, .asm_2a19b + jr nz, .busy_wait inc b - jr nz, .asm_2a19b + jr nz, .busy_wait ret Function2a1a2: @@ -718,9 +719,9 @@ Function2a304: ld b, a ld a, $f4 ldh [rTMA], a -.asm_2a31c +.main_loop inc b - jr z, .asm_2a35c + jr z, .done ld a, $8 ldh [hPrintNumBuffer + 3], a ld a, [hli] @@ -731,7 +732,7 @@ Function2a304: ldh a, [hPrintNumBuffer + 5] adc 0 ldh [hPrintNumBuffer + 5], a -.asm_2a330 +.inner_loop xor a ldh [rIF], a halt @@ -741,26 +742,27 @@ Function2a304: ld a, e rlca ld e, a - jr nc, .asm_2a341 + jr nc, .wait inc d -.asm_2a341 +.wait ldh a, [rTIMA] cp $f8 - jr c, .asm_2a341 + jr c, .wait ld a, $c0 ldh [rRP], a dec d - jr z, .asm_2a353 + jr z, .no_halt xor a ldh [rIF], a halt -.asm_2a353 +.no_halt ldh a, [hPrintNumBuffer + 3] dec a - jr z, .asm_2a31c + jr z, .main_loop ldh [hPrintNumBuffer + 3], a - jr .asm_2a330 -.asm_2a35c + jr .inner_loop + +.done ld a, $fe ldh [rTMA], a xor a @@ -859,48 +861,50 @@ Function2a3dd: xor a ldh [hMGPrevTIMA], a call Function2a1b4 -.asm_2a400 +.main_loop inc b - jr z, .asm_2a448 + jr z, .done ld a, $8 ldh [hPrintNumBuffer + 3], a -.asm_2a407 +.inner_loop ld d, $0 -.asm_2a409 +.wait_one inc d - jr z, .asm_2a413 + jr z, .got_one ldh a, [c] bit 1, a - jr z, .asm_2a409 + jr z, .wait_one ld d, $0 -.asm_2a413 +.got_one +.wait_zero inc d - jr z, .asm_2a41b + jr z, .got_zero ldh a, [c] bit 1, a - jr nz, .asm_2a413 -.asm_2a41b + 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_2a42b + jr c, .zero set 0, e - jr .asm_2a42d -.asm_2a42b + jr .ok +.zero res 0, e -.asm_2a42d +.ok ldh a, [hPrintNumBuffer + 3] dec a ldh [hPrintNumBuffer + 3], a - jr z, .asm_2a439 + jr z, .continue ld a, e rlca ld e, a - jr .asm_2a407 -.asm_2a439 + jr .inner_loop + +.continue ld a, e ld [hli], a ldh a, [hPrintNumBuffer + 4] @@ -909,8 +913,9 @@ Function2a3dd: ldh a, [hPrintNumBuffer + 5] adc 0 ldh [hPrintNumBuffer + 5], a - jr .asm_2a400 -.asm_2a448 + jr .main_loop + +.done call Function2a1a2 xor a ldh [rIF], a |