Use labels instead of constants for HRAM

Use explicit ldh instruction to access HRAM locations, don't rely on optimizing ld
This commit is contained in:
Rangi
2018-08-25 14:28:22 -04:00
parent 376c64468b
commit eb1e3636bb
243 changed files with 4706 additions and 4661 deletions

View File

@@ -2,12 +2,12 @@ Reset::
di
call MapSetup_Sound_Off
xor a
ld [hMapAnims], a
ldh [hMapAnims], a
call ClearPalettes
xor a
ld [rIF], a
ldh [rIF], a
ld a, 1 ; VBlank int
ld [rIE], a
ldh [rIE], a
ei
ld hl, wcfbe
@@ -28,40 +28,40 @@ _Start::
ld a, $1
.load
ld [hCGB], a
ldh [hCGB], a
ld a, $1
ld [hSystemBooted], a
ldh [hSystemBooted], a
Init::
di
xor a
ld [rIF], a
ld [rIE], a
ld [rRP], a
ld [rSCX], a
ld [rSCY], a
ld [rSB], a
ld [rSC], a
ld [rWX], a
ld [rWY], a
ld [rBGP], a
ld [rOBP0], a
ld [rOBP1], a
ld [rTMA], a
ld [rTAC], a
ldh [rIF], a
ldh [rIE], a
ldh [rRP], a
ldh [rSCX], a
ldh [rSCY], a
ldh [rSB], a
ldh [rSC], a
ldh [rWX], a
ldh [rWY], a
ldh [rBGP], a
ldh [rOBP0], a
ldh [rOBP1], a
ldh [rTMA], a
ldh [rTAC], a
ld [WRAM1_Begin], a
ld a, %100 ; Start timer at 4096Hz
ld [rTAC], a
ldh [rTAC], a
.wait
ld a, [rLY]
ldh a, [rLY]
cp LY_VBLANK + 1
jr nz, .wait
xor a
ld [rLCDC], a
ldh [rLCDC], a
; Clear WRAM bank 0
ld hl, WRAM0_Begin
@@ -77,22 +77,22 @@ Init::
ld sp, wStack
; Clear HRAM
ld a, [hCGB]
ldh a, [hCGB]
push af
ld a, [hSystemBooted]
ldh a, [hSystemBooted]
push af
xor a
ld hl, HRAM_Begin
ld bc, HRAM_End - HRAM_Begin
call ByteFill
pop af
ld [hSystemBooted], a
ldh [hSystemBooted], a
pop af
ld [hCGB], a
ldh [hCGB], a
call ClearWRAM
ld a, 1
ld [rSVBK], a
ldh [rSVBK], a
call ClearVRAM
call ClearSprites
call ClearsScratch
@@ -103,21 +103,21 @@ Init::
call WriteOAMDMACodeToHRAM
xor a
ld [hMapAnims], a
ld [hSCX], a
ld [hSCY], a
ld [rJOYP], a
ldh [hMapAnims], a
ldh [hSCX], a
ldh [hSCY], a
ldh [rJOYP], a
ld a, $8 ; HBlank int enable
ld [rSTAT], a
ldh [rSTAT], a
ld a, $90
ld [hWY], a
ld [rWY], a
ldh [hWY], a
ldh [rWY], a
ld a, 7
ld [hWX], a
ld [rWX], a
ldh [hWX], a
ldh [rWX], a
ld a, LCDC_DEFAULT ; %11100011
; LCD on
@@ -128,17 +128,17 @@ Init::
; OBJ 8x8
; OBJ on
; BG on
ld [rLCDC], a
ldh [rLCDC], a
ld a, CONNECTION_NOT_ESTABLISHED
ld [hSerialConnectionStatus], a
ldh [hSerialConnectionStatus], a
farcall InitCGBPals
ld a, HIGH(vBGMap1)
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
xor a ; LOW(vBGMap1)
ld [hBGMapAddress], a
ldh [hBGMapAddress], a
farcall StartClock
@@ -146,16 +146,16 @@ Init::
ld [MBC3LatchClock], a
ld [MBC3SRamEnable], a
ld a, [hCGB]
ldh a, [hCGB]
and a
jr z, .no_double_speed
call NormalSpeed
.no_double_speed
xor a
ld [rIF], a
ldh [rIF], a
ld a, %1111 ; VBlank, LCDStat, Timer, Serial interrupts
ld [rIE], a
ldh [rIE], a
ei
call DelayFrame
@@ -171,11 +171,11 @@ ClearVRAM::
; Wipe VRAM banks 0 and 1
ld a, 1
ld [rVBK], a
ldh [rVBK], a
call .clear
xor a ; 0
ld [rVBK], a
ldh [rVBK], a
.clear
ld hl, VRAM_Begin
ld bc, VRAM_End - VRAM_Begin
@@ -190,7 +190,7 @@ ClearWRAM::
ld a, 1
.bank_loop
push af
ld [rSVBK], a
ldh [rSVBK], a
xor a
ld hl, WRAM1_Begin
ld bc, WRAM1_End - WRAM1_Begin