Move some misc/ files into meaningful directories

This commit is contained in:
Remy Oukaour
2017-12-15 12:53:33 -05:00
parent 253c09949b
commit ebf3bfb6b2
27 changed files with 45 additions and 46 deletions

4294
mobile/fixed_words.asm Executable file

File diff suppressed because it is too large Load Diff

1845
mobile/mobile_12.asm Executable file

File diff suppressed because it is too large Load Diff

936
mobile/mobile_12_2.asm Executable file
View File

@@ -0,0 +1,936 @@
MobileCheckOwnMonAnywhere: ; 4a843
; Like CheckOwnMonAnywhere, but only check for species.
; OT/ID don't matter.
ld a, [PartyCount]
and a
ret z
ld d, a
ld e, 0
ld hl, PartyMon1Species
ld bc, PartyMonOT
.asm_4a851
call .CheckMatch
ret c
push bc
ld bc, PARTYMON_STRUCT_LENGTH
add hl, bc
pop bc
call .CopyName
dec d
jr nz, .asm_4a851
ld a, BANK(sBoxCount)
call GetSRAMBank
ld a, [sBoxCount]
and a
jr z, .asm_4a888
ld d, a
ld hl, sBoxMon1Species
ld bc, sBoxMonOT
.asm_4a873
call .CheckMatch
jr nc, .asm_4a87c
call CloseSRAM
ret
.asm_4a87c
push bc
ld bc, BOXMON_STRUCT_LENGTH
add hl, bc
pop bc
call .CopyName
dec d
jr nz, .asm_4a873
.asm_4a888
call CloseSRAM
ld c, 0
.asm_4a88d
ld a, [wCurBox]
and $f
cp c
jr z, .asm_4a8d1
ld hl, .BoxAddrs
ld b, 0
add hl, bc
add hl, bc
add hl, bc
ld a, [hli]
call GetSRAMBank
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [hl]
and a
jr z, .asm_4a8d1
push bc
push hl
ld de, sBoxMons - sBoxCount
add hl, de
ld d, h
ld e, l
pop hl
push de
ld de, sBoxMonOT - sBoxCount
add hl, de
ld b, h
ld c, l
pop hl
ld d, a
.asm_4a8ba
call .CheckMatch
jr nc, .asm_4a8c4
pop bc
call CloseSRAM
ret
.asm_4a8c4
push bc
ld bc, BOXMON_STRUCT_LENGTH
add hl, bc
pop bc
call .CopyName
dec d
jr nz, .asm_4a8ba
pop bc
.asm_4a8d1
inc c
ld a, c
cp NUM_BOXES
jr c, .asm_4a88d
call CloseSRAM
and a
ret
; 4a8dc
.CheckMatch: ; 4a8dc
push bc
push hl
push de
ld d, b
ld e, c
ld a, [ScriptVar]
ld b, [hl]
cp b
jr nz, .no_match
jr .match
.no_match
pop de
pop hl
pop bc
and a
ret
.match
pop de
pop hl
pop bc
scf
ret
; 4a8f4
.BoxAddrs: ; 4a8f4
dba sBox1
dba sBox2
dba sBox3
dba sBox4
dba sBox5
dba sBox6
dba sBox7
dba sBox8
dba sBox9
dba sBox10
dba sBox11
dba sBox12
dba sBox13
dba sBox14
; 4a91e
.CopyName: ; 4a91e
push hl
ld hl, NAME_LENGTH
add hl, bc
ld b, h
ld c, l
pop hl
ret
; 4a927
FindItemInPCOrBag: ; 4a927
ld a, [ScriptVar]
ld [CurItem], a
ld hl, PCItems
call CheckItem
jr c, .found
ld a, [ScriptVar]
ld [CurItem], a
ld hl, NumItems
call CheckItem
jr c, .found
xor a
ld [ScriptVar], a
ret
.found
ld a, 1
ld [ScriptVar], a
ret
; 4a94e
Function4a94e: ; 4a94e
call FadeToMenu
ld a, -1
ld hl, wd002
ld bc, 3
call ByteFill
xor a
ld [wd018], a
ld [wd019], a
ld b, SCGB_PACKPALS
call GetSGBLayout
call SetPalettes
call Function4aa22
jr c, .asm_4a985
jr z, .asm_4a9a1
jr .asm_4a97b
.asm_4a974
call Function4aa25
jr c, .asm_4a985
jr z, .asm_4a9a1
.asm_4a97b
call Function4ac58
ld hl, wd019
res 1, [hl]
jr .asm_4a974
.asm_4a985
ld a, [wd018]
and a
jr nz, .asm_4a990
call Function4aba8
jr c, .asm_4a974
.asm_4a990
call CloseSubmenu
ld hl, wd002
ld a, -1
ld bc, 3
call ByteFill
scf
jr .asm_4a9af
.asm_4a9a1
call Function4a9c3
jr c, .asm_4a9b0
call Function4a9d7
jr c, .asm_4a974
call CloseSubmenu
and a
.asm_4a9af
ret
.asm_4a9b0
ld de, SFX_WRONG
call PlaySFX
ld hl, UnknownText_0x4a9be
call PrintText
jr .asm_4a974
; 4a9be
UnknownText_0x4a9be: ; 0x4a9be
; Pick three #MON for battle.
text_jump UnknownText_0x1c51d7
db "@"
; 0x4a9c3
Function4a9c3: ; 4a9c3
ld hl, wd002
ld a, $ff
cp [hl]
jr z, .asm_4a9d5
inc hl
cp [hl]
jr z, .asm_4a9d5
inc hl
cp [hl]
jr z, .asm_4a9d5
and a
ret
.asm_4a9d5
scf
ret
; 4a9d7
Function4a9d7: ; 4a9d7
ld a, [wd002]
ld hl, PartyMonNicknames
call GetNick
ld h, d
ld l, e
ld de, EndFlypoint
ld bc, 6
call CopyBytes
ld a, [wd003]
ld hl, PartyMonNicknames
call GetNick
ld h, d
ld l, e
ld de, wd00c
ld bc, 6
call CopyBytes
ld a, [wd004]
ld hl, PartyMonNicknames
call GetNick
ld h, d
ld l, e
ld de, wd012
ld bc, 6
call CopyBytes
ld hl, UnknownText_0x4aa1d
call PrintText
call YesNoBox
ret
; 4aa1d
UnknownText_0x4aa1d: ; 0x4aa1d
; , @ and @ . Use these three?
text_jump UnknownText_0x1c51f4
db "@"
; 0x4aa22
Function4aa22: ; 4aa22
call ClearBGPalettes
Function4aa25: ; 4aa25
callba LoadPartyMenuGFX
callba InitPartyMenuWithCancel
call Function4aad3
Function4aa34: ; 4aa34
ld a, PARTYMENUACTION_MOBILE
ld [PartyMenuActionText], a
callba WritePartyMenuTilemap
xor a
ld [PartyMenuActionText], a
callba PrintPartyMenuText
call Function4aab6
call WaitBGMap
call SetPalettes
call DelayFrame
call Function4ab1a
jr z, .asm_4aa66
push af
call Function4aafb
jr c, .asm_4aa67
call Function4ab06
jr c, .asm_4aa67
pop af
.asm_4aa66
ret
.asm_4aa67
ld hl, wd019
set 1, [hl]
pop af
ret
; 4aa6e
Function4aa6e: ; 4aa6e
pop af
ld de, SFX_WRONG
call PlaySFX
call WaitSFX
jr Function4aa34
; 4aa7a
Function4aa7a: ; 4aa7a
ld hl, wd002
ld d, $3
.loop
ld e, PARTY_LENGTH
ld a, [hli]
push de
push hl
cp -1
jr z, .done
ld hl, wSpriteAnimationStructs
inc a
ld d, a
.inner_loop
ld a, [hl]
and a
jr z, .next
cp d
jr z, .same_as_d
jr .next
ld a, $3
jr .proceed
.same_as_d
ld a, $2
.proceed
push hl
ld c, l
ld b, h
ld hl, $2
add hl, bc
ld [hl], a
pop hl
.next
ld bc, $10
add hl, bc
dec e
jr nz, .inner_loop
pop hl
pop de
dec d
jr nz, .loop
jr .finished
.done
pop hl
pop de
.finished
ret
; 4aab6
Function4aab6: ; 4aab6
ld hl, wd002
ld d, $3
.loop
ld a, [hli]
cp -1
jr z, .done
push de
push hl
hlcoord 0, 1
ld bc, $28
call AddNTimes
ld [hl], $ec
pop hl
pop de
dec d
jr nz, .loop
.done
ret
; 4aad3
Function4aad3: ; 4aad3
ld hl, PartyCount
ld a, [hli]
and a
ret z ; Nothing in your party
ld c, a
xor a
ld [hObjectStructIndexBuffer], a
.loop
push bc
push hl
ld e, 0
callba LoadMenuMonIcon
ld a, [hObjectStructIndexBuffer]
inc a
ld [hObjectStructIndexBuffer], a
pop hl
pop bc
dec c
jr nz, .loop
call Function4aa7a
callba PlaySpriteAnimations
ret
; 4aafb
Function4aafb: ; 4aafb
ld a, [CurPartySpecies]
cp EGG
jr z, .egg
and a
ret
.egg
scf
ret
; 4ab06
Function4ab06: ; 4ab06
ld a, [CurPartyMon]
ld bc, PARTYMON_STRUCT_LENGTH
ld hl, PartyMon1HP
call AddNTimes
ld a, [hli]
ld b, a
ld a, [hl]
or b
jr nz, .NotFainted
scf
.NotFainted:
ret
; 4ab1a
Function4ab1a: ; 4ab1a
.asm_4ab1a
ld a, $fb
ld [wMenuJoypadFilter], a
ld a, $26
ld [w2DMenuCursorOffsets], a
ld a, $2
ld [w2DMenuNumCols], a
call Function4adf7
call StaticMenuJoypad
call Function4abc3
jr c, .asm_4ab1a
push af
call Function4ab99
call nc, PlaceHollowCursor
pop af
bit 1, a
jr nz, .asm_4ab6d
ld a, [PartyCount]
inc a
ld b, a
ld a, [wMenuCursorY]
ld [wPartyMenuCursor], a
cp b
jr z, .asm_4ab7e
ld a, [wMenuCursorY]
dec a
ld [CurPartyMon], a
ld c, a
ld b, $0
ld hl, PartySpecies
add hl, bc
ld a, [hl]
ld [CurPartySpecies], a
ld de, SFX_READ_TEXT_2
call PlaySFX
call WaitSFX
ld a, $1
and a
ret
.asm_4ab6d
ld a, [wMenuCursorY]
ld [wPartyMenuCursor], a
.asm_4ab73
ld de, SFX_READ_TEXT_2
call PlaySFX
call WaitSFX
scf
ret
.asm_4ab7e
ld a, $1
ld [wd018], a
ld a, [wMenuCursorX]
cp $2
jr z, .asm_4ab73
ld de, SFX_READ_TEXT_2
call PlaySFX
call WaitSFX
xor a
ld [wd018], a
and a
ret
; 4ab99
Function4ab99: ; 4ab99
bit 1, a
jr z, .asm_4aba6
ld a, [wd002]
cp $ff
jr z, .asm_4aba6
scf
ret
.asm_4aba6
and a
ret
; 4aba8
Function4aba8: ; 4aba8
ld hl, wd004
ld a, [hl]
cp $ff
jr nz, .asm_4abbe
dec hl
ld a, [hl]
cp $ff
jr nz, .asm_4abbe
dec hl
ld a, [hl]
cp $ff
jr nz, .asm_4abbe
and a
ret
.asm_4abbe
ld a, $ff
ld [hl], a
scf
ret
; 4abc3
Function4abc3: ; 4abc3
bit 3, a
jr z, .asm_4abd5
ld a, [PartyCount]
inc a
ld [wMenuCursorY], a
ld a, $1
ld [wMenuCursorX], a
jr .asm_4ac29
.asm_4abd5
bit 6, a
jr z, .asm_4abeb
ld a, [wMenuCursorY]
ld [wMenuCursorY], a
and a
jr nz, .asm_4ac29
ld a, [PartyCount]
inc a
ld [wMenuCursorY], a
jr .asm_4ac29
.asm_4abeb
bit 7, a
jr z, .asm_4ac08
ld a, [wMenuCursorY]
ld [wMenuCursorY], a
ld a, [PartyCount]
inc a
inc a
ld b, a
ld a, [wMenuCursorY]
cp b
jr nz, .asm_4ac29
ld a, $1
ld [wMenuCursorY], a
jr .asm_4ac29
.asm_4ac08
bit 4, a
jr nz, .asm_4ac10
bit 5, a
jr z, .asm_4ac56
.asm_4ac10
ld a, [wMenuCursorY]
ld b, a
ld a, [PartyCount]
inc a
cp b
jr nz, .asm_4ac29
ld a, [wMenuCursorX]
cp $1
jr z, .asm_4ac26
ld a, $1
jr .asm_4ac29
.asm_4ac26
ld [wMenuCursorX], a
.asm_4ac29
hlcoord 0, 1
lb bc, 13, 1
call ClearBox
call Function4aab6
ld a, [PartyCount]
hlcoord 6, 1
.asm_4ac3b
ld bc, $28
add hl, bc
dec a
jr nz, .asm_4ac3b
ld [hl], $7f
ld a, [wMenuCursorY]
ld b, a
ld a, [PartyCount]
inc a
cp b
jr z, .asm_4ac54
ld a, $1
ld [wMenuCursorX], a
.asm_4ac54
scf
ret
.asm_4ac56
and a
ret
; 4ac58
Function4ac58: ; 4ac58
lb bc, 2, 18
hlcoord 1, 15
call ClearBox
callba FreezeMonIcons
ld hl, MenuDataHeader_0x4aca2
call LoadMenuDataHeader
ld hl, wd019
bit 1, [hl]
jr z, .asm_4ac89
hlcoord 11, 13
ld b, $3
ld c, $7
call TextBox
hlcoord 13, 14
ld de, String_4ada7
call PlaceString
jr .asm_4ac96
.asm_4ac89
hlcoord 11, 9
ld b, $7
ld c, $7
call TextBox
call Function4ad68
.asm_4ac96
ld a, $1
ld [hBGMapMode], a
call Function4acaa
call ExitMenu
and a
ret
; 4aca2
MenuDataHeader_0x4aca2: ; 0x4aca2
db $40 ; flags
db 09, 11 ; start coords
db 17, 19 ; end coords
dw NULL
db 1 ; default option
; 0x4acaa
Function4acaa: ; 4acaa
.asm_4acaa
ld a, $a0
ld [wMenuData2Flags], a
ld a, [wd019]
bit 1, a
jr z, .asm_4acc2
ld a, $2
ld [wMenuData2Items], a
ld a, $c
ld [wMenuBorderTopCoord], a
jr .asm_4accc
.asm_4acc2
ld a, $4
ld [wMenuData2Items], a
ld a, $8
ld [wMenuBorderTopCoord], a
.asm_4accc
ld a, $b
ld [wMenuBorderLeftCoord], a
ld a, $1
ld [wMenuCursorBuffer], a
call InitVerticalMenuCursor
ld hl, w2DMenuFlags1
set 6, [hl]
call StaticMenuJoypad
ld de, SFX_READ_TEXT_2
call PlaySFX
ld a, [hJoyPressed]
bit 0, a
jr nz, .asm_4acf4
bit 1, a
jr nz, .asm_4acf3
jr .asm_4acaa
.asm_4acf3
ret
.asm_4acf4
ld a, [wd019]
bit 1, a
jr nz, .asm_4ad0e
ld a, [wMenuCursorY]
cp $1
jr z, Function4ad17
cp $2
jp z, Function4ad56
cp $3
jp z, Function4ad60
jr .asm_4acf3
.asm_4ad0e
ld a, [wMenuCursorY]
cp $1
jr z, Function4ad56
jr .asm_4acf3
Function4ad17: ; 4ad17
call Function4adb2
jr z, .asm_4ad4a
ld hl, wd002
ld a, $ff
cp [hl]
jr z, .asm_4ad39
inc hl
cp [hl]
jr z, .asm_4ad39
inc hl
cp [hl]
jr z, .asm_4ad39
ld de, SFX_WRONG
call WaitPlaySFX
ld hl, UnknownText_0x4ad51
call PrintText
ret
.asm_4ad39
ld a, [CurPartyMon]
ld [hl], a
call Function4a9c3
ret c
ld a, [wd019]
set 0, a
ld [wd019], a
ret
.asm_4ad4a
ld a, $ff
ld [hl], a
call Function4adc2
ret
UnknownText_0x4ad51: ; 0x4ad51
; Only three #MON may enter.
text_jump UnknownText_0x1c521c
db "@"
; 0x4ad56
Function4ad56: ; 4ad56
callba OpenPartyStats
call WaitBGMap2
ret
; 4ad60
Function4ad60: ; 4ad60
callba ManagePokemonMoves
ret
; 4ad67
Function4ad67: ; 4ad67
ret
; 4ad68
Function4ad68: ; 4ad68
hlcoord 13, 12
ld de, String_4ad88
call PlaceString
call Function4adb2
jr c, .asm_4ad7e
hlcoord 13, 10
ld de, String_4ada0
jr .asm_4ad84
.asm_4ad7e
hlcoord 13, 10
ld de, String_4ad9a
.asm_4ad84
call PlaceString
ret
; 4ad88
String_4ad88: ; 4ad88
db "つよさをみる"
next "つかえるわざ"
next "もどる@"
; 4ad9a
String_4ad9a: ; 4ad9a
db "さんかする@"
; 4ada0
String_4ada0: ; 4ada0
db "さんかしない@"
; 4ada7
String_4ada7: ; 4ada7
db "つよさをみる"
next "もどる@" ; BACK
; 4adb2
Function4adb2: ; 4adb2
ld hl, wd002
ld a, [CurPartyMon]
cp [hl]
ret z
inc hl
cp [hl]
ret z
inc hl
cp [hl]
ret z
scf
ret
; 4adc2
Function4adc2: ; 4adc2
ld a, [wd002]
cp $ff
jr nz, .skip
ld a, [wd003]
cp $ff
jr nz, .skip2
ld a, [wd004]
ld [wd002], a
ld a, $ff
ld [wd004], a
jr .skip
.skip2
ld [wd002], a
ld a, $ff
ld [wd003], a
.skip
ld a, [wd003]
cp $ff
ret nz
ld b, a
ld a, [wd004]
ld [wd003], a
ld a, b
ld [wd004], a
ret
; 4adf7
Function4adf7: ; 4adf7
ld a, [wd019]
bit 0, a
ret z
ld a, [PartyCount]
inc a
ld [wMenuCursorY], a
ld a, $1
ld [wMenuCursorX], a
ld a, [wd019]
res 0, a
ld [wd019], a
ret
; 4ae12

4448
mobile/mobile_22.asm Normal file

File diff suppressed because it is too large Load Diff

1162
mobile/mobile_22_2.asm Normal file

File diff suppressed because it is too large Load Diff

8156
mobile/mobile_40.asm Normal file

File diff suppressed because it is too large Load Diff

1115
mobile/mobile_41.asm Executable file

File diff suppressed because it is too large Load Diff

2009
mobile/mobile_42.asm Normal file

File diff suppressed because it is too large Load Diff

7690
mobile/mobile_45.asm Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,922 @@
Function115d99: ; 115d99
ld de, GFX_11601a
ld hl, VTiles0 tile $60
lb bc, BANK(GFX_11601a), $14
call Get2bpp
xor a
ld [wc305], a
ld [wc306], a
ld [wc309], a
ld [wc30a], a
ld [wc30b], a
ld [wc30c], a
ld a, $10
ld [wc307], a
ld a, $18
ld [wc308], a
ret
; 115dc3
Function115dc3: ; 115dc3
xor a
ld [wc305], a
ld a, $a0
ld hl, Sprites + 31 * 4
ld bc, 8 * 4
call ByteFill
ret
; 115dd3
Function115dd3: ; 115dd3
ld a, [wc305]
and a
ret z
ld a, $a0
ld hl, Sprites + 31 * 4
ld bc, 8 * 4
call ByteFill
call Function115e22
ld a, [wc309]
sla a
ld c, a
ld b, 0
ld hl, Unknown_115e86
add hl, bc
ld a, [hli]
ld e, a
ld a, [hl]
ld d, a
push de
pop hl
ld de, Sprites + 31 * 4
ld a, [wc307]
ld c, a
ld a, [wc308]
ld b, a
ld a, [hli]
.asm_115e04
push af
ld a, [hli]
add b
ld [de], a
inc de
ld a, [hli]
add c
ld [de], a
inc de
ld a, [hli]
ld [de], a
inc de
ld a, [hli]
ld [de], a
inc de
pop af
dec a
jr nz, .asm_115e04
ret
; 115e18
Function115e18: ; 115e18
ld a, c
ld [wc30a], a
xor a
ld [wc30b], a
jr Function115e2b
; 115e22
Function115e22: ; 115e22
ld hl, wc30c
dec [hl]
ret nz
ld hl, wc30b
inc [hl]
Function115e2b: ; 115e2b
ld a, [wc30a]
sla a
ld c, a
ld b, 0
ld hl, Unknown_115e59
add hl, bc
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
push de
pop hl
ld a, [wc30b]
sla a
ld c, a
ld b, $0
add hl, bc
ld a, [hli]
cp $ff
jr nz, .not_end
xor a
ld [wc30b], a
jr Function115e2b
.not_end
ld [wc309], a
ld a, [hl]
ld [wc30c], a
ret
; 115e59
Unknown_115e59:
dw Unknown_115e61
dw Unknown_115e6c
dw Unknown_115e76
dw Unknown_115e79
; OAM idx (see Unknown_115e86), flip flags/duration
Unknown_115e61: ; 115e61
db $04, $08
db $05, $08
db $06, $08
db $07, $08
db $08, $08
db -1
Unknown_115e6c: ; 115e6c
db $01, $08
db $02, $08
db $03, $08
db $09, $08
db $0a, $08
Unknown_115e76: ; 115e76
db $00, $08
db -1
Unknown_115e79: ; 115e79
db $0b, $08
db $0c, $08
db $0d, $08
db $0e, $08
db $0f, $08
db $00, $08
db -1
; 115e86
Unknown_115e86:
dw Unknown_115ea6
dw Unknown_115eb7
dw Unknown_115ecc
dw Unknown_115ee1
dw Unknown_115ef6
dw Unknown_115f13
dw Unknown_115f30
dw Unknown_115f4d
dw Unknown_115f6a
dw Unknown_115f87
dw Unknown_115f9c
dw Unknown_115fb1
dw Unknown_115fc6
dw Unknown_115fdb
dw Unknown_115ff0
dw Unknown_116005
Unknown_115ea6: ; 115ea6
db 4
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_115eb7: ; 115eb7
db 5
dsprite 0, 0, 1, 0, $64, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_115ecc: ; 115ecc
db 5
dsprite 0, 0, 1, 0, $65, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_115ee1: ; 115ee1
db 5
dsprite 0, 0, 1, 0, $66, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_115ef6: ; 115ef6
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $6d, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
Unknown_115f13: ; 115f13
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $6e, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
Unknown_115f30: ; 115f30
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $6f, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
Unknown_115f4d: ; 115f4d
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $70, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
Unknown_115f6a: ; 115f6a
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $71, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
Unknown_115f87: ; 115f87
db 5
dsprite 0, 0, 1, 0, $72, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_115f9c: ; 115f9c
db 5
dsprite 0, 0, 1, 0, $73, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_115fb1: ; 115fb1
db 5
dsprite 0, 1, 1, 0, $64, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_115fc6: ; 115fc6
db 5
dsprite 0, 1, 1, 0, $65, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_115fdb: ; 115fdb
db 5
dsprite 0, 1, 1, 0, $66, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_115ff0: ; 115ff0
db 5
dsprite 0, 1, 1, 0, $72, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
Unknown_116005: ; 116005
db 5
dsprite 0, 1, 1, 0, $73, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
; 11601a
GFX_11601a:: ; 11601a
INCBIN "gfx/unknown/11601a.2bpp"
Function11615a: ; 11615a
xor a
ld [wc30d], a
ld [$c319], a
ld [wc310], a
ld [wc311], a
ld [wc312], a
ld [wc313], a
ld [wc314], a
ld [wc314 + 1], a
ld [wc314 + 4], a
ld [wc3f6], a
ld [wc3f8], a
ld [wc3f2], a
ld [wc3f4], a
ld a, $24
ld [wc3f5], a
ld a, $7
ld [wc3f7], a
ld a, $b0
ld [wc30e], a
ld [wc3f1], a
ld a, $48
ld [wc30f], a
ld [wc3f3], a
ret
; 11619d
Function11619d: ; 11619d
ld a, [wc30d]
and a
ret z
ld a, [$c319]
cp $2
jr c, .asm_1161b4
ld a, $a0
ld hl, Sprites
ld bc, $0064
call ByteFill
.asm_1161b4
call Function1161b8
ret
; 1161b8
Function1161b8: ; 1161b8
ld a, [$c319]
ld e, a
ld d, 0
ld hl, .Jumptable
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp hl
; 1161c7
.Jumptable: ; 1161c7
dw Function1161d5
dw Function116294
dw Function1162cb
dw Function1162f2
dw Function1163c0
dw Function11636e
dw Function116441
; 1161d5
Function1161d5: ; 1161d5
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
ld hl, Unknown_117356
ld de, wDecompressScratch
ld bc, $0300
call CopyBytes
di
.wait_for_vblank
; Wait until a vblank would occur had interrupts not just been disabled.
ld a, [rLY]
cp $91
jr nz, .wait_for_vblank
ld a, $d0
ld [rHDMA1], a
ld a, $0
ld [rHDMA2], a
ld a, $1c
ld [rHDMA3], a
xor a
ld [rHDMA4], a
ld a, $8
ld [rHDMA5], a
ld a, $d0
ld [rHDMA1], a
ld a, $80
ld [rHDMA2], a
ld a, $1c
ld [rHDMA3], a
ld a, $80
ld [rHDMA4], a
ld a, $8
ld [rHDMA5], a
ld a, $d1
ld [rHDMA1], a
ld a, $0
ld [rHDMA2], a
ld a, $1d
ld [rHDMA3], a
xor a
ld [rHDMA4], a
ld a, $8
ld [rHDMA5], a
ld a, $1
ld [rVBK], a
ld a, $d1
ld [rHDMA1], a
ld a, $80
ld [rHDMA2], a
ld a, $1c
ld [rHDMA3], a
xor a
ld [rHDMA4], a
ld a, $8
ld [rHDMA5], a
ld a, $d2
ld [rHDMA1], a
ld a, $0
ld [rHDMA2], a
ld a, $1c
ld [rHDMA3], a
ld a, $80
ld [rHDMA4], a
ld a, $8
ld [rHDMA5], a
ld a, $d2
ld [rHDMA1], a
ld a, $80
ld [rHDMA2], a
ld a, $1d
ld [rHDMA3], a
xor a
ld [rHDMA4], a
ld a, $8
ld [rHDMA5], a
xor a
ld [rVBK], a
ei
pop af
ld [rSVBK], a
callba ReloadMapPart
ld a, $8
ld [MusicFade], a
ld de, MUSIC_MOBILE_ADAPTER
ld a, e
ld [MusicFadeID], a
ld a, d
ld [MusicFadeID + 1], a
ld a, [$c319]
inc a
ld [$c319], a
ret
; 11628c
MenuDataHeader_11628c: ; 11628c
db $40 ; flags
db 6, 0 ; start coords
db 17, 19 ; end coords
dw NULL
db 0 ; default option
; 116294
Function116294: ; 116294
callba Function170d02
ld a, [$c319]
inc a
ld [$c319], a
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, UnknBGPals + 8 * 6
ld de, $c320
ld bc, 2 palettes
call CopyBytes
ld hl, Palette_11734e
ld de, UnknBGPals + 8 * 7
ld bc, 1 palettes
call CopyBytes
call SetPalettes
pop af
ld [rSVBK], a
ld a, $30
ld [hWY], a
ret
; 1162cb
Function1162cb: ; 1162cb
callba Function170cc6
ld a, [$c319]
inc a
ld [$c319], a
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_11730e
ld de, UnknOBPals + 2 palettes
ld bc, 6 palettes
call CopyBytes
call SetPalettes
pop af
ld [rSVBK], a
ret
; 1162f2
Function1162f2: ; 1162f2
call Function11659d
call Function116758
call Function1167a6
ld a, [wc310]
cp EGG
ret z
sla a
ld c, a
ld b, 0
ld hl, Unknown_1168c5
add hl, bc
ld a, [hli]
ld e, a
ld a, [hl]
ld d, a
push de
pop hl
ld a, [wc30e]
ld c, a
ld a, [wc30f]
ld b, a
ld a, [wc314 + 4]
ld e, a
ld a, [hli]
sub e
ld de, Sprites + $24
.asm_116321
push af
ld a, [hli]
add b
ld [de], a
inc de
ld a, [hli]
add c
ld [de], a
inc de
ld a, [hli]
ld [de], a
inc de
ld a, [hli]
ld [de], a
inc de
pop af
dec a
jr nz, .asm_116321
call Function116468
ld a, [wc3f5]
sla a
ld c, a
ld b, 0
ld hl, Unknown_1168c5
add hl, bc
ld a, [hli]
ld e, a
ld a, [hl]
ld d, a
push de
pop hl
ld a, [wc3f1]
ld c, a
ld a, [wc3f3]
ld b, a
ld a, [wc3f8]
ld e, a
ld a, [hli]
sub e
ld de, Sprites
.asm_11635a
push af
ld a, [hli]
add b
ld [de], a
inc de
ld a, [hli]
add c
ld [de], a
inc de
ld a, [hli]
ld [de], a
inc de
ld a, [hli]
ld [de], a
inc de
pop af
dec a
jr nz, .asm_11635a
ret
; 11636e
Function11636e: ; 11636e
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, BGPals
ld de, UnknBGPals
ld bc, $0040
call CopyBytes
pop af
ld [rSVBK], a
call SetPalettes
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
ld a, $a0
ld hl, Sprites
ld bc, 16 * 4
call ByteFill
ld a, $90
ld [hWY], a
call UpdateSprites
pop af
ld [rSVBK], a
callba ReloadMapPart
ld a, $8
ld [MusicFade], a
ld a, [wMapMusic]
ld [MusicFadeID], a
xor a
ld [MusicFadeID + 1], a
xor a
ld [$c319], a
ld [wc30d], a
ret
; 1163c0
Function1163c0: ; 1163c0
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
ld a, $a0
ld hl, Sprites
ld bc, 16 * 4
call ByteFill
call DelayFrame
callba Function14146
ld b, SCGB_MAPPALS
call GetSGBLayout
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, $c320
ld de, wd030
ld bc, $0010
call CopyBytes
pop af
ld [rSVBK], a
call SetPalettes
call DelayFrame
ld a, $90
ld [hWY], a
call UpdateSprites
callba Function14157
pop af
ld [rSVBK], a
callba ReloadMapPart
ld a, [wLinkMode]
cp $4
jr z, .asm_11642a
ld a, $8
ld [MusicFade], a
ld a, [wMapMusic]
ld [MusicFadeID], a
xor a
ld [MusicFadeID + 1], a
jr .asm_116439
.asm_11642a
ld a, $8
ld [MusicFade], a
ld a, $0
ld [MusicFadeID], a
ld a, $0
ld [MusicFadeID + 1], a
.asm_116439
xor a
ld [$c319], a
ld [wc30d], a
ret
; 116441
Function116441: ; 116441
callba Function17d405
ld a, $90
ld [hWY], a
callba ReloadMapPart
ld a, $8
ld [MusicFade], a
ld a, [wMapMusic]
ld [MusicFadeID], a
xor a
ld [MusicFadeID + 1], a
xor a
ld [$c319], a
ld [wc30d], a
ret
; 116468
Function116468: ; 116468
call Function116567
ld a, [wc314]
cp $d
jr nz, .asm_1164a8
ld hl, wc30e
ld a, [hl]
cp $50
jr nc, .asm_116484
ld a, $50
sub [hl]
add $50
ld [wc3f1], a
jr .asm_11648d
.asm_116484
sub $50
ld c, a
ld a, $50
sub c
ld [wc3f1], a
.asm_11648d
ld hl, wc30f
ld a, [hl]
cp $60
jr nc, .asm_11649e
ld a, $60
sub [hl]
add $60
ld [wc3f3], a
ret
.asm_11649e
sub $60
ld c, a
ld a, $60
sub c
ld [wc3f3], a
ret
.asm_1164a8
ld hl, wc30e
ld a, $b0
cp [hl]
jr nc, .asm_1164b8
ld a, [wc3f1]
and a
jr z, .asm_11650b
jr .asm_1164f2
.asm_1164b8
ld a, [wc3f1]
sub [hl]
jr nc, .asm_1164c1
xor $ff
inc a
.asm_1164c1
ld b, a
ld c, $0
ld a, $5
.asm_1164c6
srl b
rr c
dec a
jr nz, .asm_1164c6
ld a, c
ld [wc3fa], a
ld a, b
ld [wc3f9], a
ld a, [wc3f1]
sub [hl]
jr c, .asm_1164f2
ld c, $0
ld a, [wc3fa]
xor $ff
add $1
rl c
ld [wc3fa], a
ld a, [wc3f9]
xor $ff
add c
ld [wc3f9], a
.asm_1164f2
ld a, [wc3f2]
ld l, a
ld a, [wc3f1]
ld h, a
ld a, [wc3fa]
ld e, a
ld a, [wc3f9]
ld d, a
add hl, de
ld a, l
ld [wc3f2], a
ld a, h
ld [wc3f1], a
.asm_11650b
ld hl, wc30f
ld a, $b0
cp [hl]
jr c, .asm_11654d
ld a, [wc3f3]
sub [hl]
jr nc, .asm_11651c
xor $ff
inc a
.asm_11651c
ld b, a
ld c, $0
ld a, $5
.asm_116521
srl b
rr c
dec a
jr nz, .asm_116521
ld a, c
ld [wc3fc], a
ld a, b
ld [wc3fb], a
ld a, [wc3f3]
sub [hl]
jr c, .asm_11654d
ld c, $0
ld a, [wc3fc]
xor $ff
add $1
rl c
ld [wc3fc], a
ld a, [wc3fb]
xor $ff
add c
ld [wc3fb], a
.asm_11654d
ld a, [wc3f4]
ld l, a
ld a, [wc3f3]
ld h, a
ld a, [wc3fc]
ld e, a
ld a, [wc3fb]
ld d, a
add hl, de
ld a, l
ld [wc3f4], a
ld a, h
ld [wc3f3], a
ret

7986
mobile/mobile_46.asm Executable file

File diff suppressed because it is too large Load Diff

833
mobile/mobile_5b.asm Executable file
View File

@@ -0,0 +1,833 @@
Function16c000: ; 16c000
; unreferenced
; Only for CGB
ld a, [hCGB]
and a
ret z
; Only do this once per boot cycle
ld a, [hFFEA]
and a
ret z
; Set some flag, preserving the old state
ld a, [wcfbe]
push af
set 7, a
ld [wcfbe], a
; Do stuff
call MobileSystemSplashScreen_InitGFX ; Load GFX
callba SetRAMStateForMobile
callba EnableMobile
call .RunJumptable
callba DisableMobile
; Prevent this routine from running again
; until the next time the syatem is turned on
xor a
ld [hFFEA], a
; Restore the flag state
pop af
ld [wcfbe], a
ret
; 16c031
.RunJumptable: ; 16c031
xor a
ld [wJumptableIndex], a
ld [wcf64], a
ld [wd002], a
ld [wd003], a
.loop
call DelayFrame
callba Function10635c
ld a, [wd002]
ld hl, .Jumptable
rst JumpTable
call Function16cb2e
call Function16cbae
ld a, [wd002]
cp $ff
jr nz, .loop
ret
; 16c05c
.Jumptable: ; 16c05c
dw .init
dw Function16c0ba
dw Function16c089
dw Function16c09e
dw Function16c0a8
dw Function16c0dc
dw Function16c0ec
dw Function16c0ba
dw Function16c0ca
dw Function16c0dc
dw Function16c0ec
dw .quit
; 16c074
.init ; 16c074
ld a, [wcf64]
and a
ret z
ld [wd002], a
xor a
ld [wd003], a
ret
; 16c081
.quit ; 16c081
push af
ld a, $ff
ld [wd002], a
pop af
ret
; 16c089
Function16c089: ; 16c089
ld a, $1
ld [Buffer2], a
ld [wd1f1], a
xor a
ld [hWY], a
call Function16c0fa
ld a, [wd002]
ld [wcf64], a
ret
; 16c09e
Function16c09e: ; 16c09e
ld a, [wcf64]
cp $4
ret nz
call Function16c0fa
ret
; 16c0a8
Function16c0a8: ; 16c0a8
xor a
ld [Buffer2], a
ld [wd1f1], a
call ClearSprites
ld a, $90
ld [hWY], a
call Function16c0fa
ret
; 16c0ba
Function16c0ba: ; 16c0ba
call Function16c943
push af
ld a, [wd003]
inc a
ld [wd003], a
pop af
call c, Function16c0fa
ret
; 16c0ca
Function16c0ca: ; 16c0ca
ld a, [wd003]
cp $28
push af
ld a, [wd003]
inc a
ld [wd003], a
pop af
call z, Function16c0fa
ret
; 16c0dc
Function16c0dc: ; 16c0dc
call Function16ca11
push af
ld a, [wd003]
inc a
ld [wd003], a
pop af
call c, Function16c0fa
ret
; 16c0ec
Function16c0ec: ; 16c0ec
call ClearBGPalettes
call ClearScreen
push af
ld a, $ff
ld [wd002], a
pop af
ret
; 16c0fa
Function16c0fa: ; 16c0fa
push af
ld a, [wd002]
inc a
ld [wd002], a
xor a
ld [wd003], a
pop af
ret
; 16c108
MobileSystemSplashScreen_InitGFX: ; 16c108
call DisableLCD
ld hl, VTiles2
ld de, .Tiles
lb bc, BANK(.Tiles), $68
call Get2bpp
call .LoadPals
call .LoadTileMap
call .LoadAttrMap
hlbgcoord 0, 0
call Function16cc73
call Function16cc02
xor a
ld [hBGMapMode], a
call EnableLCD
ret
; 16c130
.LoadPals: ; 16c130
ld de, UnknBGPals
ld hl, UnknownMobilePalettes_16c903
ld bc, 8
ld a, $5
call FarCopyWRAM
callba ApplyPals
ret
; 16c145
.LoadTileMap: ; 16c145
hlcoord 0, 0
ld bc, 20
xor a
call ByteFill
ld hl, .TileMap
decoord 0, 1
ld bc, $0154
call CopyBytes
ret
; 16c15c
.LoadAttrMap: ; 16c15c
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH
xor a
call ByteFill
ld hl, .AttrMap
decoord 0, 1, AttrMap
ld bc, 17 * SCREEN_WIDTH
call CopyBytes
ret
; 16c173
.Tiles:
INCBIN "gfx/unknown/mobile_splash.2bpp"
.TileMap:
INCBIN "gfx/unknown/mobile_splash.tilemap"
.AttrMap:
INCBIN "gfx/unknown/mobile_splash.attrmap"
UnknownMobilePalettes_16c903: ; 16c903
INCLUDE "gfx/unknown/16c903.pal"
; 16c943
Function16c943: ; 16c943
ld a, [wd003]
and a
jr nz, .asm_16c95e
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld a, $ff
ld bc, $0008
ld hl, UnknBGPals
call ByteFill
pop af
ld [rSVBK], a
.asm_16c95e
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld e, $0
ld a, $0
.asm_16c969
ld hl, UnknownMobilePalettes_16c903
call Function16cab6
call Function16cabb
ld d, a
ld hl, UnknBGPals
call Function16cab6
call Function16cabb
cp d
jr z, .asm_16c991
ld b, $1
.asm_16c981
dec a
cp d
jr z, .asm_16c988
dec b
jr nz, .asm_16c981
.asm_16c988
ld hl, UnknBGPals
call Function16cab6
call Function16cadc
.asm_16c991
ld hl, UnknownMobilePalettes_16c903
call Function16cab6
call Function16cad8
ld d, a
ld hl, UnknBGPals
call Function16cab6
call Function16cad8
cp d
jr z, .asm_16c9b9
ld b, $1
.asm_16c9a9
dec a
cp d
jr z, .asm_16c9b0
dec b
jr nz, .asm_16c9a9
.asm_16c9b0
ld hl, UnknBGPals
call Function16cab6
call Function16cb08
.asm_16c9b9
ld hl, UnknownMobilePalettes_16c903
call Function16cab6
call Function16cac4
ld d, a
ld hl, UnknBGPals
call Function16cab6
call Function16cac4
cp d
jr z, .asm_16c9e1
ld b, $1
.asm_16c9d1
dec a
cp d
jr z, .asm_16c9d8
dec b
jr nz, .asm_16c9d1
.asm_16c9d8
ld hl, UnknBGPals
call Function16cab6
call Function16cae8
.asm_16c9e1
inc e
inc e
ld a, e
cp $8
jr nz, .asm_16c969
callba ApplyPals
call SetPalettes
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
ld a, [wd003]
cp $1f
jr z, .asm_16ca09
pop af
ld [rSVBK], a
ld e, $0
pop af
ld [rSVBK], a
and a
ret
.asm_16ca09
pop af
ld [rSVBK], a
pop af
ld [rSVBK], a
scf
ret
; 16ca11
Function16ca11: ; 16ca11
ld a, [wd003]
and a
jr nz, .asm_16ca1d
callba ApplyPals
.asm_16ca1d
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld e, $0
ld a, $0
.asm_16ca28
ld hl, UnknBGPals
call Function16cab6
call Function16cabb
cp $1f
jr z, .asm_16ca48
ld b, $1
.asm_16ca37
inc a
cp $1f
jr z, .asm_16ca3f
dec b
jr nz, .asm_16ca37
.asm_16ca3f
ld hl, UnknBGPals
call Function16cab6
call Function16cadc
.asm_16ca48
ld hl, UnknBGPals
call Function16cab6
call Function16cad8
cp $1f
jr z, .asm_16ca68
ld b, $1
.asm_16ca57
inc a
cp $1f
jr z, .asm_16ca5f
dec b
jr nz, .asm_16ca57
.asm_16ca5f
ld hl, UnknBGPals
call Function16cab6
call Function16cb08
.asm_16ca68
ld hl, UnknBGPals
call Function16cab6
call Function16cac4
cp $1f
jr z, .asm_16ca88
ld b, $1
.asm_16ca77
inc a
cp $1f
jr z, .asm_16ca7f
dec b
jr nz, .asm_16ca77
.asm_16ca7f
ld hl, UnknBGPals
call Function16cab6
call Function16cae8
.asm_16ca88
inc e
inc e
ld a, e
cp $8
jr nz, .asm_16ca28
callba ApplyPals
call SetPalettes
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
ld a, [wd003]
cp $1f
jr z, .asm_16caae
pop af
ld [rSVBK], a
pop af
ld [rSVBK], a
and a
ret
.asm_16caae
pop af
ld [rSVBK], a
pop af
ld [rSVBK], a
scf
ret
; 16cab6
Function16cab6: ; 16cab6
ld b, $0
ld c, e
add hl, bc
ret
; 16cabb
Function16cabb: ; 16cabb
inc hl
ld a, [hl]
srl a
srl a
and $1f
ret
; 16cac4
Function16cac4: ; 16cac4
inc hl
ld a, [hld]
and $3
ld b, a
ld a, [hl]
sla a
rl b
sla a
rl b
sla a
rl b
ld a, b
ret
; 16cad8
Function16cad8: ; 16cad8
ld a, [hl]
and $1f
ret
; 16cadc
Function16cadc: ; 16cadc
sla a
sla a
ld b, a
inc hl
ld a, [hl]
and $83
or b
ld [hl], a
ret
; 16cae8
Function16cae8: ; 16cae8
ld c, a
srl a
srl a
srl a
ld b, a
inc hl
ld a, [hl]
and $fc
or b
ld [hld], a
ld a, c
sla a
sla a
sla a
sla a
sla a
ld b, a
ld a, [hl]
and $1f
or b
ld [hl], a
ret
; 16cb08
Function16cb08: ; 16cb08
ld b, a
ld a, [hl]
and $e0
or b
ld [hl], a
ret
; 16cb0f
Function16cb0f: ; 16cb0f
xor a
ld [Buffer1], a
ld [Buffer2], a
xor a
ld [wd1ec], a
ld a, $70
ld [wd1ee], a
ld a, $4
ld [wd1ed], a
ld a, $a0
ld [wd1ef], a
xor a
ld [wd1f0], a
ret
; 16cb2e
Function16cb2e: ; 16cb2e
ld a, [Buffer2]
and a
ret z
call Function16cb40
ld hl, Unknown_16cb86
ld de, Sprites
call Function16cb5d
ret
; 16cb40
Function16cb40: ; 16cb40
ld hl, wd1ec
inc [hl]
ld a, [hl]
cp $18
ret c
xor a
ld [hl], a
ld a, [wd1ef]
cp $a0
jr nz, .asm_16cb57
ld a, $a7
ld [wd1ef], a
ret
.asm_16cb57
ld a, $a0
ld [wd1ef], a
ret
; 16cb5d
Function16cb5d: ; 16cb5d
ld a, [hli]
and a
ret z
.asm_16cb60
push af
ld a, [wd1ee]
add [hl]
add $10
ld [de], a
inc hl
inc de
ld a, [wd1ed]
add [hl]
add $8
ld [de], a
inc hl
inc de
ld a, [wd1ef]
add [hl]
ld [de], a
inc hl
inc de
ld a, [wd1f0]
or [hl]
ld [de], a
inc hl
inc de
pop af
dec a
jr nz, .asm_16cb60
ret
; 16cb86
Unknown_16cb86:
db 7
db 0, 0, 0, 1
db 8, 0, 1, 1
db 8, 8, 2, 0
db 8, 16, 3, 0
db 16, 0, 4, 1
db 16, 8, 5, 0
db 16, 16, 6, 0
; 16cba3
Function16cba3: ; 16cba3
xor a
ld [wd1f1], a
ld [wd1f2], a
ld [wd1f3], a
ret
; 16cbae
Function16cbae: ; 16cbae
ld a, [wd1f1]
and a
ret z
call Function16cbba
call Function16cbd1
ret
; 16cbba
Function16cbba: ; 16cbba
ld hl, wd1f2
inc [hl]
ld a, [hl]
cp $c
ret c
xor a
ld [hl], a
ld a, [wd1f3]
inc a
cp $4
jr c, .asm_16cbcd
xor a
.asm_16cbcd
ld [wd1f3], a
ret
; 16cbd1
Function16cbd1: ; 16cbd1
ld a, [wd1f3]
ld c, a
ld b, 0
ld hl, Unknown_16cbfb
add hl, bc
ld a, [hl]
ld bc, 2
ld hl, Unknown_16cfa3
call AddNTimes
ld de, UnknBGPals + 1 palettes + 4
ld bc, 2
ld a, $5
call FarCopyWRAM
callba ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 16cbfb
Unknown_16cbfb:
db 0, 1, 2, 1, 0, 1, 2
; 16cc02
Function16cc02: ; 16cc02
call Function16cc18
call Function16cc49
call Function16cc62
call Function16cc25
call Function16cc6e
call Function16cb0f
call Function16cba3
ret
; 16cc18
Function16cc18: ; 16cc18
ld hl, VTiles1
ld de, GFX_16cca3
lb bc, BANK(GFX_16cca3), $2e
call Get2bpp
ret
; 16cc25
Function16cc25: ; 16cc25
ld hl, Unknown_16cfa9
ld de, UnknBGPals + 1 palettes
call .CopyPal
ld hl, Unknown_16cfb1
ld de, UnknOBPals
call .CopyPal
ld hl, Unknown_16cfb9
ld de, UnknOBPals + 1 palettes
call .CopyPal
ret
; 16cc41
.CopyPal: ; 16cc41
ld bc, 1 palettes
ld a, $5
jp FarCopyWRAM
; 16cc49
Function16cc49: ; 16cc49
hlcoord 4, 15
ld a, $80
call Function16cc5a
hlcoord 4, 16
ld a, $90
call Function16cc5a
ret
; 16cc5a
Function16cc5a: ; 16cc5a
ld c, $10
.asm_16cc5c
ld [hli], a
inc a
dec c
jr nz, .asm_16cc5c
ret
; 16cc62
Function16cc62: ; 16cc62
hlcoord 0, 15, AttrMap
ld bc, $0028
ld a, $1
call ByteFill
ret
; 16cc6e
Function16cc6e: ; 16cc6e
hlbgcoord 0, 0, VBGMap1
jr Function16cc73
Function16cc73:
ld a, [rVBK]
push af
ld a, $0
ld [rVBK], a
push hl
decoord 0, 0
call Function16cc90
pop hl
ld a, $1
ld [rVBK], a
decoord 0, 0, AttrMap
call Function16cc90
pop af
ld [rVBK], a
ret
; 16cc90
Function16cc90: ; 16cc90
ld bc, $1214
.asm_16cc93
push bc
.asm_16cc94
ld a, [de]
inc de
ld [hli], a
dec c
jr nz, .asm_16cc94
ld bc, $000c
add hl, bc
pop bc
dec b
jr nz, .asm_16cc93
ret
; 16cca3
GFX_16cca3:
INCBIN "gfx/unknown/16cca3.2bpp"
Unknown_16cfa3:
RGB 31, 31, 31
RGB 25, 27, 29
RGB 16, 19, 25
Unknown_16cfa9:
RGB 31, 31, 31
RGB 25, 27, 29
RGB 31, 31, 31
RGB 07, 07, 07
Unknown_16cfb1:
RGB 31, 31, 31
RGB 13, 09, 18
RGB 26, 21, 16
RGB 07, 07, 07
Unknown_16cfb9:
RGB 31, 31, 31
RGB 18, 05, 02
RGB 27, 11, 12
RGB 07, 07, 07
; 16cfc1

944
mobile/mobile_5c.asm Executable file
View File

@@ -0,0 +1,944 @@
Function170000: ; 170000
ld a, [$c62b]
ld [wPlayerTrademonSpecies], a
ld hl, $c62e
ld de, wPlayerTrademonSenderName
ld bc, $0005
call CopyBytes
ld a, $50
ld [de], a
ld hl, $c663
ld de, wPlayerTrademonOTName
ld bc, $0005
call CopyBytes
ld a, $50
ld [de], a
ld hl, $c648
ld a, [hli]
ld [wPlayerTrademonDVs], a
ld a, [hl]
ld [wPlayerTrademonDVs + 1], a
ld hl, $c639
ld a, [hli]
ld [wPlayerTrademonID], a
ld a, [hl]
ld [wPlayerTrademonID + 1], a
ld bc, $c633
callba GetCaughtGender
ld a, c
ld [wPlayerTrademonCaughtData], a
ld a, [wcd81]
ld [wc74e], a
ld hl, $c608
ld de, $d800
ld bc, $008f
call CopyBytes
ret
; 17005a
Function17005a: ; 17005a
ld a, $5
call GetSRAMBank
ld a, [$a824]
ld [wOTTrademonSpecies], a
ld hl, $a827
ld de, wOTTrademonSenderName
ld bc, 5 ; Japanese Name Length
call CopyBytes
ld a, "@"
ld [de], a
ld hl, $a85c
ld de, wOTTrademonOTName
ld bc, 5 ; Japanese Name Length
call CopyBytes
ld a, "@"
ld [de], a
ld hl, $a841
ld a, [hli]
ld [wOTTrademonDVs], a
ld a, [hl]
ld [wOTTrademonDVs + 1], a
ld hl, $a832
ld a, [hli]
ld [wOTTrademonID], a
ld a, [hl]
ld [wOTTrademonID + 1], a
ld bc, $a82c
callba GetCaughtGender
ld a, c
ld [wOTTrademonCaughtData], a
ld a, [wcd81]
ld [wc74e], a
call CloseSRAM
ret
; 1700b0
INCLUDE "misc/battle_tower_5c.asm"
Function170be4: ; 170be4
ld a, $5
call GetSRAMBank
xor a
ld hl, $a894
ld bc, $0008
call ByteFill
call CloseSRAM
ret
; 170bf7
Clears5_a89a: ; 170bf7
ld a, $5
call GetSRAMBank
ld hl, $a89a
xor a
ld [hli], a
ld [hl], a
call CloseSRAM
ret
; 170c06
Function170c06: ; 170c06
ld a, $5
call GetSRAMBank
ld hl, $a894
ld a, [wBattleResult]
and a
jr nz, .asm_170c15
inc [hl]
.asm_170c15
inc hl
inc hl
ld a, [$a89b]
add [hl]
ld [hld], a
ld a, [$a89a]
adc [hl]
ld [hli], a
jr nc, .asm_170c27
ld a, $ff
ld [hld], a
ld [hli], a
.asm_170c27
inc hl
push hl
ld de, 0
xor a
ld [wd265], a
.asm_170c30
ld hl, PartyMon1HP
ld a, [wd265]
call GetPartyLocation
ld a, [hli]
ld b, a
ld c, [hl]
inc hl
inc hl
ld a, [hld]
sub c
ld c, a
ld a, [hl]
sbc b
ld b, a
push de
pop hl
add hl, bc
push hl
pop de
jr c, .asm_170c58
ld a, [wd265]
inc a
ld [wd265], a
cp $3
jr c, .asm_170c30
jr .asm_170c5b
.asm_170c58
ld de, -1
.asm_170c5b
pop hl
inc hl
ld a, e
add [hl]
ld [hld], a
ld a, d
adc [hl]
ld [hli], a
jr nc, .asm_170c69
ld a, $ff
ld [hld], a
ld [hli], a
.asm_170c69
inc hl
push hl
ld b, $0
ld c, $0
.asm_170c6f
ld hl, PartyMon1HP
ld a, b
push bc
call GetPartyLocation
pop bc
ld a, [hli]
or [hl]
jr nz, .asm_170c7d
inc c
.asm_170c7d
inc b
ld a, b
cp $3
jr c, .asm_170c6f
pop hl
ld a, [hl]
add c
ld [hl], a
call CloseSRAM
ret
; 170c8b
Function170c8b: ; 170c8b
ld hl, LastEnemyCounterMove
ld b, $5
.asm_170c90
ld a, [hl]
xor $ff
ld [hli], a
dec b
jr nz, .asm_170c90
ret
; 170c98
CheckBTMonMovesForErrors: ; 170c98
ld c, BATTLETOWER_NROFPKMNS
ld hl, wBT_OTTempPkmn1Moves
.loop
push hl
ld a, [hl]
cp NUM_ATTACKS + 1
jr c, .okay
ld a, POUND
ld [hl], a
.okay
inc hl
ld b, NUM_MOVES - 1
.loop2
ld a, [hl]
and a
jr z, .loop3
cp NUM_ATTACKS + 1
jr c, .next
.loop3
xor a
ld [hl], a
inc hl
dec b
jr nz, .loop3
jr .done
.next
inc hl
dec b
jr nz, .loop2
.done
pop hl
ld de, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH
add hl, de
dec c
jr nz, .loop
ret
; 170cc6
Function170cc6: ; 170cc6
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
ld hl, LZ_170d16
ld de, wDecompressScratch
call Decompress
ld a, $1
ld [rVBK], a
ld de, wd000
ld hl, VTiles0
lb bc, $6, $c1
call Get2bpp
xor a
ld [rVBK], a
ld hl, LZ_1715a4
ld de, wd000
call Decompress
ld de, UnknBGPals
ld hl, VTiles0
lb bc, $6, $53
call Get2bpp
pop af
ld [rSVBK], a
ret
; 170d02
Function170d02: ; 170d02
ld a, $1
ld [rVBK], a
ld de, GFX_171848
ld hl, VTiles1 tile $41
lb bc, BANK(GFX_171848), $18
call Get2bpp
xor a
ld [rVBK], a
ret
; 170d16
LZ_170d16:
INCBIN "gfx/unknown/pichu_animated.2bpp.lz"
LZ_1715a4:
INCBIN "gfx/unknown/egg_animated.2bpp.lz"
GFX_171848:
INCBIN "gfx/unknown/171848.2bpp"
Function1719c8: ; 1719c8 (5c:59c8)
ld a, [hInMenu]
push af
ld a, $1
ld [hInMenu], a
call Function1719d6
pop af
ld [hInMenu], a
ret
Function1719d6: ; 1719d6 (5c:59d6)
callba BattleTowerRoomMenu_InitRAM
call Function1719ed
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
call Function171a11
pop af
ld [rSVBK], a
ret
Function1719ed: ; 1719ed (5c:59ed)
xor a
ld [wcd49], a
ld [wcd4a], a
dec a
ld [wcd4b], a
call ClearBGPalettes
call ClearSprites
callba Function171d2b
callba ReloadMapPart
callba ClearSpriteAnims
ret
Function171a11: ; 171a11 (5c:5a11)
.loop
call JoyTextDelay
ld a, [wcd49]
bit 7, a
jr nz, .done
call Function171a36
callba PlaySpriteAnimations
callba ReloadMapPart
jr .loop
.done
callba ClearSpriteAnims
call ClearSprites
ret
Function171a36: ; 171a36 (5c:5a36)
ld a, [wcd49]
ld e, a
ld d, 0
ld hl, Jumptable_171a45
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp hl
Jumptable_171a45: ; 171a45 (5c:5a45)
dw Function171a95
dw Function171ac9
dw Function171a5d
dw Function171ad7
dw Function171a5d
dw Function171aec
dw Function171b4b
dw Function171b85
dw Function171bcc
dw Function171c2c
dw Function171c39
dw Function171c41
Function171a5d: ; 171a5d (5c:5a5d)
ld a, [wc821]
bit 1, a
jr nz, .asm_171a6a
bit 0, a
ret nz
jp Function171c66
.asm_171a6a
ld a, $0
call Function3e32
ld [wc300], a
ld a, l
ld [wc301], a
ld a, h
ld [wc302], a
ld a, $a
call Function3e32
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
callba BattleTowerRoomMenu_Cleanup
pop af
ld [rSVBK], a
ld a, $a
ld [wcd49], a
ret
Function171a95: ; 171a95 (5c:5a95)
callba Function171ccd
hlcoord 2, 8
ld de, String_171aa7
call PlaceString
jp Function171c66
; 171aa7 (5c:5aa7)
String_171aa7: ; 171aa7
db "モバイルアダプタに"
next "せつぞく しています"
next "しばらく おまちください"
db "@"
; 171ac9
Function171ac9: ; 171ac9 (5c:5ac9)
ld de, wcd81
ld hl, $5c
ld a, $2
call Function3e32
jp Function171c66
Function171ad7: ; 171ad7 (5c:5ad7)
xor a
ld hl, $c608
ld bc, $66
call ByteFill
ld de, $c608
ld a, $c
call Function3e32
jp Function171c66
Function171aec: ; 171aec (5c:5aec)
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
callba BattleTowerRoomMenu_Cleanup
pop af
ld [rSVBK], a
hlcoord 2, 6
ld a, $8
.asm_171b01
push af
push hl
xor a
ld bc, $10
call ByteFill
pop hl
ld de, $14
add hl, de
pop af
dec a
jr nz, .asm_171b01
hlcoord 2, 7
ld a, $3
ld de, $c608
.asm_171b1b
push af
push hl
ld a, [de]
and a
jr z, .asm_171b34
ld a, [wcd4b]
inc a
ld [wcd4b], a
push hl
call Function171b42
pop hl
ld bc, $ffec
add hl, bc
call Function171b42
.asm_171b34
pop hl
ld bc, $14
add hl, bc
add hl, bc
add hl, bc
pop af
dec a
jr nz, .asm_171b1b
jp Function171c66
Function171b42: ; 171b42 (5c:5b42)
ld a, [de]
inc de
and a
ret z
sub $20
ld [hli], a
jr Function171b42
Function171b4b: ; 171b4b (5c:5b4b)
depixel 8, 2
ld a, SPRITE_ANIM_INDEX_1D
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, $8
ld [hl], a
depixel 8, 19
ld a, SPRITE_ANIM_INDEX_1D
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, $9
ld [hl], a
depixel 17, 14, 2, 0
ld a, SPRITE_ANIM_INDEX_1D
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, $a
ld [hl], a
ld a, $4
ld [wcd23], a
ld a, $8
ld [wcd24], a
jp Function171c66
Function171b85: ; 171b85 (5c:5b85)
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and $2
jp nz, Function171b9f
ld a, [hl]
and $1
jp nz, Function171bbd
ld a, [hl]
and $40
jr nz, asm_171ba5
ld a, [hl]
and $80
jr nz, asm_171baf
ret
Function171b9f: ; 171b9f (5c:5b9f)
ld a, $80
ld [wcd49], a
ret
asm_171ba5: ; 171ba5 (5c:5ba5)
ld a, [wcd4a]
and a
ret z
dec a
ld [wcd4a], a
ret
asm_171baf: ; 171baf (5c:5baf)
ld a, [wcd4b]
ld c, a
ld a, [wcd4a]
cp c
ret z
inc a
ld [wcd4a], a
ret
Function171bbd: ; 171bbd (5c:5bbd)
call PlayClickSFX
ld a, $8
ld [wcd23], a
xor a
ld [wcd24], a
jp Function171c66
Function171bcc: ; 171bcc (5c:5bcc)
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and $2
jp nz, Function171bdc
ld a, [hl]
and $1
jp nz, Function171beb
ret
Function171bdc: ; 171bdc (5c:5bdc)
ld a, $4
ld [wcd23], a
ld a, $8
ld [wcd24], a
ld hl, wcd49
dec [hl]
ret
Function171beb: ; 171beb (5c:5beb)
ld a, $5
call GetSRAMBank
ld a, [wcd4a]
ld [$aa4a], a
call CloseSRAM
ld hl, MenuDataHeader_171c6b
call LoadMenuDataHeader
call MenuBox
call MenuBoxCoord2Tile
callba ReloadMapPart
hlcoord 1, 14
ld de, String_171c73
call PlaceString
ld a, [wcd4a]
cp $2
jr z, .asm_171c1f
ld a, $8
jr .asm_171c21
.asm_171c1f
ld a, $c
.asm_171c21
ld [wcd24], a
ld a, $1e
ld [wcd4c], a
call Function171c66
Function171c2c: ; 171c2c (5c:5c2c)
ld hl, wcd4c
dec [hl]
ret nz
call ExitMenu
call ClearBGPalettes
jr asm_171c60
Function171c39: ; 171c39 (5c:5c39)
ld a, $28
ld [wcd4c], a
call Function171c66
Function171c41: ; 171c41 (5c:5c41)
ld hl, wcd4c
dec [hl]
ret nz
call ClearBGPalettes
callba MobileFunc_106462
callba Function106464
ld a, $2
ld [wc303], a
callba DisplayMobileError
asm_171c60: ; 171c60 (5c:5c60)
ld a, $80
ld [wcd49], a
ret
Function171c66: ; 171c66 (5c:5c66)
ld hl, wcd49
inc [hl]
ret
; 171c6b (5c:5c6b)
MenuDataHeader_171c6b: ; 171c6b
db $40 ; flags
db 12, 0 ; start coords
db 17, 19 ; end coords
dw NULL
db 0 ; default option
; 171c73
String_171c73: ; 171c73
db "モバイルセンターを けってい"
next "しました@"
; 171c87
Function171c87: ; 171c87 (5c:5c87)
call DisableLCD
ld hl, GFX_171db1
ld de, VTiles2 tile $00
ld bc, $6e0
call CopyBytes
ld hl, LZ_172abd
ld de, VTiles0 tile $00
call Decompress
call EnableLCD
ld hl, Tilemap_172491
decoord 0, 0
ld bc, $168
call CopyBytes
ld hl, Attrmap_1727ed
decoord 0, 0, AttrMap
ld bc, $168
call CopyBytes
hlcoord 3, 2
ld de, String_172e31
call PlaceString
hlcoord 3, 16
ld de, String_172e3f
call PlaceString
ret
Function171ccd: ; 171ccd (5c:5ccd)
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_171d71
ld de, UnknBGPals
ld bc, $40
call CopyBytes
ld hl, EngineBuffer5
ld a, $ff
ld [hli], a
ld a, $7f
ld [hl], a
call SetPalettes
pop af
ld [rSVBK], a
ret
Function171cf0: ; 171cf0 (5c:5cf0)
xor a
hlcoord 4, 15
ld [hli], a
ld [hli], a
ld a, [wcd4b]
xor $1
ld [wcd4b], a
and a
jr nz, .asm_171d16
ld hl, Tilemap_17251d
decoord 0, 7
ld bc, $8c
call CopyBytes
hlcoord 3, 16
ld de, String_172e3f
jp PlaceString
.asm_171d16
ld hl, Tilemap_1725f9
decoord 0, 7
ld bc, $8c
call CopyBytes
hlcoord 3, 16
ld de, String_172e4e
jp PlaceString
Function171d2b: ; 171d2b (5c:5d2b)
call DisableLCD
ld hl, GFX_171db1
ld de, VTiles2 tile $00
ld bc, $6e0
call CopyBytes
ld hl, LZ_172abd
ld de, VTiles0 tile $00
call Decompress
call EnableLCD
ld hl, Tilemap_172685
decoord 0, 0
ld bc, $168
call CopyBytes
ld hl, Attrmap_172955
decoord 0, 0, AttrMap
ld bc, $168
call CopyBytes
hlcoord 2, 2
ld de, String_172e5d
call PlaceString
hlcoord 14, 16
ld de, String_172e58
call PlaceString
ret
; 171d71 (5c:5d71)
Palette_171d71:
RGB 0, 0, 0
RGB 3, 0, 0
RGB 5, 0, 0
RGB 31, 31, 29
RGB 0, 2, 10
RGB 2, 10, 21
RGB 0, 0, 0
RGB 10, 26, 31
RGB 0, 0, 0
RGB 0, 7, 8
RGB 31, 8, 0
RGB 1, 17, 15
RGB 31, 16, 0
RGB 31, 22, 0
RGB 31, 27, 0
RGB 31, 31, 0
RGB 31, 18, 6
RGB 0, 3, 0
RGB 0, 9, 0
RGB 0, 12, 0
RGB 0, 16, 0
RGB 0, 22, 0
RGB 0, 25, 0
RGB 0, 27, 0
RGB 5, 5, 16
RGB 8, 19, 28
RGB 0, 0, 0
RGB 31, 31, 31
RGB 31, 31, 29
RGB 21, 21, 20
RGB 11, 11, 10
RGB 0, 0, 0
GFX_171db1:
INCBIN "gfx/unknown/ascii_font.2bpp"
Tilemap_172491:
INCBIN "gfx/unknown/172491.tilemap"
Tilemap_17251d:
INCBIN "gfx/unknown/17251d.tilemap"
Tilemap_1725f9:
INCBIN "gfx/unknown/1725f9.tilemap"
Tilemap_172685:
INCBIN "gfx/unknown/172685.tilemap"
Attrmap_1727ed:
INCBIN "gfx/unknown/1727ed.attrmap"
Attrmap_172955:
INCBIN "gfx/unknown/172955.attrmap"
LZ_172abd:
INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
String_172e31: ; 172e31
db "パスワード", $1f, "いれてください@"
String_172e3f: ; 172e3f
db "きりかえ やめる けってい@"
String_172e4e: ; 172e4e
db "きりかえ やめる "
String_172e58:
db "けってい@"
String_172e5d: ; 172e5d
db "せつぞくする モバイルセンターを"
next "えらんで ください@"
; 172e78
Function172e78: ; 172e78 (5c:6e78)
ld a, $7f
hlcoord 0, 0
ld bc, $168
call ByteFill
ld a, $7
hlcoord 0, 0, AttrMap
ld bc, $168
call ByteFill
call DisableLCD
ld hl, GameBoyN64GFX
ld de, VTiles2 tile $00
ld bc, $610
call CopyBytes
call EnableLCD
ld hl, Tilemap_1733af
decoord 0, 0
ld bc, $168
call CopyBytes
ld hl, Attrmap_173517
decoord 0, 0, AttrMap
ld bc, $168
call CopyBytes
ret
; 172eb9 (5c:6eb9)
Function172eb9:
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_172edf
ld de, UnknBGPals
ld bc, $40
call CopyBytes
ld hl, Palette_172edf
ld de, BGPals
ld bc, $40
call CopyBytes
call SetPalettes
pop af
ld [rSVBK], a
ret
; 172edf (5c:6edf)
Palette_172edf:
RGB 5, 12, 17
RGB 31, 31, 31
RGB 18, 25, 28
RGB 10, 17, 21
RGB 6, 13, 18
RGB 31, 31, 31
RGB 20, 26, 28
RGB 12, 19, 23
RGB 3, 10, 16
RGB 31, 31, 31
RGB 6, 13, 18
RGB 20, 26, 28
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 5, 5, 16
RGB 8, 19, 28
RGB 0, 0, 0
RGB 31, 31, 31
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
GameBoyN64GFX:
INCBIN "gfx/trade/game_boy_n64.2bpp"
Tilemap_1733af:
IF DEF(CRYSTAL11)
INCBIN "gfx/unknown/1733af_corrupt.tilemap"
ELSE
INCBIN "gfx/unknown/1733af.tilemap"
ENDC
Attrmap_173517:
INCBIN "gfx/unknown/173517.attrmap"

5310
mobile/mobile_5f.asm Normal file

File diff suppressed because it is too large Load Diff

879
mobile/mobile_menu.asm Executable file
View File

@@ -0,0 +1,879 @@
MainMenu_Mobile: ; 49efc
call ClearBGPalettes
ld a, MUSIC_MOBILE_ADAPTER_MENU
ld [wMapMusic], a
ld de, MUSIC_MOBILE_ADAPTER_MENU
call Function4a6c5
Function49f0a: ; 49f0a
call ClearBGPalettes
call Function4a3a7
call Function4a492
call ClearBGPalettes
Function49f16: ; 49f16
call MobileMenu_InitMenuBuffers
ld c, 12
call DelayFrames
hlcoord 4, 0
ld b, 10
ld c, 10
call Function48cdc
hlcoord 6, 2
ld de, MobileString1
call PlaceString
hlcoord 0, 12
ld b, 4
ld c, SCREEN_HEIGHT
call TextBox
xor a
ld de, String_0x49fe9
hlcoord 1, 14
call PlaceString
call WaitBGMap2
call SetPalettes
call StaticMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
jr .check_buttons
.joy_loop
call ScrollingMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
.check_buttons
bit A_BUTTON_F, a
jr nz, .a_button
bit B_BUTTON_F, a
jr nz, .b_button
jr .next
.a_button
ld hl, wMenuCursorY
ld a, [hl]
cp 1
jp z, Function4a098
cp 2
jp z, Function4a0b9
cp 3
jp z, Function4a0c2
cp 4
jp z, Function4a100
ld a, 1
call MenuClickSound
.b_button
pop bc
call ClearBGPalettes
call ClearTileMap
ld a, MUSIC_MAIN_MENU
ld [wMapMusic], a
ld de, MUSIC_MAIN_MENU
call Function4a6c5
ret
.next
ld hl, wMenuCursorY
ld a, [hl]
dec a
ld hl, MobileStrings2
call GetNthString
ld d, h
ld e, l
hlcoord 1, 13
ld b, 4
ld c, SCREEN_HEIGHT
call ClearBox
hlcoord 1, 14
call PlaceString
jp .useless_jump
.useless_jump
call MobileMenu_InitMenuBuffers
pop bc
ld hl, wMenuCursorY
ld [hl], b
ld b, $a
ld c, $1
hlcoord 5, 1
call ClearBox
jp .joy_loop
; 49fcc
MobileString1: ; 49fcc
db "めいしフ,ルダー"
next "あいさつ"
next "プロフィール"
next "せ", $1e, "い"
next "もどる"
db "@"
; 49fe9
MobileStrings2:
String_0x49fe9: ; 49fe9
db "めいし¯つくったり"
next "ほぞんしておける フ,ルダーです@"
; 4a004
String_0x4a004: ; 4a004
db "モバイルたいせんや じぶんのめいしで"
next "つかう あいさつ¯つくります@"
; 4a026
String_0x4a026: ; 4a026
db "あなた%じゅうしょや ねんれいの"
next "せ", $1e, "い¯かえられます@"
; 4a042
String_0x4a042: ; 4a042
db "モバイルセンター", $1d, "せつぞくするとき"
next "ひつような こと¯きめます@"
; 4a062
String_0x4a062: ; 4a062
db "まえ%がめん ", $1d, "もどります"
next "@"
; 4a071
MobileMenu_InitMenuBuffers: ; 4a071 (12:6071)
ld hl, w2DMenuCursorInitY
ld a, 2
ld [hli], a
ld a, 5 ; w2DMenuCursorInitX
ld [hli], a
ld a, 5 ; w2DMenuNumRows
ld [hli], a
ld a, 1 ; w2DMenuNumCols
ld [hli], a
ld [hl], $0 ; w2DMenuFlags1
set 5, [hl]
inc hl
xor a ; w2DMenuFlags2
ld [hli], a
ld a, $20 ; w2DMenuCursorOffsets
ld [hli], a
; this is a stupid way to load $c3
ld a, A_BUTTON
add D_UP
add D_DOWN
add B_BUTTON
ld [hli], a ; wMenuJoypadFilter
ld a, 1
ld [hli], a ; wMenuCursorY, wMenuCursorX
ld [hli], a ; wMenuCursorY, wMenuCursorX
ret
Function4a098: ; 4a098 (12:6098)
ld a, 2
call MenuClickSound
call PlaceHollowCursor
call WaitBGMap
call LoadStandardMenuDataHeader
callba Function89de0
call Call_ExitMenu
call MG_Mobile_Layout_LoadPals
call Function4a485
pop bc
jp Function49f16
Function4a0b9: ; 4a0b9 (12:60b9)
ld a, 2
call MenuClickSound
pop bc
jp Function4a4c4
Function4a0c2: ; 4a0c2 (12:60c2)
ld a, 2
call MenuClickSound
ld a, BANK(sPlayerData)
call GetSRAMBank
ld hl, sPlayerData + PlayerName - wPlayerData
ld de, PlayerName
ld bc, 6 ; japanese name length
call CopyBytes
call CloseSRAM
callba _LoadData
ld c, 2
call DelayFrames
ld c, $1
call InitMobileProfile
push af
call ClearBGPalettes
pop af
and a
jr nz, .skip_save
callba _SaveData
.skip_save
ld c, 5
call DelayFrames
jr asm_4a111
Function4a100: ; 4a100 (12:6100)
ld a, 2
call MenuClickSound
call ClearBGPalettes
call Function4a13b
call ClearBGPalettes
call ClearTileMap
asm_4a111: ; 4a111 (12:6111)
pop bc
call LoadFontsExtra
jp Function49f0a
Function4a118: ; 4a118 (12:6118)
ld hl, w2DMenuCursorInitY
ld a, $1
ld [hli], a
ld a, $d
ld [hli], a
ld a, $3
ld [hli], a
ld a, $1
ld [hli], a
ld [hl], $0
set 5, [hl]
inc hl
xor a
ld [hli], a
ld a, $20
ld [hli], a
ld a, $1
add $2
ld [hli], a
ld a, $1
ld [hli], a
ld [hli], a
ret
Function4a13b: ; 4a13b (12:613b)
call Function4a3a7
call Function4a492
call Function4a373
ld c, 10
call DelayFrames
Function4a149: ; 4a149 (12:6149)
hlcoord 1, 2
ld b, $6
ld c, $10
call Function48cdc
hlcoord 3, 4
ld de, String_4a1ef
call PlaceString
hlcoord 0, 12
ld b, $4
ld c, $12
call TextBox
ld a, [wMenuCursorY]
dec a
ld hl, Strings_4a23d
call GetNthString
ld d, h
ld e, l
hlcoord 1, 13
ld b, $4
ld c, $12
call ClearBox
hlcoord 1, 14
call PlaceString
callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap
call SetPalettes
call StaticMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
jr asm_4a19d
Function4a195: ; 4a195 (12:6195)
call ScrollingMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
asm_4a19d: ; 4a19d (12:619d)
bit 0, a
jr nz, .asm_4a1a7
bit 1, a
jr nz, .asm_4a1ba
jr .asm_4a1bc
.asm_4a1a7
ld hl, wMenuCursorY
ld a, [hl]
cp $1
jp z, Function4a20e
cp $2
jp z, Function4a221
ld a, $1
call MenuClickSound
.asm_4a1ba
pop bc
ret
.asm_4a1bc
ld hl, wMenuCursorY
ld a, [hl]
dec a
ld hl, Strings_4a23d
call GetNthString
ld d, h
ld e, l
hlcoord 1, 13
ld b, $4
ld c, $12
call ClearBox
hlcoord 1, 14
call PlaceString
jr .asm_4a1db
.asm_4a1db
call Function4a373
pop bc
ld hl, wMenuCursorY
ld [hl], b
lb bc, 6, 1
hlcoord 2, 3
call ClearBox
jp Function4a195
; 4a1ef (12:61ef)
String_4a1ef: ; 4a1ef
db "モバイルセンター¯えらぶ"
next "ログインパスワード¯いれる"
next "もどる@"
; 4a20e
Function4a20e: ; 4a20e (12:620e)
ld a, $1
call MenuClickSound
callba Function1719c8
call ClearBGPalettes
call DelayFrame
jr Function4a239
Function4a221: ; 4a221 (12:6221)
ld a, $1
call MenuClickSound
call Function4a28a
jr c, Function4a239
call Function4a373
ld a, $2
ld [wMenuCursorY], a
jr .asm_4a235
.asm_4a235
pop bc
jp Function4a149
Function4a239: ; 4a239 (12:6239)
pop bc
jp Function4a13b
; 4a23d (12:623d)
Strings_4a23d: ; 4a23d
db "いつも せつぞく¯する"
next "モバイルセンター¯えらびます@"
db "モバイルセンター", $1d, "せつぞくするとき"
next "つかうパスワード¯ほぞんできます@"
db "まえ%がめん ", $1d, "もどります@"
db "@"
; 4a28a
Function4a28a: ; 4a28a (12:628a)
hlcoord 2, 3
lb bc, 6, 1
ld a, " "
call Function4a6d8
call PlaceHollowCursor
call WaitBGMap
call LoadStandardMenuDataHeader
ld a, $5
call GetSRAMBank
ld a, [$aa4b]
call CloseSRAM
and a
jr z, .asm_4a2df
hlcoord 12, 0
ld b, $5
ld c, $6
call Function48cdc
hlcoord 14, 1
ld de, String_4a34b
call PlaceString
callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap
call Function4a118
call ScrollingMenuJoypad
push af
call PlayClickSFX
pop af
bit B_BUTTON_F, a
jr nz, .quit
ld a, [wMenuCursorY]
cp $2
jr z, .DeleteLoginPassword
cp $3
jr z, .quit
.asm_4a2df
callba Function11765d
call ClearBGPalettes
call Call_ExitMenu
call LoadFontsExtra
scf
ret
.DeleteLoginPassword:
call PlaceHollowCursor
ld hl, UnknownText_0x4a358
call PrintText
hlcoord 14, 7
ld b, 3
ld c, 4
call TextBox
callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap
ld hl, DeletePassword_YesNo_MenuDataHeader
call LoadMenuDataHeader
call VerticalMenu
bit B_BUTTON_F, a
jr nz, .dont_delete_password
ld a, [wMenuCursorY]
cp $2
jr z, .dont_delete_password
ld a, BANK(sMobileLoginPassword)
call GetSRAMBank
ld hl, sMobileLoginPassword
xor a
ld bc, MOBILE_LOGIN_PASSWORD_LENGTH
call ByteFill
call CloseSRAM
ld hl, UnknownText_0x4a35d
call PrintText
call JoyWaitAorB
.dont_delete_password
call ExitMenu
.quit
call Call_ExitMenu
callba Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap
xor a
ret
; 4a346 (12:6346)
MenuDataHeader_0x4a346: ; 0x4a346
db $40 ; flags
db 00, 12 ; start coords
db 06, 19 ; end coords
String_4a34b: ; 4a34b
db "いれなおす"
next "けす"
next "もどる@"
; 4a358
UnknownText_0x4a358: ; 0x4a358
; Delete the saved LOG-IN PASSWORD?
text_jump UnknownText_0x1c5196
db "@"
; 0x4a35d
UnknownText_0x4a35d: ; 0x4a35d
; Deleted the LOG-IN PASSWORD.
text_jump UnknownText_0x1c51b9
db "@"
; 0x4a362
DeletePassword_YesNo_MenuDataHeader: ; 0x4a362
db $40 ; flags
db 07, 14 ; start coords
db 11, 19 ; end coords
dw MenuData2_0x4a36a
db 2 ; default option
; 0x4a36a
MenuData2_0x4a36a: ; 0x4a36a
db $e0 ; flags
db 2 ; items
db "はい@"
db "いいえ@"
; 0x4a373
Function4a373: ; 4a373 (12:6373)
ld hl, w2DMenuCursorInitY
ld a, $4
ld [hli], a
ld a, $2
ld [hli], a
ld a, $3
ld [hli], a
ld a, $1
ld [hli], a
ld [hl], $0
set 5, [hl]
inc hl
xor a
ld [hli], a
ld a, $20
ld [hli], a
ld a, $1
add $40
add $80
add $2
ld [hli], a
ld a, $1
ld [hli], a
ld [hli], a
ret
; 4a39a (12:639a)
Function4a39a: ; 4a39a
call Function4a485
call Function4a492
call Function4a3aa
call SetPalettes
ret
; 4a3a7
Function4a3a7: ; 4a3a7 (12:63a7)
call Function4a485
Function4a3aa: ; 4a3aa
hlcoord 0, 0
lb bc, 3, 1
xor a
call Function4a6d8
lb bc, 1, 1
ld a, $1
call Function4a6d8
lb bc, 1, 1
xor a
call Function4a6d8
lb bc, 1, 1
ld a, $1
call Function4a6d8
lb bc, 4, 1
ld a, $2
call Function4a6d8
lb bc, 1, 1
ld a, $3
call Function4a6d8
lb bc, 1, 1
ld a, " "
call Function4a6d8
hlcoord 1, 0
ld a, $1
lb bc, 3, 18
call Function4a6d8
lb bc, 1, 18
ld a, $0
call Function4a6d8
lb bc, 1, 18
ld a, $1
call Function4a6d8
lb bc, 1, 18
ld a, $2
call Function4a6d8
lb bc, 11, 18
ld a, " "
call Function4a6d8
hlcoord 19, 0
lb bc, 3, 1
ld a, $0
call Function4a6d8
lb bc, 1, 1
ld a, $1
call Function4a6d8
lb bc, 1, 1
xor a
call Function4a6d8
lb bc, 1, 1
ld a, $1
call Function4a6d8
lb bc, 4, 1
ld a, $2
call Function4a6d8
lb bc, 1, 1
ld a, $3
call Function4a6d8
lb bc, 1, 1
ld a, " "
call Function4a6d8
ret
; 4a449 (12:6449)
Function4a449: ; 4a449
ld bc, 3 * SCREEN_WIDTH
ld a, $0
hlcoord 0, 0
call ByteFill
ld bc, 2 * SCREEN_WIDTH
ld a, $1
call ByteFill
ld bc, 2 * SCREEN_WIDTH
ld a, $0
call ByteFill
ld bc, 2 * SCREEN_WIDTH
ld a, $1
call ByteFill
ld bc, SCREEN_WIDTH
ld a, $2
call ByteFill
ld bc, SCREEN_WIDTH
ld a, $3
call ByteFill
ld bc, SCREEN_WIDTH
ld a, " "
call ByteFill
ret
; 4a485
Function4a485: ; 4a485 (12:6485)
ld de, GFX_49c0c
ld hl, VTiles2 tile $00
lb bc, BANK(GFX_49c0c), 13
call Get2bpp
ret
Function4a492: ; 4a492 (12:6492)
call MG_Mobile_Layout00
ret
MainMenu_MobileStudium: ; 4a496
ld a, [StartDay]
ld b, a
ld a, [StartHour]
ld c, a
ld a, [StartMinute]
ld d, a
ld a, [StartSecond]
ld e, a
push bc
push de
callba MobileStudium
call ClearBGPalettes
pop de
pop bc
ld a, b
ld [StartDay], a
ld a, c
ld [StartHour], a
ld a, d
ld [StartMinute], a
ld a, e
ld [StartSecond], a
ret
; 4a4c4
Function4a4c4: ; 4a4c4 (12:64c4)
call ClearBGPalettes
call Function4a3a7
call Function4a492
call Function4a680
call ClearBGPalettes
ld c, 20
call DelayFrames
hlcoord 2, 0
ld b, $a
ld c, $e
call Function48cdc
hlcoord 4, 2
ld de, String_4a5c5
call PlaceString
hlcoord 4, 4
ld de, String_4a5cd
call PlaceString
hlcoord 4, 6
ld de, String_4a5da
call PlaceString
hlcoord 4, 8
ld de, String_4a5e6
call PlaceString
hlcoord 4, 10
ld de, String_4a5f2
call PlaceString
hlcoord 0, 12
ld b, $4
ld c, $12
call TextBox
xor a
ld hl, Strings_4a5f6
ld d, h
ld e, l
hlcoord 1, 14
call PlaceString
ld a, $1
ld hl, Strings_4a5f6
call GetNthString
ld d, h
ld e, l
hlcoord 1, 16
call PlaceString
call WaitBGMap2
call SetPalettes
call StaticMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
jr asm_4a54d
Function4a545: ; 4a545 (12:6545)
call ScrollingMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
asm_4a54d: ; 4a54d (12:654d)
bit 0, a
jr nz, .asm_4a557
bit 1, a
jr nz, .asm_4a574
jr .asm_4a57e
.asm_4a557
ld hl, wMenuCursorY
ld a, [hl]
cp $1
jp z, Function4a6ab
cp $2
jp z, Function4a6ab
cp $3
jp z, Function4a6ab
cp $4
jp z, Function4a6ab
ld a, $1
call MenuClickSound
.asm_4a574
pop bc
call ClearBGPalettes
call ClearTileMap
jp Function49f0a
.asm_4a57e
ld hl, wMenuCursorY
ld a, [hl]
dec a
add a
push af
ld hl, Strings_4a5f6
call GetNthString
ld d, h
ld e, l
hlcoord 1, 13
ld b, $4
ld c, $12
call ClearBox
hlcoord 1, 14
call PlaceString
pop af
inc a
ld hl, Strings_4a5f6
call GetNthString
ld d, h
ld e, l
hlcoord 1, 16
call PlaceString
jp Function4a5b0
Function4a5b0: ; 4a5b0 (12:65b0)
call Function4a680
pop bc
ld hl, wMenuCursorY
ld [hl], b
ld b, $a
ld c, $1
hlcoord 3, 1
call ClearBox
jp Function4a545
; 4a5c5 (12:65c5)
String_4a5c5: ; 4a5c5
db "じこしょうかい@"
String_4a5cd: ; 4a5cd
db "たいせん ", $4a, "はじまるとき@"
String_4a5da: ; 4a5da
db "たいせん ", $1d, "かったとき@"
String_4a5e6: ; 4a5e6
db "たいせん ", $1d, "まけたとき@"
String_4a5f2: ; 4a5f2
db "もどる@"
; 4a5f6
Strings_4a5f6: ; 4a5f6
db "めいし や ニュース ", $1d, "のせる@"
db "あなた%あいさつです@"
db "モバイル たいせん", $4a, "はじまるとき@"
db "あいて", $1d, "みえる あいさつです@"
db "モバイル たいせんで かったとき@"
db "あいて", $1d, "みえる あいさつです@"
db "モバイル たいせんで まけたとき@"
db "あいて", $1d, "みえる あいさつです@"
db "まえ%がめん ", $1d, "もどります@"
db "@"
; 4a680
Function4a680: ; 4a680 (12:6680)
ld hl, w2DMenuCursorInitY
ld a, $2
ld [hli], a
ld a, $3
ld [hli], a
ld a, $5
ld [hli], a
ld a, $1
ld [hli], a
ld [hl], $0
set 5, [hl]
inc hl
xor a
ld [hli], a
ld a, $20
ld [hli], a
ld a, $1
add $40
add $80
add $2
ld [hli], a
ld a, $1
ld [hli], a
ld [hli], a
xor a
ld [hli], a
ld [hli], a
ld [hli], a
ret
Function4a6ab: ; 4a6ab (12:66ab)
ld a, $2
call MenuClickSound
call ClearBGPalettes
ld b, SCGB_DIPLOMA
call GetSGBLayout
callba Function11c1ab
pop bc
call LoadFontsExtra
jp Function4a4c4
Function4a6c5: ; 4a6c5 (12:66c5)
ld a, $5
ld [MusicFade], a
ld a, e
ld [MusicFadeID], a
ld a, d
ld [MusicFadeID + 1], a
ld c, 22
call DelayFrames
ret
Function4a6d8: ; 4a6d8 (12:66d8)
push bc
push hl
.asm_4a6da
ld [hli], a
dec c
jr nz, .asm_4a6da
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
jr nz, Function4a6d8
ret