mirror of
https://github.com/pret/pokered.git
synced 2024-10-23 06:58:24 +00:00
699 lines
11 KiB
NASM
699 lines
11 KiB
NASM
|
LoadSAV: ; 735e8 (1c:75e8)
|
||
|
;(if carry -> write
|
||
|
;"the file data is destroyed")
|
||
|
call ClearScreen
|
||
|
call LoadFontTilePatterns
|
||
|
call LoadTextBoxTilePatterns
|
||
|
call LoadSAVCheckSum
|
||
|
jr c, .badsum
|
||
|
call LoadSAVCheckSum1
|
||
|
jr c, .badsum
|
||
|
call LoadSAVCheckSum2
|
||
|
jr c, .badsum
|
||
|
ld a, $2 ; good checksum
|
||
|
jr .goodsum
|
||
|
.badsum
|
||
|
ld hl, $d730
|
||
|
push hl
|
||
|
set 6, [hl]
|
||
|
ld hl, FileDataDestroyedText
|
||
|
call PrintText
|
||
|
ld c, $64
|
||
|
call DelayFrames
|
||
|
pop hl
|
||
|
res 6, [hl]
|
||
|
ld a, $1 ; bad checksum
|
||
|
.goodsum
|
||
|
ld [$d088], a ; checksum flag
|
||
|
ret
|
||
|
|
||
|
FileDataDestroyedText: ; 7361e (1c:761e)
|
||
|
TX_FAR _FileDataDestroyedText
|
||
|
db "@"
|
||
|
|
||
|
LoadSAVCheckSum: ; 73623 (1c:7623)
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
ld [$4000], a
|
||
|
ld hl, $a598 ; hero name located in SRAM
|
||
|
ld bc, $f8b ; but here checks the full SAV
|
||
|
call SAVCheckSum
|
||
|
ld c, a
|
||
|
ld a, [$b523] ; SAV's checksum
|
||
|
cp c
|
||
|
jp z, .Func_73652
|
||
|
ld hl, $a598
|
||
|
ld bc, $f8b
|
||
|
call SAVCheckSum
|
||
|
ld c, a
|
||
|
ld a, [$b523] ; SAV's checksum
|
||
|
cp c
|
||
|
jp nz, SAVBadCheckSum
|
||
|
|
||
|
.Func_73652 ; 73652 (1c:7652)
|
||
|
ld hl, $a598
|
||
|
ld de, W_PLAYERNAME ; $d158
|
||
|
ld bc, $b
|
||
|
call CopyData
|
||
|
ld hl, $a5a3
|
||
|
ld de, wPokedexOwned ; $d2f7
|
||
|
ld bc, $789
|
||
|
call CopyData
|
||
|
ld hl, W_CURMAPTILESET ; $d367
|
||
|
set 7, [hl]
|
||
|
ld hl, $ad2c
|
||
|
ld de, wSpriteStateData1
|
||
|
ld bc, $200
|
||
|
call CopyData
|
||
|
ld a, [$b522]
|
||
|
ld [$ffd7], a
|
||
|
ld hl, $b0c0
|
||
|
ld de, W_NUMINBOX ; $da80
|
||
|
ld bc, $462
|
||
|
call CopyData
|
||
|
and a
|
||
|
jp SAVGoodChecksum
|
||
|
|
||
|
LoadSAVCheckSum1: ; 73690 (1c:7690)
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
ld [$4000], a
|
||
|
ld hl, $a598 ; hero name located in SRAM
|
||
|
ld bc, $f8b ; but here checks the full SAV
|
||
|
call SAVCheckSum
|
||
|
ld c, a
|
||
|
ld a, [$b523] ; SAV's checksum
|
||
|
cp c
|
||
|
jr nz, SAVBadCheckSum
|
||
|
ld hl, $b0c0
|
||
|
ld de, W_NUMINBOX ; $da80
|
||
|
ld bc, $462
|
||
|
call CopyData
|
||
|
and a
|
||
|
jp SAVGoodChecksum
|
||
|
|
||
|
LoadSAVCheckSum2: ; 736bd (1c:76bd)
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
ld [$4000], a
|
||
|
ld hl, $a598 ; hero name located in SRAM
|
||
|
ld bc, $f8b ; but here checks the full SAV
|
||
|
call SAVCheckSum
|
||
|
ld c, a
|
||
|
ld a, [$b523] ; SAV's checksum
|
||
|
cp c
|
||
|
jp nz, SAVBadCheckSum
|
||
|
ld hl, $af2c
|
||
|
ld de, W_NUMINPARTY ; $d163
|
||
|
ld bc, $194
|
||
|
call CopyData
|
||
|
ld hl, $a5a3
|
||
|
ld de, wPokedexOwned ; $d2f7
|
||
|
ld bc, wPokedexSeenEnd - wPokedexOwned
|
||
|
call CopyData
|
||
|
and a
|
||
|
jp SAVGoodChecksum
|
||
|
|
||
|
SAVBadCheckSum: ; 736f7 (1c:76f7)
|
||
|
scf
|
||
|
|
||
|
SAVGoodChecksum: ; 736f8 (1c:76f8)
|
||
|
ld a, $0
|
||
|
ld [$6000], a
|
||
|
ld [$0], a
|
||
|
ret
|
||
|
|
||
|
Func_73701: ; 0x73701
|
||
|
call LoadSAVCheckSum
|
||
|
call LoadSAVCheckSum1
|
||
|
jp LoadSAVCheckSum2
|
||
|
|
||
|
SaveSAV: ;$770a
|
||
|
callba PrintSaveScreenText
|
||
|
ld hl,WouldYouLikeToSaveText
|
||
|
call SaveSAVConfirm
|
||
|
and a ;|0 = Yes|1 = No|
|
||
|
ret nz
|
||
|
ld a,[$d088]
|
||
|
dec a
|
||
|
jr z,.save
|
||
|
call SAVCheckRandomID
|
||
|
jr z,.save
|
||
|
ld hl,OlderFileWillBeErasedText
|
||
|
call SaveSAVConfirm
|
||
|
and a
|
||
|
ret nz
|
||
|
.save ;$772d
|
||
|
call SaveSAVtoSRAM ;$7848
|
||
|
FuncCoord 1,13
|
||
|
ld hl,Coord
|
||
|
ld bc,$0412
|
||
|
call ClearScreenArea ; clear area 4x12 starting at 13,1
|
||
|
FuncCoord 1,14
|
||
|
ld hl,Coord
|
||
|
ld de,NowSavingString
|
||
|
call PlaceString
|
||
|
ld c,$78
|
||
|
call DelayFrames
|
||
|
ld hl,GameSavedText
|
||
|
call PrintText
|
||
|
ld a, (SFX_02_5d - SFX_Headers_02) / 3 ;sound for saved game
|
||
|
call PlaySoundWaitForCurrent
|
||
|
call WaitForSoundToFinish
|
||
|
ld c,$1e
|
||
|
jp DelayFrames
|
||
|
|
||
|
NowSavingString:
|
||
|
db "Now saving...@"
|
||
|
|
||
|
SaveSAVConfirm: ; 73768 (1c:7768)
|
||
|
call PrintText
|
||
|
FuncCoord 0, 7
|
||
|
ld hl,Coord
|
||
|
ld bc,$0801 ;arrow's coordinates |b = Y|c = X|
|
||
|
ld a,$14 ;one line shifting ($28 = 2 lines)
|
||
|
ld [$d125],a
|
||
|
call DisplayTextBoxID ;handle Yes/No KeyPress
|
||
|
ld a,[$cc26]
|
||
|
ret
|
||
|
|
||
|
WouldYouLikeToSaveText: ; 0x7377d
|
||
|
TX_FAR _WouldYouLikeToSaveText
|
||
|
db "@"
|
||
|
|
||
|
GameSavedText: ; 73782 (1c:7782)
|
||
|
TX_FAR _GameSavedText
|
||
|
db "@"
|
||
|
|
||
|
OlderFileWillBeErasedText: ; 73787 (1c:7787)
|
||
|
TX_FAR _OlderFileWillBeErasedText
|
||
|
db "@"
|
||
|
|
||
|
SaveSAVtoSRAM0: ; 7378c (1c:778c)
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
ld [$4000], a
|
||
|
ld hl, W_PLAYERNAME ; $d158
|
||
|
ld de, $a598
|
||
|
ld bc, $b
|
||
|
call CopyData
|
||
|
ld hl, wPokedexOwned ; $d2f7
|
||
|
ld de, $a5a3
|
||
|
ld bc, $789
|
||
|
call CopyData
|
||
|
ld hl, wSpriteStateData1 ; OAM?
|
||
|
ld de, $ad2c
|
||
|
ld bc, $200
|
||
|
call CopyData
|
||
|
ld hl, W_NUMINBOX ; $da80
|
||
|
ld de, $b0c0
|
||
|
ld bc, $462
|
||
|
call CopyData
|
||
|
ld a, [$ffd7]
|
||
|
ld [$b522], a
|
||
|
ld hl, $a598
|
||
|
ld bc, $f8b
|
||
|
call SAVCheckSum
|
||
|
ld [$b523], a
|
||
|
xor a
|
||
|
ld [$6000], a
|
||
|
ld [$0], a
|
||
|
ret
|
||
|
|
||
|
SaveSAVtoSRAM1: ; 737e2 (1c:77e2)
|
||
|
; stored pokémon
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
ld [$4000], a
|
||
|
ld hl, W_NUMINBOX ; $da80
|
||
|
ld de, $b0c0
|
||
|
ld bc, $462
|
||
|
call CopyData
|
||
|
ld hl, $a598
|
||
|
ld bc, $f8b
|
||
|
call SAVCheckSum
|
||
|
ld [$b523], a
|
||
|
xor a
|
||
|
ld [$6000], a
|
||
|
ld [$0], a
|
||
|
ret
|
||
|
|
||
|
SaveSAVtoSRAM2: ; 7380f (1c:780f)
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
ld [$4000], a
|
||
|
ld hl, W_NUMINPARTY ; $d163
|
||
|
ld de, $af2c
|
||
|
ld bc, $194
|
||
|
call CopyData
|
||
|
ld hl, wPokedexOwned ; pokédex only
|
||
|
ld de, $a5a3
|
||
|
ld bc, wPokedexSeenEnd - wPokedexOwned
|
||
|
call CopyData
|
||
|
ld hl, $a598
|
||
|
ld bc, $f8b
|
||
|
call SAVCheckSum
|
||
|
ld [$b523], a
|
||
|
xor a
|
||
|
ld [$6000], a
|
||
|
ld [$0], a
|
||
|
ret
|
||
|
|
||
|
SaveSAVtoSRAM: ; 73848 (1c:7848)
|
||
|
ld a, $2
|
||
|
ld [$d088], a
|
||
|
call SaveSAVtoSRAM0
|
||
|
call SaveSAVtoSRAM1
|
||
|
jp SaveSAVtoSRAM2
|
||
|
|
||
|
SAVCheckSum: ; 73856 (1c:7856)
|
||
|
;Check Sum (result[1 byte] is complemented)
|
||
|
ld d, $0
|
||
|
.loop
|
||
|
ld a, [hli]
|
||
|
add d
|
||
|
ld d, a
|
||
|
dec bc
|
||
|
ld a, b
|
||
|
or c
|
||
|
jr nz, .loop
|
||
|
ld a, d
|
||
|
cpl
|
||
|
ret
|
||
|
|
||
|
Func_73863: ; 73863 (1c:7863)
|
||
|
ld hl, $a000
|
||
|
ld de, $ba4d
|
||
|
ld b, $6
|
||
|
.asm_7386b
|
||
|
push bc
|
||
|
push de
|
||
|
ld bc, $462
|
||
|
call SAVCheckSum
|
||
|
pop de
|
||
|
ld [de], a
|
||
|
inc de
|
||
|
pop bc
|
||
|
dec b
|
||
|
jr nz, .asm_7386b
|
||
|
ret
|
||
|
|
||
|
Func_7387b: ; 7387b (1c:787b)
|
||
|
ld hl, PointerTable_73895 ; $7895
|
||
|
ld a, [$d5a0]
|
||
|
and $7f
|
||
|
cp $6
|
||
|
ld b, $2
|
||
|
jr c, .asm_7388c
|
||
|
inc b
|
||
|
sub $6
|
||
|
.asm_7388c
|
||
|
ld e, a
|
||
|
ld d, $0
|
||
|
add hl, de
|
||
|
add hl, de
|
||
|
ld a, [hli]
|
||
|
ld h, [hl]
|
||
|
ld l, a
|
||
|
ret
|
||
|
|
||
|
PointerTable_73895: ; 73895 (1c:7895)
|
||
|
dw $A000
|
||
|
dw $A462
|
||
|
dw $A8C4
|
||
|
dw $AD26
|
||
|
dw $B188
|
||
|
dw $B5EA
|
||
|
|
||
|
Func_738a1:: ; 738a1 (1c:78a1)
|
||
|
ld hl, WhenYouChangeBoxText
|
||
|
call PrintText
|
||
|
call YesNoChoice
|
||
|
ld a, [wCurrentMenuItem] ; $cc26
|
||
|
and a
|
||
|
ret nz
|
||
|
ld hl, $d5a0
|
||
|
bit 7, [hl]
|
||
|
call z, Func_73a29
|
||
|
call Func_7393f
|
||
|
call UpdateSprites
|
||
|
ld hl, $fff6
|
||
|
set 1, [hl]
|
||
|
call HandleMenuInput
|
||
|
ld hl, $fff6
|
||
|
res 1, [hl]
|
||
|
bit 1, a
|
||
|
ret nz
|
||
|
call Func_7387b
|
||
|
ld e, l
|
||
|
ld d, h
|
||
|
ld hl, W_NUMINBOX ; $da80
|
||
|
call Func_7390e
|
||
|
ld a, [wCurrentMenuItem] ; $cc26
|
||
|
set 7, a
|
||
|
ld [$d5a0], a
|
||
|
call Func_7387b
|
||
|
ld de, W_NUMINBOX ; $da80
|
||
|
call Func_7390e
|
||
|
ld hl, W_MAPTEXTPTR ; $d36c
|
||
|
ld de, wWhichTrade ; $cd3d
|
||
|
ld a, [hli]
|
||
|
ld [de], a
|
||
|
inc de
|
||
|
ld a, [hl]
|
||
|
ld [de], a
|
||
|
call Func_3f05
|
||
|
call SaveSAVtoSRAM
|
||
|
ld hl, wWhichTrade ; $cd3d
|
||
|
call Func_3f0f
|
||
|
ld a, (SFX_02_5d - SFX_Headers_02) / 3
|
||
|
call PlaySoundWaitForCurrent
|
||
|
call WaitForSoundToFinish
|
||
|
ret
|
||
|
|
||
|
WhenYouChangeBoxText: ; 73909 (1c:7909)
|
||
|
TX_FAR _WhenYouChangeBoxText
|
||
|
db "@"
|
||
|
|
||
|
Func_7390e: ; 7390e (1c:790e)
|
||
|
push hl
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
ld a, b
|
||
|
ld [$4000], a
|
||
|
ld bc, $462
|
||
|
call CopyData
|
||
|
pop hl
|
||
|
xor a
|
||
|
ld [hli], a
|
||
|
dec a
|
||
|
ld [hl], a
|
||
|
ld hl, $a000
|
||
|
ld bc, $1a4c
|
||
|
call SAVCheckSum
|
||
|
ld [$ba4c], a
|
||
|
call Func_73863
|
||
|
xor a
|
||
|
ld [$6000], a
|
||
|
ld [$0], a
|
||
|
ret
|
||
|
|
||
|
Func_7393f: ; 7393f (1c:793f)
|
||
|
xor a
|
||
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||
|
ld a, $3
|
||
|
ld [wMenuWatchedKeys], a ; $cc29
|
||
|
ld a, $b
|
||
|
ld [wMaxMenuItem], a ; $cc28
|
||
|
ld a, $1
|
||
|
ld [wTopMenuItemY], a ; $cc24
|
||
|
ld a, $c
|
||
|
ld [wTopMenuItemX], a ; $cc25
|
||
|
xor a
|
||
|
ld [$cc37], a
|
||
|
ld a, [$d5a0]
|
||
|
and $7f
|
||
|
ld [wCurrentMenuItem], a ; $cc26
|
||
|
ld [wLastMenuItem], a ; $cc2a
|
||
|
ld hl, wTileMap
|
||
|
ld b, $2
|
||
|
ld c, $9
|
||
|
call TextBoxBorder
|
||
|
ld hl, ChooseABoxText
|
||
|
call PrintText
|
||
|
FuncCoord 11, 0 ; $c3ab
|
||
|
ld hl, Coord
|
||
|
ld b, $c
|
||
|
ld c, $7
|
||
|
call TextBoxBorder
|
||
|
ld hl, $fff6
|
||
|
set 2, [hl]
|
||
|
ld de, BoxNames ; $79d9
|
||
|
FuncCoord 13, 1 ; $c3c1
|
||
|
ld hl, Coord
|
||
|
call PlaceString
|
||
|
ld hl, $fff6
|
||
|
res 2, [hl]
|
||
|
ld a, [$d5a0]
|
||
|
and $7f
|
||
|
cp $9
|
||
|
jr c, .asm_739a6
|
||
|
sub $9
|
||
|
FuncCoord 8, 2 ; $c3d0
|
||
|
ld hl, Coord
|
||
|
ld [hl], $f7
|
||
|
add $f6
|
||
|
jr .asm_739a8
|
||
|
.asm_739a6
|
||
|
add $f7
|
||
|
.asm_739a8
|
||
|
FuncCoord 9, 2 ; $c3d1
|
||
|
ld [Coord], a
|
||
|
FuncCoord 1, 2 ; $c3c9
|
||
|
ld hl, Coord
|
||
|
ld de, BoxNoText
|
||
|
call PlaceString
|
||
|
call Func_73a84
|
||
|
FuncCoord 18, 1 ; $c3c6
|
||
|
ld hl, Coord
|
||
|
ld de, wWhichTrade ; $cd3d
|
||
|
ld bc, $14
|
||
|
ld a, $c
|
||
|
.asm_739c2
|
||
|
push af
|
||
|
ld a, [de]
|
||
|
and a
|
||
|
jr z, .asm_739c9
|
||
|
ld [hl], $78
|
||
|
.asm_739c9
|
||
|
add hl, bc
|
||
|
inc de
|
||
|
pop af
|
||
|
dec a
|
||
|
jr nz, .asm_739c2
|
||
|
ld a, $1
|
||
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
||
|
ret
|
||
|
|
||
|
ChooseABoxText: ; 739d4 (1c:79d4)
|
||
|
TX_FAR _ChooseABoxText
|
||
|
db "@"
|
||
|
|
||
|
BoxNames: ; 739d9 (1c:79d9)
|
||
|
db "BOX 1"
|
||
|
next "BOX 2"
|
||
|
next "BOX 3"
|
||
|
next "BOX 4"
|
||
|
next "BOX 5"
|
||
|
next "BOX 6"
|
||
|
next "BOX 7"
|
||
|
next "BOX 8"
|
||
|
next "BOX 9"
|
||
|
next "BOX10"
|
||
|
next "BOX11"
|
||
|
next "BOX12@"
|
||
|
|
||
|
BoxNoText: ; 73a21 (1c:7a21)
|
||
|
db "BOX No.@"
|
||
|
|
||
|
Func_73a29: ; 73a29 (1c:7a29)
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
ld a, $2
|
||
|
ld [$4000], a
|
||
|
call Func_73a4b
|
||
|
ld a, $3
|
||
|
ld [$4000], a
|
||
|
call Func_73a4b
|
||
|
xor a
|
||
|
ld [$6000], a
|
||
|
ld [$0], a
|
||
|
ret
|
||
|
|
||
|
Func_73a4b: ; 73a4b (1c:7a4b)
|
||
|
ld hl, $a000
|
||
|
call Func_73a7f
|
||
|
ld hl, $a462
|
||
|
call Func_73a7f
|
||
|
ld hl, $a8c4
|
||
|
call Func_73a7f
|
||
|
ld hl, $ad26
|
||
|
call Func_73a7f
|
||
|
ld hl, $b188
|
||
|
call Func_73a7f
|
||
|
ld hl, $b5ea
|
||
|
call Func_73a7f
|
||
|
ld hl, $a000
|
||
|
ld bc, $1a4c
|
||
|
call SAVCheckSum
|
||
|
ld [$ba4c], a
|
||
|
call Func_73863
|
||
|
ret
|
||
|
|
||
|
Func_73a7f: ; 73a7f (1c:7a7f)
|
||
|
xor a
|
||
|
ld [hli], a
|
||
|
dec a
|
||
|
ld [hl], a
|
||
|
ret
|
||
|
|
||
|
Func_73a84: ; 73a84 (1c:7a84)
|
||
|
ld hl, wWhichTrade ; $cd3d
|
||
|
push hl
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
ld a, $2
|
||
|
ld [$4000], a
|
||
|
call Func_73ab8
|
||
|
ld a, $3
|
||
|
ld [$4000], a
|
||
|
call Func_73ab8
|
||
|
xor a
|
||
|
ld [$6000], a
|
||
|
ld [$0], a
|
||
|
pop hl
|
||
|
ld a, [$d5a0]
|
||
|
and $7f
|
||
|
ld c, a
|
||
|
ld b, $0
|
||
|
add hl, bc
|
||
|
ld a, [W_NUMINBOX] ; $da80
|
||
|
ld [hl], a
|
||
|
ret
|
||
|
|
||
|
Func_73ab8: ; 73ab8 (1c:7ab8)
|
||
|
ld a, [$a000]
|
||
|
ld [hli], a
|
||
|
ld a, [$a462]
|
||
|
ld [hli], a
|
||
|
ld a, [$a8c4]
|
||
|
ld [hli], a
|
||
|
ld a, [$ad26]
|
||
|
ld [hli], a
|
||
|
ld a, [$b188]
|
||
|
ld [hli], a
|
||
|
ld a, [$b5ea]
|
||
|
ld [hli], a
|
||
|
ret
|
||
|
|
||
|
SAVCheckRandomID: ;$7ad1
|
||
|
;checks if Sav file is the same by checking player's name 1st letter ($a598)
|
||
|
; and the two random numbers generated at game beginning
|
||
|
;(which are stored at $d359-d35a)
|
||
|
ld a,$0a
|
||
|
ld [$0000],a
|
||
|
ld a,$01
|
||
|
ld [$6000],a
|
||
|
ld [$4000],a
|
||
|
ld a,[$a598]
|
||
|
and a
|
||
|
jr z,.next
|
||
|
ld hl,$a598
|
||
|
ld bc,$0f8b
|
||
|
call SAVCheckSum
|
||
|
ld c,a
|
||
|
ld a,[$b523]
|
||
|
cp c
|
||
|
jr nz,.next
|
||
|
ld hl,$a605
|
||
|
ld a,[hli]
|
||
|
ld h,[hl]
|
||
|
ld l,a
|
||
|
ld a,[$d359]
|
||
|
cp l
|
||
|
jr nz,.next
|
||
|
ld a,[$d35a]
|
||
|
cp h
|
||
|
.next
|
||
|
ld a,$00
|
||
|
ld [$6000],a
|
||
|
ld [$0000],a
|
||
|
ret
|
||
|
|
||
|
Func_73b0d: ; 73b0d (1c:7b0d)
|
||
|
ld a, [$d5a2]
|
||
|
dec a
|
||
|
cp $32
|
||
|
jr nc, .asm_73b28
|
||
|
ld hl, $a598
|
||
|
ld bc, $60
|
||
|
call AddNTimes
|
||
|
ld e, l
|
||
|
ld d, h
|
||
|
ld hl, $cc5b
|
||
|
ld bc, $60
|
||
|
jr CopyToSRAM0
|
||
|
.asm_73b28
|
||
|
ld hl, $a5f8
|
||
|
ld de, $a598
|
||
|
ld bc, $1260
|
||
|
call CopyToSRAM0
|
||
|
ld hl, $cc5b
|
||
|
ld de, $b7f8
|
||
|
ld bc, $60
|
||
|
jr CopyToSRAM0
|
||
|
|
||
|
Func_73b3f: ; 73b3f (1c:7b3f)
|
||
|
ld hl, $a598
|
||
|
ld bc, $60
|
||
|
ld a, [wWhichTrade] ; $cd3d
|
||
|
call AddNTimes
|
||
|
ld de, $cc5b
|
||
|
ld bc, $60
|
||
|
; fallthrough
|
||
|
CopyToSRAM0: ; 73b51 (1c:7b51)
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
xor a
|
||
|
ld [$4000], a
|
||
|
call CopyData
|
||
|
xor a
|
||
|
ld [$6000], a
|
||
|
ld [$0], a
|
||
|
ret
|
||
|
|
||
|
Func_73b6a: ; 73b6a (1c:7b6a)
|
||
|
ld a, $a
|
||
|
ld [$0], a
|
||
|
ld a, $1
|
||
|
ld [$6000], a
|
||
|
xor a
|
||
|
call PadSRAM_FF
|
||
|
ld a, $1
|
||
|
call PadSRAM_FF
|
||
|
ld a, $2
|
||
|
call PadSRAM_FF
|
||
|
ld a, $3
|
||
|
call PadSRAM_FF
|
||
|
xor a
|
||
|
ld [$6000], a
|
||
|
ld [$0], a
|
||
|
ret
|
||
|
|
||
|
PadSRAM_FF: ; 73b8f (1c:7b8f)
|
||
|
ld [$4000], a
|
||
|
ld hl, $a000
|
||
|
ld bc, $2000
|
||
|
ld a, $ff
|
||
|
jp FillMemory
|