Replace hardware_constants.asm with the community-standard hardware.inc 5.0 (#1186)

This commit is contained in:
Rangi
2025-06-23 09:11:33 -04:00
committed by GitHub
parent ae7ee67d21
commit 4c540aa43b
149 changed files with 3444 additions and 3103 deletions

View File

@@ -116,16 +116,16 @@ Function1040d4: ; unreferenced
ld a, $1
ldh [rVBK], a
ld a, BANK(w3_d800)
ldh [rSVBK], a
ldh [rWBK], a
ld de, w3_d800
ldh a, [hBGMapAddress + 1]
ldh [rHDMA1], a
ldh [rVDMA_SRC_HIGH], a
ldh a, [hBGMapAddress]
ldh [rHDMA2], a
ldh [rVDMA_SRC_LOW], a
ld a, d
ldh [rHDMA3], a
ldh [rVDMA_DEST_HIGH], a
ld a, e
ldh [rHDMA4], a
ldh [rVDMA_DEST_LOW], a
ld a, $23
ldh [hDMATransfer], a
call WaitDMATransfer
@@ -139,7 +139,7 @@ Function1040fb: ; unreferenced
ld a, $1
ldh [rVBK], a
ld a, BANK(w3_d800)
ldh [rSVBK], a
ldh [rWBK], a
ld hl, w3_d800
call HDMATransferToWRAMBank3
ret
@@ -210,10 +210,10 @@ CallInSafeGFXMode:
xor a
ldh [hBGMapMode], a
ldh [hMapAnims], a
ldh a, [rSVBK]
ldh a, [rWBK]
push af
ld a, BANK(wScratchTilemap)
ldh [rSVBK], a
ldh [rWBK], a
ldh a, [rVBK]
push af
@@ -222,7 +222,7 @@ CallInSafeGFXMode:
pop af
ldh [rVBK], a
pop af
ldh [rSVBK], a
ldh [rWBK], a
pop af
ldh [hMapAnims], a
pop af
@@ -278,19 +278,19 @@ HDMATransfer_NoDI:
ld e, a
ld c, 2 * SCREEN_HEIGHT
; [rHDMA1, rHDMA2] = hl & $fff0
; [rVDMA_SRC_HIGH, rVDMA_SRC_LOW] = hl & $fff0
ld a, h
ldh [rHDMA1], a
ldh [rVDMA_SRC_HIGH], a
ld a, l
and $f0
ldh [rHDMA2], a
; [rHDMA3, rHDMA4] = de & $1ff0
ldh [rVDMA_SRC_LOW], a
; [rVDMA_DEST_HIGH, rVDMA_DEST_LOW] = de & $1ff0
ld a, d
and $1f
ldh [rHDMA3], a
ldh [rVDMA_DEST_HIGH], a
ld a, e
and $f0
ldh [rHDMA4], a
ldh [rVDMA_DEST_LOW], a
; b = c | %10000000
ld a, c
dec c
@@ -308,11 +308,11 @@ HDMATransfer_NoDI:
; while not [rSTAT] & 3: pass
.loop2
ldh a, [rSTAT]
and $3
and STAT_MODE
jr z, .loop2
; load the 5th byte of HDMA
ld a, b
ldh [rHDMA5], a
ldh [rVDMA_LEN], a
; wait until rLY advances (c + 1) times
ldh a, [rLY]
inc c
@@ -323,7 +323,7 @@ HDMATransfer_NoDI:
ld a, [hl]
dec c
jr nz, .loop3
ld hl, rHDMA5
ld hl, rVDMA_LEN
res 7, [hl]
ret
@@ -335,19 +335,19 @@ HDMATransfer_WaitForScanline128:
ld b, $7f
_continue_HDMATransfer:
; a lot of waiting around for hardware registers
; [rHDMA1, rHDMA2] = hl & $fff0
; [rVDMA_SRC_HIGH, rVDMA_SRC_LOW] = hl & $fff0
ld a, h
ldh [rHDMA1], a
ldh [rVDMA_SRC_HIGH], a
ld a, l
and $f0 ; high nybble
ldh [rHDMA2], a
; [rHDMA3, rHDMA4] = de & $1ff0
ldh [rVDMA_SRC_LOW], a
; [rVDMA_DEST_HIGH, rVDMA_DEST_LOW] = de & $1ff0
ld a, d
and $1f ; lower 5 bits
ldh [rHDMA3], a
ldh [rVDMA_DEST_HIGH], a
ld a, e
and $f0 ; high nybble
ldh [rHDMA4], a
ldh [rVDMA_DEST_LOW], a
; e = c | %10000000
ld a, c
dec c
@@ -367,16 +367,16 @@ _continue_HDMATransfer:
; while [rSTAT] & 3: pass
.rstat_loop_1
ldh a, [rSTAT]
and $3
and STAT_MODE
jr nz, .rstat_loop_1
; while not [rSTAT] & 3: pass
.rstat_loop_2
ldh a, [rSTAT]
and $3
and STAT_MODE
jr z, .rstat_loop_2
; load the 5th byte of HDMA
ld a, e
ldh [rHDMA5], a
ldh [rVDMA_LEN], a
; wait until rLY advances (c + 1) times
ldh a, [rLY]
inc c
@@ -387,7 +387,7 @@ _continue_HDMATransfer:
ld a, [hl]
dec c
jr nz, .final_ly_loop
ld hl, rHDMA5
ld hl, rVDMA_LEN
res 7, [hl]
ei
@@ -395,14 +395,14 @@ _continue_HDMATransfer:
_LoadHDMAParameters:
ld a, h
ldh [rHDMA1], a
ldh [rVDMA_SRC_HIGH], a
ld a, l
ldh [rHDMA2], a
ldh [rVDMA_SRC_LOW], a
ldh a, [hBGMapAddress + 1]
and $1f
ldh [rHDMA3], a
ldh [rVDMA_DEST_HIGH], a
ldh a, [hBGMapAddress]
ldh [rHDMA4], a
ldh [rVDMA_DEST_LOW], a
ret
PadTilemapForHDMATransfer:
@@ -435,7 +435,7 @@ PadMapForHDMATransfer:
; load the original padding value of c into hl for 32 - 20 = 12 rows
ldh a, [hMapObjectIndex]
ld b, BG_MAP_WIDTH - SCREEN_WIDTH
ld b, TILEMAP_WIDTH - SCREEN_WIDTH
.loop3
ld [hli], a
dec b
@@ -452,10 +452,10 @@ PadMapForHDMATransfer:
HDMATransfer2bpp::
; 2bpp when [rLCDC] & $80
; switch to WRAM bank 6
ldh a, [rSVBK]
ldh a, [rWBK]
push af
ld a, BANK(wScratchTilemap)
ldh [rSVBK], a
ldh [rWBK], a
push bc
push hl
@@ -490,7 +490,7 @@ HDMATransfer2bpp::
; restore the previous bank
pop af
ldh [rSVBK], a
ldh [rWBK], a
ret
HDMATransfer1bpp::
@@ -520,10 +520,10 @@ HDMATransfer1bpp::
jr .loop
.bankswitch
ldh a, [rSVBK]
ldh a, [rWBK]
push af
ld a, BANK(wScratchTilemap)
ldh [rSVBK], a
ldh [rWBK], a
push bc
push hl
@@ -554,7 +554,7 @@ HDMATransfer1bpp::
call HDMATransfer_WaitForScanline128
pop af
ldh [rSVBK], a
ldh [rWBK], a
ret
HDMATransfer_OnlyTopFourRows:
@@ -593,7 +593,7 @@ HDMATransfer_OnlyTopFourRows:
dec c
jr nz, .inner_loop
ld a, l
add BG_MAP_WIDTH - SCREEN_WIDTH
add TILEMAP_WIDTH - SCREEN_WIDTH
ld l, a
ld a, h
adc 0