mirror of
https://github.com/pret/pokecrystal.git
synced 2024-11-23 21:39:53 +00:00
4443 lines
63 KiB
NASM
4443 lines
63 KiB
NASM
String_89116:
|
|
db "-----@"
|
|
|
|
String_8911c: ; 8911c
|
|
db "でんわばんごうが ただしく" ; Phone number is not
|
|
next "はいって いません!@" ; entered correctly!
|
|
; 89135
|
|
|
|
String_89135: ; 89135
|
|
db "データが かわって いますが" ; The data has changed.
|
|
next "かきかえないで やめますか?@" ; Quit anyway?
|
|
; 89153
|
|
|
|
String_89153: ; 89153
|
|
db "メッセージは ありません@" ; No message
|
|
; 89160
|
|
|
|
OpenSRAMBank4: ; 89160
|
|
push af
|
|
ld a, $4
|
|
call GetSRAMBank
|
|
pop af
|
|
ret
|
|
; 89168
|
|
|
|
|
|
Function89168: ; 89168 (22:5168)
|
|
ld hl, wGameTimerPause
|
|
set 7, [hl]
|
|
ret
|
|
|
|
Function8916e: ; 8916e (22:516e)
|
|
ld hl, wGameTimerPause
|
|
res 7, [hl]
|
|
ret
|
|
|
|
Function89174: ; 89174 (22:5174)
|
|
ld hl, wGameTimerPause
|
|
bit 7, [hl]
|
|
ret
|
|
|
|
Function8917a: ; 8917a (22:517a)
|
|
ld hl, wd002
|
|
ld bc, $32
|
|
xor a
|
|
call ByteFill
|
|
ret
|
|
|
|
Function89185: ; 89185 (22:5185)
|
|
; strcmp(hl, de, c)
|
|
; Compares c bytes starting at de and hl and incrementing together until a mismatch is found.
|
|
; Preserves hl and de.
|
|
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
|
|
; copy(hl, de, 4)
|
|
; Copies c bytes from hl to de.
|
|
; Preserves hl and de.
|
|
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
|
|
call Mobile22_SetBGMapMode1
|
|
farcall ReloadMapPart
|
|
call Mobile22_SetBGMapMode0
|
|
ret
|
|
; 891b8
|
|
|
|
Function891b8: ; 891b8
|
|
call Mobile22_SetBGMapMode0
|
|
hlcoord 0, 0
|
|
ld a, " "
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
call ByteFill
|
|
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
|
|
call Mobile22_SetBGMapMode0
|
|
call ClearPalettes
|
|
hlcoord 0, 0, wAttrMap
|
|
ld a, $7
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
call ByteFill
|
|
hlcoord 0, 0
|
|
ld a, " "
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
call ByteFill
|
|
call Function891ab
|
|
ret
|
|
; 891fe
|
|
|
|
Function891fe: ; 891fe
|
|
push bc
|
|
call Function891de
|
|
ld c, $10
|
|
call DelayFrames
|
|
pop bc
|
|
ret
|
|
; 89209
|
|
|
|
Function89209: ; 89209
|
|
ld a, 1
|
|
ld [wSpriteUpdatesEnabled], a
|
|
ret
|
|
; 8920f
|
|
|
|
Function8920f: ; 8920f
|
|
ld a, 0
|
|
ld [wSpriteUpdatesEnabled], a
|
|
ret
|
|
; 89215
|
|
|
|
Function89215: ; 89215
|
|
push hl
|
|
push bc
|
|
ld bc, wAttrMap - wTileMap
|
|
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, $7f
|
|
.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
|
|
|
|
Mobile22_ButtonSound: ; 89235 (22:5235)
|
|
call JoyWaitAorB
|
|
call PlayClickSFX
|
|
ret
|
|
|
|
Mobile22_SetBGMapMode0: ; 8923c
|
|
xor a
|
|
ld [hBGMapMode], a
|
|
ret
|
|
; 89240
|
|
|
|
Mobile22_SetBGMapMode1: ; 89240
|
|
ld a, $1
|
|
ld [hBGMapMode], a
|
|
ret
|
|
; 89245
|
|
|
|
|
|
Function89245: ; 89245 (22:5245)
|
|
farcall TryLoadSaveFile
|
|
ret c
|
|
farcall _LoadData
|
|
and a
|
|
ret
|
|
|
|
Function89254: ; 89254 (22:5254)
|
|
ld bc, $d07
|
|
jr Function89261
|
|
|
|
Function89259: ; 89259
|
|
ld bc, $0e07
|
|
jr Function89261
|
|
|
|
Function8925e: ; 8925e
|
|
ld bc, $0e0c
|
|
|
|
Function89261: ; 89261
|
|
push af
|
|
push bc
|
|
ld hl, MenuDataHeader_0x892a3
|
|
call CopyMenuDataHeader
|
|
pop bc
|
|
ld hl, wMenuBorderTopCoord
|
|
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
|
|
ld [wMenuCursorBuffer], a
|
|
call PushWindow
|
|
call Mobile22_SetBGMapMode0
|
|
call Function89209
|
|
call VerticalMenu
|
|
push af
|
|
ld c, $a
|
|
call DelayFrames
|
|
call CloseWindow
|
|
call Function8920f
|
|
pop af
|
|
jr c, .done
|
|
ld a, [wMenuCursorY]
|
|
cp $2
|
|
jr z, .done
|
|
and a
|
|
ret
|
|
|
|
.done
|
|
scf
|
|
ret
|
|
; 892a3
|
|
|
|
MenuDataHeader_0x892a3: ; 0x892a3
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 10, 5, 15, 9
|
|
dw MenuData2_0x892ab
|
|
db 1 ; default option
|
|
; 0x892ab
|
|
|
|
MenuData2_0x892ab: ; 0x892ab
|
|
db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
|
|
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 ByteFill
|
|
ld b, d
|
|
ld c, e
|
|
ld hl, 6
|
|
add hl, bc
|
|
ld a, "@"
|
|
ld bc, 6
|
|
call ByteFill
|
|
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 ByteFill
|
|
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
|
|
ld [wMenuSelection], a
|
|
ld c, 40
|
|
.loop
|
|
ld a, [wMenuSelection]
|
|
inc a
|
|
ld [wMenuSelection], a
|
|
push bc
|
|
call Function892b4
|
|
pop bc
|
|
dec c
|
|
jr nz, .loop
|
|
ret
|
|
|
|
Function8931b: ; 8931b
|
|
push hl
|
|
ld hl, $a03b ; 4:a03b
|
|
ld a, [wMenuSelection]
|
|
dec a
|
|
ld bc, 37
|
|
call AddNTimes
|
|
ld b, h
|
|
ld c, l
|
|
pop hl
|
|
ret
|
|
; 8932d
|
|
|
|
Function8932d: ; 8932d
|
|
ld hl, 0
|
|
add hl, bc
|
|
|
|
Function89331: ; 89331
|
|
; 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
|
|
ld c, NAME_LENGTH_JAPANESE - 1
|
|
.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
|
|
ld hl, NAME_LENGTH_JAPANESE
|
|
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
|
|
ld c, NAME_LENGTH_JAPANESE - 1
|
|
.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
|
|
ld e, NAME_LENGTH_JAPANESE
|
|
.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 ByteFill
|
|
pop hl
|
|
|
|
.ok
|
|
pop de
|
|
ld c, 8
|
|
call Function89193
|
|
pop bc
|
|
ret
|
|
; 8939a
|
|
|
|
Function8939a: ; 8939a
|
|
push bc
|
|
ld hl, 0
|
|
add hl, bc
|
|
ld de, wd002
|
|
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 DisableLCD
|
|
call ClearSprites
|
|
call LoadStandardFont
|
|
call LoadFontsExtra
|
|
call Function893ef
|
|
call Function8942b
|
|
call Function89455
|
|
call EnableLCD
|
|
ret
|
|
|
|
Function893cc: ; 893cc
|
|
call DisableLCD
|
|
call ClearSprites
|
|
call LoadStandardFont
|
|
call LoadFontsExtra
|
|
call Function893ef
|
|
call Function89464
|
|
call EnableLCD
|
|
ret
|
|
; 893e2
|
|
|
|
|
|
Function893e2: ; 893e2 (22:53e2)
|
|
call Function89b1e
|
|
call Function893b3
|
|
call Function8a5b6
|
|
call Function8949c
|
|
ret
|
|
|
|
Function893ef: ; 893ef
|
|
ld de, vTiles0
|
|
ld hl, GFX_8940b
|
|
ld bc, $20
|
|
ld a, BANK(GFX_8940b)
|
|
call FarCopyBytes
|
|
ret
|
|
; 893fe
|
|
|
|
Function893fe: ; 893fe
|
|
call DisableLCD
|
|
call Function893ef
|
|
call EnableLCD
|
|
call DelayFrame
|
|
ret
|
|
; 8940b
|
|
|
|
GFX_8940b: ; 8940b
|
|
INCBIN "gfx/unknown/08940b.2bpp"
|
|
; 8942b
|
|
|
|
Function8942b: ; 8942b (22:542b)
|
|
ld de, vTiles0 tile $02
|
|
ld hl, MobileAdapterGFX + $7d tiles
|
|
ld bc, 8 tiles
|
|
ld a, BANK(MobileAdapterGFX)
|
|
call FarCopyBytes
|
|
ld de, vTiles0 tile $0a
|
|
ld hl, MobileAdapterGFX + $c6 tiles
|
|
ld bc, 4 tiles
|
|
ld a, BANK(MobileAdapterGFX)
|
|
call FarCopyBytes
|
|
ret
|
|
|
|
Function89448: ; 89448 (22:5448)
|
|
; Clears the sprite array
|
|
push af
|
|
ld hl, wVirtualOAM
|
|
ld d, 24 * SPRITEOAMSTRUCT_LENGTH
|
|
xor a
|
|
.loop
|
|
ld [hli], a
|
|
dec d
|
|
jr nz, .loop
|
|
pop af
|
|
ret
|
|
|
|
Function89455: ; 89455 (22:5455)
|
|
ld hl, MobileAdapterGFX + $7d tiles
|
|
ld de, vTiles2 tile $0c
|
|
ld bc, $49 tiles
|
|
ld a, BANK(MobileAdapterGFX)
|
|
call FarCopyBytes
|
|
ret
|
|
|
|
Function89464: ; 89464
|
|
ld hl, MobileAdapterGFX
|
|
ld de, vTiles2
|
|
ld bc, $20 tiles
|
|
ld a, BANK(MobileAdapterGFX)
|
|
call FarCopyBytes
|
|
ld hl, MobileAdapterGFX + $66 tiles
|
|
ld de, vTiles2 tile $20
|
|
ld bc, $17 tiles
|
|
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
|
|
ld a, [wPlayerGender]
|
|
bit 0, a
|
|
ret z
|
|
inc d
|
|
ret
|
|
|
|
Function8949c: ; 8949c
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, 5
|
|
ld [rSVBK], a
|
|
ld hl, Palette_894b3
|
|
ld de, wBGPals1 palette 7
|
|
ld bc, 1 palettes
|
|
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
|
|
call SetPalettes
|
|
pop bc
|
|
ret
|
|
|
|
Function894dc: ; 894dc
|
|
push bc
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, 5
|
|
ld [rSVBK], a
|
|
|
|
ld c, d
|
|
ld b, 0
|
|
ld hl, .PalettePointers
|
|
add hl, bc
|
|
add hl, bc
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ld de, wBGPals1
|
|
ld bc, 3 palettes
|
|
call CopyBytes
|
|
ld hl, .Pals345
|
|
ld de, wBGPals1 + 3 palettes
|
|
ld bc, 3 palettes
|
|
call CopyBytes
|
|
|
|
pop af
|
|
ld [rSVBK], a
|
|
pop bc
|
|
ret
|
|
; 89509
|
|
|
|
.PalettePointers: ; 89509
|
|
dw .Pals012a
|
|
dw .Pals012b
|
|
dw .Pals012c
|
|
; 8950f
|
|
|
|
.Pals012a: ; 8950f
|
|
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
|
|
|
|
.Pals012b: ; 89527
|
|
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
|
|
|
|
.Pals012c: ; 8953f
|
|
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
|
|
|
|
.Pals345: ; 89557
|
|
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, $000c
|
|
add hl, bc
|
|
ld b, h
|
|
ld c, l
|
|
farcall GetMobileOTTrainerClass
|
|
ld a, c
|
|
ld [wTrainerClass], a
|
|
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
|
|
ld a, [wTrainerClass]
|
|
ld h, 0
|
|
ld l, a
|
|
add hl, hl
|
|
add hl, hl
|
|
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)
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, 5
|
|
ld [rSVBK], a
|
|
ld hl, Palette_895de
|
|
ld de, wd030
|
|
ld bc, 8
|
|
call CopyBytes
|
|
pop af
|
|
ld [rSVBK], a
|
|
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
|
|
hlcoord 0, 0, wAttrMap
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
call ByteFill
|
|
ret
|
|
; 895f2
|
|
|
|
Function895f2: ; 895f2
|
|
push bc
|
|
xor a
|
|
hlcoord 0, 0, wAttrMap
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
call ByteFill
|
|
call Function89605
|
|
call Function89655
|
|
pop bc
|
|
ret
|
|
; 89605
|
|
|
|
Function89605: ; 89605
|
|
hlcoord 19, 2, wAttrMap
|
|
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
|
|
hlcoord 0, 16, wAttrMap
|
|
ld c, 10
|
|
ld a, 2
|
|
.loop2
|
|
ld [hli], a
|
|
dec a
|
|
ld [hli], a
|
|
inc a
|
|
dec c
|
|
jr nz, .loop2
|
|
hlcoord 1, 11, wAttrMap
|
|
ld a, 4
|
|
ld bc, 4
|
|
call ByteFill
|
|
ld a, 5
|
|
ld bc, 14
|
|
call ByteFill
|
|
ret
|
|
; 8963d
|
|
|
|
Function8963d: ; 8963d
|
|
hlcoord 12, 3, wAttrMap
|
|
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
|
|
hlcoord 1, 12, wAttrMap
|
|
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
|
|
inc hl
|
|
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
|
|
inc c
|
|
.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, $2c
|
|
ld [hli], a
|
|
ld a, $2d
|
|
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
|
|
inc hl
|
|
ld e, c
|
|
ld d, $0
|
|
add hl, de
|
|
ld a, $2f
|
|
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, $1f
|
|
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, $1d
|
|
ld [hli], a
|
|
inc a
|
|
ld [hli], a
|
|
ld a, $d
|
|
ld [hl], a
|
|
dec hl
|
|
dec hl
|
|
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, $000c
|
|
add hl, bc
|
|
ld b, h
|
|
ld c, l
|
|
farcall GetMobileOTTrainerClass
|
|
ld a, c
|
|
ld [wTrainerClass], a
|
|
xor a
|
|
ld [wCurPartySpecies], a
|
|
ld de, vTiles2 tile $37
|
|
farcall GetTrainerPic
|
|
pop bc
|
|
ret
|
|
; 897d5
|
|
|
|
Function897d5: ; 897d5
|
|
push bc
|
|
call Function8934a
|
|
jr nc, .asm_897f3
|
|
hlcoord 12, 3, wAttrMap
|
|
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
|
|
ld [hGraphicStartTile], a
|
|
hlcoord 12, 3
|
|
lb bc, 7, 7
|
|
predef PlaceGraphic
|
|
call Function8963d
|
|
pop bc
|
|
ret
|
|
; 89807
|
|
|
|
|
|
Function89807: ; 89807 (22:5807)
|
|
ld hl, MobileAdapterGFX + $20 tiles
|
|
ld a, [wPlayerGender]
|
|
bit 0, a
|
|
jr z, .asm_89814
|
|
ld hl, MobileAdapterGFX + $43 tiles
|
|
.asm_89814
|
|
call DisableLCD
|
|
ld de, vTiles2 tile $37
|
|
ld bc, $23 tiles
|
|
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
|
|
call WaitBGMap2
|
|
call SetPalettes
|
|
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
|
|
ld a, [wMenuSelection]
|
|
and a
|
|
ret z
|
|
push bc
|
|
hlcoord 6, 1
|
|
ld de, wMenuSelection
|
|
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
|
|
call PrintNum
|
|
pop bc
|
|
ret
|
|
; 898be
|
|
|
|
Function898be: ; 898be
|
|
push bc
|
|
ld de, wd002
|
|
ld hl, wd002
|
|
call Function89331
|
|
jr nc, .asm_898cd
|
|
ld de, String_89116
|
|
|
|
.asm_898cd
|
|
hlcoord 9, 1
|
|
ld a, [wMenuSelection]
|
|
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, $000c
|
|
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, $2b
|
|
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, $2a
|
|
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, $7f
|
|
|
|
.asm_89999
|
|
ld [hl], a
|
|
pop bc
|
|
ret
|
|
; 8999c
|
|
|
|
|
|
Function8999c: ; 8999c (22:599c)
|
|
ld de, wPlayerName
|
|
call PlaceString
|
|
inc bc
|
|
ld h, b
|
|
ld l, c
|
|
ld de, String_899ac
|
|
call PlaceString
|
|
ret
|
|
; 899ac (22:59ac)
|
|
|
|
String_899ac: ; 899ac
|
|
db "の めいし@"
|
|
; 899b2
|
|
|
|
Function899b2: ; 899b2 (22:59b2)
|
|
ld bc, wPlayerName
|
|
call Function89346
|
|
jr c, .asm_899bf
|
|
ld de, wPlayerName
|
|
jr .asm_899c2
|
|
.asm_899bf
|
|
ld de, String_89116
|
|
.asm_899c2
|
|
hlcoord 6, 4
|
|
call PlaceString
|
|
ret
|
|
|
|
Function899c9: ; 899c9 (22:59c9)
|
|
ld de, wPlayerID
|
|
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
|
|
farcall Function11c08f
|
|
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
|
|
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
|
|
scf
|
|
ret
|
|
|
|
.a_b_button
|
|
ld a, $1
|
|
and a
|
|
ret
|
|
|
|
.start_button
|
|
ld a, $2
|
|
and a
|
|
ret
|
|
|
|
.d_up
|
|
call .MoveCursorUp
|
|
call nc, .PlayPocketSwitchSFX
|
|
ld a, $0
|
|
ret
|
|
|
|
.d_down
|
|
call .MoveCursorDown
|
|
call nc, .PlayPocketSwitchSFX
|
|
ld a, $0
|
|
ret
|
|
; 89a8a
|
|
|
|
.PlayPocketSwitchSFX: ; 89a8a
|
|
push af
|
|
ld de, SFX_SWITCH_POCKETS
|
|
call PlaySFX
|
|
pop af
|
|
ret
|
|
; 89a93
|
|
|
|
.MoveCursorDown: ; 89a93
|
|
ld d, 40
|
|
ld e, 1
|
|
call .ApplyCursorMovement
|
|
ret
|
|
; 89a9b
|
|
|
|
.MoveCursorUp: ; 89a9b
|
|
ld d, 1
|
|
ld e, -1
|
|
call .ApplyCursorMovement
|
|
ret
|
|
; 89aa3
|
|
|
|
.ApplyCursorMovement: ; 89aa3
|
|
ld a, [wMenuSelection]
|
|
ld c, a
|
|
push bc
|
|
.loop
|
|
ld a, [wMenuSelection]
|
|
cp d
|
|
jr z, .equal_to_d
|
|
add e
|
|
jr nz, .not_zero
|
|
inc a
|
|
|
|
.not_zero
|
|
ld [wMenuSelection], a
|
|
call .Function89ac7 ; BCD conversion of data in SRAM?
|
|
jr nc, .loop
|
|
call .Function89ae6 ; split [wMenuSelection] into [wd030] + [wd031] where [wd030] <= 5
|
|
pop bc
|
|
and a
|
|
ret
|
|
|
|
.equal_to_d
|
|
pop bc
|
|
ld a, c
|
|
ld [wMenuSelection], a
|
|
scf
|
|
ret
|
|
; 89ac7
|
|
|
|
.Function89ac7: ; 89ac7
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
call .Function89ad4
|
|
call CloseSRAM
|
|
ret
|
|
; 89ad4
|
|
|
|
.Function89ad4: ; 89ad4
|
|
push de
|
|
call Function8932d ; find a non-space character within 5 bytes of bc
|
|
jr c, .no_nonspace_character
|
|
ld hl, 17
|
|
add hl, bc
|
|
call Function89b45
|
|
jr c, .finish_decode
|
|
|
|
.no_nonspace_character
|
|
and a
|
|
|
|
.finish_decode
|
|
pop de
|
|
ret
|
|
; 89ae6
|
|
|
|
.Function89ae6: ; 89ae6
|
|
ld hl, wd031
|
|
xor a
|
|
ld [hl], a
|
|
ld a, [wMenuSelection]
|
|
.loop2
|
|
cp 6
|
|
jr c, .load_and_ret
|
|
sub 5
|
|
ld c, a
|
|
ld a, [hl]
|
|
add 5
|
|
ld [hl], a
|
|
ld a, c
|
|
jr .loop2
|
|
|
|
.load_and_ret
|
|
ld [wd030], a
|
|
ret
|
|
; 89b00
|
|
|
|
|
|
Function89b00: ; 89b00 (22:5b00)
|
|
farcall MG_Mobile_Layout_LoadPals
|
|
ret
|
|
; 89b07 (22:5b07)
|
|
|
|
Function89b07: ; 89b07
|
|
call Mobile22_SetBGMapMode0
|
|
call DelayFrame
|
|
farcall Function4a3a7
|
|
ret
|
|
; 89b14
|
|
|
|
Function89b14: ; 89b14
|
|
call ClearBGPalettes
|
|
call Function89b07
|
|
call Function89b00
|
|
ret
|
|
; 89b1e
|
|
|
|
Function89b1e: ; 89b1e (22:5b1e)
|
|
farcall Function4a485
|
|
call Function89b00
|
|
ret
|
|
|
|
Function89b28: ; 89b28 (22:5b28)
|
|
call Function891de
|
|
call ClearBGPalettes
|
|
call Function893e2
|
|
call Call_ExitMenu
|
|
call Function891ab
|
|
call SetPalettes
|
|
ret
|
|
|
|
Function89b3b: ; 89b3b (22:5b3b)
|
|
call Mobile22_SetBGMapMode0
|
|
farcall Function48cda
|
|
ret
|
|
|
|
Function89b45: ; 89b45
|
|
; some sort of decoder?
|
|
; BCD?
|
|
push hl
|
|
push bc
|
|
ld c, $10
|
|
ld e, $0
|
|
.loop
|
|
ld a, [hli]
|
|
ld b, a
|
|
and $f
|
|
cp 10
|
|
jr c, .low_nybble_less_than_10
|
|
ld a, c
|
|
cp $b
|
|
jr nc, .clear_carry
|
|
jr .set_carry
|
|
|
|
.low_nybble_less_than_10
|
|
dec c
|
|
swap b
|
|
inc e
|
|
ld a, b
|
|
and $f
|
|
cp 10
|
|
jr c, .high_nybble_less_than_10
|
|
ld a, c
|
|
cp $b
|
|
jr nc, .clear_carry
|
|
jr .set_carry
|
|
|
|
.high_nybble_less_than_10
|
|
inc e
|
|
dec c
|
|
jr nz, .loop
|
|
dec e
|
|
|
|
.set_carry
|
|
scf
|
|
jr .finish
|
|
|
|
.clear_carry
|
|
and a
|
|
|
|
.finish
|
|
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, $7f
|
|
ld [hl], a
|
|
.asm_89b8c
|
|
ld a, [wd010]
|
|
inc a
|
|
and $1f
|
|
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
|
|
inc hl
|
|
dec a
|
|
jr nz, .asm_89ba9
|
|
.asm_89bae
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ld de, wVirtualOAMSprite00
|
|
.asm_89bb4
|
|
ld a, [hli]
|
|
cp $ff
|
|
ret z
|
|
ld c, a
|
|
ld b, $0
|
|
.asm_89bbb
|
|
push hl
|
|
ld a, [hli]
|
|
ld [de], a ; y
|
|
inc de
|
|
ld a, [hli]
|
|
add b
|
|
ld [de], a ; x
|
|
inc de
|
|
ld a, $08
|
|
add b
|
|
ld b, a
|
|
ld a, [hli] ; tile id
|
|
ld [de], a
|
|
inc de
|
|
ld a, [hli] ; attributes
|
|
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
|
|
db $01, $12, $4e, $01, 0
|
|
db $01, $19, $4e, $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
|
|
|
|
Unknown_89bf5: ; 89bf5
|
|
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
|
|
|
|
Unknown_89c0a: ; 89c0a
|
|
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
|
|
|
|
Unknown_89c1f: ; 89c1f
|
|
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
|
|
; 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
|
|
ld hl, wVirtualOAMSprite00
|
|
push de
|
|
ld a, b
|
|
ld [hli], a ; y
|
|
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
|
|
ld [hli], a ; x
|
|
ld a, d
|
|
ld [hli], a ; tile id
|
|
xor a
|
|
ld [hli], a ; attributes
|
|
ret
|
|
|
|
Function89c67: ; 89c67 (22:5c67)
|
|
; menu scrolling?
|
|
call JoyTextDelay_ForcehJoyDown ; joypad
|
|
ld b, $0
|
|
bit A_BUTTON_F, c
|
|
jr z, .not_a_button
|
|
ld b, $1
|
|
and a
|
|
ret
|
|
|
|
.not_a_button
|
|
bit B_BUTTON_F, c
|
|
jr z, .not_b_button
|
|
scf
|
|
ret
|
|
|
|
.not_b_button
|
|
xor a
|
|
bit D_UP_F, c
|
|
jr z, .not_d_up
|
|
ld a, $1
|
|
.not_d_up
|
|
bit D_DOWN_F, c
|
|
jr z, .not_d_down
|
|
ld a, $2
|
|
.not_d_down
|
|
bit D_LEFT_F, c
|
|
jr z, .not_d_left
|
|
ld a, $3
|
|
.not_d_left
|
|
bit D_RIGHT_F, c
|
|
jr z, .not_d_right
|
|
ld a, $4
|
|
.not_d_right
|
|
and a
|
|
ret z ; no dpad pressed
|
|
dec a
|
|
ld c, a
|
|
ld d, $0
|
|
ld hl, .ScrollData0
|
|
ld a, [wd02f]
|
|
and a
|
|
jr z, .got_data
|
|
ld hl, .ScrollData1
|
|
.got_data
|
|
ld a, [wd011]
|
|
and a
|
|
jr z, .got_row
|
|
ld e, $4
|
|
.add_n_times
|
|
add hl, de
|
|
dec a
|
|
jr nz, .add_n_times
|
|
.got_row
|
|
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)
|
|
|
|
.ScrollData0: ; 89cbf
|
|
db 0, 2, 0, 0
|
|
db 1, 3, 0, 0
|
|
db 2, 4, 0, 0
|
|
db 3, 0, 0, 0
|
|
|
|
.ScrollData1: ; 89ccf
|
|
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
|
|
ld hl, wVirtualOAMSprite00
|
|
.asm_89cee
|
|
push af
|
|
push bc
|
|
ld d, $4
|
|
.asm_89cf2
|
|
ld a, b
|
|
ld [hli], a ; y
|
|
ld a, c
|
|
ld [hli], a ; x
|
|
ld a, e
|
|
ld [hli], a ; tile id
|
|
ld a, $1
|
|
ld [hli], a ; attributes
|
|
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)
|
|
call Mobile22_SetBGMapMode0
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, $5
|
|
ld [rSVBK], a
|
|
|
|
ld c, 8
|
|
ld de, wBGPals1
|
|
.loop
|
|
push bc
|
|
ld hl, .Palette1
|
|
ld bc, 1 palettes
|
|
call CopyBytes
|
|
pop bc
|
|
dec c
|
|
jr nz, .loop
|
|
|
|
ld hl, .Palette2
|
|
ld de, wBGPals1 + 2 palettes
|
|
ld bc, 1 palettes
|
|
call CopyBytes
|
|
|
|
pop af
|
|
ld [rSVBK], a
|
|
|
|
call SetPalettes
|
|
farcall PrintMail_
|
|
call Mobile22_SetBGMapMode1
|
|
ld c, 24
|
|
call DelayFrames
|
|
call RestartMapMusic
|
|
ret
|
|
; 89d4e (22:5d4e)
|
|
|
|
.Palette1: ; 89d4e
|
|
RGB 31, 31, 31
|
|
RGB 19, 19, 19
|
|
RGB 15, 15, 15
|
|
RGB 00, 00, 00
|
|
; 89d56
|
|
|
|
.Palette2: ; 89d56
|
|
RGB 31, 31, 31
|
|
RGB 19, 19, 19
|
|
RGB 19, 19, 19
|
|
RGB 00, 00, 00
|
|
; 89d5e
|
|
|
|
Function89d5e: ; 89d5e (22:5d5e)
|
|
push af
|
|
call CopyMenuDataHeader
|
|
pop af
|
|
ld [wMenuCursorBuffer], a
|
|
call Mobile22_SetBGMapMode0
|
|
call PlaceVerticalMenuItems
|
|
call InitVerticalMenuCursor
|
|
ld hl, w2DMenuFlags1
|
|
set 7, [hl]
|
|
ret
|
|
|
|
Function89d75: ; 89d75 (22:5d75)
|
|
push hl
|
|
call Mobile22_SetBGMapMode0
|
|
call _hl_
|
|
farcall Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap
|
|
pop hl
|
|
jr asm_89d90
|
|
|
|
Function89d85: ; 89d85 (22:5d85)
|
|
push hl
|
|
call Mobile22_SetBGMapMode0
|
|
call _hl_
|
|
call CGBOnly_CopyTilemapAtOnce
|
|
pop hl
|
|
|
|
asm_89d90: ; 89d90 (22:5d90)
|
|
call Mobile22_SetBGMapMode0
|
|
push hl
|
|
call _hl_
|
|
call Function89dab
|
|
ld a, [wMenuCursorY]
|
|
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)
|
|
call Mobile22_SetBGMapMode0
|
|
farcall MobileMenuJoypad
|
|
call Mobile22_SetBGMapMode0
|
|
ld a, c
|
|
ld hl, wMenuJoypadFilter
|
|
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
|
|
ld a, [w2DMenuNumRows]
|
|
ld c, a
|
|
ld a, [wMenuCursorY]
|
|
cp c
|
|
jr z, .asm_89dd9
|
|
call PlaceHollowCursor
|
|
scf
|
|
ret
|
|
.asm_89dd9
|
|
call PlayClickSFX
|
|
ld a, $1
|
|
and a
|
|
ret
|
|
|
|
Function89de0: ; 89de0 (22:5de0)
|
|
call ClearSprites
|
|
call Function89e0a
|
|
jr c, .asm_89e00
|
|
ld c, $1
|
|
.asm_89dea
|
|
call Function8a31c
|
|
jr z, .asm_89dfd
|
|
ld a, [wMenuCursorY]
|
|
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 CloseSRAM
|
|
ld hl, Jumptable_89e18
|
|
rst JumpTable
|
|
ret
|
|
|
|
Jumptable_89e18: ; 89e18 (22:5e18)
|
|
dw Function89e1e
|
|
dw Function8a116
|
|
dw Function8a2aa
|
|
|
|
|
|
Function89e1e: ; 89e1e (22:5e1e)
|
|
call OpenSRAMBank4
|
|
ld bc, $a037 ; 4:a037
|
|
call Function8b36c
|
|
call CloseSRAM
|
|
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
|
|
hlcoord 7, 4, wAttrMap
|
|
call Function8a5a3
|
|
ld a, $6
|
|
hlcoord 10, 4, wAttrMap
|
|
call Function8a5a3
|
|
call Function891ab
|
|
call SetPalettes
|
|
jp Function89e36
|
|
|
|
Function89e9a: ; 89e9a (22:5e9a)
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, $5
|
|
ld [rSVBK], a
|
|
ld hl, Palette_89eb1
|
|
ld de, wBGPals1 palette 5
|
|
ld bc, 1 palettes
|
|
call CopyBytes
|
|
pop af
|
|
ld [rSVBK], a
|
|
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
|
|
hlcoord 7, 4, wAttrMap
|
|
call Function8a5a3
|
|
ld a, $6
|
|
hlcoord 10, 4, wAttrMap
|
|
call Function8a5a3
|
|
call Function891ab
|
|
call SetPalettes
|
|
jp Function89e36
|
|
|
|
Function89ee1: ; 89ee1 (22:5ee1)
|
|
call ClearBGPalettes
|
|
call Function893e2
|
|
call Mobile22_SetBGMapMode0
|
|
farcall Function4a3a7
|
|
farcall MG_Mobile_Layout_CreatePalBoxes
|
|
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
|
|
inc hl
|
|
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
|
|
ld hl, wVirtualOAM
|
|
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
|
|
hlcoord 7, 4, wAttrMap
|
|
call Function8a5a3
|
|
ld a, $6
|
|
hlcoord 10, 4, wAttrMap
|
|
call Function8a5a3
|
|
call Function89448
|
|
call SetPalettes
|
|
call Function891ab
|
|
jp Function89e36
|
|
|
|
Function89fed: ; 89fed (22:5fed)
|
|
ld hl, UnknownText_0x8a102
|
|
call PrintText
|
|
jp Function89e36
|
|
|
|
Function89ff6: ; 89ff6 (22:5ff6)
|
|
call Function891fe
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call Function89807
|
|
call Function89492
|
|
call Function894ca
|
|
call OpenSRAMBank4
|
|
ld hl, $a603
|
|
ld a, -1
|
|
ld bc, 8
|
|
call ByteFill
|
|
ld hl, $a603
|
|
ld de, wd008
|
|
call Function89381
|
|
call CloseSRAM
|
|
call Function8987f
|
|
call OpenSRAMBank4
|
|
hlcoord 1, 13
|
|
ld bc, $a007
|
|
call Function89a0c
|
|
call CloseSRAM
|
|
call Function891ab
|
|
call Mobile22_ButtonSound
|
|
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
|
|
inc hl
|
|
inc hl
|
|
ld a, $6
|
|
call Function8a5a3
|
|
call CGBOnly_CopyTilemapAtOnce
|
|
pop bc
|
|
ld a, c
|
|
cp $b
|
|
jr nz, .asm_8a059
|
|
call Function8a0a1
|
|
hlcoord 12, 4
|
|
call Function8a58d
|
|
ld a, $5
|
|
hlcoord 12, 4, wAttrMap
|
|
call Function8a5a3
|
|
pop hl
|
|
ld a, $6
|
|
hlcoord 15, 4, wAttrMap
|
|
call Function8a5a3
|
|
call CGBOnly_CopyTilemapAtOnce
|
|
jp Function89e36
|
|
|
|
Function8a0a1: ; 8a0a1 (22:60a1)
|
|
call Mobile22_SetBGMapMode0
|
|
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
|
|
ld bc, wAttrMap - wTileMap
|
|
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
|
|
ld de, wAttrMap - wTileMap
|
|
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
|
|
ld hl, MenuDataHeader_0x8a176
|
|
call LoadMenuDataHeader
|
|
.asm_8a121
|
|
call Mobile22_SetBGMapMode0
|
|
call Function8a17b
|
|
jr c, .asm_8a16b
|
|
ld a, [wMenuCursorY]
|
|
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
|
|
call CloseWindow
|
|
call Function8920f
|
|
scf
|
|
ret
|
|
; 8a176 (22:6176)
|
|
|
|
MenuDataHeader_0x8a176: ; 0x8a176
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 14, 0, SCREEN_WIDTH - 1, 6
|
|
; 8a17b
|
|
|
|
Function8a17b: ; 8a17b (22:617b)
|
|
decoord 14, 0
|
|
ld b, $5
|
|
ld c, $4
|
|
call Function89b3b
|
|
ld hl, MenuDataHeader_0x8a19a
|
|
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)
|
|
|
|
MenuDataHeader_0x8a19a: ; 0x8a19a
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 14, 0, SCREEN_WIDTH - 1, 6
|
|
dw MenuData2_0x8a1a2
|
|
db 1 ; default option
|
|
; 0x8a1a2
|
|
|
|
MenuData2_0x8a1a2: ; 0x8a1a2
|
|
db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING | STATICMENU_WRAP ; flags
|
|
db 3 ; items
|
|
db "ひらく@"
|
|
db "すてる@"
|
|
db "もどる@"
|
|
; 0x8a1b0
|
|
|
|
Function8a1b0: ; 8a1b0
|
|
hlcoord 0, 12
|
|
ld b, $4
|
|
ld c, $12
|
|
call TextBox
|
|
hlcoord 1, 14
|
|
ld a, [wMenuCursorY]
|
|
ld de, Strings_8a1cc
|
|
dec a
|
|
ld c, a
|
|
call Function8919e
|
|
call PlaceString
|
|
ret
|
|
; 8a1cc
|
|
|
|
Strings_8a1cc: ; 8a1cc
|
|
db "めいし<NO>せいりと へんしゅうを"
|
|
next "おこないます"
|
|
db "@"
|
|
|
|
db "めいしフォルダー<NO>めいしと"
|
|
next "あんしょうばんごう<WO>けします"
|
|
db "@"
|
|
|
|
db "まえ<NO>がめん<NI>もどります"
|
|
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)
|
|
call LoadStandardMenuDataHeader
|
|
call Function891fe
|
|
call Function8a262
|
|
jr nc, .asm_8a254
|
|
call Function891fe
|
|
call Function89b28
|
|
scf
|
|
ret
|
|
.asm_8a254
|
|
call Function891de
|
|
call ClearBGPalettes
|
|
call Call_ExitMenu
|
|
call Function891de
|
|
and a
|
|
ret
|
|
|
|
Function8a262: ; 8a262 (22:6262)
|
|
call ClearBGPalettes
|
|
call Function893e2
|
|
call Mobile22_SetBGMapMode0
|
|
farcall Function4a3a7
|
|
farcall MG_Mobile_Layout_CreatePalBoxes
|
|
hlcoord 1, 0
|
|
call Function8a53d
|
|
hlcoord 12, 4
|
|
call Function8a58d
|
|
ld a, $5
|
|
hlcoord 12, 4, wAttrMap
|
|
call Function8a5a3
|
|
ld a, $6
|
|
hlcoord 15, 4, wAttrMap
|
|
call Function8a5a3
|
|
xor a
|
|
ld [wd02e], a
|
|
ld bc, wd013
|
|
call Function8b36c
|
|
call Function8b493
|
|
call Function891ab
|
|
call SetPalettes
|
|
call Function8b5e7
|
|
ret
|
|
|
|
Function8a2aa: ; 8a2aa (22:62aa)
|
|
ld hl, MenuDataHeader_0x8a2ef
|
|
call LoadMenuDataHeader
|
|
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 CloseSRAM
|
|
call Function891de
|
|
call Function89245
|
|
call Function89168
|
|
and a
|
|
ret
|
|
.asm_8a2ea
|
|
call CloseWindow
|
|
.asm_8a2ed
|
|
scf
|
|
ret
|
|
; 8a2ef (22:62ef)
|
|
|
|
MenuDataHeader_0x8a2ef: ; 0x8a2ef
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
|
|
; 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 ByteFill
|
|
call CloseSRAM
|
|
ret
|
|
|
|
Function8a313: ; 8a313 (22:6313)
|
|
ld c, a
|
|
call OpenSRAMBank4
|
|
ld a, c
|
|
ld [$a60b], a
|
|
ret
|
|
|
|
Function8a31c: ; 8a31c (22:631c)
|
|
push bc
|
|
call Mobile22_SetBGMapMode0
|
|
farcall Function4a3a7
|
|
farcall MG_Mobile_Layout_CreatePalBoxes
|
|
hlcoord 1, 0
|
|
call Function8a53d
|
|
hlcoord 12, 4
|
|
call Function8a58d
|
|
call Function8a3b2
|
|
pop bc
|
|
ld a, c
|
|
ld [wMenuCursorBuffer], a
|
|
ld [wMenuSelection], a
|
|
call PlaceVerticalMenuItems
|
|
call InitVerticalMenuCursor
|
|
ld hl, w2DMenuFlags1
|
|
set 7, [hl]
|
|
.asm_8a34e
|
|
call Function8a3a2
|
|
call Mobile22_SetBGMapMode0
|
|
call Function8a453
|
|
call Function8a4d3
|
|
call Function8a4fc
|
|
call Function891ab
|
|
call SetPalettes
|
|
call Function8a383
|
|
jr c, .asm_8a370
|
|
jr z, .asm_8a34e
|
|
.asm_8a36a
|
|
call Function89448
|
|
xor a
|
|
ld e, a
|
|
ret
|
|
.asm_8a370
|
|
call Function89448
|
|
call PlaceHollowCursor
|
|
call Function8a3a2
|
|
ld a, [wMenuSelection]
|
|
cp $ff
|
|
jr z, .asm_8a36a
|
|
ld e, a
|
|
and a
|
|
ret
|
|
|
|
Function8a383: ; 8a383 (22:6383)
|
|
farcall MobileMenuJoypad
|
|
ld a, c
|
|
ld hl, wMenuJoypadFilter
|
|
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)
|
|
ld a, [wMenuCursorY]
|
|
dec a
|
|
ld hl, wd002
|
|
ld e, a
|
|
ld d, $0
|
|
add hl, de
|
|
ld a, [hl]
|
|
ld [wMenuSelection], a
|
|
ret
|
|
|
|
Function8a3b2: ; 8a3b2 (22:63b2)
|
|
ld a, $1
|
|
ld [wMenuSelection], a
|
|
call Function8a4fc
|
|
call Function8a3df
|
|
jr nc, .asm_8a3ce
|
|
decoord 0, 2
|
|
ld b, $6
|
|
ld c, $9
|
|
call Function89b3b
|
|
ld hl, MenuDataHeader_0x8a435
|
|
jr .asm_8a3db
|
|
.asm_8a3ce
|
|
decoord 0, 2
|
|
ld b, $8
|
|
ld c, $9
|
|
call Function89b3b
|
|
ld hl, MenuDataHeader_0x8a40f
|
|
.asm_8a3db
|
|
call CopyMenuDataHeader
|
|
ret
|
|
|
|
Function8a3df: ; 8a3df (22:63df)
|
|
call OpenSRAMBank4
|
|
ld hl, $a603
|
|
call Function89b45
|
|
call CloseSRAM
|
|
ld hl, wd002
|
|
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
|
|
|
|
MenuDataHeader_0x8a40f: ; 0x8a40f
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 0, 2, 10, TEXTBOX_Y - 1
|
|
dw MenuData2_0x8a417
|
|
db 1 ; default option
|
|
; 0x8a417
|
|
|
|
MenuData2_0x8a417: ; 0x8a417
|
|
db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
|
|
db 4 ; items
|
|
db "めいしりスト@"
|
|
db "じぶんの めいし@"
|
|
db "めいしこうかん@"
|
|
db "やめる@"
|
|
; 0x8a435
|
|
|
|
MenuDataHeader_0x8a435: ; 0x8a435
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 0, 2, 10, 9
|
|
dw MenuData2_0x8a43d
|
|
db 1 ; default option
|
|
; 0x8a43d
|
|
|
|
MenuData2_0x8a43d: ; 0x8a43d
|
|
db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
|
|
db 3 ; items
|
|
db "めいしりスト@"
|
|
db "じぶんの めいし@"
|
|
db "やめる@"
|
|
; 0x8a453
|
|
|
|
Function8a453: ; 8a453 (22:6453)
|
|
hlcoord 0, 12
|
|
ld b, $4
|
|
ld c, $12
|
|
call TextBox
|
|
hlcoord 1, 14
|
|
ld de, String_8a476
|
|
ld a, [wMenuSelection]
|
|
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
|
|
db "まえ<NO>がめん<NI>もどります@"
|
|
; 8a483
|
|
|
|
Strings_8a483: ; 8a483
|
|
db "おともだち<NO>めいしは"
|
|
next "ここ<NI>いれておきます@"
|
|
|
|
db "でんわばんごう<WO>いれると"
|
|
next "めいしこうかん<GA>できます@"
|
|
|
|
db "ともだちと じぶん<NO>めいしを"
|
|
next "せきがいせんで こうかん します@"
|
|
; 8a4d3
|
|
|
|
Function8a4d3: ; 8a4d3 (22:64d3)
|
|
ld a, [wMenuSelection]
|
|
cp $1
|
|
jr nz, .asm_8a4eb
|
|
ld a, $5
|
|
hlcoord 12, 4, wAttrMap
|
|
call Function8a5a3
|
|
ld a, $7
|
|
hlcoord 15, 4, wAttrMap
|
|
call Function8a5a3
|
|
ret
|
|
.asm_8a4eb
|
|
ld a, $7
|
|
hlcoord 12, 4, wAttrMap
|
|
call Function8a5a3
|
|
ld a, $6
|
|
hlcoord 15, 4, wAttrMap
|
|
call Function8a5a3
|
|
ret
|
|
|
|
Function8a4fc: ; 8a4fc (22:64fc)
|
|
ld a, [wMenuSelection]
|
|
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 $3c
|
|
ret c
|
|
.asm_8a520
|
|
ld a, [wd013]
|
|
cpl
|
|
inc a
|
|
ld [wd013], a
|
|
ret
|
|
|
|
asm_8a529: ; 8a529 (22:6529)
|
|
ld hl, wd012
|
|
ld a, $3c
|
|
ld [hli], a
|
|
ld a, $ff
|
|
ld [hli], a
|
|
ld hl, wVirtualOAM
|
|
xor a
|
|
ld bc, 8 * SPRITEOAMSTRUCT_LENGTH
|
|
call ByteFill
|
|
ret
|
|
|
|
Function8a53d: ; 8a53d (22:653d)
|
|
push hl
|
|
ld a, $15
|
|
ld c, $8
|
|
ld de, $14
|
|
call Function8a573
|
|
ld a, $1d
|
|
ld c, $9
|
|
call Function8a57c
|
|
inc a
|
|
ld [hl], a
|
|
call Function8a584
|
|
pop hl
|
|
add hl, de
|
|
ld a, $1f
|
|
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, $2d
|
|
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)
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, $5
|
|
ld [rSVBK], a
|
|
ld hl, Palette_8a5e5
|
|
ld de, wBGPals1 + 4 palettes
|
|
ld bc, 3 palettes
|
|
call CopyBytes
|
|
ld hl, Palette_8a5fd
|
|
ld de, wOBPals1
|
|
ld bc, 1 palettes
|
|
call CopyBytes
|
|
ld hl, Palette_8a605
|
|
ld de, wOBPals1 + 1 palettes
|
|
ld bc, 1 palettes
|
|
call CopyBytes
|
|
pop af
|
|
ld [rSVBK], a
|
|
ret
|
|
; 8a5e5 (22:65e5)
|
|
|
|
Palette_8a5e5: ; 8a5e5
|
|
RGB 31, 31, 31
|
|
RGB 27, 19, 00
|
|
RGB 07, 11, 22
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 16, 16, 31
|
|
RGB 27, 19, 00
|
|
RGB 00, 00, 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
|
|
ld de, wOBPals1
|
|
ld bc, 1 palettes
|
|
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)
|
|
call LoadStandardMenuDataHeader
|
|
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
|
|
ld [wMenuSelection], a
|
|
ld b, a
|
|
ld a, [wScrollingMenuCursorPosition]
|
|
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
|
|
ld [wMenuSelection], a
|
|
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
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
call Function89844
|
|
call CloseSRAM
|
|
call OpenSRAMBank4
|
|
call Function8939a
|
|
call Function89856
|
|
hlcoord 1, 13
|
|
call Function899fe
|
|
call Function891ab
|
|
call CloseSRAM
|
|
.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
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
call Function89844
|
|
call Function8a757
|
|
call CloseSRAM
|
|
.asm_8a6e5
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
call Function89856
|
|
call Function89a2e
|
|
call Function891ab
|
|
xor a
|
|
ld [wd02f], a
|
|
call CloseSRAM
|
|
.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 CloseSRAM
|
|
jr nc, .asm_8a73f
|
|
call Mobile22_SetBGMapMode0
|
|
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 CloseSRAM
|
|
.asm_8a742
|
|
call ClearBGPalettes
|
|
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
|
|
ld de, wd002
|
|
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
|
|
ld de, wd002
|
|
ld b, $5
|
|
farcall NamingScreen
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
push bc
|
|
ld hl, $0
|
|
add hl, bc
|
|
ld d, h
|
|
ld e, l
|
|
ld hl, wd002
|
|
call InitName
|
|
call CloseSRAM
|
|
call DelayFrame
|
|
call JoyTextDelay
|
|
call Function891de
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call OpenSRAMBank4
|
|
pop bc
|
|
call Function89844
|
|
call CloseSRAM
|
|
and a
|
|
ret
|
|
|
|
Function8a7cb: ; 8a7cb (22:67cb)
|
|
ld a, [wMenuSelection]
|
|
push af
|
|
call Function891de
|
|
ld de, wd008
|
|
ld c, $0
|
|
farcall Function17a68f
|
|
jr c, .asm_8a7f4
|
|
ld hl, wd008
|
|
ld a, $ff
|
|
ld bc, $8
|
|
call ByteFill
|
|
ld h, d
|
|
ld l, e
|
|
ld de, wd008
|
|
ld c, $8
|
|
call Function89193
|
|
.asm_8a7f4
|
|
pop af
|
|
ld [wMenuSelection], a
|
|
call Function891de
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
call Function89844
|
|
call Function89856
|
|
call Function89a2e
|
|
call Function891ab
|
|
call CloseSRAM
|
|
and a
|
|
ret
|
|
|
|
Function8a818: ; 8a818 (22:6818)
|
|
call Function89a23
|
|
ld hl, wd002
|
|
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
|
|
ld hl, wd002
|
|
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
|
|
call JoyWaitAorB
|
|
.asm_8a863
|
|
call CloseSRAM
|
|
scf
|
|
ret
|
|
; 8a868 (22:6868)
|
|
|
|
.string_8a868
|
|
db "めいし<WO>かきかえ まし<TA!>@"
|
|
|
|
.asm_8a875
|
|
ld de, String_8a88b
|
|
jr .asm_8a87d
|
|
.asm_8a87a
|
|
ld de, String_8911c
|
|
.asm_8a87d
|
|
hlcoord 1, 13
|
|
call PlaceString
|
|
call WaitBGMap
|
|
call JoyWaitAorB
|
|
and a
|
|
ret
|
|
; 8a88b (22:688b)
|
|
|
|
String_8a88b: ; 8a88b
|
|
db "おともだち<NO>なまえが"
|
|
next "かかれて いません!@"
|
|
; 8a8a1
|
|
|
|
Function8a8a1: ; 8a8a1 (22:68a1)
|
|
call OpenSRAMBank4
|
|
call Function8a765
|
|
call CloseSRAM
|
|
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
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
call Function89844
|
|
call Function8939a
|
|
call Function89856
|
|
call CloseSRAM
|
|
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 CloseSRAM
|
|
call Function89a23
|
|
call Mobile22_SetBGMapMode0
|
|
hlcoord 1, 13
|
|
ld de, String_8a926
|
|
call PlaceString
|
|
call WaitBGMap
|
|
call JoyWaitAorB
|
|
.asm_8a90f
|
|
call Function89448
|
|
call Function891fe
|
|
call Function8b677
|
|
ret
|
|
; 8a919 (22:6919)
|
|
|
|
String_8a919: ; 8a919
|
|
db "このデータ<WO>けしますか?@"
|
|
; 8a926
|
|
|
|
String_8a926: ; 8a926
|
|
db "データ<WO>けしまし<TA!>@"
|
|
; 8a930
|
|
|
|
Function8a930: ; 8a930 (22:6930)
|
|
ld a, [wMenuSelection]
|
|
push af
|
|
xor a
|
|
ld [wd032], a
|
|
ld a, $1
|
|
ld [wd033], a
|
|
ld a, [wd034]
|
|
ld [wd0e3], a
|
|
.asm_8a943
|
|
call Function8b7bd
|
|
ld a, [wMenuJoypad]
|
|
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
|
|
ld [wMenuSelection], a
|
|
call Function8931b
|
|
push bc
|
|
ld h, b
|
|
ld l, c
|
|
ld de, wd002
|
|
ld bc, $25
|
|
call CopyBytes
|
|
pop de
|
|
pop bc
|
|
ld a, c
|
|
ld [wMenuSelection], a
|
|
call Function8931b
|
|
push bc
|
|
ld h, b
|
|
ld l, c
|
|
ld bc, $25
|
|
call CopyBytes
|
|
pop de
|
|
ld hl, wd002
|
|
ld bc, $25
|
|
call CopyBytes
|
|
ld de, SFX_SWITCH_POKEMON
|
|
call WaitPlaySFX
|
|
ld de, SFX_SWITCH_POKEMON
|
|
call WaitPlaySFX
|
|
.asm_8a995
|
|
call CloseSRAM
|
|
ret
|
|
|
|
Function8a999: ; 8a999 (22:6999)
|
|
ld hl, MenuDataHeader_0x8a9c9
|
|
call LoadMenuDataHeader
|
|
ld c, $1
|
|
.asm_8a9a1
|
|
call Function8a9ce
|
|
jr c, .asm_8a9bb
|
|
push bc
|
|
push de
|
|
call LoadStandardMenuDataHeader
|
|
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
|
|
call CloseWindow
|
|
call Function8920f
|
|
ret
|
|
|
|
Jumptable_8a9c5: ; 8a9c5 (22:69c5)
|
|
dw Function8aa0a
|
|
dw Function8ab3b
|
|
; 8a9c9 (22:69c9)
|
|
|
|
MenuDataHeader_0x8a9c9: ; 0x8a9c9
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 11, 4, 18, TEXTBOX_Y - 1
|
|
; 8a9ce
|
|
|
|
Function8a9ce: ; 8a9ce (22:69ce)
|
|
push bc
|
|
decoord 11, 4
|
|
ld b, $6
|
|
ld c, $6
|
|
call Function89b3b
|
|
pop bc
|
|
ld a, c
|
|
ld hl, MenuDataHeader_0x8a9f2
|
|
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)
|
|
|
|
MenuDataHeader_0x8a9f2: ; 0x8a9f2
|
|
db MENU_BACKUP_TILES ; flags
|
|
menu_coords 11, 4, 18, TEXTBOX_Y - 1
|
|
dw MenuData2_0x8a9fa
|
|
db 1 ; default option
|
|
; 0x8a9fa
|
|
|
|
MenuData2_0x8a9fa: ; 0x8a9fa
|
|
db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
|
|
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 CloseSRAM
|
|
call Function891fe
|
|
call ClearBGPalettes
|
|
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)
|
|
ld a, [wMenuSelection]
|
|
ld e, a
|
|
push de
|
|
call Function891de
|
|
ld de, wd008
|
|
ld c, $0
|
|
farcall Function17a68f
|
|
jr c, .asm_8aa9d
|
|
ld hl, wd008
|
|
ld a, $ff
|
|
ld bc, $8
|
|
call ByteFill
|
|
ld h, d
|
|
ld l, e
|
|
ld de, wd008
|
|
ld c, $8
|
|
call Function89193
|
|
.asm_8aa9d
|
|
call Function891fe
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call Function89807
|
|
call Function89492
|
|
call Function894ca
|
|
pop de
|
|
ld a, e
|
|
ld [wMenuSelection], a
|
|
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
|
|
call JoyWaitAorB
|
|
.asm_8aaeb
|
|
call CloseSRAM
|
|
scf
|
|
ret
|
|
; 8aaf0 (22:6af0)
|
|
|
|
String_8aaf0: ; 8aaf0
|
|
db "あたらしい めいし<PKMN>できまし<LNBRK>@"
|
|
; 8ab00
|
|
|
|
Function8ab00: ; 8ab00
|
|
ld de, String_8911c
|
|
hlcoord 1, 13
|
|
call PlaceString
|
|
call WaitBGMap
|
|
call Mobile22_ButtonSound
|
|
and a
|
|
ret
|
|
|
|
Function8ab11: ; 8ab11 (22:6b11)
|
|
call OpenSRAMBank4
|
|
ld hl, $a603
|
|
ld de, wd008
|
|
ld c, $8
|
|
call Function89185
|
|
call CloseSRAM
|
|
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)
|
|
.pressed_start
|
|
call Function891fe
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call Function89807
|
|
call Function89492
|
|
call Function894ca
|
|
call OpenSRAMBank4
|
|
ld hl, $a603
|
|
ld de, wd008
|
|
call Function89381
|
|
call CloseSRAM
|
|
call Function8987f
|
|
call OpenSRAMBank4
|
|
hlcoord 1, 13
|
|
ld bc, $a007
|
|
call Function89a0c
|
|
call CloseSRAM
|
|
call Function891ab
|
|
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
|
|
call PlayClickSFX
|
|
call Function89d0d
|
|
scf
|
|
ret
|
|
|
|
.a_b_button
|
|
call PlayClickSFX
|
|
and a
|
|
ret
|
|
|
|
Function8ab93: ; 8ab93 (22:6b93)
|
|
call ClearBGPalettes
|
|
call LoadStandardMenuDataHeader
|
|
farcall Function105688
|
|
call ClearSprites
|
|
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
|
|
ld [wMenuSelection], a
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
ld hl, $0011
|
|
add hl, bc
|
|
call Function89b45
|
|
call CloseSRAM
|
|
jr c, .asm_8abe2
|
|
ld de, SFX_WRONG
|
|
call WaitPlaySFX
|
|
call CloseSRAM
|
|
jr .asm_8abb9
|
|
|
|
.asm_8abdf
|
|
xor a
|
|
ld c, a
|
|
ret
|
|
|
|
.asm_8abe2
|
|
call PlayClickSFX
|
|
.asm_8abe5
|
|
call Function891de
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
call Function89844
|
|
call CloseSRAM
|
|
call OpenSRAMBank4
|
|
call Function8939a
|
|
call Function89856
|
|
hlcoord 1, 13
|
|
call Function899fe
|
|
call CloseSRAM
|
|
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
|
|
ld a, [wMenuSelection]
|
|
ld c, a
|
|
ret
|
|
; 8ac3b
|
|
|
|
String_8ac3b: ; 8ac3b
|
|
db "こ<NO>ともだち<NI>でんわを"
|
|
next "かけますか?@"
|
|
; 8ac4e
|
|
|
|
Function8ac4e: ; 8ac4e
|
|
xor a
|
|
ld [wMenuSelection], a
|
|
push de
|
|
call Function891de
|
|
call ClearBGPalettes
|
|
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
|
|
ld [wMenuSelection], a
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
call Function8932d
|
|
call CloseSRAM
|
|
jr nc, .asm_8acb0
|
|
call OpenSRAMBank4
|
|
ld hl, $0011
|
|
add hl, bc
|
|
call Function89b45
|
|
call CloseSRAM
|
|
jr nc, .asm_8accc
|
|
call OpenSRAMBank4
|
|
call Function892b7
|
|
call CloseSRAM
|
|
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, $1f
|
|
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, $1f
|
|
call Function89193
|
|
|
|
.asm_8ace4
|
|
call CloseSRAM
|
|
call LoadStandardFont
|
|
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
|
|
call LoadStandardFont
|
|
pop de
|
|
ld c, $0
|
|
scf
|
|
ret
|
|
; 8ad06
|
|
|
|
UnknownText_0x8ad06: ; 0x8ad06
|
|
; Finish registering CARDS?
|
|
text_jump UnknownText_0x1c554a
|
|
db "@"
|
|
; 0x8ad0b
|
|
|
|
Function8ad0b: ; 8ad0b
|
|
.asm_8ad0b
|
|
ld a, [wMenuSelection]
|
|
ld [wd02f], a
|
|
call Function891de
|
|
call ClearBGPalettes
|
|
call Function893cc
|
|
call OpenSRAMBank4
|
|
call Function8931b
|
|
push bc
|
|
call Function89844
|
|
call Function8939a
|
|
call Function89856
|
|
hlcoord 1, 13
|
|
call Function899fe
|
|
call CloseSRAM
|
|
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
|
|
call Mobile22_SetBGMapMode0
|
|
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
|
|
call Mobile22_SetBGMapMode0
|
|
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
|
|
db "こ<NO>めいし<WO>けして"
|
|
next "いれかえますか?@"
|
|
; 8ad9c
|
|
|
|
String_8ad9c: ; 8ad9c
|
|
db "おともだち<NO>なまえを"
|
|
next "のこして おきますか?@"
|
|
; 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 CloseSRAM
|
|
ret
|
|
; 8adcc
|
|
|
|
Function8adcc: ; 8adcc
|
|
call OpenSRAMBank4
|
|
call Function8b3b0
|
|
call CloseSRAM
|
|
ret nc
|
|
cp $2
|
|
ret z
|
|
scf
|
|
ret
|
|
; 8addb
|