2017-12-15 17:10:54 -08:00
String_89116:
db "-----@"
2015-10-16 10:35:43 -07:00
String_8911c: ; 8911c
2018-01-19 18:49:16 -08:00
db "でんわばんごうが ただしく" ; Phone number is not
next "はいって いません!@" ; entered correctly!
2015-10-16 10:35:43 -07:00
; 89135
String_89135: ; 89135
2018-01-19 18:49:16 -08:00
db "データが かわって いますが" ; The data has changed.
next "かきかえないで やめますか?@" ; Quit anyway?
2015-10-16 10:35:43 -07:00
; 89153
String_89153: ; 89153
2018-01-19 18:49:16 -08:00
db "メッセージは ありません@" ; No message
2015-10-16 10:35:43 -07:00
; 89160
OpenSRAMBank4: ; 89160
push af
ld a , $ 4
call GetSRAMBank
pop af
ret
; 89168
Function89168: ; 89168 (22:5168)
2017-12-28 04:15:46 -08:00
ld hl , wGameTimerPause
2018-01-23 09:40:29 -08:00
set GAMETIMERPAUSE_MOBILE_7_F , [ hl ]
2015-10-16 10:35:43 -07:00
ret
Function8916e: ; 8916e (22:516e)
2017-12-28 04:15:46 -08:00
ld hl , wGameTimerPause
2018-01-23 09:40:29 -08:00
res GAMETIMERPAUSE_MOBILE_7_F , [ hl ]
2015-10-16 10:35:43 -07:00
ret
Function89174: ; 89174 (22:5174)
2017-12-28 04:15:46 -08:00
ld hl , wGameTimerPause
2018-01-23 09:40:29 -08:00
bit GAMETIMERPAUSE_MOBILE_7_F , [ hl ]
2015-10-16 10:35:43 -07:00
ret
Function8917a: ; 8917a (22:517a)
2015-11-10 16:51:13 -08:00
ld hl , wd002
2015-10-16 10:35:43 -07:00
ld bc , $ 32
xor a
call Byte Fill
ret
Function89185: ; 89185 (22:5185)
2016-05-10 09:31:49 -07:00
; strcmp(hl, de, c)
; Compares c bytes starting at de and hl and incrementing together until a mismatch is found.
; Preserves hl and de.
2015-10-16 10:35:43 -07:00
push de
push hl
.loop
ld a , [ de ]
inc de
cp [ hl ]
jr nz , .done
inc hl
dec c
jr nz , .loop
.done
pop hl
pop de
ret
Function89193: ; 89193
2016-05-10 09:31:49 -07:00
; copy(hl, de, 4)
2015-10-16 10:35:43 -07:00
; Copies c bytes from hl to de.
2016-05-10 09:31:49 -07:00
; Preserves hl and de.
2015-10-16 10:35:43 -07:00
push de
push hl
.loop
ld a , [ hli ]
ld [ de ], a
inc de
dec c
jr nz , .loop
pop hl
pop de
ret
; 8919e
Function8919e: ; 8919e (22:519e)
; Searches for the c'th string starting at de. Returns the pointer in de.
ld a , c
and a
ret z
.loop
ld a , [ de ]
inc de
cp "@"
jr nz , .loop
dec c
jr nz , .loop
ret
Function891ab: ; 891ab
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode1
2017-12-24 09:47:30 -08:00
farcall ReloadMapPart
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
ret
; 891b8
Function891b8: ; 891b8
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
hlcoord 0 , 0
ld a , " "
ld bc , SCREEN_WIDTH * SCREEN_HEIGHT
call Byte Fill
call DelayFrame
ret
; 891ca
Function891ca: ; 891ca (22:51ca)
push bc
call Function891b8
call WaitBGMap
pop bc
ret
Function891d3: ; 891d3 (22:51d3)
push bc
call Function891ca
ld c , $ 10
call DelayFrames
pop bc
ret
Function891de: ; 891de
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
call Cl earPalettes
2018-01-23 14:39:09 -08:00
hlcoord 0 , 0 , wAttrMap
2015-10-16 10:35:43 -07:00
ld a , $ 7
ld bc , SCREEN_WIDTH * SCREEN_HEIGHT
call Byte Fill
hlcoord 0 , 0
ld a , " "
ld bc , SCREEN_WIDTH * SCREEN_HEIGHT
call Byte Fill
call Function891ab
ret
; 891fe
Function891fe: ; 891fe
push bc
call Function891de
ld c , $ 10
call DelayFrames
pop bc
ret
; 89209
Function89209: ; 89209
ld a , 1
2015-11-25 07:16:29 -08:00
ld [ wSpriteUpdatesEnabled ], a
2015-10-16 10:35:43 -07:00
ret
; 8920f
Function8920f: ; 8920f
ld a , 0
2015-11-25 07:16:29 -08:00
ld [ wSpriteUpdatesEnabled ], a
2015-10-16 10:35:43 -07:00
ret
; 89215
Function89215: ; 89215
push hl
push bc
2018-01-23 14:39:09 -08:00
ld bc , wAttrMap - wTileMap
2015-10-16 10:35:43 -07:00
add hl , bc
ld [ hl ], a
pop bc
pop hl
ret
; 8921f
Function8921f: ; 8921f (22:521f)
push de
ld de , SCREEN_WIDTH
add hl , de
inc hl
ld a , $ 7 f
.loop
push bc
push hl
.asm_89229
ld [ hli ], a
dec c
jr nz , .asm_89229
pop hl
add hl , de
pop bc
dec b
jr nz , .loop
pop de
ret
2016-05-11 14:16:03 -07:00
Mobile22_ButtonSound: ; 89235 (22:5235)
2015-10-17 09:58:26 -07:00
call JoyWaitAorB
2015-10-16 10:35:43 -07:00
call PlayClickSFX
ret
2016-05-11 14:16:03 -07:00
Mobile22_SetBGMapMode0: ; 8923c
2015-10-16 10:35:43 -07:00
xor a
ld [ hBGMapMode ], a
ret
; 89240
2016-05-11 14:16:03 -07:00
Mobile22_SetBGMapMode1: ; 89240
2015-10-16 10:35:43 -07:00
ld a , $ 1
ld [ hBGMapMode ], a
ret
; 89245
Function89245: ; 89245 (22:5245)
2017-12-24 09:47:30 -08:00
farcall TryLoadSaveFile
2015-10-16 10:35:43 -07:00
ret c
2017-12-24 09:47:30 -08:00
farcall _LoadData
2015-10-16 10:35:43 -07:00
and a
ret
Function89254: ; 89254 (22:5254)
ld bc , $ d07
jr Function89261
Function89259: ; 89259
ld bc , $ 0 e07
jr Function89261
Function8925e: ; 8925e
ld bc , $ 0 e0c
Function89261: ; 89261
push af
push bc
2018-01-23 13:08:43 -08:00
ld hl , MenuHeader_0x892a3
call CopyMenuHeader
2015-10-16 10:35:43 -07:00
pop bc
2015-10-24 07:34:19 -07:00
ld hl , wMenuBorderTopCoord
2015-10-16 10:35:43 -07:00
ld a , c
ld [ hli ], a
ld a , b
ld [ hli ], a
ld a , c
add $ 4
ld [ hli ], a
ld a , b
add $ 5
ld [ hl ], a
pop af
2015-11-01 09:44:30 -08:00
ld [ wMenuCursorBuffer ], a
2015-12-22 19:19:33 -08:00
call PushWindow
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
call Function89209
2015-12-15 15:59:49 -08:00
call VerticalMenu
2015-10-16 10:35:43 -07:00
push af
ld c , $ a
call DelayFrames
2015-12-24 19:58:42 -08:00
call Cl oseWindow
2015-10-16 10:35:43 -07:00
call Function8920f
pop af
jr c , .done
2015-12-15 15:59:49 -08:00
ld a , [ wMenuCursorY ]
2015-10-16 10:35:43 -07:00
cp $ 2
jr z , .done
and a
ret
.done
scf
ret
; 892a3
2018-01-23 13:08:43 -08:00
MenuHeader_0x892a3: ; 0x892a3
2018-01-14 02:59:56 -08:00
db MENU_BACKUP_TILES ; flags
2018-01-13 13:38:14 -08:00
menu_coords 10 , 5 , 15 , 9
2018-01-23 13:08:43 -08:00
dw MenuData_0x892ab
2015-10-16 10:35:43 -07:00
db 1 ; default option
; 0x892ab
2018-01-23 13:08:43 -08:00
MenuData_0x892ab: ; 0x892ab
2018-01-14 02:59:56 -08:00
db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
2015-10-16 10:35:43 -07:00
db 2 ; items
db "はい@"
db "いいえ@"
; 0x892b4
Function892b4: ; 892b4 (22:52b4)
call Function8931b
Function892b7: ; 892b7
ld d , b
ld e , c
ld hl , 0
add hl , bc
ld a , "@"
ld bc , 6
call Byte Fill
ld b , d
ld c , e
ld hl , 6
add hl , bc
ld a , "@"
ld bc , 6
call Byte Fill
ld b , d
ld c , e
ld hl , 12
add hl , bc
xor a
ld [ hli ], a
ld [ hl ], a
ld hl , 14
add hl , bc
ld [ hli ], a
ld [ hl ], a
ld hl , 16
add hl , bc
ld [ hl ], a
ld hl , 17
add hl , bc
ld a , - 1
ld bc , 8
call Byte Fill
ld b , d
ld c , e
ld e , 6
ld hl , 25
add hl , bc
.loop
ld a , - 1
ld [ hli ], a
ld a , - 1
ld [ hli ], a
dec e
jr nz , .loop
ret
; 89305
Function89305: ; 89305 (22:5305)
xor a
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
ld c , 40
.loop
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
inc a
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
push bc
call Function892b4
pop bc
dec c
jr nz , .loop
ret
Function8931b: ; 8931b
push hl
2016-05-10 09:31:49 -07:00
ld hl , $ a03b ; 4:a03b
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
dec a
2016-05-10 09:31:49 -07:00
ld bc , 37
2015-10-16 10:35:43 -07:00
call AddNTimes
ld b , h
ld c , l
pop hl
ret
; 8932d
Function8932d: ; 8932d
ld hl , 0
add hl , bc
Function89331: ; 89331
2016-05-10 09:31:49 -07:00
; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator.
; Sets carry if it does not find a nonspace character.
; Returns the location of the following character in hl.
2015-10-16 10:35:43 -07:00
push bc
2017-12-21 08:56:33 -08:00
ld c , NAME_LENGTH_JAPANESE - 1
2015-10-16 10:35:43 -07:00
.loop
ld a , [ hli ]
cp "@"
jr z , .terminator
cp " "
jr nz , .nonspace
dec c
jr nz , .loop
.terminator
scf
jr .done
.nonspace
and a
.done
pop bc
ret
; 89346
Function89346: ; 89346 (22:5346)
ld h , b
ld l , c
jr _incave
Function8934a: ; 8934a
2017-12-21 08:56:33 -08:00
ld hl , NAME_LENGTH_JAPANESE
2015-10-16 10:35:43 -07:00
add hl , bc
_incave:
; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. Sets carry if it does not find a nonspace character. Returns the location of the following character in hl.
push bc
2017-12-21 08:56:33 -08:00
ld c , NAME_LENGTH_JAPANESE - 1
2015-10-16 10:35:43 -07:00
.loop
ld a , [ hli ]
cp "@"
jr z , .terminator
cp " "
jr nz , .nonspace
dec c
jr nz , .loop
.terminator
scf
jr .done
.nonspace
and a
.done
pop bc
ret
; 89363
Function89363: ; 89363
; Scans six byte pairs starting at bc to find $ff. Sets carry if it does not find a $ff. Returns the location of the byte after the first $ff found in hl.
ld h , b
ld l , c
jr ._incave
ld hl , 25
add hl , bc
._incave
push de
2017-12-21 08:56:33 -08:00
ld e , NAME_LENGTH_JAPANESE
2015-10-16 10:35:43 -07:00
.loop
ld a , [ hli ]
cp - 1
jr nz , .ok
ld a , [ hli ]
cp - 1
jr nz , .ok
dec e
jr nz , .loop
scf
jr .done
.ok
and a
.done
pop de
ret
; 89381
Function89381: ; 89381
push bc
push de
call Function89b45
jr c , .ok
push hl
ld a , - 1
ld bc , 8
call Byte Fill
pop hl
.ok
pop de
ld c , 8
call Function89193
pop bc
ret
; 8939a
Function8939a: ; 8939a
push bc
ld hl , 0
add hl , bc
2015-11-10 16:51:13 -08:00
ld de , wd002
2015-10-16 10:35:43 -07:00
ld c , 6
call Function89193
pop bc
ld hl , 17
add hl , bc
ld de , wd008
call Function89381
ret
; 893b3
Function893b3: ; 893b3 (22:53b3)
call Di sableLCD
call Cl earSprites
2015-11-04 13:14:27 -08:00
call LoadStandardFont
call LoadFontsExtra
2015-10-16 10:35:43 -07:00
call Function893ef
call Function8942b
call Function89455
call EnableLCD
ret
Function893cc: ; 893cc
call Di sableLCD
call Cl earSprites
2015-11-04 13:14:27 -08:00
call LoadStandardFont
call LoadFontsExtra
2015-10-16 10:35:43 -07:00
call Function893ef
call Function89464
call EnableLCD
ret
; 893e2
Function893e2: ; 893e2 (22:53e2)
call Function89b1e
call Function893b3
call Function8a5b6
call Function8949c
ret
Function893ef: ; 893ef
2017-12-28 04:32:33 -08:00
ld de , vTiles0
2015-10-16 10:35:43 -07:00
ld hl , GFX_8940b
ld bc , $ 20
ld a , BANK ( GFX_8940b )
call FarCopyBytes
ret
; 893fe
Function893fe: ; 893fe
call Di sableLCD
call Function893ef
call EnableLCD
call DelayFrame
ret
; 8940b
GFX_8940b: ; 8940b
INCBIN "gfx/unknown/08940b.2bpp"
; 8942b
Function8942b: ; 8942b (22:542b)
2017-12-28 04:32:33 -08:00
ld de , vTiles0 tile $ 02
2018-01-19 17:48:33 -08:00
ld hl , MobileAdapterGFX + $ 7 d tiles
ld bc , 8 tiles
2015-10-16 10:35:43 -07:00
ld a , BANK ( MobileAdapterGFX )
call FarCopyBytes
2017-12-28 04:32:33 -08:00
ld de , vTiles0 tile $ 0 a
2018-01-19 17:48:33 -08:00
ld hl , MobileAdapterGFX + $ c6 tiles
ld bc , 4 tiles
2015-10-16 10:35:43 -07:00
ld a , BANK ( MobileAdapterGFX )
call FarCopyBytes
ret
Function89448: ; 89448 (22:5448)
2018-01-23 13:45:34 -08:00
; Clears the sprite array
2015-10-16 10:35:43 -07:00
push af
2018-01-23 13:45:34 -08:00
ld hl , wVirtualOAM
2018-01-10 10:47:57 -08:00
ld d , 24 * SP RITEOAMSTRUCT_LENGTH
2015-10-16 10:35:43 -07:00
xor a
.loop
ld [ hli ], a
dec d
jr nz , .loop
pop af
ret
Function89455: ; 89455 (22:5455)
2018-01-19 17:48:33 -08:00
ld hl , MobileAdapterGFX + $ 7 d tiles
2017-12-28 04:32:33 -08:00
ld de , vTiles2 tile $ 0 c
2018-01-19 17:48:33 -08:00
ld bc , $ 49 tiles
2015-10-16 10:35:43 -07:00
ld a , BANK ( MobileAdapterGFX )
call FarCopyBytes
ret
Function89464: ; 89464
ld hl , MobileAdapterGFX
2017-12-28 04:32:33 -08:00
ld de , vTiles2
2018-01-19 17:48:33 -08:00
ld bc , $ 20 tiles
2015-10-16 10:35:43 -07:00
ld a , BANK ( MobileAdapterGFX )
call FarCopyBytes
2018-01-19 17:48:33 -08:00
ld hl , MobileAdapterGFX + $ 66 tiles
2017-12-28 04:32:33 -08:00
ld de , vTiles2 tile $ 20
2018-01-19 17:48:33 -08:00
ld bc , $ 17 tiles
2015-10-16 10:35:43 -07:00
ld a , BANK ( MobileAdapterGFX )
call FarCopyBytes
ret
; 89481
Function89481: ; 89481
ld d , 2
call Function8934a
ret c
ld d , 0
ld hl , 16
add hl , bc
bit 0 , [ hl ]
ret z
inc d
ret
; 89492
Function89492: ; 89492 (22:5492)
ld d , 0
2017-12-28 04:15:46 -08:00
ld a , [ wPlayerGender ]
2018-01-22 11:34:55 -08:00
bit PLAYERGENDER_FEMALE_F , a
2015-10-16 10:35:43 -07:00
ret z
inc d
ret
Function8949c: ; 8949c
ld a , [ rSVBK ]
push af
ld a , 5
ld [ rSVBK ], a
ld hl , Palette_894b3
2018-01-01 06:08:21 -08:00
ld de , wBGPals1 palette 7
2017-12-26 17:33:41 -08:00
ld bc , 1 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
pop af
ld [ rSVBK ], a
ret
; 894b3
Palette_894b3: ; 894b3
RGB 31 , 31 , 31
RGB 31 , 31 , 31
RGB 31 , 31 , 31
RGB 00 , 00 , 00
; 894bb
Function894bb: ; 894bb
call Function894dc
push bc
call Function8956f
call Function8949c
call Function8a60d
pop bc
ret
; 894ca
Function894ca: ; 894ca (22:54ca)
push bc
call Function894dc
call Function895c7
call Function8949c
call Function8a60d
2015-10-25 19:26:53 -07:00
call SetPalettes
2015-10-16 10:35:43 -07:00
pop bc
ret
Function894dc: ; 894dc
push bc
ld a , [ rSVBK ]
push af
ld a , 5
ld [ rSVBK ], a
2015-11-19 20:38:16 -08:00
2015-10-16 10:35:43 -07:00
ld c , d
ld b , 0
2015-11-19 20:38:16 -08:00
ld hl , .PalettePointers
2015-10-16 10:35:43 -07:00
add hl , bc
2016-05-04 08:46:23 -07:00
add hl , bc
2015-10-16 10:35:43 -07:00
ld a , [ hli ]
ld h , [ hl ]
ld l , a
2018-01-01 06:08:21 -08:00
ld de , wBGPals1
2015-11-19 20:38:16 -08:00
ld bc , 3 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
2015-11-19 20:38:16 -08:00
ld hl , .Pals345
2018-01-01 06:08:21 -08:00
ld de , wBGPals1 + 3 palettes
2015-11-19 20:38:16 -08:00
ld bc , 3 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
2015-11-19 20:38:16 -08:00
2015-10-16 10:35:43 -07:00
pop af
ld [ rSVBK ], a
pop bc
ret
; 89509
2015-11-19 20:38:16 -08:00
.PalettePointers: ; 89509
dw .Pals012a
dw .Pals012b
dw .Pals012c
2015-10-16 10:35:43 -07:00
; 8950f
2015-11-19 20:38:16 -08:00
.Pals012a: ; 8950f
2015-10-16 10:35:43 -07:00
RGB 31 , 31 , 31
RGB 10 , 17 , 13
RGB 10 , 08 , 22
RGB 00 , 00 , 00
RGB 31 , 31 , 31
RGB 16 , 20 , 31
RGB 10 , 08 , 22
RGB 00 , 00 , 00
RGB 31 , 31 , 31
RGB 16 , 20 , 31
RGB 10 , 17 , 13
RGB 00 , 00 , 00
2015-11-19 20:38:16 -08:00
.Pals012b: ; 89527
2015-10-16 10:35:43 -07:00
RGB 31 , 31 , 31
RGB 30 , 22 , 11
RGB 31 , 08 , 15
RGB 00 , 00 , 00
RGB 31 , 31 , 31
RGB 16 , 20 , 31
RGB 31 , 08 , 15
RGB 00 , 00 , 00
RGB 31 , 31 , 31
RGB 16 , 20 , 31
RGB 30 , 22 , 11
RGB 00 , 00 , 00
2015-11-19 20:38:16 -08:00
.Pals012c: ; 8953f
2015-10-16 10:35:43 -07:00
RGB 31 , 31 , 31
RGB 15 , 20 , 26
RGB 25 , 07 , 20
RGB 00 , 00 , 00
RGB 31 , 31 , 31
RGB 16 , 20 , 31
RGB 25 , 07 , 20
RGB 00 , 00 , 00
RGB 31 , 31 , 31
RGB 16 , 20 , 31
RGB 15 , 20 , 26
RGB 00 , 00 , 00
2015-11-19 20:38:16 -08:00
.Pals345: ; 89557
2015-10-16 10:35:43 -07:00
RGB 31 , 31 , 31
RGB 31 , 31 , 31
RGB 31 , 13 , 00
RGB 14 , 08 , 00
RGB 31 , 31 , 31
RGB 16 , 16 , 31
RGB 00 , 00 , 31
RGB 00 , 00 , 00
RGB 19 , 31 , 11
RGB 00 , 00 , 00
RGB 00 , 00 , 00
RGB 00 , 00 , 00
; 8956f
Function8956f: ; 8956f
push bc
ld hl , 16
add hl , bc
ld d , h
ld e , l
ld hl , $ 000 c
add hl , bc
ld b , h
ld c , l
2017-12-24 09:47:30 -08:00
farcall GetMobileOTTrainerClass
2015-10-16 10:35:43 -07:00
ld a , c
2018-01-23 14:39:09 -08:00
ld [ wTrainerClass ], a
2015-10-16 10:35:43 -07:00
ld a , [ rSVBK ]
push af
ld a , 5
ld [ rSVBK ], a
ld hl , wd030
ld a , - 1
ld [ hli ], a
ld a , " "
ld [ hl ], a
pop af
ld [ rSVBK ], a
2018-01-23 14:39:09 -08:00
ld a , [ wTrainerClass ]
2015-10-16 10:35:43 -07:00
ld h , 0
ld l , a
add hl , hl
2016-05-04 08:46:23 -07:00
add hl , hl
2015-10-16 10:35:43 -07:00
ld de , TrainerPalettes
add hl , de
ld a , [ rSVBK ]
push af
ld a , $ 5
ld [ rSVBK ], a
ld de , wd032
ld c , 4
.loop
ld a , BANK ( TrainerPalettes )
call GetFarByte
ld [ de ], a
inc de
inc hl
dec c
jr nz , .loop
ld hl , wd036
xor a
ld [ hli ], a
ld [ hl ], a
pop af
ld [ rSVBK ], a
pop bc
ret
; 895c7
Function895c7: ; 895c7 (22:55c7)
2015-11-10 13:53:37 -08:00
ld a , [ rSVBK ]
2015-10-16 10:35:43 -07:00
push af
ld a , 5
2015-11-10 13:53:37 -08:00
ld [ rSVBK ], a
2015-10-16 10:35:43 -07:00
ld hl , Palette_895de
ld de , wd030
ld bc , 8
call CopyBytes
pop af
2015-11-10 13:53:37 -08:00
ld [ rSVBK ], a
2015-10-16 10:35:43 -07:00
ret
; 895de (22:55de)
Palette_895de: ; 895de
RGB 31 , 31 , 31
RGB 07 , 07 , 06
RGB 07 , 07 , 06
RGB 00 , 00 , 00
; 895e6
Function895e6: ; 895e6
ld a , 7
2018-01-23 14:39:09 -08:00
hlcoord 0 , 0 , wAttrMap
2015-10-16 10:35:43 -07:00
ld bc , SCREEN_WIDTH * SCREEN_HEIGHT
call Byte Fill
ret
; 895f2
Function895f2: ; 895f2
push bc
xor a
2018-01-23 14:39:09 -08:00
hlcoord 0 , 0 , wAttrMap
2015-10-16 10:35:43 -07:00
ld bc , SCREEN_WIDTH * SCREEN_HEIGHT
call Byte Fill
call Function89605
call Function89655
pop bc
ret
; 89605
Function89605: ; 89605
2018-01-23 14:39:09 -08:00
hlcoord 19 , 2 , wAttrMap
2015-10-16 10:35:43 -07:00
ld a , 1
ld de , SCREEN_WIDTH
ld c , 14
.loop
ld [ hl ], a
dec c
jr z , .done
add hl , de
inc a
ld [ hl ], a
dec a
add hl , de
dec c
jr nz , .loop
.done
2018-01-23 14:39:09 -08:00
hlcoord 0 , 16 , wAttrMap
2015-10-16 10:35:43 -07:00
ld c , 10
ld a , 2
.loop2
ld [ hli ], a
dec a
ld [ hli ], a
inc a
dec c
jr nz , .loop2
2018-01-23 14:39:09 -08:00
hlcoord 1 , 11 , wAttrMap
2015-10-16 10:35:43 -07:00
ld a , 4
ld bc , 4
call Byte Fill
ld a , 5
ld bc , 14
call Byte Fill
ret
; 8963d
Function8963d: ; 8963d
2018-01-23 14:39:09 -08:00
hlcoord 12 , 3 , wAttrMap
2015-10-16 10:35:43 -07:00
ld a , 6
ld de , SCREEN_WIDTH
lb bc , 7 , 7
.loop
push hl
ld c , 7
.next
ld [ hli ], a
dec c
jr nz , .next
pop hl
add hl , de
dec b
jr nz , .loop
ret
; 89655
Function89655: ; 89655
2018-01-23 14:39:09 -08:00
hlcoord 1 , 12 , wAttrMap
2015-10-16 10:35:43 -07:00
ld de , SCREEN_WIDTH
ld a , 5
ld b , 4
.loop
ld c , 18
push hl
.next
ld [ hli ], a
dec c
jr nz , .next
pop hl
add hl , de
dec b
jr nz , .loop
ret
; 8966c
Function8966c: ; 8966c
push bc
call Function89688
hlcoord 4 , 0
ld c , 8
call Function896f5
pop bc
ret
; 8967a
Function8967a: ; 8967a (22:567a)
push bc
call Function89688
hlcoord 2 , 0
ld c , 12
call Function896f5
pop bc
ret
Function89688: ; 89688
hlcoord 0 , 0
ld a , 1
ld e , SCREEN_WIDTH
call Function896e1
ld a , 2
ld e , SCREEN_WIDTH
call Function896eb
ld a , 3
ld [ hli ], a
ld a , 4
ld e , SCREEN_HEIGHT
call Function896e1
ld a , 6
ld [ hli ], a
push bc
ld c , 13
.loop
call Function896cb
dec c
jr z , .done
call Function896d6
dec c
jr nz , .loop
.done
pop bc
ld a , 25
ld [ hli ], a
ld a , 26
ld e , SCREEN_HEIGHT
call Function896e1
ld a , 28
ld [ hli ], a
ld a , 2
ld e , SCREEN_WIDTH
call Function896eb
ret
; 896cb
Function896cb: ; 896cb
ld de , SCREEN_WIDTH - 1
ld a , 7
ld [ hl ], a
add hl , de
ld a , 9
ld [ hli ], a
ret
; 896d6
Function896d6: ; 896d6
ld de , SCREEN_WIDTH - 1
ld a , 10
ld [ hl ], a
add hl , de
ld a , 11
ld [ hli ], a
ret
; 896e1
Function896e1: ; 896e1
.loop
ld [ hli ], a
inc a
dec e
ret z
ld [ hli ], a
dec a
dec e
jr nz , .loop
ret
; 896eb
Function896eb: ; 896eb
.loop
ld [ hli ], a
dec a
dec e
ret z
ld [ hli ], a
inc a
dec e
jr nz , .loop
ret
; 896f5
Function896f5: ; 896f5
call Function8971f
call Function89736
inc hl
2016-05-04 08:46:23 -07:00
inc hl
2015-10-16 10:35:43 -07:00
ld b , 2
ClearScreenArea: ; 0x896ff
; clears an area of the screen
; INPUT:
; hl = address of upper left corner of the area
; b = height
; c = width
ld a , " " ; blank tile
ld de , 20 ; screen width
.loop
push bc
push hl
.innerLoop
ld [ hli ], a
dec c
jr nz , .innerLoop
pop hl
pop bc
add hl , de
dec b
jr nz , .loop
dec hl
inc c
2016-05-04 08:46:23 -07:00
inc c
2015-10-16 10:35:43 -07:00
.asm_89713
ld a , $ 36
ld [ hli ], a
dec c
ret z
ld a , $ 18
ld [ hli ], a
dec c
jr nz , .asm_89713 ; 0x8971c $f5
ret
; 0x8971f
Function8971f: ; 8971f
ld a , $ 2 c
ld [ hli ], a
ld a , $ 2 d
ld [ hld ], a
push hl
ld de , SCREEN_WIDTH
add hl , de
ld a , $ 31
ld [ hli ], a
ld a , $ 32
ld [ hld ], a
add hl , de
ld a , $ 35
ld [ hl ], a
pop hl
ret
; 89736
Function89736: ; 89736
push hl
inc hl
2016-05-04 08:46:23 -07:00
inc hl
2015-10-16 10:35:43 -07:00
ld e , c
ld d , $ 0
add hl , de
ld a , $ 2 f
ld [ hli ], a
ld a , $ 30
ld [ hld ], a
ld de , SCREEN_WIDTH
add hl , de
ld a , $ 33
ld [ hli ], a
ld a , $ 34
ld [ hl ], a
add hl , de
ld a , $ 1 f
ld [ hl ], a
pop hl
ret
; 89753
Function89753: ; 89753
ld a , $ c
ld [ hl ], a
xor a
call Function89215
ret
; 8975b
Function8975b: ; 8975b
ld a , $ 1 d
ld [ hli ], a
inc a
ld [ hli ], a
ld a , $ d
ld [ hl ], a
dec hl
2016-05-04 08:46:23 -07:00
dec hl
2015-10-16 10:35:43 -07:00
ld a , $ 4
ld e , $ 3
.asm_89769
call Function89215
inc hl
dec e
jr nz , .asm_89769
ret
; 89771
Function89771: ; 89771
ld a , $ 12
ld [ hl ], a
ld a , $ 3
call Function89215
ret
; 8977a
Function8977a: ; 8977a
ld e , $ 4
ld d , $ 13
.asm_8977e
ld a , d
ld [ hl ], a
ld a , $ 4
call Function89215
inc hl
inc d
dec e
jr nz , .asm_8977e
ld e , $ e
.asm_8978c
ld a , d
ld [ hl ], a
xor a
call Function89215
inc hl
dec e
jr nz , .asm_8978c
ret
; 89797
Function89797: ; 89797
push bc
ld a , $ e
ld [ hl ], a
ld bc , SCREEN_WIDTH
add hl , bc
ld a , $ 11
ld [ hli ], a
ld a , $ 10
ld c , $ 8
.asm_897a6
ld [ hli ], a
dec c
jr nz , .asm_897a6
ld a , $ f
ld [ hl ], a
pop bc
ret
; 897af
Function897af: ; 897af
push bc
ld hl , $ 0010
add hl , bc
ld d , h
ld e , l
ld hl , $ 000 c
add hl , bc
ld b , h
ld c , l
2017-12-24 09:47:30 -08:00
farcall GetMobileOTTrainerClass
2015-10-16 10:35:43 -07:00
ld a , c
2018-01-23 14:39:09 -08:00
ld [ wTrainerClass ], a
2015-10-16 10:35:43 -07:00
xor a
2018-01-23 14:39:09 -08:00
ld [ wCurPartySpecies ], a
2017-12-28 04:32:33 -08:00
ld de , vTiles2 tile $ 37
2018-01-16 11:30:10 -08:00
farcall GetTrainerPic
2015-10-16 10:35:43 -07:00
pop bc
ret
; 897d5
Function897d5: ; 897d5
push bc
call Function8934a
jr nc , .asm_897f3
2018-01-23 14:39:09 -08:00
hlcoord 12 , 3 , wAttrMap
2015-10-16 10:35:43 -07:00
xor a
ld de , SCREEN_WIDTH
lb bc , 7 , 7
.asm_897e5
push hl
ld c , $ 7
.asm_897e8
ld [ hli ], a
dec c
jr nz , .asm_897e8
pop hl
add hl , de
dec b
jr nz , .asm_897e5
pop bc
ret
.asm_897f3
ld a , $ 37
2016-01-12 09:46:18 -08:00
ld [ hGraphicStartTile ], a
2015-10-16 10:35:43 -07:00
hlcoord 12 , 3
lb bc , 7 , 7
2018-01-16 11:30:10 -08:00
predef PlaceGraphic
2015-10-16 10:35:43 -07:00
call Function8963d
pop bc
ret
; 89807
Function89807: ; 89807 (22:5807)
2018-01-19 17:48:33 -08:00
ld hl , MobileAdapterGFX + $ 20 tiles
2017-12-28 04:15:46 -08:00
ld a , [ wPlayerGender ]
2018-01-22 11:34:55 -08:00
bit PLAYERGENDER_FEMALE_F , a
2015-10-16 10:35:43 -07:00
jr z , .asm_89814
2018-01-19 17:48:33 -08:00
ld hl , MobileAdapterGFX + $ 43 tiles
2015-10-16 10:35:43 -07:00
.asm_89814
call Di sableLCD
2017-12-28 04:32:33 -08:00
ld de , vTiles2 tile $ 37
2018-01-19 17:48:33 -08:00
ld bc , $ 23 tiles
2015-10-16 10:35:43 -07:00
ld a , BANK ( MobileAdapterGFX )
call FarCopyBytes
call EnableLCD
call DelayFrame
ret
Function89829: ; 89829 (22:5829)
push bc
ld bc , $ 705
ld de , $ 14
ld a , $ 37
.asm_89832
push bc
push hl
.asm_89834
ld [ hli ], a
inc a
dec c
jr nz , .asm_89834
pop hl
add hl , de
pop bc
dec b
jr nz , .asm_89832
call Function8963d
pop bc
ret
Function89844: ; 89844
call Function89481
call Function894bb
call Function897af
push bc
2015-12-11 13:59:40 -08:00
call WaitBGMap2
2015-10-25 19:26:53 -07:00
call SetPalettes
2015-10-16 10:35:43 -07:00
pop bc
ret
; 89856
Function89856: ; 89856
push bc
call Function891b8
pop bc
call Function895f2
call Function8966c
call Function899d3
call Function898aa
call Function898be
call Function898dc
call Function898f3
push bc
ld bc , wd008
hlcoord 2 , 10
call Function89975
pop bc
call Function897d5
ret
; 8987f
Function8987f: ; 8987f (22:587f)
call Function891b8
call Function895f2
call Function8967a
call Function899d3
hlcoord 5 , 1
call Function8999c
hlcoord 13 , 3
call Function89829
call Function899b2
hlcoord 5 , 5
call Function899c9
ld bc , wd008
hlcoord 2 , 10
call Function89975
ret
Function898aa: ; 898aa
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
and a
ret z
push bc
hlcoord 6 , 1
2018-01-23 14:39:09 -08:00
ld de , wMenuSelection
2015-10-16 10:35:43 -07:00
lb bc , PRINTNUM_LEADINGZEROS | 1 , 2
call PrintNum
pop bc
ret
; 898be
Function898be: ; 898be
push bc
2015-11-10 16:51:13 -08:00
ld de , wd002
ld hl , wd002
2015-10-16 10:35:43 -07:00
call Function89331
jr nc , .asm_898cd
ld de , String_89116
.asm_898cd
hlcoord 9 , 1
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
and a
jr nz , .asm_898d7
dec hl
.asm_898d7
call PlaceString
pop bc
ret
; 898dc
Function898dc: ; 898dc
ld hl , $ 0006
add hl , bc
push bc
ld d , h
ld e , l
call Function8934a
jr nc , .asm_898eb
ld de , String_89116
.asm_898eb
hlcoord 6 , 4
call PlaceString
pop bc
ret
; 898f3
Function898f3: ; 898f3
push bc
ld hl , $ 000 c
add hl , bc
ld d , h
ld e , l
call Function8934a
jr c , .asm_8990a
hlcoord 5 , 5
lb bc , PRINTNUM_LEADINGZEROS | 2 , 5
call PrintNum
jr .asm_89913
.asm_8990a
hlcoord 5 , 5
ld de , String_89116
call PlaceString
.asm_89913
pop bc
ret
; 89915
Function89915: ; 89915
push bc
push hl
ld de , Unknown_89942
ld c , $ 8
.asm_8991c
ld a , [ de ]
ld [ hl ], a
ld a , $ 4
call Function89215
inc hl
inc de
dec c
jr nz , .asm_8991c
pop hl
ld b , $ 4
ld c , $ 2 b
ld a , $ 8
ld de , Unknown_8994a
.asm_89932
push af
ld a , [ de ]
cp [ hl ]
jr nz , .asm_8993b
call Function8994e
inc de
.asm_8993b
inc hl
pop af
dec a
jr nz , .asm_89932
pop bc
ret
; 89942
Unknown_89942: ; 89942
db $ 24 , $ 25 , $ 26 , " " , $ 27 , $ 28 , $ 29 , $ 2 a
Unknown_8994a: ; 8994a
db $ 24 , $ 27 , $ 29 , $ ff
; 8994e
Function8994e: ; 8994e
push hl
push de
ld de , SCREEN_WIDTH
ld a , l
sub e
ld l , a
ld a , h
sbc d
ld h , a
ld a , c
ld [ hl ], a
ld a , b
call Function89215
pop de
pop hl
ret
; 89962
Function89962: ; 89962
push bc
ld c , $ 4
ld b , $ 20
.asm_89967
ld a , b
ld [ hl ], a
ld a , $ 4
call Function89215
inc hl
inc b
dec c
jr nz , .asm_89967
pop bc
ret
; 89975
Function89975: ; 89975
push bc
ld e , $ 8
.asm_89978
ld a , [ bc ]
ld d , a
call Function8998b
swap d
inc hl
ld a , d
call Function8998b
inc bc
inc hl
dec e
jr nz , .asm_89978
pop bc
ret
; 8998b
Function8998b: ; 8998b
push bc
and $ f
cp $ a
jr nc , .asm_89997
ld c , $ f6
add c
jr .asm_89999
.asm_89997
ld a , $ 7 f
.asm_89999
ld [ hl ], a
pop bc
ret
; 8999c
Function8999c: ; 8999c (22:599c)
2018-01-23 14:39:09 -08:00
ld de , wPlayerName
2015-10-16 10:35:43 -07:00
call PlaceString
inc bc
ld h , b
ld l , c
ld de , String_899ac
call PlaceString
ret
; 899ac (22:59ac)
String_899ac: ; 899ac
2018-01-19 18:49:16 -08:00
db "の めいし@"
2015-10-16 10:35:43 -07:00
; 899b2
Function899b2: ; 899b2 (22:59b2)
2018-01-23 14:39:09 -08:00
ld bc , wPlayerName
2015-10-16 10:35:43 -07:00
call Function89346
jr c , .asm_899bf
2018-01-23 14:39:09 -08:00
ld de , wPlayerName
2015-10-16 10:35:43 -07:00
jr .asm_899c2
.asm_899bf
ld de , String_89116
.asm_899c2
hlcoord 6 , 4
call PlaceString
ret
Function899c9: ; 899c9 (22:59c9)
2018-01-23 14:39:09 -08:00
ld de , wPlayerID
2015-10-16 10:35:43 -07:00
lb bc , PRINTNUM_LEADINGZEROS | 2 , 5
call PrintNum
ret
Function899d3: ; 899d3
hlcoord 1 , 4
call Function89753
hlcoord 2 , 5
call Function8975b
hlcoord 1 , 9
call Function89771
hlcoord 1 , 11
call Function8977a
hlcoord 1 , 5
call Function89797
hlcoord 2 , 4
call Function89962
hlcoord 2 , 9
call Function89915
ret
; 899fe
Function899fe: ; 899fe
push bc
push hl
ld hl , $ 0019
add hl , bc
ld b , h
ld c , l
pop hl
call Function89a0c
pop bc
ret
; 89a0c
Function89a0c: ; 89a0c
push hl
call Function89363
pop hl
jr c , .asm_89a1c
ld d , h
ld e , l
2017-12-24 09:47:30 -08:00
farcall Function11c08f
2015-10-16 10:35:43 -07:00
ret
.asm_89a1c
ld de , String_89153
call PlaceString
ret
; 89a23
Function89a23: ; 89a23 (22:5a23)
hlcoord 0 , 11
ld b , $ 4
ld c , $ 12
call Function8921f
ret
Function89a2e: ; 89a2e (22:5a2e)
hlcoord 11 , 12
ld b , $ 2
ld c , $ 6
call TextBox
hlcoord 13 , 13
ld de , String_89a4e
call PlaceString
hlcoord 13 , 14
ld de , String_89a53
call PlaceString
call Function89655
ret
; 89a4e (22:5a4e)
String_89a4e: ; 89a4e
db "けってい@"
; 89a53
String_89a53: ; 89a53
db "やめる@"
; 89a57
Function89a57: ; 89a57
2016-05-10 09:31:49 -07:00
call JoyTextDelay_ForcehJoyDown ; joypad
bit D_UP_F , c
jr nz , .d_up
bit D_DOWN_F , c
jr nz , .d_down
bit A_BUTTON_F , c
jr nz , .a_b_button
bit B_BUTTON_F , c
jr nz , .a_b_button
bit START_F , c
jr nz , .start_button
2015-10-16 10:35:43 -07:00
scf
ret
2016-05-10 09:31:49 -07:00
.a_b_button
2015-10-16 10:35:43 -07:00
ld a , $ 1
and a
ret
2016-05-10 09:31:49 -07:00
.start_button
2015-10-16 10:35:43 -07:00
ld a , $ 2
and a
ret
2016-05-10 09:31:49 -07:00
.d_up
call .MoveCursorUp
call nc , .PlayPocketSwitchSFX
2015-10-16 10:35:43 -07:00
ld a , $ 0
ret
2016-05-10 09:31:49 -07:00
.d_down
call .MoveCursorDown
call nc , .PlayPocketSwitchSFX
2015-10-16 10:35:43 -07:00
ld a , $ 0
ret
; 89a8a
2016-05-10 09:31:49 -07:00
.PlayPocketSwitchSFX: ; 89a8a
2015-10-16 10:35:43 -07:00
push af
2015-12-13 11:15:16 -08:00
ld de , SFX_SWITCH_POCKETS
2015-10-16 10:35:43 -07:00
call PlaySFX
pop af
ret
; 89a93
2016-05-10 09:31:49 -07:00
.MoveCursorDown: ; 89a93
ld d , 40
ld e , 1
call .ApplyCursorMovement
2015-10-16 10:35:43 -07:00
ret
; 89a9b
2016-05-10 09:31:49 -07:00
.MoveCursorUp: ; 89a9b
ld d , 1
ld e , - 1
call .ApplyCursorMovement
2015-10-16 10:35:43 -07:00
ret
; 89aa3
2016-05-10 09:31:49 -07:00
.ApplyCursorMovement: ; 89aa3
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
ld c , a
push bc
2016-05-10 09:31:49 -07:00
.loop
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
cp d
2016-05-10 09:31:49 -07:00
jr z , .equal_to_d
2015-10-16 10:35:43 -07:00
add e
2016-05-10 09:31:49 -07:00
jr nz , .not_zero
2015-10-16 10:35:43 -07:00
inc a
2016-05-10 09:31:49 -07:00
.not_zero
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2016-05-10 09:31:49 -07:00
call .Function89ac7 ; BCD conversion of data in SRAM?
jr nc , .loop
2018-01-23 14:39:09 -08:00
call .Function89ae6 ; split [wMenuSelection] into [wd030] + [wd031] where [wd030] <= 5
2015-10-16 10:35:43 -07:00
pop bc
and a
ret
2016-05-10 09:31:49 -07:00
.equal_to_d
2015-10-16 10:35:43 -07:00
pop bc
ld a , c
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
scf
ret
; 89ac7
2016-05-10 09:31:49 -07:00
.Function89ac7: ; 89ac7
2015-10-16 10:35:43 -07:00
call OpenSRAMBank4
call Function8931b
2016-05-10 09:31:49 -07:00
call .Function89ad4
2015-10-16 10:35:43 -07:00
call Cl oseSRAM
ret
; 89ad4
2016-05-10 09:31:49 -07:00
.Function89ad4: ; 89ad4
2015-10-16 10:35:43 -07:00
push de
2016-05-10 09:31:49 -07:00
call Function8932d ; find a non-space character within 5 bytes of bc
jr c , .no_nonspace_character
ld hl , 17
2015-10-16 10:35:43 -07:00
add hl , bc
call Function89b45
2016-05-10 09:31:49 -07:00
jr c , .finish_decode
2015-10-16 10:35:43 -07:00
2016-05-10 09:31:49 -07:00
.no_nonspace_character
2015-10-16 10:35:43 -07:00
and a
2016-05-10 09:31:49 -07:00
.finish_decode
2015-10-16 10:35:43 -07:00
pop de
ret
; 89ae6
2016-05-10 09:31:49 -07:00
.Function89ae6: ; 89ae6
2015-10-16 10:35:43 -07:00
ld hl , wd031
xor a
ld [ hl ], a
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2016-05-10 09:31:49 -07:00
.loop2
cp 6
jr c , .load_and_ret
sub 5
2015-10-16 10:35:43 -07:00
ld c , a
ld a , [ hl ]
2016-05-10 09:31:49 -07:00
add 5
2015-10-16 10:35:43 -07:00
ld [ hl ], a
ld a , c
2016-05-10 09:31:49 -07:00
jr .loop2
2015-10-16 10:35:43 -07:00
2016-05-10 09:31:49 -07:00
.load_and_ret
2015-10-16 10:35:43 -07:00
ld [ wd030 ], a
ret
; 89b00
Function89b00: ; 89b00 (22:5b00)
2017-12-24 09:47:30 -08:00
farcall MG_Mobile_Layout_LoadPals
2015-10-16 10:35:43 -07:00
ret
; 89b07 (22:5b07)
Function89b07: ; 89b07
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
call DelayFrame
2017-12-24 09:47:30 -08:00
farcall Function4a3a7
2015-10-16 10:35:43 -07:00
ret
; 89b14
Function89b14: ; 89b14
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function89b07
call Function89b00
ret
; 89b1e
Function89b1e: ; 89b1e (22:5b1e)
2017-12-24 09:47:30 -08:00
farcall Function4a485
2015-10-16 10:35:43 -07:00
call Function89b00
ret
Function89b28: ; 89b28 (22:5b28)
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893e2
2015-10-25 19:26:53 -07:00
call Call_ExitMenu
2015-10-16 10:35:43 -07:00
call Function891ab
2015-10-25 19:26:53 -07:00
call SetPalettes
2015-10-16 10:35:43 -07:00
ret
Function89b3b: ; 89b3b (22:5b3b)
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2017-12-24 09:47:30 -08:00
farcall Function48cda
2015-10-16 10:35:43 -07:00
ret
Function89b45: ; 89b45
2016-05-10 09:31:49 -07:00
; some sort of decoder?
; BCD?
2015-10-16 10:35:43 -07:00
push hl
push bc
ld c , $ 10
ld e , $ 0
2016-05-10 09:31:49 -07:00
.loop
2015-10-16 10:35:43 -07:00
ld a , [ hli ]
ld b , a
and $ f
2016-05-10 09:31:49 -07:00
cp 10
jr c , .low_nybble_less_than_10
2015-10-16 10:35:43 -07:00
ld a , c
cp $ b
2016-05-10 09:31:49 -07:00
jr nc , .clear_carry
jr .set_carry
2015-10-16 10:35:43 -07:00
2016-05-10 09:31:49 -07:00
.low_nybble_less_than_10
2015-10-16 10:35:43 -07:00
dec c
swap b
inc e
ld a , b
and $ f
2016-05-10 09:31:49 -07:00
cp 10
jr c , .high_nybble_less_than_10
2015-10-16 10:35:43 -07:00
ld a , c
cp $ b
2016-05-10 09:31:49 -07:00
jr nc , .clear_carry
jr .set_carry
2015-10-16 10:35:43 -07:00
2016-05-10 09:31:49 -07:00
.high_nybble_less_than_10
2015-10-16 10:35:43 -07:00
inc e
dec c
2016-05-10 09:31:49 -07:00
jr nz , .loop
2015-10-16 10:35:43 -07:00
dec e
2016-05-10 09:31:49 -07:00
.set_carry
2015-10-16 10:35:43 -07:00
scf
2016-05-10 09:31:49 -07:00
jr .finish
2015-10-16 10:35:43 -07:00
2016-05-10 09:31:49 -07:00
.clear_carry
2015-10-16 10:35:43 -07:00
and a
2016-05-10 09:31:49 -07:00
.finish
2015-10-16 10:35:43 -07:00
pop bc
pop hl
ret
; 89b78
Function89b78: ; 89b78 (22:5b78)
push bc
ld a , [ wd010 ]
cp $ 10
jr c , .asm_89b8c
ld a , e
and a
jr z , .asm_89b89
ld c , e
.asm_89b85
inc hl
dec c
jr nz , .asm_89b85
.asm_89b89
ld a , $ 7 f
ld [ hl ], a
.asm_89b8c
ld a , [ wd010 ]
inc a
and $ 1 f
ld [ wd010 ], a
pop bc
ret
Function89b97: ; 89b97 (22:5b97)
call Function89c34
jr c , .asm_89ba0
call Function89448
ret
.asm_89ba0
ld a , [ wd011 ]
ld hl , Unknown_89bd8
and a
jr z , .asm_89bae
.asm_89ba9
inc hl
2016-05-04 08:46:23 -07:00
inc hl
2015-10-16 10:35:43 -07:00
dec a
jr nz , .asm_89ba9
.asm_89bae
ld a , [ hli ]
ld h , [ hl ]
ld l , a
2018-01-30 11:52:46 -08:00
ld de , wVirtualOAMSprite00
2015-10-16 10:35:43 -07:00
.asm_89bb4
ld a , [ hli ]
cp $ ff
ret z
ld c , a
ld b , $ 0
.asm_89bbb
push hl
ld a , [ hli ]
2018-01-10 10:47:57 -08:00
ld [ de ], a ; y
2015-10-16 10:35:43 -07:00
inc de
ld a , [ hli ]
add b
2018-01-10 10:47:57 -08:00
ld [ de ], a ; x
2015-10-16 10:35:43 -07:00
inc de
2018-01-10 10:47:57 -08:00
ld a , $ 08
2015-10-16 10:35:43 -07:00
add b
ld b , a
2018-01-10 10:47:57 -08:00
ld a , [ hli ] ; tile id
2015-10-16 10:35:43 -07:00
ld [ de ], a
inc de
2018-01-10 10:47:57 -08:00
ld a , [ hli ] ; attributes
2015-10-16 10:35:43 -07:00
ld [ de ], a
inc de
pop hl
dec c
jr nz , .asm_89bbb
ld b , $ 0
ld c , $ 4
add hl , bc
jr .asm_89bb4
; 89bd8 (22:5bd8)
Unknown_89bd8: ; 89bd8
dw Unknown_89be0
dw Unknown_89bf5
dw Unknown_89c0a
dw Unknown_89c1f
; 89be0
Unknown_89be0: ; 89be0
2018-01-10 19:53:42 -08:00
db $ 01 , $ 12 , $ 4 e , $ 01 , 0
db $ 01 , $ 19 , $ 4 e , $ 01 , 0 | Y_FLIP
db $ 01 , $ 12 , $ 72 , $ 01 , 0 | X_FLIP
db $ 01 , $ 19 , $ 72 , $ 01 , 0 | X_FLIP | Y_FLIP
db - 1 ; end
2015-10-16 10:35:43 -07:00
Unknown_89bf5: ; 89bf5
2018-01-10 19:53:42 -08:00
db $ 01 , $ 60 , $ 16 , $ 01 , 0
db $ 01 , $ 62 , $ 16 , $ 01 , 0 | Y_FLIP
db $ 01 , $ 60 , $ 92 , $ 01 , 0 | X_FLIP
db $ 01 , $ 62 , $ 92 , $ 01 , 0 | X_FLIP | Y_FLIP
db - 1 ; end
2015-10-16 10:35:43 -07:00
Unknown_89c0a: ; 89c0a
2018-01-10 19:53:42 -08:00
db $ 01 , $ 78 , $ 66 , $ 01 , 0
db $ 01 , $ 78 , $ 66 , $ 01 , 0 | Y_FLIP
db $ 01 , $ 78 , $ 92 , $ 01 , 0 | X_FLIP
db $ 01 , $ 78 , $ 92 , $ 01 , 0 | X_FLIP | Y_FLIP
db - 1 ; end
2015-10-16 10:35:43 -07:00
Unknown_89c1f: ; 89c1f
2018-01-10 19:53:42 -08:00
db $ 01 , $ 80 , $ 66 , $ 01 , 0
db $ 01 , $ 80 , $ 66 , $ 01 , 0 | Y_FLIP
db $ 01 , $ 80 , $ 92 , $ 01 , 0 | X_FLIP
db $ 01 , $ 80 , $ 92 , $ 01 , 0 | X_FLIP | Y_FLIP
db - 1 ; end
2015-10-16 10:35:43 -07:00
; 89c34
Function89c34: ; 89c34 (22:5c34)
push bc
ld a , [ wd012 ]
ld c , a
inc a
and $ f
ld [ wd012 ], a
ld a , c
cp $ 8
pop bc
ret
Function89c44: ; 89c44 (22:5c44)
call Function89c34
jr c , .asm_89c4f
push de
call Function89448
pop de
ret
.asm_89c4f
2018-01-30 11:52:46 -08:00
ld hl , wVirtualOAMSprite00
2015-10-16 10:35:43 -07:00
push de
ld a , b
2018-01-10 10:47:57 -08:00
ld [ hli ], a ; y
2015-10-16 10:35:43 -07:00
ld d , $ 8
ld a , e
and a
ld a , c
jr z , .asm_89c60
.asm_89c5c
add d
dec e
jr nz , .asm_89c5c
.asm_89c60
pop de
2018-01-10 10:47:57 -08:00
ld [ hli ], a ; x
2015-10-16 10:35:43 -07:00
ld a , d
2018-01-10 10:47:57 -08:00
ld [ hli ], a ; tile id
2015-10-16 10:35:43 -07:00
xor a
2018-01-10 10:47:57 -08:00
ld [ hli ], a ; attributes
2015-10-16 10:35:43 -07:00
ret
Function89c67: ; 89c67 (22:5c67)
2016-05-10 09:31:49 -07:00
; menu scrolling?
call JoyTextDelay_ForcehJoyDown ; joypad
2015-10-16 10:35:43 -07:00
ld b , $ 0
2016-05-10 09:31:49 -07:00
bit A_BUTTON_F , c
jr z , .not_a_button
2015-10-16 10:35:43 -07:00
ld b , $ 1
and a
ret
2016-05-10 09:31:49 -07:00
.not_a_button
bit B_BUTTON_F , c
jr z , .not_b_button
2015-10-16 10:35:43 -07:00
scf
ret
2016-05-10 09:31:49 -07:00
.not_b_button
2015-10-16 10:35:43 -07:00
xor a
2016-05-10 09:31:49 -07:00
bit D_UP_F , c
jr z , .not_d_up
2015-10-16 10:35:43 -07:00
ld a , $ 1
2016-05-10 09:31:49 -07:00
.not_d_up
bit D_DOWN_F , c
jr z , .not_d_down
2015-10-16 10:35:43 -07:00
ld a , $ 2
2016-05-10 09:31:49 -07:00
.not_d_down
bit D_LEFT_F , c
jr z , .not_d_left
2015-10-16 10:35:43 -07:00
ld a , $ 3
2016-05-10 09:31:49 -07:00
.not_d_left
bit D_RIGHT_F , c
jr z , .not_d_right
2015-10-16 10:35:43 -07:00
ld a , $ 4
2016-05-10 09:31:49 -07:00
.not_d_right
2015-10-16 10:35:43 -07:00
and a
2016-05-10 09:31:49 -07:00
ret z ; no dpad pressed
2015-10-16 10:35:43 -07:00
dec a
ld c , a
ld d , $ 0
2016-05-10 09:31:49 -07:00
ld hl , .ScrollData0
2015-10-16 10:35:43 -07:00
ld a , [ wd02f ]
and a
2016-05-10 09:31:49 -07:00
jr z , .got_data
ld hl , .ScrollData1
.got_data
2015-10-16 10:35:43 -07:00
ld a , [ wd011 ]
and a
2016-05-10 09:31:49 -07:00
jr z , .got_row
2015-10-16 10:35:43 -07:00
ld e , $ 4
2016-05-10 09:31:49 -07:00
.add_n_times
2015-10-16 10:35:43 -07:00
add hl , de
dec a
2016-05-10 09:31:49 -07:00
jr nz , .add_n_times
.got_row
2015-10-16 10:35:43 -07:00
ld e , c
add hl , de
ld a , [ hl ]
and a
ret z
dec a
ld [ wd011 ], a
xor a
ld [ wd012 ], a
ret
; 89cbf (22:5cbf)
2016-05-10 09:31:49 -07:00
.ScrollData0: ; 89cbf
2015-10-16 10:35:43 -07:00
db 0 , 2 , 0 , 0
db 1 , 3 , 0 , 0
db 2 , 4 , 0 , 0
db 3 , 0 , 0 , 0
2016-05-10 09:31:49 -07:00
.ScrollData1: ; 89ccf
2015-10-16 10:35:43 -07:00
db 0 , 0 , 0 , 0
db 0 , 3 , 0 , 0
db 2 , 4 , 0 , 0
db 3 , 0 , 0 , 0
; 89cdf
Function89cdf: ; 89cdf (22:5cdf)
ld a , $ 10
add b
ld b , a
ld a , $ 8
add c
ld c , a
ld e , $ 2
ld a , $ 2
2018-01-30 11:52:46 -08:00
ld hl , wVirtualOAMSprite00
2015-10-16 10:35:43 -07:00
.asm_89cee
push af
push bc
ld d , $ 4
.asm_89cf2
ld a , b
2018-01-10 10:47:57 -08:00
ld [ hli ], a ; y
2015-10-16 10:35:43 -07:00
ld a , c
2018-01-10 10:47:57 -08:00
ld [ hli ], a ; x
2015-10-16 10:35:43 -07:00
ld a , e
2018-01-10 10:47:57 -08:00
ld [ hli ], a ; tile id
2015-10-16 10:35:43 -07:00
ld a , $ 1
2018-01-10 10:47:57 -08:00
ld [ hli ], a ; attributes
2015-10-16 10:35:43 -07:00
ld a , $ 8
add c
ld c , a
inc e
dec d
jr nz , .asm_89cf2
pop bc
ld a , $ 8
add b
ld b , a
pop af
dec a
jr nz , .asm_89cee
ret
Function89d0d: ; 89d0d (22:5d0d)
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-11-10 13:53:37 -08:00
ld a , [ rSVBK ]
2015-10-16 10:35:43 -07:00
push af
ld a , $ 5
2015-11-10 13:53:37 -08:00
ld [ rSVBK ], a
2016-05-11 14:16:03 -07:00
ld c , 8
2018-01-01 06:08:21 -08:00
ld de , wBGPals1
2016-05-11 14:16:03 -07:00
.loop
2015-10-16 10:35:43 -07:00
push bc
2016-05-11 14:16:03 -07:00
ld hl , .Palette1
ld bc , 1 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
pop bc
dec c
2016-05-11 14:16:03 -07:00
jr nz , .loop
ld hl , .Palette2
2018-01-01 06:08:21 -08:00
ld de , wBGPals1 + 2 palettes
2016-05-11 14:16:03 -07:00
ld bc , 1 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
2016-05-11 14:16:03 -07:00
2015-10-16 10:35:43 -07:00
pop af
2015-11-10 13:53:37 -08:00
ld [ rSVBK ], a
2016-05-11 14:16:03 -07:00
2015-10-25 19:26:53 -07:00
call SetPalettes
2017-12-24 09:47:30 -08:00
farcall PrintMail_
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode1
ld c , 24
2015-10-16 10:35:43 -07:00
call DelayFrames
call RestartMapMusic
ret
; 89d4e (22:5d4e)
2016-05-11 14:16:03 -07:00
.Palette1: ; 89d4e
2015-10-16 10:35:43 -07:00
RGB 31 , 31 , 31
RGB 19 , 19 , 19
RGB 15 , 15 , 15
RGB 00 , 00 , 00
; 89d56
2016-05-11 14:16:03 -07:00
.Palette2: ; 89d56
2015-10-16 10:35:43 -07:00
RGB 31 , 31 , 31
RGB 19 , 19 , 19
RGB 19 , 19 , 19
RGB 00 , 00 , 00
; 89d5e
Function89d5e: ; 89d5e (22:5d5e)
push af
2018-01-23 13:08:43 -08:00
call CopyMenuHeader
2015-10-16 10:35:43 -07:00
pop af
2015-11-01 09:44:30 -08:00
ld [ wMenuCursorBuffer ], a
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-12-15 15:59:49 -08:00
call PlaceVerticalMenuItems
call InitVerticalMenuCursor
2015-12-19 11:48:30 -08:00
ld hl , w2DMenuFlags1
2015-10-16 10:35:43 -07:00
set 7 , [ hl ]
ret
Function89d75: ; 89d75 (22:5d75)
push hl
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
call _hl_
2017-12-24 09:47:30 -08:00
farcall Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap
2015-10-16 10:35:43 -07:00
pop hl
jr asm_89d90
Function89d85: ; 89d85 (22:5d85)
push hl
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
call _hl_
2017-12-24 15:11:17 -08:00
call CGBOnly_CopyTilemapAtOnce
2015-10-16 10:35:43 -07:00
pop hl
asm_89d90: ; 89d90 (22:5d90)
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
push hl
call _hl_
call Function89dab
2015-12-15 15:59:49 -08:00
ld a , [ wMenuCursorY ]
2015-10-16 10:35:43 -07:00
push af
call Function891ab
pop af
pop hl
jr c , .asm_89da9
jr z , asm_89d90
scf
ret
.asm_89da9
and a
ret
Function89dab: ; 89dab (22:5dab)
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2017-12-24 09:47:30 -08:00
farcall MobileMenuJoypad
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
ld a , c
2015-12-20 09:54:08 -08:00
ld hl , wMenuJoypadFilter
2015-10-16 10:35:43 -07:00
and [ hl ]
ret z
bit 0 , a
jr nz , .asm_89dc7
bit 1 , a
jr nz , .asm_89dd9
xor a
ret
.asm_89dc7
call PlayClickSFX
2015-12-19 11:48:30 -08:00
ld a , [ w2DMenuNumRows ]
2015-10-16 10:35:43 -07:00
ld c , a
2015-12-15 15:59:49 -08:00
ld a , [ wMenuCursorY ]
2015-10-16 10:35:43 -07:00
cp c
jr z , .asm_89dd9
2015-12-17 19:31:16 -08:00
call PlaceHollowCursor
2015-10-16 10:35:43 -07:00
scf
ret
.asm_89dd9
call PlayClickSFX
ld a , $ 1
and a
ret
Function89de0: ; 89de0 (22:5de0)
call Cl earSprites
call Function89e0a
jr c , .asm_89e00
ld c , $ 1
.asm_89dea
call Function8a31c
jr z , .asm_89dfd
2015-12-15 15:59:49 -08:00
ld a , [ wMenuCursorY ]
2015-10-16 10:35:43 -07:00
ld c , a
push bc
ld hl , Jumptable_89e04
ld a , e
dec a
rst JumpTable
pop bc
jr .asm_89dea
.asm_89dfd
call Function891fe
.asm_89e00
call Function8917a
ret
Jumptable_89e04: ; 89e04 (22:5e04)
dw Function8a62c
dw Function8a999
dw Function8ab93
Function89e0a: ; 89e0a (22:5e0a)
call OpenSRAMBank4
call Function8b3b0
call Cl oseSRAM
ld hl , Jumptable_89e18
rst JumpTable
ret
Jumptable_89e18: ; 89e18 (22:5e18)
dw Function89e1e
dw Function8a116
dw Function8a2aa
Function89e1e: ; 89e1e (22:5e1e)
call OpenSRAMBank4
2016-05-10 09:31:49 -07:00
ld bc , $ a037 ; 4:a037
2015-10-16 10:35:43 -07:00
call Function8b36c
call Cl oseSRAM
xor a
ld [ wd02d ], a
asm_89e2e: ; 89e2e (22:5e2e)
ld a , [ wd02d ]
ld hl , Jumptable_89e3c
rst JumpTable
ret
Function89e36: ; 89e36 (22:5e36)
ld hl , wd02d
inc [ hl ]
jr asm_89e2e
Jumptable_89e3c: ; 89e3c (22:5e3c)
dw Function89e6f
dw Function89fed
dw Function89ff6
dw Function8a03d
dw Function89eb9
dw Function89efd
dw Function89fce
dw Function8a04c
dw Function8a055
dw Function8a0e6
dw Function8a0ec
dw Function8a0f5
dw Function89e58
dw Function89e68
Function89e58: ; 89e58 (22:5e58)
ld a , $ 1
call Function8a2fe
call Function891fe
call Function893e2
call Function89168
and a
ret
Function89e68: ; 89e68 (22:5e68)
call Function891fe
ld a , $ 1
scf
ret
Function89e6f: ; 89e6f (22:5e6f)
call Function891de
call Function89245
call Function89ee1
call Function89e9a
hlcoord 7 , 4
call Function8a58d
ld a , $ 5
2018-01-23 14:39:09 -08:00
hlcoord 7 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
ld a , $ 6
2018-01-23 14:39:09 -08:00
hlcoord 10 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
call Function891ab
2015-10-25 19:26:53 -07:00
call SetPalettes
2015-10-16 10:35:43 -07:00
jp Function89e36
Function89e9a: ; 89e9a (22:5e9a)
2015-11-10 13:53:37 -08:00
ld a , [ rSVBK ]
2015-10-16 10:35:43 -07:00
push af
ld a , $ 5
2015-11-10 13:53:37 -08:00
ld [ rSVBK ], a
2015-10-16 10:35:43 -07:00
ld hl , Palette_89eb1
2018-01-01 06:08:21 -08:00
ld de , wBGPals1 palette 5
2015-12-19 11:48:30 -08:00
ld bc , 1 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
pop af
2015-11-10 13:53:37 -08:00
ld [ rSVBK ], a
2015-10-16 10:35:43 -07:00
ret
; 89eb1 (22:5eb1)
Palette_89eb1: ; 89eb1
RGB 31 , 31 , 31
RGB 31 , 31 , 31
RGB 27 , 19 , 00
RGB 00 , 00 , 00
; 89eb9
Function89eb9: ; 89eb9 (22:5eb9)
call Function891fe
call Function89ee1
call Function89e9a
hlcoord 7 , 4
call Function8a58d
ld a , $ 5
2018-01-23 14:39:09 -08:00
hlcoord 7 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
ld a , $ 6
2018-01-23 14:39:09 -08:00
hlcoord 10 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
call Function891ab
2015-10-25 19:26:53 -07:00
call SetPalettes
2015-10-16 10:35:43 -07:00
jp Function89e36
Function89ee1: ; 89ee1 (22:5ee1)
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893e2
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2017-12-24 09:47:30 -08:00
farcall Function4a3a7
farcall MG_Mobile_Layout_CreatePalBoxes
2015-10-16 10:35:43 -07:00
hlcoord 1 , 0
call Function8a53d
ret
Function89efd: ; 89efd (22:5efd)
ld hl , wd012
ld a , $ ff
ld [ hli ], a
xor a
rept 4
ld [ hli ], a
endr
ld [ hl ], a
.asm_89f09
ld hl , wd012
inc [ hl ]
ld a , [ hli ]
and $ 3
jr nz , .asm_89f2e
ld a , [ hl ]
cp $ 4
jr nc , .asm_89f2e
ld b , $ 32
inc [ hl ]
ld a , [ hl ]
dec a
jr z , .asm_89f26
ld c , a
.asm_89f1f
ld a , $ b
add b
ld b , a
dec c
jr nz , .asm_89f1f
.asm_89f26
ld c , $ e8
ld a , [ wd013 ]
call Function89fa5
.asm_89f2e
ld a , [ wd013 ]
and a
jr z , .asm_89f58
.asm_89f34
call Function89f6a
ld e , a
ld a , c
cp $ a8
jr nc , .asm_89f4d
cp $ 46
jr c , .asm_89f4d
ld d , $ 0
dec e
ld hl , wd014
add hl , de
set 0 , [ hl ]
inc e
jr .asm_89f51
.asm_89f4d
ld a , $ 2
add c
ld c , a
.asm_89f51
ld a , e
call Function89f77
dec a
jr nz , .asm_89f34
.asm_89f58
call DelayFrame
ld hl , wd014
ld c , $ 4
.asm_89f60
ld a , [ hli ]
and a
jr z , .asm_89f09
dec c
jr nz , .asm_89f60
jp Function89e36
Function89f6a: ; 89f6a (22:5f6a)
push af
ld de , $ 10
call Function89f9a
ld a , [ hli ]
ld b , a
ld a , [ hl ]
ld c , a
pop af
ret
Function89f77: ; 89f77 (22:5f77)
push af
ld de , $ 10
call Function89f9a
ld d , $ 2
.asm_89f80
push bc
ld e , $ 2
.asm_89f83
ld a , b
ld [ hli ], a
ld a , c
ld [ hli ], a
inc hl
2016-05-04 08:46:23 -07:00
inc hl
2015-10-16 10:35:43 -07:00
ld a , $ 8
add c
ld c , a
dec e
jr nz , .asm_89f83
pop bc
ld a , $ 8
add b
ld b , a
dec d
jr nz , .asm_89f80
pop af
ret
Function89f9a: ; 89f9a (22:5f9a)
dec a
2018-01-23 13:45:34 -08:00
ld hl , wVirtualOAM
2015-10-16 10:35:43 -07:00
and a
ret z
.asm_89fa0
add hl , de
dec a
jr nz , .asm_89fa0
ret
Function89fa5: ; 89fa5 (22:5fa5)
ld de , $ 10
call Function89f9a
ld e , $ 2
ld d , $ a
.asm_89faf
push bc
ld a , $ 2
.asm_89fb2
push af
ld a , b
ld [ hli ], a
ld a , c
ld [ hli ], a
ld a , d
inc d
ld [ hli ], a
ld a , $ 1
ld [ hli ], a
ld a , $ 8
add c
ld c , a
pop af
dec a
jr nz , .asm_89fb2
pop bc
ld a , $ 8
add b
ld b , a
dec e
jr nz , .asm_89faf
ret
Function89fce: ; 89fce (22:5fce)
call Function8a5b6
ld a , $ 5
2018-01-23 14:39:09 -08:00
hlcoord 7 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
ld a , $ 6
2018-01-23 14:39:09 -08:00
hlcoord 10 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
call Function89448
2015-10-25 19:26:53 -07:00
call SetPalettes
2015-10-16 10:35:43 -07:00
call Function891ab
jp Function89e36
Function89fed: ; 89fed (22:5fed)
ld hl , UnknownText_0x8a102
call PrintText
jp Function89e36
Function89ff6: ; 89ff6 (22:5ff6)
call Function891fe
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call Function89807
call Function89492
call Function894ca
call OpenSRAMBank4
ld hl , $ a603
ld a , - 1
ld bc , 8
call Byte Fill
ld hl , $ a603
ld de , wd008
call Function89381
call Cl oseSRAM
call Function8987f
call OpenSRAMBank4
hlcoord 1 , 13
ld bc , $ a007
call Function89a0c
call Cl oseSRAM
call Function891ab
2016-05-11 14:16:03 -07:00
call Mobile22_ButtonSound
2015-10-16 10:35:43 -07:00
jp Function89e36
Function8a03d: ; 8a03d (22:603d)
ld hl , UnknownText_0x8a107
call Function89209
call PrintText
call Function8920f
jp Function89e36
Function8a04c: ; 8a04c (22:604c)
ld hl , UnknownText_0x8a10c
call PrintText
jp Function89e36
Function8a055: ; 8a055 (22:6055)
ld c , $ 7
ld b , $ 4
.asm_8a059
call Function8a0a1
inc c
call Function8a0c9
push bc
call Function8a58d
pop bc
call Function8a0de
push bc
push hl
ld a , $ 5
call Function8a5a3
pop hl
inc hl
2016-05-10 09:31:49 -07:00
inc hl
inc hl
2015-10-16 10:35:43 -07:00
ld a , $ 6
call Function8a5a3
2017-12-24 15:11:17 -08:00
call CGBOnly_CopyTilemapAtOnce
2015-10-16 10:35:43 -07:00
pop bc
ld a , c
cp $ b
jr nz , .asm_8a059
call Function8a0a1
hlcoord 12 , 4
call Function8a58d
ld a , $ 5
2018-01-23 14:39:09 -08:00
hlcoord 12 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
pop hl
ld a , $ 6
2018-01-23 14:39:09 -08:00
hlcoord 15 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
2017-12-24 15:11:17 -08:00
call CGBOnly_CopyTilemapAtOnce
2015-10-16 10:35:43 -07:00
jp Function89e36
Function8a0a1: ; 8a0a1 (22:60a1)
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
push bc
call Function8a0c9
ld e , $ 6
.asm_8a0aa
push hl
ld bc , $ 6
add hl , bc
ld d , [ hl ]
call Function8a0c1
pop hl
ld [ hl ], d
call Function89215
ld bc , $ 14
add hl , bc
dec e
jr nz , .asm_8a0aa
pop bc
ret
Function8a0c1: ; 8a0c1 (22:60c1)
push hl
2018-01-23 14:39:09 -08:00
ld bc , wAttrMap - wTileMap
2015-10-16 10:35:43 -07:00
add hl , bc
ld a , [ hl ]
pop hl
ret
Function8a0c9: ; 8a0c9 (22:60c9)
push bc
hlcoord 0 , 0
ld de , $ 14
ld a , b
and a
jr z , .asm_8a0d8
.asm_8a0d4
add hl , de
dec b
jr nz , .asm_8a0d4
.asm_8a0d8
ld d , $ 0
ld e , c
add hl , de
pop bc
ret
Function8a0de: ; 8a0de (22:60de)
call Function8a0c9
2018-01-23 14:39:09 -08:00
ld de , wAttrMap - wTileMap
2015-10-16 10:35:43 -07:00
add hl , de
ret
Function8a0e6: ; 8a0e6 (22:60e6)
call Function8b539
jp Function89e36
Function8a0ec: ; 8a0ec (22:60ec)
ld hl , UnknownText_0x8a111
call PrintText
jp Function89e36
Function8a0f5: ; 8a0f5 (22:60f5)
call Function8b555
jp nc , Function8a0ff
ld hl , wd02d
inc [ hl ]
Function8a0ff: ; 8a0ff (22:60ff)
jp Function89e36
; 8a102 (22:6102)
UnknownText_0x8a102: ; 0x8a102
; The CARD FOLDER stores your and your friends' CARDS. A CARD contains information like the person's name, phone number and profile.
text_jump UnknownText_0x1c5238
db "@"
; 0x8a107
UnknownText_0x8a107: ; 0x8a107
; This is your CARD. Once you've entered your phone number, you can trade CARDS with your friends.
text_jump UnknownText_0x1c52bc
db "@"
; 0x8a10c
UnknownText_0x8a10c: ; 0x8a10c
; If you have your friend's CARD, you can use it to make a call from a mobile phone on the 2nd floor of a #MON CENTER.
text_jump UnknownText_0x1c531e
db "@"
; 0x8a111
UnknownText_0x8a111: ; 0x8a111
; To safely store your collection of CARDS, you must set a PASSCODE for your CARD FOLDER.
text_jump UnknownText_0x1c5394
db "@"
; 0x8a116
Function8a116: ; 8a116 (22:6116)
ld a , $ 1
ld [ wd030 ], a
2018-01-23 13:08:43 -08:00
ld hl , MenuHeader_0x8a176
call LoadMenuHeader
2015-10-16 10:35:43 -07:00
.asm_8a121
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
call Function8a17b
jr c , .asm_8a16b
2015-12-15 15:59:49 -08:00
ld a , [ wMenuCursorY ]
2015-10-16 10:35:43 -07:00
ld [ wd030 ], a
dec d
jr z , .asm_8a140
call Function8a20d
jr c , .asm_8a121
xor a
call Function8a2fe
call Function8916e
jr .asm_8a16b
.asm_8a140
call Function89174
jr nz , .asm_8a14c
call Function8a241
jr c , .asm_8a121
jr .asm_8a15a
.asm_8a14c
call WaitSFX
ld de , SFX_TWINKLE
call PlaySFX
ld c , $ 10
call DelayFrames
.asm_8a15a
call ExitMenu
call Function891de
call Function893e2
call Function89245
call Function89168
and a
ret
.asm_8a16b
call Function89209
2015-12-24 19:58:42 -08:00
call Cl oseWindow
2015-10-16 10:35:43 -07:00
call Function8920f
scf
ret
; 8a176 (22:6176)
2018-01-23 13:08:43 -08:00
MenuHeader_0x8a176: ; 0x8a176
2018-01-14 02:59:56 -08:00
db MENU_BACKUP_TILES ; flags
2018-01-13 13:38:14 -08:00
menu_coords 14 , 0 , SCREEN_WIDTH - 1 , 6
2015-10-16 10:35:43 -07:00
; 8a17b
Function8a17b: ; 8a17b (22:617b)
decoord 14 , 0
ld b , $ 5
ld c , $ 4
call Function89b3b
2018-01-23 13:08:43 -08:00
ld hl , MenuHeader_0x8a19a
2015-10-16 10:35:43 -07:00
ld a , [ wd030 ]
call Function89d5e
ld hl , Function8a1b0
call Function89d75
jr nc , .asm_8a198
ld a , $ 0
.asm_8a198
ld d , a
ret
; 8a19a (22:619a)
2018-01-23 13:08:43 -08:00
MenuHeader_0x8a19a: ; 0x8a19a
2018-01-14 02:59:56 -08:00
db MENU_BACKUP_TILES ; flags
2018-01-13 13:38:14 -08:00
menu_coords 14 , 0 , SCREEN_WIDTH - 1 , 6
2018-01-23 13:08:43 -08:00
dw MenuData_0x8a1a2
2015-10-16 10:35:43 -07:00
db 1 ; default option
; 0x8a1a2
2018-01-23 13:08:43 -08:00
MenuData_0x8a1a2: ; 0x8a1a2
2018-01-14 02:59:56 -08:00
db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING | STATICMENU_WRAP ; flags
2015-10-16 10:35:43 -07:00
db 3 ; items
db "ひらく@"
db "すてる@"
db "もどる@"
; 0x8a1b0
Function8a1b0: ; 8a1b0
hlcoord 0 , 12
ld b , $ 4
ld c , $ 12
call TextBox
hlcoord 1 , 14
2015-12-15 15:59:49 -08:00
ld a , [ wMenuCursorY ]
2015-10-16 10:35:43 -07:00
ld de , Strings_8a1cc
dec a
ld c , a
call Function8919e
call PlaceString
ret
; 8a1cc
Strings_8a1cc: ; 8a1cc
2018-01-19 18:49:16 -08:00
db "めいし<NO>せいりと へんしゅうを"
2015-10-16 10:35:43 -07:00
next "おこないます"
db "@"
2018-01-19 18:49:16 -08:00
db "めいしフォルダー<NO>めいしと"
2018-01-18 17:40:32 -08:00
next "あんしょうばんごう<WO>けします"
2015-10-16 10:35:43 -07:00
db "@"
2018-01-18 17:40:32 -08:00
db "まえ<NO>がめん<NI>もどります"
2015-10-16 10:35:43 -07:00
db "@"
; 8a20d
Function8a20d: ; 8a20d (22:620d)
ld hl , UnknownText_0x8a232
call PrintText
ld a , $ 2
call Function89259
ret c
ld hl , UnknownText_0x8a237
call PrintText
ld a , $ 2
call Function89259
ret c
xor a
call Function8a2fe
ld hl , UnknownText_0x8a23c
call PrintText
xor a
and a
ret
; 8a232 (22:6232)
UnknownText_0x8a232: ; 0x8a232
; If the CARD FOLDER is deleted, all its CARDS and the PASSCODE will also be deleted. Beware--a deleted CARD FOLDER can't be restored. Want to delete your CARD FOLDER?
text_jump UnknownText_0x1c53ee
db "@"
; 0x8a237
UnknownText_0x8a237: ; 0x8a237
; Are you sure you want to delete it?
text_jump UnknownText_0x1c5494
db "@"
; 0x8a23c
UnknownText_0x8a23c: ; 0x8a23c
; The CARD FOLDER has been deleted.
text_jump UnknownText_0x1c54b9
db "@"
; 0x8a241
Function8a241: ; 8a241 (22:6241)
2018-01-23 13:08:43 -08:00
call LoadStandardMenuHeader
2015-10-16 10:35:43 -07:00
call Function891fe
call Function8a262
jr nc , .asm_8a254
call Function891fe
call Function89b28
scf
ret
.asm_8a254
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-25 19:26:53 -07:00
call Call_ExitMenu
2015-10-16 10:35:43 -07:00
call Function891de
and a
ret
Function8a262: ; 8a262 (22:6262)
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893e2
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2017-12-24 09:47:30 -08:00
farcall Function4a3a7
farcall MG_Mobile_Layout_CreatePalBoxes
2015-10-16 10:35:43 -07:00
hlcoord 1 , 0
call Function8a53d
hlcoord 12 , 4
call Function8a58d
ld a , $ 5
2018-01-23 14:39:09 -08:00
hlcoord 12 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
ld a , $ 6
2018-01-23 14:39:09 -08:00
hlcoord 15 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
xor a
ld [ wd02e ], a
ld bc , wd013
call Function8b36c
call Function8b493
call Function891ab
2015-10-25 19:26:53 -07:00
call SetPalettes
2015-10-16 10:35:43 -07:00
call Function8b5e7
ret
Function8a2aa: ; 8a2aa (22:62aa)
2018-01-23 13:08:43 -08:00
ld hl , MenuHeader_0x8a2ef
call LoadMenuHeader
2015-10-16 10:35:43 -07:00
ld hl , UnknownText_0x8a2f4
call PrintText
ld a , $ 1
call Function89259
jr nc , .asm_8a2cf
ld hl , UnknownText_0x8a2f9
call PrintText
ld a , $ 2
call Function89259
jr c , .asm_8a2ea
call Function8a20d
jr .asm_8a2ea
.asm_8a2cf
call ExitMenu
call Function8a241
jr c , .asm_8a2ed
ld a , $ 1
call Function8a313
call Cl oseSRAM
call Function891de
call Function89245
call Function89168
and a
ret
.asm_8a2ea
2015-12-24 19:58:42 -08:00
call Cl oseWindow
2015-10-16 10:35:43 -07:00
.asm_8a2ed
scf
ret
; 8a2ef (22:62ef)
2018-01-23 13:08:43 -08:00
MenuHeader_0x8a2ef: ; 0x8a2ef
2018-01-14 02:59:56 -08:00
db MENU_BACKUP_TILES ; flags
2018-01-13 13:38:14 -08:00
menu_coords 0 , 12 , SCREEN_WIDTH - 1 , SCREEN_HEIGHT - 1
2015-10-16 10:35:43 -07:00
; 8a2f4
UnknownText_0x8a2f4: ; 0x8a2f4
; There is an older CARD FOLDER from a previous journey. Do you want to open it?
text_jump UnknownText_0x1c54dd
db "@"
; 0x8a2f9
UnknownText_0x8a2f9: ; 0x8a2f9
; Delete the old CARD FOLDER?
text_jump UnknownText_0x1c552d
db "@"
; 0x8a2fe
Function8a2fe: ; 8a2fe (22:62fe)
call Function8a313
call Function89305
ld hl , $ a603
ld bc , $ 8
ld a , - 1
call Byte Fill
call Cl oseSRAM
ret
Function8a313: ; 8a313 (22:6313)
ld c , a
call OpenSRAMBank4
ld a , c
ld [ $ a60b ], a
ret
Function8a31c: ; 8a31c (22:631c)
push bc
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2017-12-24 09:47:30 -08:00
farcall Function4a3a7
farcall MG_Mobile_Layout_CreatePalBoxes
2015-10-16 10:35:43 -07:00
hlcoord 1 , 0
call Function8a53d
hlcoord 12 , 4
call Function8a58d
call Function8a3b2
pop bc
ld a , c
2015-11-01 09:44:30 -08:00
ld [ wMenuCursorBuffer ], a
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-12-15 15:59:49 -08:00
call PlaceVerticalMenuItems
call InitVerticalMenuCursor
2015-12-19 11:48:30 -08:00
ld hl , w2DMenuFlags1
2015-10-16 10:35:43 -07:00
set 7 , [ hl ]
.asm_8a34e
call Function8a3a2
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
call Function8a453
call Function8a4d3
call Function8a4fc
call Function891ab
2015-10-25 19:26:53 -07:00
call SetPalettes
2015-10-16 10:35:43 -07:00
call Function8a383
jr c , .asm_8a370
jr z , .asm_8a34e
.asm_8a36a
call Function89448
xor a
ld e , a
ret
.asm_8a370
call Function89448
2015-12-17 19:31:16 -08:00
call PlaceHollowCursor
2015-10-16 10:35:43 -07:00
call Function8a3a2
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
cp $ ff
jr z , .asm_8a36a
ld e , a
and a
ret
Function8a383: ; 8a383 (22:6383)
2017-12-24 09:47:30 -08:00
farcall MobileMenuJoypad
2015-10-16 10:35:43 -07:00
ld a , c
2015-12-20 09:54:08 -08:00
ld hl , wMenuJoypadFilter
2015-10-16 10:35:43 -07:00
and [ hl ]
ret z
bit 0 , a
jr nz , .asm_8a399
bit 1 , a
jr nz , .asm_8a39e
xor a
ret
.asm_8a399
call PlayClickSFX
scf
ret
.asm_8a39e
call PlayClickSFX
ret
Function8a3a2: ; 8a3a2 (22:63a2)
2015-12-15 15:59:49 -08:00
ld a , [ wMenuCursorY ]
2015-10-16 10:35:43 -07:00
dec a
2015-11-10 16:51:13 -08:00
ld hl , wd002
2015-10-16 10:35:43 -07:00
ld e , a
ld d , $ 0
add hl , de
ld a , [ hl ]
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
ret
Function8a3b2: ; 8a3b2 (22:63b2)
ld a , $ 1
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
call Function8a4fc
call Function8a3df
jr nc , .asm_8a3ce
decoord 0 , 2
ld b , $ 6
ld c , $ 9
call Function89b3b
2018-01-23 13:08:43 -08:00
ld hl , MenuHeader_0x8a435
2015-10-16 10:35:43 -07:00
jr .asm_8a3db
.asm_8a3ce
decoord 0 , 2
ld b , $ 8
ld c , $ 9
call Function89b3b
2018-01-23 13:08:43 -08:00
ld hl , MenuHeader_0x8a40f
2015-10-16 10:35:43 -07:00
.asm_8a3db
2018-01-23 13:08:43 -08:00
call CopyMenuHeader
2015-10-16 10:35:43 -07:00
ret
Function8a3df: ; 8a3df (22:63df)
call OpenSRAMBank4
ld hl , $ a603
call Function89b45
call Cl oseSRAM
2015-11-10 16:51:13 -08:00
ld hl , wd002
2015-10-16 10:35:43 -07:00
jr c , .asm_8a3f8
ld de , Unknown_8a408
call Function8a400
scf
ret
.asm_8a3f8
ld de , Unknown_8a40b
call Function8a400
and a
ret
Function8a400: ; 8a400 (22:6400)
ld a , [ de ]
inc de
ld [ hli ], a
cp $ ff
jr nz , Function8a400
ret
; 8a408 (22:6408)
Unknown_8a408: db 1 , 2 , - 1
Unknown_8a40b: db 1 , 2 , 3 , - 1
2018-01-23 13:08:43 -08:00
MenuHeader_0x8a40f: ; 0x8a40f
2018-01-14 02:59:56 -08:00
db MENU_BACKUP_TILES ; flags
2018-01-13 13:38:14 -08:00
menu_coords 0 , 2 , 10 , TEXTBOX_Y - 1
2018-01-23 13:08:43 -08:00
dw MenuData_0x8a417
2015-10-16 10:35:43 -07:00
db 1 ; default option
; 0x8a417
2018-01-23 13:08:43 -08:00
MenuData_0x8a417: ; 0x8a417
2018-01-14 02:59:56 -08:00
db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
2015-10-16 10:35:43 -07:00
db 4 ; items
db "めいしりスト@"
2018-01-19 18:49:16 -08:00
db "じぶんの めいし@"
2015-10-16 10:35:43 -07:00
db "めいしこうかん@"
db "やめる@"
; 0x8a435
2018-01-23 13:08:43 -08:00
MenuHeader_0x8a435: ; 0x8a435
2018-01-14 02:59:56 -08:00
db MENU_BACKUP_TILES ; flags
2018-01-13 13:38:14 -08:00
menu_coords 0 , 2 , 10 , 9
2018-01-23 13:08:43 -08:00
dw MenuData_0x8a43d
2015-10-16 10:35:43 -07:00
db 1 ; default option
; 0x8a43d
2018-01-23 13:08:43 -08:00
MenuData_0x8a43d: ; 0x8a43d
2018-01-14 02:59:56 -08:00
db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
2015-10-16 10:35:43 -07:00
db 3 ; items
db "めいしりスト@"
2018-01-19 18:49:16 -08:00
db "じぶんの めいし@"
2015-10-16 10:35:43 -07:00
db "やめる@"
; 0x8a453
Function8a453: ; 8a453 (22:6453)
hlcoord 0 , 12
ld b , $ 4
ld c , $ 12
call TextBox
hlcoord 1 , 14
ld de , String_8a476
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
cp $ ff
jr z , .asm_8a472
ld de , Strings_8a483
dec a
ld c , a
call Function8919e
.asm_8a472
call PlaceString
ret
; 8a476 (22:6476)
String_8a476: ; 8a476
2018-01-18 17:40:32 -08:00
db "まえ<NO>がめん<NI>もどります@"
2015-10-16 10:35:43 -07:00
; 8a483
Strings_8a483: ; 8a483
2018-01-18 17:40:32 -08:00
db "おともだち<NO>めいしは"
next "ここ<NI>いれておきます@"
2015-10-16 10:35:43 -07:00
2018-01-18 17:40:32 -08:00
db "でんわばんごう<WO>いれると"
next "めいしこうかん<GA>できます@"
2015-10-16 10:35:43 -07:00
2018-01-19 18:49:16 -08:00
db "ともだちと じぶん<NO>めいしを"
next "せきがいせんで こうかん します@"
2015-10-16 10:35:43 -07:00
; 8a4d3
Function8a4d3: ; 8a4d3 (22:64d3)
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
cp $ 1
jr nz , .asm_8a4eb
ld a , $ 5
2018-01-23 14:39:09 -08:00
hlcoord 12 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
ld a , $ 7
2018-01-23 14:39:09 -08:00
hlcoord 15 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
ret
.asm_8a4eb
ld a , $ 7
2018-01-23 14:39:09 -08:00
hlcoord 12 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
ld a , $ 6
2018-01-23 14:39:09 -08:00
hlcoord 15 , 4 , wAttrMap
2015-10-16 10:35:43 -07:00
call Function8a5a3
ret
Function8a4fc: ; 8a4fc (22:64fc)
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
cp $ 3
jr nz , asm_8a529
ld hl , wd012
ld a , [ hli ]
ld b , a
ld a , [ hld ]
add b
ld [ hl ], a
ld b , a
ld c , $ 80
call Function89cdf
call Function8a515
ret
Function8a515: ; 8a515 (22:6515)
ld hl , wd012
ld a , [ hl ]
cp $ 38
jr c , .asm_8a520
cp $ 3 c
ret c
.asm_8a520
ld a , [ wd013 ]
cpl
inc a
ld [ wd013 ], a
ret
asm_8a529: ; 8a529 (22:6529)
ld hl , wd012
ld a , $ 3 c
ld [ hli ], a
ld a , $ ff
ld [ hli ], a
2018-01-23 13:45:34 -08:00
ld hl , wVirtualOAM
2015-10-16 10:35:43 -07:00
xor a
2018-01-10 10:47:57 -08:00
ld bc , 8 * SP RITEOAMSTRUCT_LENGTH
2015-10-16 10:35:43 -07:00
call Byte Fill
ret
Function8a53d: ; 8a53d (22:653d)
push hl
ld a , $ 15
ld c , $ 8
ld de , $ 14
call Function8a573
ld a , $ 1 d
ld c , $ 9
call Function8a57c
inc a
ld [ hl ], a
call Function8a584
pop hl
add hl , de
ld a , $ 1 f
ld c , $ 8
call Function8a573
dec hl
ld a , $ 51
ld [ hli ], a
ld a , $ 26
ld c , $ 1
call Function8a57c
ld a , $ 52
ld c , $ 3
call Function8a573
ld a , $ 27
ld c , $ 6
Function8a573: ; 8a573 (22:6573)
ld [ hl ], a
call Function8a584
inc a
dec c
jr nz , Function8a573
ret
Function8a57c: ; 8a57c (22:657c)
ld [ hl ], a
call Function8a584
dec c
jr nz , Function8a57c
ret
Function8a584: ; 8a584 (22:6584)
push af
ld a , $ 4
call Function89215
inc hl
pop af
ret
Function8a58d: ; 8a58d (22:658d)
ld a , $ 2 d
ld bc , $ 606
ld de , $ 14
.asm_8a595
push bc
push hl
.asm_8a597
ld [ hli ], a
inc a
dec c
jr nz , .asm_8a597
pop hl
add hl , de
pop bc
dec b
jr nz , .asm_8a595
ret
Function8a5a3: ; 8a5a3 (22:65a3)
ld bc , $ 603
ld de , $ 14
.asm_8a5a9
push bc
push hl
.asm_8a5ab
ld [ hli ], a
dec c
jr nz , .asm_8a5ab
pop hl
add hl , de
pop bc
dec b
jr nz , .asm_8a5a9
ret
Function8a5b6: ; 8a5b6 (22:65b6)
2015-11-10 13:53:37 -08:00
ld a , [ rSVBK ]
2015-10-16 10:35:43 -07:00
push af
ld a , $ 5
2015-11-10 13:53:37 -08:00
ld [ rSVBK ], a
2015-10-16 10:35:43 -07:00
ld hl , Palette_8a5e5
2018-01-01 06:08:21 -08:00
ld de , wBGPals1 + 4 palettes
2015-12-18 17:07:09 -08:00
ld bc , 3 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
ld hl , Palette_8a5fd
2018-01-01 06:08:21 -08:00
ld de , wOBPals1
2015-12-18 17:07:09 -08:00
ld bc , 1 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
ld hl , Palette_8a605
2018-01-01 06:08:21 -08:00
ld de , wOBPals1 + 1 palettes
2015-12-18 17:07:09 -08:00
ld bc , 1 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
pop af
2015-11-10 13:53:37 -08:00
ld [ rSVBK ], a
2015-10-16 10:35:43 -07:00
ret
; 8a5e5 (22:65e5)
Palette_8a5e5: ; 8a5e5
RGB 31 , 31 , 31
RGB 27 , 19 , 00
RGB 07 , 11 , 22
RGB 00 , 00 , 00
2015-12-18 17:07:09 -08:00
2015-10-16 10:35:43 -07:00
RGB 31 , 31 , 31
RGB 16 , 16 , 31
RGB 27 , 19 , 00
RGB 00 , 00 , 00
2015-12-18 17:07:09 -08:00
2015-10-16 10:35:43 -07:00
RGB 31 , 31 , 31
RGB 31 , 00 , 00
RGB 27 , 19 , 00
RGB 00 , 00 , 00
; 8a5fd
Palette_8a5fd: ; 8a5fd
RGB 00 , 00 , 00
RGB 00 , 00 , 00
RGB 00 , 00 , 00
RGB 31 , 31 , 31
; 8a605
Palette_8a605: ; 8a605
RGB 00 , 00 , 00
RGB 14 , 18 , 31
RGB 16 , 16 , 31
RGB 31 , 31 , 31
; 8a60d
Function8a60d: ; 8a60d
ld a , [ rSVBK ]
push af
ld a , $ 5
ld [ rSVBK ], a
ld hl , Palette_8a624
2018-01-01 06:08:21 -08:00
ld de , wOBPals1
2015-12-18 17:07:09 -08:00
ld bc , 1 palettes
2015-10-16 10:35:43 -07:00
call CopyBytes
pop af
ld [ rSVBK ], a
ret
; 8a624
Palette_8a624: ; 8a624
RGB 31 , 31 , 31
RGB 31 , 31 , 31
RGB 31 , 31 , 31
RGB 00 , 00 , 00
; 8a62c
Function8a62c: ; 8a62c (22:662c)
2018-01-23 13:08:43 -08:00
call LoadStandardMenuHeader
2015-10-16 10:35:43 -07:00
call Function891fe
xor a
call Function8b94a
call Function8b677
.asm_8a639
xor a
ld [ wd033 ], a
ld [ wd032 ], a
ld [ wd0e3 ], a
call Function8b7bd
ld a , c
and a
jr z , .asm_8a66a
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
ld b , a
2015-12-17 14:51:32 -08:00
ld a , [ wScrollingMenuCursorPosition ]
2015-10-16 10:35:43 -07:00
inc a
ld [ wd034 ], a
push bc
call Function8b960
ld a , c
pop bc
jr z , .asm_8a639
ld c , a
ld hl , Jumptable_8a671
ld a , b
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
ld a , c
dec a
rst JumpTable
jr .asm_8a639
.asm_8a66a
call Function891fe
call Function89b28
ret
Jumptable_8a671: ; 8a671 (22:6671)
dw Function8a679
dw Function8a6cd
dw Function8a8c3
dw Function8a930
Function8a679: ; 8a679 (22:6679)
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call OpenSRAMBank4
call Function8931b
call Function89844
call Cl oseSRAM
call OpenSRAMBank4
call Function8939a
call Function89856
hlcoord 1 , 13
call Function899fe
call Function891ab
call Cl oseSRAM
.asm_8a6a3
call Function89a57
jr c , .asm_8a6a3
and a
jr z , Function8a679
ld hl , Jumptable_8a6bc
dec a
rst JumpTable
jr c , Function8a679
call Function891fe
call Function8b677
call Function89448
ret
Jumptable_8a6bc: ; 8a6bc (22:66bc)
dw Function8a6c0
dw Function8a6c5
Function8a6c0: ; 8a6c0 (22:66c0)
call PlayClickSFX
and a
ret
Function8a6c5: ; 8a6c5 (22:66c5)
call PlayClickSFX
call Function89d0d
scf
ret
Function8a6cd: ; 8a6cd (22:66cd)
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call OpenSRAMBank4
call Function8931b
call Function89844
call Function8a757
call Cl oseSRAM
.asm_8a6e5
call OpenSRAMBank4
call Function8931b
call Function89856
call Function89a2e
call Function891ab
xor a
ld [ wd02f ], a
call Cl oseSRAM
.asm_8a6fb
call Function89b97
call Function89c67
jr c , .asm_8a718
ld a , b
and a
jr z , .asm_8a6fb
call PlayClickSFX
call Function89448
ld a , [ wd011 ]
ld hl , Jumptable_8a74f
rst JumpTable
jr nc , .asm_8a6e5
jr .asm_8a742
.asm_8a718
call OpenSRAMBank4
call Function8a765
call Cl oseSRAM
jr nc , .asm_8a73f
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
call Function89448
call Function89a23
hlcoord 1 , 13
ld de , String_89135
call PlaceString
call WaitBGMap
ld a , $ 2
call Function89254
jr c , .asm_8a6e5
.asm_8a73f
call Cl oseSRAM
.asm_8a742
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function89448
call Function891d3
call Function8b677
ret
Jumptable_8a74f: ; 8a74f (22:674f)
dw Function8a78c
dw Function8a7cb
dw Function8a818
dw Function8a8a1
Function8a757: ; 8a757 (22:6757)
call Function8939a
xor a
ld [ wd010 ], a
ld [ wd011 ], a
ld [ wd012 ], a
ret
Function8a765: ; 8a765 (22:6765)
call Function8931b
push bc
ld hl , $ 0
add hl , bc
2015-11-10 16:51:13 -08:00
ld de , wd002
2015-10-16 10:35:43 -07:00
ld c , $ 6
call Function89185
pop bc
jr nz , .asm_8a78a
push bc
ld hl , $ 11
add hl , bc
ld de , wd008
ld c , $ 8
call Function89185
pop bc
jr nz , .asm_8a78a
and a
ret
.asm_8a78a
scf
ret
Function8a78c: ; 8a78c (22:678c)
call Function891fe
2015-11-10 16:51:13 -08:00
ld de , wd002
2015-10-16 10:35:43 -07:00
ld b , $ 5
2017-12-24 09:47:30 -08:00
farcall NamingScreen
2015-10-16 10:35:43 -07:00
call OpenSRAMBank4
call Function8931b
push bc
ld hl , $ 0
add hl , bc
ld d , h
ld e , l
2015-11-10 16:51:13 -08:00
ld hl , wd002
2015-10-16 10:35:43 -07:00
call InitName
call Cl oseSRAM
call DelayFrame
2015-10-17 09:58:26 -07:00
call JoyTextDelay
2015-10-16 10:35:43 -07:00
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call OpenSRAMBank4
pop bc
call Function89844
call Cl oseSRAM
and a
ret
Function8a7cb: ; 8a7cb (22:67cb)
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
push af
call Function891de
ld de , wd008
ld c , $ 0
2017-12-24 09:47:30 -08:00
farcall Function17a68f
2015-10-16 10:35:43 -07:00
jr c , .asm_8a7f4
ld hl , wd008
ld a , $ ff
ld bc , $ 8
call Byte Fill
ld h , d
ld l , e
ld de , wd008
ld c , $ 8
call Function89193
.asm_8a7f4
pop af
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call OpenSRAMBank4
call Function8931b
call Function89844
call Function89856
call Function89a2e
call Function891ab
call Cl oseSRAM
and a
ret
Function8a818: ; 8a818 (22:6818)
call Function89a23
2015-11-10 16:51:13 -08:00
ld hl , wd002
2015-10-16 10:35:43 -07:00
call Function89331
jr c , .asm_8a875
ld hl , wd008
call Function89b45
jr nc , .asm_8a87a
call OpenSRAMBank4
call Function8a765
jr nc , .asm_8a863
call Function8931b
push bc
ld hl , $ 0
add hl , bc
ld d , h
ld e , l
2015-11-10 16:51:13 -08:00
ld hl , wd002
2015-10-16 10:35:43 -07:00
ld c , $ 6
call Function89193
pop bc
ld hl , $ 11
add hl , bc
ld d , h
ld e , l
ld hl , wd008
ld c , $ 8
call Function89193
hlcoord 1 , 13
ld de , .string_8a868
call PlaceString
call WaitBGMap
2015-10-17 09:58:26 -07:00
call JoyWaitAorB
2015-10-16 10:35:43 -07:00
.asm_8a863
call Cl oseSRAM
scf
ret
; 8a868 (22:6868)
.string_8a868
2018-01-19 18:49:16 -08:00
db "めいし<WO>かきかえ まし<TA!>@"
2015-10-16 10:35:43 -07:00
.asm_8a875
ld de , String_8a88b
jr .asm_8a87d
.asm_8a87a
ld de , String_8911c
.asm_8a87d
hlcoord 1 , 13
call PlaceString
call WaitBGMap
2015-10-17 09:58:26 -07:00
call JoyWaitAorB
2015-10-16 10:35:43 -07:00
and a
ret
; 8a88b (22:688b)
String_8a88b: ; 8a88b
2018-01-18 17:40:32 -08:00
db "おともだち<NO>なまえが"
2018-01-19 18:49:16 -08:00
next "かかれて いません!@"
2015-10-16 10:35:43 -07:00
; 8a8a1
Function8a8a1: ; 8a8a1 (22:68a1)
call OpenSRAMBank4
call Function8a765
call Cl oseSRAM
jr nc , .asm_8a8bf
call Function89a23
hlcoord 1 , 13
ld de , String_89135
call PlaceString
ld a , $ 2
call Function89254
jr c , .asm_8a8c1
.asm_8a8bf
scf
ret
.asm_8a8c1
and a
ret
Function8a8c3: ; 8a8c3 (22:68c3)
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call OpenSRAMBank4
call Function8931b
call Function89844
call Function8939a
call Function89856
call Cl oseSRAM
call Function891ab
hlcoord 1 , 13
ld de , String_8a919
call PlaceString
ld a , $ 2
call Function89254
jr c , .asm_8a90f
call OpenSRAMBank4
call Function892b4
call Cl oseSRAM
call Function89a23
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
hlcoord 1 , 13
ld de , String_8a926
call PlaceString
call WaitBGMap
2015-10-17 09:58:26 -07:00
call JoyWaitAorB
2015-10-16 10:35:43 -07:00
.asm_8a90f
call Function89448
call Function891fe
call Function8b677
ret
; 8a919 (22:6919)
String_8a919: ; 8a919
2018-01-19 18:49:16 -08:00
db "このデータ<WO>けしますか?@"
2015-10-16 10:35:43 -07:00
; 8a926
String_8a926: ; 8a926
2018-01-18 17:40:32 -08:00
db "データ<WO>けしまし<TA!>@"
2015-10-16 10:35:43 -07:00
; 8a930
Function8a930: ; 8a930 (22:6930)
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
push af
xor a
ld [ wd032 ], a
ld a , $ 1
ld [ wd033 ], a
ld a , [ wd034 ]
ld [ wd0e3 ], a
.asm_8a943
call Function8b7bd
2015-12-15 15:59:49 -08:00
ld a , [ wMenuJoypad ]
2015-10-16 10:35:43 -07:00
and $ 1
jr nz , .asm_8a953
ld a , c
and a
jr nz , .asm_8a943
pop af
ret
.asm_8a953
call OpenSRAMBank4
pop af
cp c
jr z , .asm_8a995
push bc
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
call Function8931b
push bc
ld h , b
ld l , c
2015-11-10 16:51:13 -08:00
ld de , wd002
2015-10-16 10:35:43 -07:00
ld bc , $ 25
call CopyBytes
pop de
pop bc
ld a , c
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
call Function8931b
push bc
ld h , b
ld l , c
ld bc , $ 25
call CopyBytes
pop de
2015-11-10 16:51:13 -08:00
ld hl , wd002
2015-10-16 10:35:43 -07:00
ld bc , $ 25
call CopyBytes
ld de , SFX_SWITCH_POKEMON
call WaitPlaySFX
ld de , SFX_SWITCH_POKEMON
call WaitPlaySFX
.asm_8a995
call Cl oseSRAM
ret
Function8a999: ; 8a999 (22:6999)
2018-01-23 13:08:43 -08:00
ld hl , MenuHeader_0x8a9c9
call LoadMenuHeader
2015-10-16 10:35:43 -07:00
ld c , $ 1
.asm_8a9a1
call Function8a9ce
jr c , .asm_8a9bb
push bc
push de
2018-01-23 13:08:43 -08:00
call LoadStandardMenuHeader
2015-10-16 10:35:43 -07:00
pop de
dec e
ld a , e
ld hl , Jumptable_8a9c5
rst JumpTable
call Function891fe
call Function89b28
pop bc
jr .asm_8a9a1
.asm_8a9bb
call Function89209
2015-12-24 19:58:42 -08:00
call Cl oseWindow
2015-10-16 10:35:43 -07:00
call Function8920f
ret
Jumptable_8a9c5: ; 8a9c5 (22:69c5)
dw Function8aa0a
dw Function8ab3b
; 8a9c9 (22:69c9)
2018-01-23 13:08:43 -08:00
MenuHeader_0x8a9c9: ; 0x8a9c9
2018-01-14 02:59:56 -08:00
db MENU_BACKUP_TILES ; flags
2018-01-13 13:38:14 -08:00
menu_coords 11 , 4 , 18 , TEXTBOX_Y - 1
2015-10-16 10:35:43 -07:00
; 8a9ce
Function8a9ce: ; 8a9ce (22:69ce)
push bc
decoord 11 , 4
ld b , $ 6
ld c , $ 6
call Function89b3b
pop bc
ld a , c
2018-01-23 13:08:43 -08:00
ld hl , MenuHeader_0x8a9f2
2015-10-16 10:35:43 -07:00
call Function89d5e
ld hl , Function8aa09
call Function89d85
jr c , .asm_8a9ed
ld c , a
ld e , a
and a
ret
.asm_8a9ed
ld c , a
ld e , $ 0
scf
ret
; 8a9f2 (22:69f2)
2018-01-23 13:08:43 -08:00
MenuHeader_0x8a9f2: ; 0x8a9f2
2018-01-14 02:59:56 -08:00
db MENU_BACKUP_TILES ; flags
2018-01-13 13:38:14 -08:00
menu_coords 11 , 4 , 18 , TEXTBOX_Y - 1
2018-01-23 13:08:43 -08:00
dw MenuData_0x8a9fa
2015-10-16 10:35:43 -07:00
db 1 ; default option
; 0x8a9fa
2018-01-23 13:08:43 -08:00
MenuData_0x8a9fa: ; 0x8a9fa
2018-01-14 02:59:56 -08:00
db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
2015-10-16 10:35:43 -07:00
db 3 ; items
db "へんしゅう@"
db "みる@"
db "やめる@"
; 0x8aa09
Function8aa09: ; 8aa09
ret
; 8aa0a
Function8aa0a: ; 8aa0a (22:6a0a)
ld a , $ 1
ld [ wd02f ], a
ld [ wd011 ], a
xor a
ld [ wd010 ], a
ld [ wd012 ], a
call OpenSRAMBank4
ld hl , $ a603
ld de , wd008
call Function89381
call Cl oseSRAM
call Function891fe
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call Function89807
call Function89492
call Function894ca
.asm_8aa3a
call Function8987f
call Function89a2e
call Function891ab
.asm_8aa43
call Function89b97
call Function89c67
jr c , .asm_8aa61
ld a , b
and a
jr z , .asm_8aa43
call PlayClickSFX
call Function89448
ld a , [ wd011 ]
dec a
ld hl , Jumptable_8aa6d
rst JumpTable
jr nc , .asm_8aa3a
jr .asm_8aa69
.asm_8aa61
call Function89448
call Function8ab11
jr nc , .asm_8aa3a
.asm_8aa69
call Function89448
ret
Jumptable_8aa6d: ; 8aa6d (22:6a6d)
dw Function8aa73
dw Function8aab6
dw Function8ab11
Function8aa73: ; 8aa73 (22:6a73)
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
ld e , a
push de
call Function891de
ld de , wd008
ld c , $ 0
2017-12-24 09:47:30 -08:00
farcall Function17a68f
2015-10-16 10:35:43 -07:00
jr c , .asm_8aa9d
ld hl , wd008
ld a , $ ff
ld bc , $ 8
call Byte Fill
ld h , d
ld l , e
ld de , wd008
ld c , $ 8
call Function89193
.asm_8aa9d
call Function891fe
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call Function89807
call Function89492
call Function894ca
pop de
ld a , e
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
and a
ret
Function8aab6: ; 8aab6 (22:6ab6)
call Function89a23
ld hl , wd008
call Function89b45
jr nc , Function8ab00
call OpenSRAMBank4
ld de , wd008
ld hl , $ a603
ld c , $ 8
call Function89185
jr z , .asm_8aaeb
ld hl , wd008
ld de , $ a603
ld c , $ 8
call Function89193
hlcoord 1 , 13
ld de , String_8aaf0
call PlaceString
call WaitBGMap
2015-10-17 09:58:26 -07:00
call JoyWaitAorB
2015-10-16 10:35:43 -07:00
.asm_8aaeb
call Cl oseSRAM
scf
ret
; 8aaf0 (22:6af0)
String_8aaf0: ; 8aaf0
2018-01-19 18:49:16 -08:00
db "あたらしい めいし<PKMN>できまし<LNBRK>@"
2015-10-16 10:35:43 -07:00
; 8ab00
Function8ab00: ; 8ab00
ld de , String_8911c
hlcoord 1 , 13
call PlaceString
call WaitBGMap
2016-05-11 14:16:03 -07:00
call Mobile22_ButtonSound
2015-10-16 10:35:43 -07:00
and a
ret
Function8ab11: ; 8ab11 (22:6b11)
call OpenSRAMBank4
ld hl , $ a603
ld de , wd008
ld c , $ 8
call Function89185
call Cl oseSRAM
jr z , .asm_8ab37
call Function89a23
hlcoord 1 , 13
ld de , String_89135
call PlaceString
ld a , $ 2
call Function89254
jr c , .asm_8ab39
.asm_8ab37
scf
ret
.asm_8ab39
and a
ret
Function8ab3b: ; 8ab3b (22:6b3b)
2016-05-10 09:31:49 -07:00
.pressed_start
2015-10-16 10:35:43 -07:00
call Function891fe
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call Function89807
call Function89492
call Function894ca
call OpenSRAMBank4
ld hl , $ a603
ld de , wd008
call Function89381
call Cl oseSRAM
call Function8987f
call OpenSRAMBank4
hlcoord 1 , 13
ld bc , $ a007
call Function89a0c
call Cl oseSRAM
call Function891ab
2016-05-10 09:31:49 -07:00
call .JoypadLoop
jr c , .pressed_start
ret
.JoypadLoop: ; 8ab77 (22:6b77)
call JoyTextDelay_ForcehJoyDown
bit A_BUTTON_F , c
jr nz , .a_b_button
bit B_BUTTON_F , c
jr nz , .a_b_button
bit START_F , c
jr z , .JoypadLoop
2015-10-16 10:35:43 -07:00
call PlayClickSFX
call Function89d0d
scf
ret
2016-05-10 09:31:49 -07:00
.a_b_button
2015-10-16 10:35:43 -07:00
call PlayClickSFX
and a
ret
Function8ab93: ; 8ab93 (22:6b93)
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2018-01-23 13:08:43 -08:00
call LoadStandardMenuHeader
2017-12-24 09:47:30 -08:00
farcall Function105688
2015-10-16 10:35:43 -07:00
call Cl earSprites
call Function891fe
call Function89b28
ret
; 8aba9 (22:6ba9)
Function8aba9: ; 8aba9
ld a , $ 2
call Function8b94a
ld a , $ 1
ld [ wd032 ], a
.asm_8abb3
call Function891fe
call Function8b677
.asm_8abb9
call Function8b7bd
jr z , .asm_8abdf
ld a , c
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
call OpenSRAMBank4
call Function8931b
ld hl , $ 0011
add hl , bc
call Function89b45
call Cl oseSRAM
jr c , .asm_8abe2
ld de , SFX_WRONG
call WaitPlaySFX
call Cl oseSRAM
jr .asm_8abb9
.asm_8abdf
xor a
ld c , a
ret
.asm_8abe2
call PlayClickSFX
.asm_8abe5
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call OpenSRAMBank4
call Function8931b
call Function89844
call Cl oseSRAM
call OpenSRAMBank4
call Function8939a
call Function89856
hlcoord 1 , 13
call Function899fe
call Cl oseSRAM
call Function891ab
.asm_8ac0f
call Function89a57
jr c , .asm_8ac0f
and a
jr z , .asm_8abe5
cp $ 2
jr z , .asm_8ac0f
hlcoord 0 , 12
ld b , $ 4
ld c , $ 12
call TextBox
hlcoord 1 , 14
ld de , String_8ac3b
call PlaceString
ld a , $ 1
call Function8925e
jp c , .asm_8abb3
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
ld c , a
ret
; 8ac3b
String_8ac3b: ; 8ac3b
2018-01-18 17:40:32 -08:00
db "こ<NO>ともだち<NI>でんわを"
2018-01-19 18:49:16 -08:00
next "かけますか?@"
2015-10-16 10:35:43 -07:00
; 8ac4e
Function8ac4e: ; 8ac4e
xor a
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
push de
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
pop bc
call Function89844
call Function8939a
call Function89856
hlcoord 1 , 13
call Function899fe
call Function891ab
ret
; 8ac70
Function8ac70: ; 8ac70
push de
ld a , $ 3
call Function8b94a
Function8ac76: ; 8ac76
call Function891fe
call Function8b677
Function8ac7c: ; 8ac7c
call Function8b7bd
jr z , .asm_8acf0
ld a , c
ld [ wd02f ], a
2018-01-23 14:39:09 -08:00
ld [ wMenuSelection ], a
2015-10-16 10:35:43 -07:00
call OpenSRAMBank4
call Function8931b
call Function8932d
call Cl oseSRAM
jr nc , .asm_8acb0
call OpenSRAMBank4
ld hl , $ 0011
add hl , bc
call Function89b45
call Cl oseSRAM
jr nc , .asm_8accc
call OpenSRAMBank4
call Function892b7
call Cl oseSRAM
jr .asm_8accc
.asm_8acb0
call Function8ad0b
jr c , Function8ac76
and a
jr nz , .asm_8accc
call OpenSRAMBank4
ld h , b
ld l , c
ld d , $ 0
ld e , $ 6
add hl , de
ld d , h
ld e , l
pop hl
ld c , $ 1 f
call Function89193
jr .asm_8ace4
.asm_8accc
pop hl
call OpenSRAMBank4
ld d , b
ld e , c
ld c , $ 6
call Function89193
ld a , $ 6
add e
ld e , a
ld a , $ 0
adc d
ld d , a
ld c , $ 1 f
call Function89193
.asm_8ace4
call Cl oseSRAM
2015-11-04 13:14:27 -08:00
call LoadStandardFont
2015-10-16 10:35:43 -07:00
ld a , [ wd02f ]
ld c , a
and a
ret
.asm_8acf0
ld hl , UnknownText_0x8ad06
call PrintText
ld a , $ 2
call Function89259
jp c , Function8ac7c
2015-11-04 13:14:27 -08:00
call LoadStandardFont
2015-10-16 10:35:43 -07:00
pop de
ld c , $ 0
scf
ret
; 8ad06
UnknownText_0x8ad06: ; 0x8ad06
; Finish registering CARDS?
text_jump UnknownText_0x1c554a
db "@"
; 0x8ad0b
Function8ad0b: ; 8ad0b
.asm_8ad0b
2018-01-23 14:39:09 -08:00
ld a , [ wMenuSelection ]
2015-10-16 10:35:43 -07:00
ld [ wd02f ], a
call Function891de
2015-11-11 20:38:57 -08:00
call Cl earBGPalettes
2015-10-16 10:35:43 -07:00
call Function893cc
call OpenSRAMBank4
call Function8931b
push bc
call Function89844
call Function8939a
call Function89856
hlcoord 1 , 13
call Function899fe
call Cl oseSRAM
call Function891ab
pop bc
.asm_8ad37
push bc
call Function89a57
pop bc
jr c , .asm_8ad37
and a
jr z , .asm_8ad0b
cp $ 2
jr z , .asm_8ad37
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
push bc
hlcoord 0 , 12
ld b , $ 4
ld c , $ 12
call TextBox
ld de , String_8ad89
hlcoord 1 , 14
call PlaceString
ld a , $ 2
call Function8925e
jr c , .asm_8ad87
2016-05-11 14:16:03 -07:00
call Mobile22_SetBGMapMode0
2015-10-16 10:35:43 -07:00
hlcoord 0 , 12
ld b , $ 4
ld c , $ 12
call TextBox
ld de , String_8ad9c
hlcoord 1 , 14
call PlaceString
ld a , $ 1
call Function8925e
jr c , .asm_8ad84
ld a , $ 0
jr .asm_8ad86
.asm_8ad84
ld a , $ 1
.asm_8ad86
and a
.asm_8ad87
pop bc
ret
; 8ad89
String_8ad89: ; 8ad89
2018-01-18 17:40:32 -08:00
db "こ<NO>めいし<WO>けして"
2018-01-19 18:49:16 -08:00
next "いれかえますか?@"
2015-10-16 10:35:43 -07:00
; 8ad9c
String_8ad9c: ; 8ad9c
2018-01-18 17:40:32 -08:00
db "おともだち<NO>なまえを"
2018-01-19 18:49:16 -08:00
next "のこして おきますか?@"
2015-10-16 10:35:43 -07:00
; 8adb3
Function8adb3: ; 8adb3
call Function891de
call Function8a262
push af
call Function891de
pop af
ret
; 8adbf
Function8adbf: ; 8adbf
call OpenSRAMBank4
ld hl , $ a603
call Function89b45
call Cl oseSRAM
ret
; 8adcc
Function8adcc: ; 8adcc
call OpenSRAMBank4
call Function8b3b0
call Cl oseSRAM
ret nc
cp $ 2
ret z
scf
ret
; 8addb