2018-06-24 14:09:41 +00:00
|
|
|
Function3e32::
|
2014-08-22 17:57:06 +00:00
|
|
|
; Mobile
|
|
|
|
cp $2
|
|
|
|
ld [$c988], a
|
|
|
|
ld a, l
|
|
|
|
ld [$c986], a
|
|
|
|
ld a, h
|
|
|
|
ld [$c987], a
|
2016-05-05 19:07:37 +00:00
|
|
|
jr nz, .okay
|
2014-08-22 17:57:06 +00:00
|
|
|
|
|
|
|
ld [$c982], a
|
|
|
|
ld a, l
|
|
|
|
ld [$c981], a
|
|
|
|
ld hl, $c983
|
|
|
|
ld a, c
|
|
|
|
ld [hli], a
|
|
|
|
ld a, b
|
|
|
|
ld [hl], a
|
|
|
|
|
2016-05-05 19:07:37 +00:00
|
|
|
.okay
|
2014-08-22 17:57:06 +00:00
|
|
|
ld hl, $c822
|
|
|
|
set 6, [hl]
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hROMBank]
|
2014-08-22 17:57:06 +00:00
|
|
|
push af
|
|
|
|
ld a, BANK(Function110030)
|
|
|
|
ld [$c981], a
|
|
|
|
rst Bankswitch
|
|
|
|
|
|
|
|
jp Function110030
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Function3e60::
|
2016-05-05 19:07:37 +00:00
|
|
|
; Return from Function110030
|
2014-08-22 17:57:06 +00:00
|
|
|
ld [$c986], a
|
|
|
|
ld a, l
|
|
|
|
ld [$c987], a
|
|
|
|
ld a, h
|
|
|
|
ld [$c988], a
|
|
|
|
|
|
|
|
pop bc
|
|
|
|
ld a, b
|
|
|
|
ld [$c981], a
|
|
|
|
rst Bankswitch
|
|
|
|
|
|
|
|
ld hl, $c822
|
|
|
|
res 6, [hl]
|
|
|
|
ld hl, $c987
|
|
|
|
ld a, [hli]
|
|
|
|
ld h, [hl]
|
|
|
|
ld l, a
|
|
|
|
ld a, [$c986]
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MobileReceive::
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hROMBank]
|
2014-08-22 17:57:06 +00:00
|
|
|
push af
|
2015-12-15 23:59:49 +00:00
|
|
|
ld a, BANK(_MobileReceive)
|
2014-08-22 17:57:06 +00:00
|
|
|
ld [$c981], a
|
|
|
|
rst Bankswitch
|
|
|
|
|
2015-12-15 23:59:49 +00:00
|
|
|
call _MobileReceive
|
2014-08-22 17:57:06 +00:00
|
|
|
pop bc
|
|
|
|
ld a, b
|
|
|
|
ld [$c981], a
|
|
|
|
rst Bankswitch
|
|
|
|
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Timer::
|
2014-08-22 17:57:06 +00:00
|
|
|
push af
|
|
|
|
push bc
|
|
|
|
push de
|
|
|
|
push hl
|
|
|
|
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hMobile]
|
2014-08-22 17:57:06 +00:00
|
|
|
and a
|
2015-10-24 14:34:19 +00:00
|
|
|
jr z, .pop_ret
|
2014-08-22 17:57:06 +00:00
|
|
|
|
|
|
|
xor a
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh [rTAC], a
|
2014-08-22 17:57:06 +00:00
|
|
|
|
|
|
|
; Turn off timer interrupt
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [rIF]
|
2014-08-22 17:57:06 +00:00
|
|
|
and 1 << VBLANK | 1 << LCD_STAT | 1 << SERIAL | 1 << JOYPAD
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh [rIF], a
|
2014-08-22 17:57:06 +00:00
|
|
|
|
|
|
|
ld a, [$c86a]
|
|
|
|
or a
|
2015-10-24 14:34:19 +00:00
|
|
|
jr z, .pop_ret
|
2014-08-22 17:57:06 +00:00
|
|
|
|
|
|
|
ld a, [$c822]
|
|
|
|
bit 1, a
|
2015-12-28 22:09:53 +00:00
|
|
|
jr nz, .skip_Timer
|
2014-08-22 17:57:06 +00:00
|
|
|
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [rSC]
|
2014-08-22 17:57:06 +00:00
|
|
|
and 1 << rSC_ON
|
2015-12-28 22:09:53 +00:00
|
|
|
jr nz, .skip_Timer
|
2014-08-22 17:57:06 +00:00
|
|
|
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hROMBank]
|
2014-08-22 17:57:06 +00:00
|
|
|
push af
|
2015-12-28 22:09:53 +00:00
|
|
|
ld a, BANK(_Timer)
|
2014-08-22 17:57:06 +00:00
|
|
|
ld [$c981], a
|
|
|
|
rst Bankswitch
|
|
|
|
|
2015-12-28 22:09:53 +00:00
|
|
|
call _Timer
|
2014-08-22 17:57:06 +00:00
|
|
|
|
|
|
|
pop bc
|
|
|
|
ld a, b
|
|
|
|
ld [$c981], a
|
|
|
|
rst Bankswitch
|
|
|
|
|
2015-12-28 22:09:53 +00:00
|
|
|
.skip_Timer
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [rTMA]
|
|
|
|
ldh [rTIMA], a
|
2014-08-22 17:57:06 +00:00
|
|
|
|
|
|
|
ld a, 1 << rTAC_ON | rTAC_65536_HZ
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh [rTAC], a
|
2014-08-22 17:57:06 +00:00
|
|
|
|
2015-10-24 14:34:19 +00:00
|
|
|
.pop_ret
|
2014-08-22 17:57:06 +00:00
|
|
|
pop hl
|
|
|
|
pop de
|
|
|
|
pop bc
|
|
|
|
pop af
|
|
|
|
reti
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Unreferenced_Function3ed7::
|
2016-01-12 17:46:18 +00:00
|
|
|
ld [$dc02], a
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hROMBank]
|
2014-08-22 17:57:06 +00:00
|
|
|
push af
|
|
|
|
ld a, BANK(Function114243)
|
|
|
|
rst Bankswitch
|
|
|
|
|
|
|
|
call Function114243
|
|
|
|
pop bc
|
|
|
|
ld a, b
|
|
|
|
rst Bankswitch
|
|
|
|
|
2016-01-12 17:46:18 +00:00
|
|
|
ld a, [$dc02]
|
2014-08-22 17:57:06 +00:00
|
|
|
ret
|
2015-12-28 22:09:53 +00:00
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Function3eea::
|
2015-12-28 22:09:53 +00:00
|
|
|
push hl
|
|
|
|
push bc
|
2018-01-23 22:39:09 +00:00
|
|
|
ld de, wAttrMap - wTileMap
|
2015-12-28 22:09:53 +00:00
|
|
|
add hl, de
|
|
|
|
inc b
|
|
|
|
inc b
|
|
|
|
inc c
|
|
|
|
inc c
|
|
|
|
call Function3f35
|
|
|
|
pop bc
|
|
|
|
pop hl
|
|
|
|
call MobileHome_PlaceBox
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Unreferenced_Function3efd::
|
2015-12-28 22:09:53 +00:00
|
|
|
push hl
|
|
|
|
hlcoord 0, 12
|
|
|
|
ld b, 4
|
|
|
|
ld c, 18
|
|
|
|
call .fill_attr
|
|
|
|
pop hl
|
|
|
|
call PrintTextBoxText
|
|
|
|
ret
|
|
|
|
|
|
|
|
.fill_attr
|
|
|
|
push hl
|
|
|
|
push bc
|
2018-01-23 22:39:09 +00:00
|
|
|
ld de, wAttrMap - wTileMap
|
2015-12-28 22:09:53 +00:00
|
|
|
add hl, de
|
|
|
|
inc b
|
|
|
|
inc b
|
|
|
|
inc c
|
|
|
|
inc c
|
|
|
|
call Function3f35
|
|
|
|
pop bc
|
|
|
|
pop hl
|
|
|
|
call TextBoxBorder
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Function3f20::
|
2018-01-23 22:39:09 +00:00
|
|
|
hlcoord 0, 0, wAttrMap
|
2015-12-28 22:09:53 +00:00
|
|
|
ld b, 6
|
|
|
|
ld c, 20
|
|
|
|
call Function3f35
|
|
|
|
hlcoord 0, 0
|
|
|
|
ld b, 4
|
|
|
|
ld c, 18
|
|
|
|
call MobileHome_PlaceBox
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Function3f35::
|
2015-12-28 22:09:53 +00:00
|
|
|
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
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
MobileHome_PlaceBox:
|
2015-12-28 22:09:53 +00:00
|
|
|
push bc
|
|
|
|
call .FillTop
|
|
|
|
pop bc
|
2016-04-10 18:42:14 +00:00
|
|
|
.RowLoop:
|
2015-12-28 22:09:53 +00:00
|
|
|
push bc
|
|
|
|
call .FillMiddle
|
|
|
|
pop bc
|
|
|
|
dec b
|
|
|
|
jr nz, .RowLoop
|
|
|
|
call .FillBottom
|
|
|
|
ret
|
|
|
|
|
2016-04-10 18:42:14 +00:00
|
|
|
.FillTop:
|
2015-12-28 22:09:53 +00:00
|
|
|
ld a, $63
|
|
|
|
ld d, $62
|
|
|
|
ld e, $64
|
|
|
|
jr .FillRow
|
|
|
|
|
2016-04-10 18:42:14 +00:00
|
|
|
.FillBottom:
|
2015-12-28 22:09:53 +00:00
|
|
|
ld a, $68
|
|
|
|
ld d, $67
|
|
|
|
ld e, $69
|
|
|
|
jr .FillRow
|
|
|
|
|
2016-04-10 18:42:14 +00:00
|
|
|
.FillMiddle:
|
2015-12-28 22:09:53 +00:00
|
|
|
ld a, $7f
|
|
|
|
ld d, $65
|
|
|
|
ld e, $66
|
|
|
|
|
2016-04-10 18:42:14 +00:00
|
|
|
.FillRow:
|
2015-12-28 22:09:53 +00:00
|
|
|
push hl
|
|
|
|
ld [hl], d
|
|
|
|
inc hl
|
2016-04-10 18:42:14 +00:00
|
|
|
.FillLoop:
|
2015-12-28 22:09:53 +00:00
|
|
|
ld [hli], a
|
|
|
|
dec c
|
|
|
|
jr nz, .FillLoop
|
|
|
|
ld [hl], e
|
|
|
|
pop hl
|
|
|
|
ld de, SCREEN_WIDTH
|
|
|
|
add hl, de
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Function3f7c::
|
2015-12-28 22:09:53 +00:00
|
|
|
call MenuBoxCoord2Tile
|
|
|
|
call GetMenuBoxDims
|
|
|
|
dec b
|
|
|
|
dec c
|
|
|
|
call Function3eea
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Function3f88::
|
2015-12-28 22:09:53 +00:00
|
|
|
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
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
Function3f9f::
|
2015-12-28 22:09:53 +00:00
|
|
|
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
|