pokecrystal/home/mobile.asm

299 lines
3.3 KiB
NASM
Raw Normal View History

2018-06-24 14:09:41 +00:00
Function3e32::
; 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
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
ld hl, $c822
set 6, [hl]
ldh a, [hROMBank]
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
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::
ldh a, [hROMBank]
push af
2015-12-15 23:59:49 +00:00
ld a, BANK(_MobileReceive)
ld [$c981], a
rst Bankswitch
2015-12-15 23:59:49 +00:00
call _MobileReceive
pop bc
ld a, b
ld [$c981], a
rst Bankswitch
ret
2018-06-24 14:09:41 +00:00
Timer::
push af
push bc
push de
push hl
ldh a, [hMobile]
and a
2015-10-24 14:34:19 +00:00
jr z, .pop_ret
xor a
ldh [rTAC], a
; Turn off timer interrupt
ldh a, [rIF]
and 1 << VBLANK | 1 << LCD_STAT | 1 << SERIAL | 1 << JOYPAD
ldh [rIF], a
ld a, [$c86a]
or a
2015-10-24 14:34:19 +00:00
jr z, .pop_ret
ld a, [$c822]
bit 1, a
2015-12-28 22:09:53 +00:00
jr nz, .skip_Timer
ldh a, [rSC]
and 1 << rSC_ON
2015-12-28 22:09:53 +00:00
jr nz, .skip_Timer
ldh a, [hROMBank]
push af
2015-12-28 22:09:53 +00:00
ld a, BANK(_Timer)
ld [$c981], a
rst Bankswitch
2015-12-28 22:09:53 +00:00
call _Timer
pop bc
ld a, b
ld [$c981], a
rst Bankswitch
2015-12-28 22:09:53 +00:00
.skip_Timer
ldh a, [rTMA]
ldh [rTIMA], a
ld a, 1 << rTAC_ON | rTAC_65536_HZ
ldh [rTAC], a
2015-10-24 14:34:19 +00:00
.pop_ret
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
ldh a, [hROMBank]
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]
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
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
2019-04-08 12:15:10 +00:00
call PrintTextboxText
2015-12-28 22:09:53 +00:00
ret
.fill_attr
push hl
push bc
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
2019-04-08 12:15:10 +00:00
call TextboxBorder
2015-12-28 22:09:53 +00:00
ret
2018-06-24 14:09:41 +00:00
Function3f20::
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
.RowLoop:
2015-12-28 22:09:53 +00:00
push bc
call .FillMiddle
pop bc
dec b
jr nz, .RowLoop
call .FillBottom
ret
.FillTop:
2015-12-28 22:09:53 +00:00
ld a, $63
ld d, $62
ld e, $64
jr .FillRow
.FillBottom:
2015-12-28 22:09:53 +00:00
ld a, $68
ld d, $67
ld e, $69
jr .FillRow
.FillMiddle:
2015-12-28 22:09:53 +00:00
ld a, $7f
ld d, $65
ld e, $66
.FillRow:
2015-12-28 22:09:53 +00:00
push hl
ld [hl], d
inc hl
.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