summaryrefslogtreecommitdiff
path: root/engine/link
diff options
context:
space:
mode:
Diffstat (limited to 'engine/link')
-rw-r--r--engine/link/mystery_gift.asm71
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