First steps

This commit is contained in:
2026-01-09 13:45:00 -06:00
parent 63065e34b7
commit 278e428658
18 changed files with 780 additions and 23 deletions

View File

@@ -12,23 +12,34 @@ LoadStripes:
.dungeon_map
LDA.l DungeonMapMode
BNE .doors
BNE .4x3
LDA.l DRMode
BNE .6x6
.not_doors
LDA.b #BG3DungeonMapStripes>>0
.5x5
LDA.b #BG3DungeonMap5x5Stripes>>0
STA.b $00
LDA.b #BG3DungeonMapStripes>>8
LDA.b #BG3DungeonMap5x5Stripes>>8
STA.b $01
LDA.b #BG3DungeonMapStripes>>16
LDA.b #BG3DungeonMap5x5Stripes>>16
STA.b $02
RTL
.doors
LDA.b #BG3DungeonMapDoorStripes>>0
.4x3
LDA.b #BG3DungeonMap4x3Stripes>>0
STA.b $00
LDA.b #BG3DungeonMapDoorStripes>>8
LDA.b #BG3DungeonMap4x3Stripes>>8
STA.b $01
LDA.b #BG3DungeonMapDoorStripes>>16
LDA.b #BG3DungeonMap4x3Stripes>>16
STA.b $02
RTL
.6x6
LDA.b #BG3DungeonMap6x6Stripes>>0
STA.b $00
LDA.b #BG3DungeonMap6x6Stripes>>8
STA.b $01
LDA.b #BG3DungeonMap6x6Stripes>>16
STA.b $02
RTL
@@ -71,7 +82,7 @@ macro VanillaCommonMapStripes()
endmacro
BG3DungeonMapStripes:
BG3DungeonMap5x5Stripes:
%VanillaCommonMapStripes()
; left edge of map border, from vanilla
dw $4E60, $0100, $2100
@@ -122,7 +133,7 @@ endmacro
db $FF
BG3DungeonMapDoorStripes:
BG3DungeonMap4x3Stripes:
%VanillaCommonMapStripes()
; left edge of map border, adjusted from vanilla
dw $4D60, $0100, $2100
@@ -174,3 +185,116 @@ endmacro
%FullDoorRow($6311)
db $FF
BG3DungeonMap6x6Stripes:
; vanilla
dw $4260, $0100, $2100
dw $4360, $0E40, $2101
dw $4B60, $0100, $6100
dw $8460, $0B00, $2102, $2103, $2104, $2105, $2106, $2107
dw $A460, $0B00, $2112, $2113, $2114, $2115, $2116, $2117
dw $0060, $7E40, $2111
dw $8063, $3E41, $2111
dw $0060, $3EC0, $2111
dw $0160, $3EC0, $2111
dw $0C60, $3EC0, $2111
dw $0D60, $3EC0, $2111
dw $1E60, $3EC0, $2111
dw $1F60, $3EC0, $2111
; left side border
dw $6260, $2AC0, $2110
dw $6B60, $2AC0, $6110
dw $2263, $0100, $A100
dw $2363, $0E40, $A101
dw $2B63, $0100, $E100
; right side border
dw $CE60, $0100, $2100
dw $CF60, $1A40, $2101
dw $DD60, $0100, $6100
dw $EE60, $1AC0, $2110
dw $FD60, $1AC0, $6110
dw $AE62, $0100, $A100
dw $AF62, $1A40, $A101
dw $BD62, $0100, $E100
; blank above and below
dw $4E60, $1E40, $2111
dw $6E60, $1E40, $2111
dw $8E60, $1E40, $2111
dw $AE60, $1E40, $2111
dw $CE62, $1E40, $2111
dw $EE62, $1E40, $2111
dw $0E63, $1E40, $2111
dw $2E63, $1E40, $2111
dw $4063, $4640, $2111
dw $6063, $4640, $2111
; horizontal borders
dw $EF60, $1A40, $1D11
dw $0F61, $1A40, $1D11
dw $2F61, $1A40, $1D11
dw $4F61, $1A40, $1D11
dw $6F61, $1A40, $1D11
dw $8F61, $1A40, $1D11
dw $AF61, $1A40, $1D11
dw $CF61, $1A40, $1D11
dw $EF61, $1A40, $1D11
dw $0F62, $1A40, $1D11
dw $2F62, $1A40, $1D11
dw $4F62, $1A40, $1D11
dw $6F62, $1A40, $1D11
dw $8F62, $1A40, $1D11
dw $B561, $0300
dw $5D4C, $1D4C
dw $D561, $0300
dw $DD4C, $9D4C
; ; horizontal borders
; dw $B160, $1440, $1D11
; dw $1161, $1440, $1D11
; dw $7161, $1440, $1D11
; dw $D161, $1440, $1D11
; dw $3162, $1440, $1D11
; dw $9162, $1440, $1D11
; dw $F162, $1440, $1D11
; dw $5163, $1440, $1D11
;
; ; vertical borders
; dw $B060, $12C0, $1D11
; dw $BC60, $12C0, $1D11
; dw $3062, $12C0, $1D11
; dw $3C62, $12C0, $1D11
;
; macro TopOfDoorSquares(start)
; ; silly Big Endian
; db <start>>>8, <start>, $00, $15
; dw $5D4C, $1D4C, $1D11, $5D4C, $1D4C, $1D11, $5D4C, $1D4C, $1D11, $5D4C, $1D4C
; endmacro
;
; macro BottomOfDoorSquares(start)
; ; silly Big Endian
; db <start>>>8, <start>, $00, $15
; dw $DD4C, $9D4C, $1D11, $DD4C, $9D4C, $1D11, $DD4C, $9D4C, $1D11, $DD4C, $9D4C
; endmacro
;
; macro FullDoorRow(start)
; %TopOfDoorSquares(<start>)
; %BottomOfDoorSquares(<start>+$20)
; endmacro
;
; ; top grid
; %FullDoorRow($60D1)
; %FullDoorRow($6131)
; %FullDoorRow($6191)
;
; %FullDoorRow($6251)
; %FullDoorRow($62B1)
; %FullDoorRow($6311)
db $FF