From ce263cfa0d52a9bb8263d29bf387c7e6aa074d6a Mon Sep 17 00:00:00 2001 From: RochesterX Date: Thu, 19 Feb 2026 14:04:29 -0500 Subject: [PATCH] 2 nametables --- plat.nes | Bin 40976 -> 40976 bytes plat.s | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 198 insertions(+), 17 deletions(-) diff --git a/plat.nes b/plat.nes index 9cc6a38c0246b5fa708f319b25cb5b562748f06b..d33954fc43a50e2614244f9f220a0e0bea594e76 100644 GIT binary patch delta 613 zcmbPmfN8=3rVW;iObwlrtr@kLmbOk#XFP5Ay!9l*2hODeoDHo4KITnJ1vKkh1r{+V z>;j1kEMi)Fc^Rmf4Xdm&n}eiII}X{+HEfcMlfSXoPgY^KlVE@WZV+H#WQPF8%~kAY$~JQ~ Huqgll-P+;z delta 431 zcmbPmfN8=3rVW;iOncfVTQh1gU2K`0&Uo5Txb-B%2hODeoDHo4KITnJ1vKkh1r{+V zJZk}p3oK$>D%i>g6#UmJuvDg1PT_USoQm0ZiDuu^520b5v#(~mQ{Nj+I!g*_BMjZj8!il2wb?nh@s1)O=P8j0=m*Bu+rxC$-kL(oF}xc zSjh@hvSMdTd#lLaiAY>7u2d1A&;k@8sNg~*!O2-HN<7OXU$lZ;$Luqud2$8oGA8@h z$qH<89GhDp&YbMVX23MPb#eu=*gQ4|$^WeqnQRhS5V!*DT&RxkK-q{k9I~4O*d-Y^ TM{;f~+kAlY2;*k11~vr%UWBSR diff --git a/plat.s b/plat.s index 8757f94..d7a251c 100644 --- a/plat.s +++ b/plat.s @@ -277,6 +277,23 @@ level: .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 +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: .byte 0,0,0,0,0 .byte $14,$15,$16,$17,1 ; Full block @@ -759,21 +776,14 @@ setup_background: dey bne :-- - lda #0 - sta var_o - @nametable_start: +; ------------- Nametable 1: level lda $2002 - lda #$24 - ldx var_o - cpx #1 - bne :+ - lda #$24 - : + lda #$20 sta $2006 lda #$00 sta $2006 ldy #0 - @row_start: + @row_start_nmt1: ldx #0 : txa @@ -834,7 +844,7 @@ setup_background: bne :- iny cpy #15 - bne @row_start + bne @row_start_nmt1 ; clear attributes @@ -944,14 +954,185 @@ setup_background: iny cpy #8 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 - cpx #$20 - bne :+ - ldx #$24 - stx var_o - jmp @nametable_start + ; 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+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