You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Document hardcoded SRAM addresses.
This commit is contained in:
@@ -21,7 +21,7 @@ CheckBattleScene: ; 4ea44
|
|||||||
|
|
||||||
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
ld a, [$a60c]
|
ld a, [$a60c] ; address of MBC30 bank
|
||||||
ld c, a
|
ld c, a
|
||||||
call CloseSRAM
|
call CloseSRAM
|
||||||
|
|
||||||
|
@@ -234,7 +234,7 @@ BattleTurn: ; 3c12f
|
|||||||
MobileFn_3c1bf: mobile
|
MobileFn_3c1bf: mobile
|
||||||
ld a, 5 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
ld a, 5 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
ld hl, $a89b ; s5_a89b
|
ld hl, $a89b ; address of MBC30 bank
|
||||||
inc [hl]
|
inc [hl]
|
||||||
jr nz, .finish
|
jr nz, .finish
|
||||||
dec hl
|
dec hl
|
||||||
|
@@ -1563,10 +1563,10 @@ Function10578c: ; 10578c (41:578c)
|
|||||||
inc de
|
inc de
|
||||||
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
ld hl, $a603
|
ld hl, $a603 ; address of MBC30 bank
|
||||||
ld bc, $8
|
ld bc, $8
|
||||||
call CopyBytes
|
call CopyBytes
|
||||||
ld hl, $a007
|
ld hl, $a007 ; address of MBC30 bank
|
||||||
ld bc, $c
|
ld bc, $c
|
||||||
call CopyBytes
|
call CopyBytes
|
||||||
call CloseSRAM
|
call CloseSRAM
|
||||||
|
@@ -148,12 +148,12 @@ Function140ae: ; 140ae
|
|||||||
; mobile
|
; mobile
|
||||||
ld a, 5 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
ld a, 5 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
ld a, [$aa8c]
|
ld a, [$aa8c] ; address of MBC30 bank
|
||||||
inc a
|
inc a
|
||||||
ld [$aa8c], a
|
ld [$aa8c], a ; address of MBC30 bank
|
||||||
ld a, [$b2fa]
|
ld a, [$b2fa] ; address of MBC30 bank
|
||||||
inc a
|
inc a
|
||||||
ld [$b2fa], a
|
ld [$b2fa], a ; address of MBC30 bank
|
||||||
call CloseSRAM
|
call CloseSRAM
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
@@ -421,7 +421,7 @@ Function14d18: ; 14d18
|
|||||||
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
ld hl, .Data
|
ld hl, .Data
|
||||||
ld de, $a007
|
ld de, $a007 ; address of MBC30 bank
|
||||||
ld bc, .DataEnd - .Data
|
ld bc, .DataEnd - .Data
|
||||||
call CopyBytes
|
call CopyBytes
|
||||||
jp CloseSRAM
|
jp CloseSRAM
|
||||||
@@ -456,7 +456,7 @@ Function14d6c: ; 14d6c
|
|||||||
; XXX
|
; XXX
|
||||||
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
ld a, [$a60b]
|
ld a, [$a60b] ; address of MBC30 bank
|
||||||
ld b, $0
|
ld b, $0
|
||||||
and a
|
and a
|
||||||
jr z, .ok
|
jr z, .ok
|
||||||
@@ -464,7 +464,7 @@ Function14d6c: ; 14d6c
|
|||||||
|
|
||||||
.ok
|
.ok
|
||||||
ld a, b
|
ld a, b
|
||||||
ld [$a60b], a
|
ld [$a60b], a ; address of MBC30 bank
|
||||||
call CloseSRAM
|
call CloseSRAM
|
||||||
ret
|
ret
|
||||||
; 14d83
|
; 14d83
|
||||||
@@ -474,8 +474,8 @@ Function14d83: ; 14d83
|
|||||||
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
xor a
|
xor a
|
||||||
ld [$a60c], a
|
ld [$a60c], a ; address of MBC30 bank
|
||||||
ld [$a60d], a
|
ld [$a60d], a ; address of MBC30 bank
|
||||||
call CloseSRAM
|
call CloseSRAM
|
||||||
ret
|
ret
|
||||||
; 14d93
|
; 14d93
|
||||||
@@ -485,7 +485,7 @@ Function14d93: ; 14d93
|
|||||||
ld a, 7 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
ld a, 7 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
xor a
|
xor a
|
||||||
ld [$a000], a
|
ld [$a000], a ; address of MBC30 bank
|
||||||
call CloseSRAM
|
call CloseSRAM
|
||||||
ret
|
ret
|
||||||
; 14da0
|
; 14da0
|
||||||
@@ -873,6 +873,11 @@ VerifyBackupChecksum: ; 1507c (5:507c)
|
|||||||
|
|
||||||
|
|
||||||
_SaveData: ; 1509a
|
_SaveData: ; 1509a
|
||||||
|
; This is called within two scenarios:
|
||||||
|
; a) ErasePreviousSave (the process of erasing the save from a previous game file)
|
||||||
|
; b) unused mobile functionality
|
||||||
|
; It is not part of a regular save.
|
||||||
|
|
||||||
ld a, BANK(sCrystalData)
|
ld a, BANK(sCrystalData)
|
||||||
call GetSRAMBank
|
call GetSRAMBank
|
||||||
ld hl, wCrystalData
|
ld hl, wCrystalData
|
||||||
@@ -880,7 +885,11 @@ _SaveData: ; 1509a
|
|||||||
ld bc, wCrystalDataEnd - wCrystalData
|
ld bc, wCrystalDataEnd - wCrystalData
|
||||||
call CopyBytes
|
call CopyBytes
|
||||||
|
|
||||||
; XXX SRAM bank 7
|
; This block originally had some mobile functionality, but since we're still in
|
||||||
|
; BANK(sCrystalData), it instead overwrites the sixteen EventFlags starting at 1:a603 with
|
||||||
|
; garbage from wd479. This isn't an issue, since ErasePreviousSave is followed by a regular
|
||||||
|
; save that unwrites the garbage.
|
||||||
|
|
||||||
ld hl, wd479
|
ld hl, wd479
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [$a60e + 0], a
|
ld [$a60e + 0], a
|
||||||
@@ -897,8 +906,10 @@ _LoadData: ; 150b9
|
|||||||
ld de, wCrystalData
|
ld de, wCrystalData
|
||||||
ld bc, wCrystalDataEnd - wCrystalData
|
ld bc, wCrystalDataEnd - wCrystalData
|
||||||
call CopyBytes
|
call CopyBytes
|
||||||
|
|
||||||
; XXX SRAM bank 7
|
; This block originally had some mobile functionality to mirror _SaveData above, but instead it
|
||||||
|
; (harmlessly) writes the aforementioned EventFlags to the unused wd479.
|
||||||
|
|
||||||
ld hl, wd479
|
ld hl, wd479
|
||||||
ld a, [$a60e + 0]
|
ld a, [$a60e + 0]
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
Reference in New Issue
Block a user