diff options
Diffstat (limited to 'home/mobile.asm')
-rw-r--r-- | home/mobile.asm | 192 |
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 |