summaryrefslogtreecommitdiff
path: root/home/mobile.asm
diff options
context:
space:
mode:
Diffstat (limited to 'home/mobile.asm')
-rw-r--r--home/mobile.asm192
1 files changed, 182 insertions, 10 deletions
diff --git a/home/mobile.asm b/home/mobile.asm
index dbf982d72..6faecfbff 100644
--- a/home/mobile.asm
+++ b/home/mobile.asm
@@ -51,14 +51,14 @@ Function3e60:: ; 3e60
ret
; 3e80
-Function3e80:: ; 3e80
+MobileReceive:: ; 3e80
ld a, [hROMBank]
push af
- ld a, BANK(Function1116c5)
+ ld a, BANK(_MobileReceive)
ld [$c981], a
rst Bankswitch
- call Function1116c5
+ call _MobileReceive
pop bc
ld a, b
ld [$c981], a
@@ -92,26 +92,26 @@ Timer:: ; 3e93
ld a, [$c822]
bit 1, a
- jr nz, .skip_Function1118de
+ jr nz, .skip_Timer
ld a, [rSC]
and 1 << rSC_ON
- jr nz, .skip_Function1118de
+ jr nz, .skip_Timer
ld a, [hROMBank]
push af
- ld a, BANK(Function1118de)
+ ld a, BANK(_Timer)
ld [$c981], a
rst Bankswitch
- call Function1118de
+ call _Timer
pop bc
ld a, b
ld [$c981], a
rst Bankswitch
-.skip_Function1118de
+.skip_Timer
ld a, [rTMA]
ld [rTIMA], a
@@ -127,7 +127,8 @@ Timer:: ; 3e93
; 3ed7
Function3ed7:: ; 3ed7
- ld [$dc02], a
+; unreferenced
+ ld [wdc02], a
ld a, [hROMBank]
push af
ld a, BANK(Function114243)
@@ -138,6 +139,177 @@ Function3ed7:: ; 3ed7
ld a, b
rst Bankswitch
- ld a, [$dc02]
+ ld a, [wdc02]
ret
; 3eea
+
+Function3eea:: ; 3eea
+ push hl
+ push bc
+ ld de, AttrMap - TileMap
+ add hl, de
+ inc b
+ inc b
+ inc c
+ inc c
+ call Function3f35
+ pop bc
+ pop hl
+ call MobileHome_PlaceBox
+ ret
+; 3efd
+
+Function3efd:: ; 3efd
+; unreferenced
+ push hl
+ hlcoord 0, 12
+ ld b, 4
+ ld c, 18
+ call .fill_attr
+ pop hl
+ call PrintTextBoxText
+ ret
+; 3f0d
+
+.fill_attr
+ push hl
+ push bc
+ ld de, AttrMap - TileMap
+ add hl, de
+ inc b
+ inc b
+ inc c
+ inc c
+ call Function3f35
+ pop bc
+ pop hl
+ call TextBoxBorder
+ ret
+; 3f20
+
+Function3f20:: ; 3f20
+ hlcoord 0, 0, AttrMap
+ ld b, 6
+ ld c, 20
+ call Function3f35
+ hlcoord 0, 0
+ ld b, 4
+ ld c, 18
+ call MobileHome_PlaceBox
+ ret
+; 3f35
+
+Function3f35:: ; 3f35
+ ld a, 6
+ ld de, SCREEN_WIDTH
+.row
+ push bc
+ push hl
+.col
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop hl
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .row
+ ret
+; 3f47
+
+MobileHome_PlaceBox: ; 3f47
+ push bc
+ call .FillTop
+ pop bc
+.RowLoop
+ push bc
+ call .FillMiddle
+ pop bc
+ dec b
+ jr nz, .RowLoop
+ call .FillBottom
+ ret
+; 3f58
+
+.FillTop
+ ld a, $63
+ ld d, $62
+ ld e, $64
+ jr .FillRow
+
+.FillBottom
+ ld a, $68
+ ld d, $67
+ ld e, $69
+ jr .FillRow
+
+.FillMiddle
+ ld a, $7f
+ ld d, $65
+ ld e, $66
+
+.FillRow
+ push hl
+ ld [hl], d
+ inc hl
+.FillLoop
+ ld [hli], a
+ dec c
+ jr nz, .FillLoop
+ ld [hl], e
+ pop hl
+ ld de, SCREEN_WIDTH
+ add hl, de
+ ret
+; 3f7c
+
+Function3f7c:: ; 3f7c
+ call MenuBoxCoord2Tile
+ call GetMenuBoxDims
+ dec b
+ dec c
+ call Function3eea
+ ret
+; 3f88
+
+Function3f88:: ; 3f88
+ ld hl, wDecompressScratch
+ ld b, 0
+.row
+ push bc
+ ld c, 1 tiles / 2
+.col
+ ld a, [de]
+ inc de
+ cpl
+ ld [hl], 0
+ inc hl
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop bc
+ dec c
+ jr nz, .row
+ ret
+; 3f9f
+
+Function3f9f:: ; 3f9f
+ ld hl, wDecompressScratch
+.row
+ push bc
+ ld c, 1 tiles / 2
+.col
+ ld a, [de]
+ inc de
+ inc de
+ cpl
+ ld [hl], $0
+ inc hl
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop bc
+ dec c
+ jr nz, .row
+ ret
+; 3fb5