2 nametables

This commit is contained in:
RochesterX
2026-02-19 14:04:29 -05:00
parent 4459bba6a7
commit ce263cfa0d
2 changed files with 198 additions and 17 deletions

BIN
plat.nes

Binary file not shown.

215
plat.s
View File

@@ -277,6 +277,23 @@ level:
.byte 0,1,2,3,4,5,6,7,8,9,0,11,11,11,11,11 .byte 0,1,2,3,4,5,6,7,8,9,0,11,11,11,11,11
.byte 0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11 .byte 0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11
level2:
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0,0,10,10,10,10,10
.byte 0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11
.byte 0,1,7,7,7,7,7,7,7,1,0,11,11,11,11,11
.byte 0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11
metatiles: metatiles:
.byte 0,0,0,0,0 .byte 0,0,0,0,0
.byte $14,$15,$16,$17,1 ; Full block .byte $14,$15,$16,$17,1 ; Full block
@@ -759,21 +776,14 @@ setup_background:
dey dey
bne :-- bne :--
lda #0 ; ------------- Nametable 1: level
sta var_o
@nametable_start:
lda $2002 lda $2002
lda #$24 lda #$20
ldx var_o
cpx #1
bne :+
lda #$24
:
sta $2006 sta $2006
lda #$00 lda #$00
sta $2006 sta $2006
ldy #0 ldy #0
@row_start: @row_start_nmt1:
ldx #0 ldx #0
: :
txa txa
@@ -834,7 +844,7 @@ setup_background:
bne :- bne :-
iny iny
cpy #15 cpy #15
bne @row_start bne @row_start_nmt1
; clear attributes ; clear attributes
@@ -944,14 +954,185 @@ setup_background:
iny iny
cpy #8 cpy #8
bne :-- bne :--
; ---------------- End nametable 1: Level
; ---------------- Begin nametable 2: Level 2
lda $2002
lda #$24
sta $2006
lda #$00
sta $2006
ldy #0
@row_start_nmt2:
ldx #0
:
txa
pha
ldx var_o ; index is (Y * 16) + X
cpx #$20 stx temp_x
bne :+ lda #16
ldx #$24 jsr mul_y
stx var_o clc
jmp @nametable_start adc temp_x
tax
lda level2, X
ldx #5
jsr mul_x
tax
lda metatiles+0, X
sta $2007
lda metatiles+1, X
sta $2007
pla
tax
inx
cpx #16
bne :-
; again
ldx #0
:
txa
pha
; index is (Y * 16) + X
stx temp_x
lda #16
jsr mul_y
clc
adc temp_x
tax
lda level2, X
ldx #5
jsr mul_x
tax
lda metatiles+2, X
sta $2007
lda metatiles+3, X
sta $2007
pla
tax
inx
cpx #16
bne :-
iny
cpy #15
bne @row_start_nmt2
; clear attributes
;lda #0
;ldx #64 ; 64 bytes
;:
; lda #%11100100
;
; sta $2007
; dex
; bne :-
lda #0
sta $50
ldy #0
: :
tya
pha
ldx #0
:
tya
pha
txa
pha
tya
asl
asl
asl
asl
asl
sta temp_y
txa
asl
clc
adc temp_y
tax
lda level2, X
tay
lda #5
jsr mul_y
tay
lda metatiles+4, Y
sta temp_x
lda level2+1, X
tay
lda #5
jsr mul_y
tay
lda metatiles+4, Y
asl
asl
adc temp_x
sta temp_x
lda level2+16, X
tay
lda #5
jsr mul_y
tay
lda metatiles+4, Y
asl
asl
asl
asl
adc temp_x
sta temp_x
lda level2+17, X
tay
lda #5
jsr mul_y
tay
lda metatiles+4, Y
asl
asl
asl
asl
asl
asl
adc temp_x
sta $2007
ldx $50
inx
stx $50
sta $60, X
pla
tax
pla
tay
inx
cpx #8
bne :-
pla
tay
iny
cpy #8
bne :--
rts rts