summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2015-11-10 23:23:28 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2015-11-10 23:23:28 -0500
commit4b35fa05829eb5257186699d8a8e44362905468c (patch)
tree750134f1c0cf8f608c100dfbb9906a7a3f4c991d /misc
parent03f0815679bdd27241d7c212d2667ec30764b820 (diff)
Added w3 and w5 labels for misc/mobile_40.asm
Diffstat (limited to 'misc')
-rw-r--r--misc/mobile_40.asm175
-rwxr-xr-xmisc/mobile_41.asm1094
2 files changed, 1189 insertions, 80 deletions
diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm
index c24c51405..7589725da 100644
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -6,15 +6,18 @@ Function100000: ; 100000
push af
ld a, $1
ld [rSVBK], a
+
call Function100022
call Function1000ba
call Function100675
call Function100057
call Function10016f
call Function100276
+
push bc
call Function100301
pop bc
+
pop af
ld [rSVBK], a
ret
@@ -313,11 +316,14 @@ Function10020b: ; 10020b
callba Function106464
call HideSprites
call DelayFrame
+
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
+
callba Function17f555
+
pop af
ld [rSVBK], a
ret
@@ -400,7 +406,7 @@ Function1002c9: ; 1002c9
ld hl, wcd2a
bit 0, [hl]
ret z
- callba Function3f6d0
+ callba CleanUpBattleRAM
callba LoadPokemonData
ret
; 1002dc
@@ -537,7 +543,7 @@ Function100393: ; 100393
Function10039c: ; 10039c
ld hl, wcc60
- ld de, wd000
+ ld de, w3_d000
ld bc, $0054
ld a, $3
call FarCopyWRAM
@@ -545,7 +551,7 @@ Function10039c: ; 10039c
; 1003ab
Function1003ab: ; 1003ab
- ld hl, wd000
+ ld hl, w3_d000
ld de, wcc60
ld bc, $0054
ld a, $3
@@ -555,7 +561,7 @@ Function1003ab: ; 1003ab
Function1003ba: ; 1003ba
ld hl, wccb4
- ld de, $d080
+ ld de, w3_d080
ld bc, $0054
ld a, $3
call FarCopyWRAM
@@ -563,7 +569,7 @@ Function1003ba: ; 1003ba
; 1003c9
Function1003c9: ; 1003c9
- ld hl, $d080
+ ld hl, w3_d080
ld de, wccb4
ld bc, $0054
ld a, $3
@@ -1501,7 +1507,7 @@ Function100902: ; 100902
ld de, SFX_4_NOTE_DITTY
call PlaySFX
callba Function104061
- ld c, $78
+ ld c, 120
call DelayFrames
ret
; 10095a
@@ -1515,10 +1521,10 @@ Function100902: ; 100902
Function100970: ; 100970
hlcoord 0, 0
- ld de, wdc00
+ ld de, w3_dc00
call Function1009a5
hlcoord 0, 0, AttrMap
- ld de, $dd68
+ ld de, w3_dd68
call Function1009a5
call Function1009d2
call Function1009ae
@@ -1526,12 +1532,12 @@ Function100970: ; 100970
; 100989
Function100989: ; 100989
- ld hl, wdc00
+ ld hl, w3_dc00
decoord 0, 0
call Function1009a5
call Function1009ae
callba Function104061
- ld hl, $dd68
+ ld hl, w3_dd68
decoord 0, 0, AttrMap
call Function1009a5
ret
@@ -1549,23 +1555,25 @@ Function1009ae: ; 1009ae
push af
ld a, $3
ld [rSVBK], a
- ld hl, $d800
+
+ ld hl, w3_d800
decoord 0, 0, AttrMap
- ld c, $14
- ld b, $12
-.asm_1009bf
+ ld c, SCREEN_WIDTH
+ ld b, SCREEN_HEIGHT
+.loop_row
push bc
-.asm_1009c0
+.loop_col
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_1009c0
- ld bc, $000c
+ jr nz, .loop_col
+ ld bc, 12
add hl, bc
pop bc
dec b
- jr nz, .asm_1009bf
+ jr nz, .loop_row
+
pop af
ld [rSVBK], a
ret
@@ -1576,16 +1584,20 @@ Function1009d2: ; 1009d2
push af
ld a, $3
ld [rSVBK], a
+
ld a, [rVBK]
push af
ld a, $1
ld [rVBK], a
- ld hl, $d800
+
+ ld hl, w3_d800
ld de, VBGMap0
lb bc, $3, $24
call Get2bpp
+
pop af
ld [rVBK], a
+
pop af
ld [rSVBK], a
ret
@@ -1613,7 +1625,7 @@ Function100a09: ; 100a09
ld [wd431], a
callba Function4000
ld a, [wLinkMode]
- cp $4
+ cp LINK_MOBILE
jr nz, .asm_100a2a
call Function100a87
@@ -2538,7 +2550,7 @@ Function101050: ; 101050
call Function10107d
ld a, [OTPartyCount]
rept 2
- ld hl, $c608
+ ld hl, wc608
endr
ld bc, $01b3
call Function1010de
@@ -2548,7 +2560,7 @@ endr
ld [hl], d
ld a, $7
call GetSRAMBank
- ld hl, $c608
+ ld hl, wc608
ld de, $a001
ld bc, $01b5
call CopyBytes
@@ -2558,28 +2570,28 @@ endr
Function10107d: ; 10107d
xor a
- ld hl, $c608
+ ld hl, wc608
ld bc, $01b5
call ByteFill
ld hl, wd26b
- ld de, $c608
+ ld de, wc608
ld bc, $000b
call CopyBytes
ld hl, wd271
ld a, [hli]
- ld [$c608 + 11], a
+ ld [wc608 + 11], a
ld a, [hl]
- ld [$c608 + 12], a
+ ld [wc608 + 12], a
ld hl, OTPartyMonNicknames
- ld de, $c608 + 13
+ ld de, wc608 + 13
ld bc, $000b
call Function1010cd
ld hl, OTPartyMonOT
- ld de, $c656 + 1
+ ld de, wc656 + 1
ld bc, $000b
call Function1010cd
ld hl, OTPartyMon1Species
- ld de, $c68a + 15
+ ld de, wc68a + 15
ld bc, $0030
call Function1010cd
ld a, $50
@@ -2707,9 +2719,9 @@ Function101181: ; 101181
ld bc, $000b
asm_101184:
- ld a, $c608 % $100
+ ld a, wc608 % $100
ld [StringBuffer2], a
- ld a, $c608 / $100
+ ld a, wc608 / $100
ld [StringBuffer2 + 1], a
ld a, c
ld [StringBuffer2 + 2], a
@@ -2751,7 +2763,7 @@ asm_101184:
call Function1011df
ld d, h
ld e, l
- ld hl, $c608
+ ld hl, wc608
call CopyBytes
ret
; 1011df
@@ -3368,11 +3380,11 @@ Function10158a: ; 10158a
; 10159d
Function10159d: ; 10159d
- ld de, $c608
+ ld de, wc608
callba Function100edf
- ld de, $c608
+ ld de, wc608
ld a, $5
- ld hl, $d800
+ ld hl, w5_d800
call Function10174c
ld a, $0
ld [wcd26], a
@@ -3383,11 +3395,11 @@ Function10159d: ; 10159d
; 1015be
Function1015be: ; 1015be
- ld de, $c608
+ ld de, wc608
callba Function100eed
- ld de, $c608
+ ld de, wc608
ld a, $5
- ld hl, $d800
+ ld hl, w5_d800
call Function10174c
ld a, $0
ld [wcd26], a
@@ -3398,11 +3410,11 @@ Function1015be: ; 1015be
; 1015df
Function1015df: ; 1015df
- ld de, $c608
+ ld de, wc608
callba Function100ef4
- ld de, $c608
+ ld de, wc608
ld a, $5
- ld hl, $d800
+ ld hl, w5_d800
call Function10174c
ld a, $0
ld [wcd26], a
@@ -3413,12 +3425,12 @@ Function1015df: ; 1015df
; 101600
Function101600: ; 101600
- ld hl, $d800
- ld de, $c608
+ ld hl, w5_d800
+ ld de, wc608
ld bc, $01e0
ld a, $5
call FarCopyWRAM
- ld de, $c608
+ ld de, wc608
callba Function100ee6
ld a, [wcd25]
inc a
@@ -3443,14 +3455,14 @@ Function10162a: ; 10162a
; 101635
Function101635: ; 101635
- ld de, $c608
+ ld de, wc608
ld bc, $01e0
call FarCopyWRAM
ret
; 10163f
Function10163f: ; 10163f
- ld hl, $c608
+ ld hl, wc608
ld bc, $01e0
call FarCopyWRAM
ret
@@ -3458,34 +3470,34 @@ Function10163f: ; 10163f
Function101649: ; 101649
ld a, $5
- ld hl, $d800
+ ld hl, w5_d800
call Function101635
ld a, $5
- ld de, wda00
+ ld de, w5_da00
call Function10163f
ret
; 10165a
Function10165a: ; 10165a
ld a, $5
- ld hl, wda00
+ ld hl, w5_da00
call Function101635
ret
; 101663
Function101663: ; 101663
ld a, $5
- ld hl, $d800
+ ld hl, w5_d800
call Function101635
ld a, $5
- ld de, wdc00
+ ld de, w5_dc00
call Function10163f
ret
; 101674
Function101674: ; 101674 ; unreferenced
ld a, $5
- ld hl, wdc00
+ ld hl, w5_dc00
call Function101635
ret
; 10167d
@@ -4008,16 +4020,19 @@ Function1019ee: ; 1019ee
push af
ld a, $5
ld [rSVBK], a
- ld bc, wdc0d
- ld de, wdc11
+
+ ld bc, w5_dc0d
+ ld de, w5_dc11
callba Function4e929
+
pop af
ld [rSVBK], a
+
ld a, c
ld [OtherTrainerClass], a
ld hl, wd26b
- ld de, $c656
- ld bc, $000b
+ ld de, wc656
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd2f]
and a
@@ -4040,8 +4055,8 @@ Function101a21: ; 101a21
ld a, $1
ld [wc2d7], a
callba BattleIntro
- callba Function3c000
- callba Function3f759
+ callba SendOutFirstMons
+ callba ShowLinkBattleParticipantsAfterEnd
xor a
ld [wc2d7], a
ld a, $ff
@@ -4057,7 +4072,7 @@ Function101a4f: ; 101a4f
callba Function3f77c
xor a
ld [wc2d7], a
- callba Function3f6d0
+ callba CleanUpBattleRAM
callba LoadPokemonData
call Function1013c0
ld a, [wcd25]
@@ -4940,10 +4955,10 @@ Function1020ea: ; 1020ea
bit 2, [hl]
jr nz, .asm_102110
call Function10218d
- ld hl, $c608
+ ld hl, wc608
bit 4, [hl]
jr z, .asm_102110
- ld hl, $c608
+ ld hl, wc608
bit 2, [hl]
jr nz, .asm_102110
call Function102112
@@ -4963,7 +4978,7 @@ Function102112: ; 102112
ld c, $28
.asm_10211c
push hl
- ld de, $c60f
+ ld de, wc60f
ld b, $1f
.asm_102122
ld a, [de]
@@ -5022,7 +5037,7 @@ Function102142: ; 102142
; 102180
Function102180: ; 102180
- ld hl, $c608 + 1
+ ld hl, wc608 + 1
ld de, StringBuffer2
ld bc, $000b
call CopyBytes
@@ -5031,18 +5046,18 @@ Function102180: ; 102180
Function10218d: ; 10218d
ld hl, wdc00
- ld de, $c608
+ ld de, wc608
ld bc, $0026
ld a, $5
call FarCopyWRAM
- ld de, $c608 + 1
+ ld de, wc608 + 1
ret
; 10219f
Function10219f: ; 10219f
call FadeToMenu
call Function10218d
- ld de, $c608 + 1
+ ld de, wc608 + 1
callba Function8ac4e
call JoyWaitAorB
call PlayClickSFX
@@ -5053,7 +5068,7 @@ Function10219f: ; 10219f
Function1021b8: ; 1021b8
call FadeToMenu
call Function10218d
- ld de, $c60f
+ ld de, wc60f
callba Function8ac70
ld a, c
ld [StringBuffer1], a
@@ -6336,7 +6351,7 @@ Function102a3b: ; 102a3b
ld a, [wcd30]
ld [wc74e], a
ld hl, PlayerName
- ld de, $c6e7
+ ld de, wc6e7
ld bc, $000b
call CopyBytes
ld a, [wcd4c]
@@ -6346,12 +6361,12 @@ Function102a3b: ; 102a3b
ld hl, PartySpecies
add hl, bc
ld a, [hl]
- ld [$c6d0], a
+ ld [wc6d0], a
ld a, [wcd4c]
dec a
ld hl, PartyMonOT
call SkipNames
- ld de, $c6f2
+ ld de, wc6f2
ld bc, $000b
call CopyBytes
ld a, [wcd4c]
@@ -6359,7 +6374,7 @@ Function102a3b: ; 102a3b
ld hl, PartyMon1ID
call GetPartyLocation
ld a, [hli]
- ld [$c6ff], a
+ ld [wc6ff], a
ld a, [hl]
ld [wc700], a
ld a, [wcd4c]
@@ -6367,9 +6382,9 @@ Function102a3b: ; 102a3b
ld hl, PartyMon1DVs
call GetPartyLocation
ld a, [hli]
- ld [$c6fd], a
+ ld [wc6fd], a
ld a, [hl]
- ld [$c6fe], a
+ ld [wc6fe], a
ld a, [wcd4c]
dec a
ld hl, PartyMon1Species
@@ -6606,11 +6621,11 @@ Function102c48: ; 102c48
ld a, $0
call GetSRAMBank
ld hl, $a600
- ld de, $c608
+ ld de, wc608
ld bc, $002f
call Function102c71
call CloseSRAM
- ld hl, $c608
+ ld hl, wc608
ld de, wda00
ld bc, $01e0
ld a, $5
@@ -6644,12 +6659,12 @@ Function102c87: ; 102c87
ld [wcf64], a
ld a, $0
ld hl, $a600
- ld de, $c608
+ ld de, wc608
ld bc, $011a
call Function102d3e
call Function102cee
ld a, $0
- ld hl, $c608
+ ld hl, wc608
ld de, $a600
ld bc, $011a
call Function102d3e
@@ -6659,12 +6674,12 @@ Function102c87: ; 102c87
ld [wcf64], a
ld a, $5
ld hl, wda00
- ld de, $c608
+ ld de, wc608
ld bc, $011a
call FarCopyWRAM
call Function102cee
ld a, $5
- ld hl, $c608
+ ld hl, wc608
ld de, wda00
ld bc, $011a
call FarCopyWRAM
@@ -6712,7 +6727,7 @@ Function102cee: ; 102cee
; 102d34
Function102d34: ; 102d34
- ld hl, $c608
+ ld hl, wc608
ld bc, $002f
call AddNTimes
ret
diff --git a/misc/mobile_41.asm b/misc/mobile_41.asm
new file mode 100755
index 000000000..825ee9497
--- /dev/null
+++ b/misc/mobile_41.asm
@@ -0,0 +1,1094 @@
+SECTION "bank41_2", ROMX, BANK[$41]
+
+Mobile_HallOfFame2:: mobile ; 0x105ef6
+ ld a, $5
+ call GetSRAMBank
+ ld hl, GameTimeHours
+ ld de, $a001
+ ld bc, 4
+ call CopyBytes
+ ld hl, $a010
+ ld de, $a005
+ ld bc, 4
+ call CopyBytes
+ ld hl, $a039
+ ld de, $a009
+ ld bc, 4
+ call CopyBytes
+ ld hl, $a01b
+ ld de, $a00d
+ ld bc, 3
+ call CopyBytes
+ call Function106162
+ call CloseSRAM
+ ret
+; 105f33
+
+MagikarpLength_Mobile: mobile ; 105f33
+ ld a, $5
+ call GetSRAMBank
+ ld de, Buffer1
+ ld hl, $a07b
+ ld a, [de]
+ cp [hl]
+ jr z, .asm_105f47
+ jr nc, .asm_105f4f
+ jr .asm_105f55
+
+.asm_105f47
+ inc hl
+ inc de
+ ld a, [de]
+ cp [hl]
+ dec hl
+ dec de
+ jr c, .asm_105f55
+
+.asm_105f4f
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ dec de
+ ld [hl], a
+
+.asm_105f55
+ ld hl, $a07d
+ ld a, [hli]
+ or [hl]
+ dec hl
+ jr z, .asm_105f6d
+ ld a, [de]
+ cp [hl]
+ jr z, .asm_105f65
+ jr c, .asm_105f6d
+ jr .asm_105f72
+
+.asm_105f65
+ inc hl
+ inc de
+ ld a, [de]
+ cp [hl]
+ jr nc, .asm_105f72
+ dec hl
+ dec de
+
+.asm_105f6d
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ ld [hl], a
+
+.asm_105f72
+ call Function106162
+ call CloseSRAM
+ ret
+; 105f79
+
+MobileFn_105f79: mobile ; 105f79
+ ld a, $5
+ call GetSRAMBank
+ ld a, [hProduct]
+ ld hl, $a07f
+ cp [hl]
+ jr z, .asm_105f8b
+ jr nc, .asm_105f92
+ jr .asm_105f98
+
+.asm_105f8b
+ inc hl
+ ld a, [hMultiplicand]
+ cp [hl]
+ jr c, .asm_105f98
+ dec hl
+
+.asm_105f92
+ ld a, [hProduct]
+ ld [hli], a
+ ld a, [hMultiplicand]
+ ld [hl], a
+
+.asm_105f98
+ call Function106162
+ call CloseSRAM
+ ret
+; 105f9f
+
+MobileFn_105f9f: mobile ; 105f9f
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $a070
+ inc [hl]
+ jr nz, .asm_105fae
+ dec hl
+ inc [hl]
+ inc hl
+
+.asm_105fae
+ dec hl
+ ld a, [$a071]
+ cp [hl]
+ jr z, .asm_105fb9
+ jr c, .asm_105fc1
+ jr .asm_105fc9
+
+.asm_105fb9
+ inc hl
+ ld a, [$a072]
+ cp [hl]
+ jr nc, .asm_105fc9
+ dec hl
+
+.asm_105fc1
+ ld a, [hli]
+ ld [$a071], a
+ ld a, [hl]
+ ld [$a072], a
+
+.asm_105fc9
+ call Function106162
+ call CloseSRAM
+ ret
+; 105fd0
+
+MobileFn_105fd0: mobile ; 105fd0
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $a06f
+ xor a
+ ld [hli], a
+ ld [hl], a
+ call Function106162
+ call CloseSRAM
+ ret
+; 105fe3
+
+MobileFn_105fe3: mobile ; 105fe3
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $a076
+ ld a, e
+ add [hl]
+ ld [hld], a
+ ld a, d
+ adc [hl]
+ ld [hld], a
+ jr nc, .asm_106001
+ inc [hl]
+ jr nz, .asm_106001
+ dec hl
+ inc [hl]
+ jr nz, .asm_106001
+ ld a, $ff
+rept 3
+ ld [hli], a
+endr
+ ld [hl], a
+
+.asm_106001
+ call Function106162
+ call CloseSRAM
+ ret
+; 106008
+
+MobileFn_106008: mobile ; 106008
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $a07a
+ ld a, [bc]
+ dec bc
+ add [hl]
+ ld [hld], a
+ ld a, [bc]
+ dec bc
+ adc [hl]
+ ld [hld], a
+ ld a, [bc]
+ adc [hl]
+ ld [hld], a
+ jr nc, .asm_106027
+ inc [hl]
+ jr nz, .asm_106027
+ ld a, $ff
+rept 3
+ ld [hli], a
+endr
+ ld [hl], a
+
+.asm_106027
+ call Function106162
+ call CloseSRAM
+ ret
+; 10602e
+
+MobileFn_10602e: mobile ; 10602e (41:602e)
+ ld hl, $a010
+ jp MobileFn_106117
+
+MobileFn_106035: mobile ; 106035
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa8d]
+ and a
+ call CloseSRAM
+ ret nz
+ ld hl, $a014
+ jp Function106123
+
+MobileFn_106049: mobile ; 106049
+ ld hl, $a018
+ jp Function10611d
+
+MobileFn_106050: mobile ; 106050
+ ld a, [BattleType]
+ cp BATTLETYPE_TUTORIAL
+ ret z
+ ld hl, $a01b
+ jp Function10611d
+
+MobileFn_10605d: mobile ; 10605d
+ ld a, [BattleType]
+ cp BATTLETYPE_TUTORIAL
+ ret z
+ ld hl, $a01e
+ jp Function10611d
+
+MobileFn_10606a: mobile ; 10606a
+ ld hl, $a021
+ jp Function10611d
+
+MobileFn_106071: mobile ; 106071
+ ld hl, $a024
+ jp Function10611d
+
+Mobile_HallOfFame:: mobile ; 0x106078
+ ld hl, $a027
+ jp Function10611d
+
+MobileFn_10607f: mobile ; 10607f (41:607f)
+ ld hl, $a02a
+ jp Function10611d
+
+MobileFn_106086: mobile ; 106086
+ ld hl, $a02d
+ jp Function10611d
+
+MobileFn_10608d: mobile ; 10608d (41:608d)
+ ld hl, $a030
+ jp Function10611d
+
+MobileFn_106094: mobile ; 106094
+ ld hl, $a033
+ jp Function10611d
+
+MobileFn_10609b: mobile ; 10609b
+ ld hl, $a036
+ jp Function10611d
+
+Mobile_HealParty: mobile ; 1060a2
+ ld hl, $a039
+ jp Function10611d
+
+MobileFn_1060a9: mobile ; 1060a9 (41:60a9)
+ ld hl, $a03c
+ jr Function10611d
+
+MobileFn_1060af: mobile ; 1060af
+ ld hl, $a03f
+ jr Function10611d
+
+MobileFn_1060b5: mobile ; 1060b5
+ ld hl, $a042
+ jr Function10611d
+
+MobileFn_1060bb: mobile ; 1060bb
+ ld hl, $a045
+ jr Function10611d
+
+MobileFn_1060c1: mobile ; 1060c1
+ ld hl, $a048
+ jr Function10611d
+
+MobileFn_1060c7: mobile ; 1060c7
+ ld hl, $a04b
+ jr Function10611d
+
+MobileFn_1060cd: mobile ; 1060cd
+ ld hl, $a04e
+ jr Function106123
+
+MobileFn_1060d3: mobile ; 1060d3
+ ld hl, $a051
+ jr Function10611d
+
+MobileFn_1060d9: mobile ; 1060df
+ ld hl, $a054
+ jr Function10611d
+
+MobileFn_1060df: mobile ; 1060df
+ ld hl, $a057
+ jr Function10611d
+
+MobileFn_1060e5: mobile ; 1060e5
+ ld a, [hBattleTurn]
+ and a
+ ret nz
+ ld hl, $a05a
+ jr Function10611d
+
+MobileFn_1060ef: mobile ; 1060ef
+ ld hl, $a05d
+ jr Function10611d
+
+MobileFn_1060f5: mobile ; 1060f5
+ ld hl, $a060
+ jr Function10611d
+
+MobileFn_SaveBattleResult_Win: mobile ; win
+ ld hl, $a063
+ jr Function10611d
+
+MobileFn_SaveBattleResult_Lose: mobile ; lose
+ ld hl, $a066
+ jr Function10611d
+; 106107
+
+MobileFn_SaveBattleResult_Draw: mobile ; draw
+ ld hl, $a069
+ jr Function10611d
+; 10610d
+
+MobileFn_10610d: mobile ; 10610d
+ ld a, [hBattleTurn]
+ and a
+ ret nz
+ ld hl, $a06c
+ jr Function10611d
+; 106117
+
+MobileFn_106117: ; 106117
+ push bc
+ ld bc, 3
+ jr Function10612d
+; 10611d
+
+Function10611d: ; 10611d
+ push bc
+ ld bc, 2
+ jr Function10612d
+; 106123
+
+Function106123: ; 106123
+ push bc
+ ld bc, 1
+ jr Function10612d
+; 106129
+
+Function106129: ; 106129
+ push bc
+ ld bc, 0
+
+Function10612d: ; 10612d
+ ld a, $5
+ call GetSRAMBank
+ push hl
+ push de
+ ld e, c
+ inc e
+.asm_106136
+ ld a, [hli]
+ inc a
+ jr nz, .asm_10613d
+ dec e
+ jr nz, .asm_106136
+
+.asm_10613d
+ pop de
+ pop hl
+ jr z, .asm_10614d
+ add hl, bc
+.asm_106142
+ inc [hl]
+ jr nz, .asm_10614d
+ ld a, c
+ and a
+ jr z, .asm_10614d
+ dec hl
+ dec c
+ jr .asm_106142
+
+.asm_10614d
+ call Function106162
+ call CloseSRAM
+ pop bc
+ ret
+; 106155
+
+MobileFn_106155: mobile ; 106155
+ ld a, $5
+ call GetSRAMBank
+ call Function106162
+ call CloseSRAM
+ ret
+; 106162
+
+Function106162: ; 106162
+ push de
+ call Function10616e
+ ld hl, $a081 ; s5_a081
+ ld [hl], d
+ inc hl
+ ld [hl], e
+ pop de
+ ret
+; 10616e
+
+Function10616e: ; 10616e
+ push bc
+ ld hl, $a001 ; s5_a001
+ ld bc, $80
+ xor a
+ ld de, 0
+.asm_106179
+ ld a, e
+ add [hl]
+ ld e, a
+ jr nc, .asm_10617f
+ inc d
+
+.asm_10617f
+ inc hl
+ dec bc
+ ld a, b
+ or c
+ jr nz, .asm_106179
+ pop bc
+ ret
+; 106187
+
+
+BackupMobileEventIndex: ; 106187
+ ld a, BANK(sMobileEventIndex)
+ call GetSRAMBank
+ ld a, [sMobileEventIndex]
+ push af
+ ld a, BANK(sMobileEventIndexBackup)
+ call GetSRAMBank
+ pop af
+ ld [sMobileEventIndexBackup], a
+ call CloseSRAM
+ ret
+; 10619d
+
+
+RestoreMobileEventIndex: ; 10619d (41:619d)
+ ld a, BANK(sMobileEventIndexBackup)
+ call GetSRAMBank
+ ld a, [sMobileEventIndexBackup]
+ push af
+ ld a, BANK(sMobileEventIndex)
+ call GetSRAMBank
+ pop af
+ ld [sMobileEventIndex], a
+ call CloseSRAM
+ ret
+; 1061b3 (41:61b3)
+
+Function1061b3: ; 1061b3
+ call Function10616e
+ ld hl, $a081 ; s5_a081
+ ld a, d
+ cp [hl]
+ ret nz
+ inc hl
+ ld a, e
+ cp [hl]
+ ret
+; 1061c0
+
+DeleteMobileEventIndex: ; 1061c0 (41:61c0)
+ ld a, BANK(sMobileEventIndex)
+ call GetSRAMBank
+ xor a
+ ld [sMobileEventIndex], a
+ call CloseSRAM
+ ret
+; 1061cd (41:61cd)
+
+Function1061cd: ; unreferenced
+ ld hl, $a001
+ ld bc, $82
+ xor a
+ call ByteFill
+ ld hl, $a07d
+ ld a, $3
+ ld [hli], a
+ ld [hl], $e8
+ call Function106162
+ ld hl, $a001
+ ld de, $a084
+ ld bc, $82
+ call CopyBytes
+ ret
+; 1061ef
+
+
+_MobilePrintNum:: ; 1061ef
+; Supports signed 31-bit integers (up to 10 digits)
+; b: Bits 0-4 = # bytes
+; Bit 7 = set if negative
+; c: Number of digits
+; de: highest byte of number to convert
+; hl: where to print the converted string
+ push bc
+ xor a
+ ld [hPrintNum1], a
+ ld [hPrintNum2], a
+ ld [hPrintNum3], a
+ ld a, b
+ and $f
+ cp $1
+ jr z, .one_byte
+ cp $2
+ jr z, .two_bytes
+ cp $3
+ jr z, .three_bytes
+; four bytes
+ ld a, [de]
+ ld [hPrintNum1], a
+ inc de
+
+.three_bytes
+ ld a, [de]
+ ld [hPrintNum2], a
+ inc de
+
+.two_bytes
+ ld a, [de]
+ ld [hPrintNum3], a
+ inc de
+
+.one_byte
+ ld a, [de]
+ ld [hPrintNum4], a
+ inc de
+
+ push de
+ xor a
+ ld [hPrintNum9], a
+ ld a, b
+ ld [hPrintNum10], a
+ ld a, c
+ cp 2
+ jr z, .two_digits
+ ld de, ._2
+ cp 3
+ jr z, .three_to_nine_digits
+ ld de, ._3
+ cp 4
+ jr z, .three_to_nine_digits
+ ld de, ._4
+ cp 5
+ jr z, .three_to_nine_digits
+ ld de, ._5
+ cp 6
+ jr z, .three_to_nine_digits
+ ld de, ._6
+ cp 7
+ jr z, .three_to_nine_digits
+ ld de, ._7
+ cp 8
+ jr z, .three_to_nine_digits
+ ld de, ._8
+ cp 9
+ jr z, .three_to_nine_digits
+ ld de, ._9
+
+.three_to_nine_digits
+rept 3
+ inc de
+endr
+rept 2
+ dec a
+endr
+
+.digit_loop
+ push af
+ call .Function1062b2
+ call .Function1062ff
+rept 4
+ inc de
+endr
+ pop af
+ dec a
+ jr nz, .digit_loop
+
+.two_digits
+ ld c, 0
+ ld a, [hPrintNum4]
+.mod_ten_loop
+ cp 10
+ jr c, .simple_divide_done
+ sub 10
+ inc c
+ jr .mod_ten_loop
+
+.simple_divide_done
+ ld b, a
+ ld a, [hPrintNum9]
+ or c
+ ld [hPrintNum9], a
+ jr nz, .create_digit
+ call .LoadMinusTenIfNegative
+ jr .done
+
+.create_digit
+ ld a, "0"
+ add c
+ ld [hl], a
+
+.done
+ call .Function1062ff
+ ld a, "0"
+ add b
+ ld [hli], a
+ pop de
+ pop bc
+ ret
+; 106292
+
+._9 dd 1000000000
+._8 dd 100000000
+._7 dd 10000000
+._6 dd 1000000
+._5 dd 100000
+._4 dd 10000
+._3 dd 1000
+._2 dd 100
+; 1062b2
+
+.Function1062b2: ; 1062b2
+ ld c, $0
+.asm_1062b4
+ ld a, [de]
+ dec de
+ ld b, a
+ ld a, [hPrintNum4]
+ sub b
+ ld [hPrintNum8], a
+ ld a, [de]
+ dec de
+ ld b, a
+ ld a, [hPrintNum3]
+ sbc b
+ ld [hPrintNum7], a
+ ld a, [de]
+ dec de
+ ld b, a
+ ld a, [hPrintNum2]
+ sbc b
+ ld [hPrintNum6], a
+ ld a, [de]
+rept 3
+ inc de
+endr
+ ld b, a
+ ld a, [hPrintNum1]
+ sbc b
+ ld [hPrintNum5], a
+ jr c, .asm_1062eb
+ ld a, [hPrintNum5]
+ ld [hPrintNum1], a
+ ld a, [hPrintNum6]
+ ld [hPrintNum2], a
+ ld a, [hPrintNum7]
+ ld [hPrintNum3], a
+ ld a, [hPrintNum8]
+ ld [hPrintNum4], a
+ inc c
+ jr .asm_1062b4
+
+.asm_1062eb
+ ld a, [hPrintNum9]
+ or c
+ jr z, .LoadMinusTenIfNegative
+ ld a, -10
+ add c
+ ld [hl], a
+ ld [hPrintNum9], a
+ ret
+
+.LoadMinusTenIfNegative:
+ ld a, [hPrintNum10]
+ bit 7, a
+ ret z
+
+ ld [hl], -10
+ ret
+; 1062ff
+
+.Function1062ff: ; 1062ff
+ ld a, [hPrintNum10]
+ bit 7, a
+ jr nz, .asm_10630d
+ bit 6, a
+ jr z, .asm_10630d
+ ld a, [hPrintNum9]
+ and a
+ ret z
+
+.asm_10630d
+ inc hl
+ ret
+; 10630f
+
+Function10630f: ; 10630f
+ xor a
+ ld [ScriptVar], a
+ ret
+; 106314
+
+MobileFn_106314: mobile ; 106314
+ ld a, $4
+ call GetSRAMBank
+ ld a, c
+ cpl
+ ld [$b000], a
+ call CloseSRAM
+ ld a, $7
+ call GetSRAMBank
+ ld a, c
+ ld [$a800], a
+ call CloseSRAM
+ ret
+; 10632f
+
+Function10632f: ; 10632f
+ or a
+ mobile
+
+ ld a, $4
+ call GetSRAMBank
+ ld a, [$b000]
+ cpl
+ ld b, a
+ call CloseSRAM
+ ld a, $7
+ call GetSRAMBank
+ ld a, [$a800]
+ ld c, a
+ call CloseSRAM
+ ld a, c
+ cp b
+ jr nz, .asm_106359
+ and a
+ jr z, .asm_106359
+ and $8f
+ cp c
+ jr nz, .asm_106359
+ ld c, a
+ scf
+ ret
+
+.asm_106359
+ xor a
+ ld c, a
+ ret
+; 10635c
+
+Function10635c: ; 10635c
+ ld a, [wcd25]
+ bit 7, a
+ ret nz
+ ld a, [wcd25]
+ ld hl, Jumptable_10636a
+ rst JumpTable
+ ret
+; 10636a
+
+Jumptable_10636a: ; 10636a
+ dw Function10637c
+ dw Function106392
+ dw Function1063cc
+ dw Function1063d8
+ dw Function1063e5
+ dw Function1063f3
+ dw Function106403
+ dw Function106442
+ dw Function106453
+; 10637c
+
+Function10637c: ; 10637c
+ ld de, wcd30
+ ld hl, $41
+ ld bc, $41
+ ld a, $40
+ call Function3e32
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+ ret
+; 106392
+
+Function106392: ; 106392
+ xor a
+ ld [wcf64], a
+ ld a, [wc821]
+ bit 1, a
+ jr nz, .asm_1063a2
+ bit 0, a
+ jr z, .asm_1063bf
+ ret
+
+.asm_1063a2
+ call Function10632f
+ ld a, c
+ and a
+ jr nz, .asm_1063b4
+ ld a, $b
+ ld [wcf64], a
+ ld a, $7
+ ld [wcd25], a
+ ret
+
+.asm_1063b4
+ ld a, $7
+ ld [wcf64], a
+ ld a, $7
+ ld [wcd25], a
+ ret
+
+.asm_1063bf
+ ld a, $1
+ ld [wcf64], a
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+ ret
+; 1063cc
+
+Function1063cc: ; 1063cc
+ ld a, $78
+ ld [wcd42], a
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+
+Function1063d8: ; 1063d8
+ ld hl, wcd42
+ dec [hl]
+ ret nz
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+ ret
+; 1063e5
+
+Function1063e5: ; 1063e5
+ ld a, [wcf64]
+ cp $3
+ ret nz
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+ ret
+; 1063f3
+
+Function1063f3: ; 1063f3
+ ld de, wcd31
+ ld a, $32
+ call Function3e32
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+ ret
+; 106403
+
+Function106403: ; 106403
+ ld a, [wc821]
+ bit 1, a
+ jr nz, .asm_106426
+ bit 0, a
+ jr z, .asm_10640f
+ ret
+
+.asm_10640f
+ ld a, [wcd31]
+ and $80
+ ld c, a
+ ld a, [wcd30]
+ or c
+ inc a
+ ld c, a
+ call MobileFn_106314
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+ ret
+
+.asm_106426
+ call Function10632f
+ ld a, c
+ and a
+ jr z, .asm_106435
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+ ret
+
+.asm_106435
+ ld c, $0
+ call MobileFn_106314
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+ ret
+; 106442
+
+Function106442: ; 106442
+ ld a, $36
+ call Function3e32
+ xor a
+ ld [hMobile], a
+ ld [$ffc9], a
+ ld a, [wcd25]
+ inc a
+ ld [wcd25], a
+
+Function106453: ; 106453
+ ld a, [wcd25]
+ set 7, a
+ ld [wcd25], a
+ nop
+ ld a, $4
+ ld [wcf64], a
+ ret
+; 106462
+
+Function106462: ; 106462
+ ret
+; 106463
+
+Function106463: ; 106463
+ ret
+; 106464
+
+Function106464:: ; 106464
+ ld de, MobilePhoneTilesGFX
+ ld hl, VTiles2 tile $60
+ lb bc, BANK(MobilePhoneTilesGFX), 1
+ call Get2bpp
+ ld de, GFX_f9424
+ ld hl, VTiles2 tile $61
+ lb bc, BANK(GFX_f9424), 1
+ call Get2bpp
+ ld de, GFX_106514
+ ld hl, VTiles2 tile $62
+ ld c, 9
+ ld b, BANK(GFX_106514)
+ call Get2bpp
+ ld de, $40b0
+ ld hl, VTiles2 tile $6b
+ ld b, $f ; XXX no graphics at 0f:40b0
+ call Get2bpp
+ callba LoadFrame
+ ret
+; 10649b
+
+Function10649b: ; 10649b
+ ld a, [TextBoxFrame]
+ and $7
+ ld bc, $30
+ ld hl, Frames
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, VTiles2 tile $79
+ ld c, 6
+ ld b, BANK(Frames)
+ call Function1064c3
+ ld hl, VTiles2 tile $7f
+ ld de, TextBoxSpaceGFX
+ ld c, 1
+ ld b, BANK(TextBoxSpaceGFX)
+ call Function1064c3
+ ret
+; 1064c3
+
+Function1064c3: ; 1064c3
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+ push bc
+ push hl
+ ld hl, Function3f88
+ ld a, b
+ rst FarCall
+ pop hl
+ pop bc
+ pop af
+ ld [rSVBK], a
+ jr asm_1064ed
+
+Function1064d8: ; 1064d8
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+ push bc
+ push hl
+ ld hl, Function3f9f
+ ld a, b
+ rst FarCall
+ pop hl
+ pop bc
+ pop af
+ ld [rSVBK], a
+ jr asm_1064ed
+
+asm_1064ed
+ ld de, w6_d000
+ ld b, $0
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+ ld a, [rVBK]
+ push af
+ ld a, $1
+ ld [rVBK], a
+ call Get2bpp
+ pop af
+ ld [rVBK], a
+ pop af
+ ld [rSVBK], a
+ ret
+; 10650a
+
+Function10650a: ; 10650a
+ ld de, MobilePhoneTilesGFX + $20
+ lb bc, BANK(MobilePhoneTilesGFX), $11
+ call Get2bpp
+ ret
+; 106514
+
+GFX_106514:
+INCBIN "gfx/unknown/106514.2bpp"
+
+
+Function106594:: ; 106594
+ ld de, GFX_1065ad
+ ld hl, VTiles1
+ lb bc, BANK(GFX_1065ad), $80
+ call Get2bpp
+ ld de, GFX_1065ad + $800
+ ld hl, VTiles2 tile $7f
+ lb bc, BANK(GFX_1065ad), 1
+ call Get2bpp
+ ret
+; 1065ad
+
+GFX_1065ad:
+INCBIN "gfx/unknown/1065ad.2bpp"