trying background.nam implementation

This commit is contained in:
Hermes 2024-05-03 14:29:06 +02:00
parent c51efd6c53
commit f058ff1df3
9 changed files with 28 additions and 218 deletions

0
assemble.sh Normal file → Executable file
View File

1
helloworld.dbg Normal file
View File

@ -0,0 +1 @@
BreakPoint: startAddr=00002002 endAddr=00000000 flags=EC--X- condition="" desc=""

BIN
helloworld.nes Normal file

Binary file not shown.

BIN
src/background.pal Normal file

Binary file not shown.

View File

@ -146,12 +146,32 @@ exit_subroutine:
.proc main
LDX PPUSTATUS
LDX #$3f
LDX #$20
STX PPUADDR
LDX #$00
STX PPUADDR
LDX #$00
LDY #$00
OutsideLoopBackground:
LoadBackgroundLoop:
LDA #.HIBYTE(test_nametable)
STA pointerLo
LDA #.LOBYTE(test_nametable)
STA pointerHi
LDA (pointerLo), y
INY
CPY #$00
BNE LoadBackgroundLoop
INX
CPX #$04
BNE OutsideLoopBackground
load_palettes:
LDA palettes,X
STA PPUDATA
@ -161,223 +181,6 @@ load_palettes:
LDX #$00
; write a nametable
; Big Stars
LDA PPUSTATUS
LDA #$21
STA PPUADDR
LDA #$72
STA PPUADDR
LDX #$2F
STX PPUDATA
LDA PPUSTATUS
LDA #$20
STA PPUADDR
LDA #$68
STA PPUADDR
LDX #$2F
STX PPUDATA
LDA PPUSTATUS
LDA #$20
STA PPUADDR
LDA #$74
STA PPUADDR
LDX #$2F
STX PPUDATA
LDA PPUSTATUS
LDA #$21
STA PPUADDR
LDA #$5A
STA PPUADDR
LDX #$2F
STX PPUDATA
LDA PPUSTATUS
LDA #$21
STA PPUADDR
LDA #$CB
STA PPUADDR
LDX #$2F
STX PPUDATA
LDA PPUSTATUS
LDA #$21
STA PPUADDR
LDA #$64
STA PPUADDR
LDX #$2F
STX PPUDATA
LDA PPUSTATUS
LDA #$22
STA PPUADDR
LDA #$C7
STA PPUADDR
LDX #$2F
STX PPUDATA
LDA PPUSTATUS
LDA #$22
STA PPUADDR
LDA #$55
STA PPUADDR
LDX #$2F
STX PPUDATA
LDA PPUSTATUS
LDA #$22
STA PPUADDR
LDA #$B9
STA PPUADDR
LDX #$2F
STX PPUDATA
LDA PPUSTATUS
LDA #$23
STA PPUADDR
LDA #$6D
STA PPUADDR
LDX #$2F
STX PPUDATA
; write a nametable
; Medium Stars
LDA PPUSTATUS
LDA #$20
STA PPUADDR
LDA #$64
STA PPUADDR
LDX #$2D
STX PPUDATA
LDA PPUSTATUS
LDA #$20
STA PPUADDR
LDA #$4F
STA PPUADDR
LDX #$2D
STX PPUDATA
LDA PPUSTATUS
LDA #$20
STA PPUADDR
LDA #$B9
STA PPUADDR
LDX #$2D
STX PPUDATA
LDA PPUSTATUS
LDA #$20
STA PPUADDR
LDA #$DD
STA PPUADDR
LDX #$2D
STX PPUDATA
LDA PPUSTATUS
LDA #$21
STA PPUADDR
LDA #$4D
STA PPUADDR
LDX #$2D
STX PPUDATA
LDA PPUSTATUS
LDA #$20
STA PPUADDR
LDA #$D1
STA PPUADDR
LDX #$2D
STX PPUDATA
; write a nametable
; Small Stars
LDA PPUSTATUS
LDA #$20
STA PPUADDR
LDA #$3A
STA PPUADDR
LDX #$2E
STX PPUDATA
LDA PPUSTATUS
LDA #$20
STA PPUADDR
LDA #$B9
STA PPUADDR
LDX #$2E
STX PPUDATA
LDA PPUSTATUS
LDA #$21
STA PPUADDR
LDA #$4D
STA PPUADDR
LDX #$2E
STX PPUDATA
LDA PPUSTATUS
LDA #$21
STA PPUADDR
LDA #$4D
STA PPUADDR
LDX #$2E
STX PPUDATA
LDA PPUSTATUS
LDA #$21
STA PPUADDR
LDA #$F0
STA PPUADDR
LDX #$2E
STX PPUDATA
LDA PPUSTATUS
LDA #$22
STA PPUADDR
LDA #$26
STA PPUADDR
LDX #$2E
STX PPUDATA
LDA PPUSTATUS
LDA #$22
STA PPUADDR
LDA #$E4
STA PPUADDR
LDX #$2E
STX PPUDATA
LDA PPUSTATUS
LDA #$22
STA PPUADDR
LDA #$CE
STA PPUADDR
LDX #$2E
STX PPUDATA
LDA PPUSTATUS
LDA #$23
STA PPUADDR
LDA #$36
STA PPUADDR
LDX #$2E
STX PPUDATA
; finally, attribute table
LDA PPUSTATUS
LDA #$23
STA PPUADDR
LDA #$D4
STA PPUADDR
LDA #%01110000
STA PPUDATA
vblankwait: ; wait for another vblank before continuing
BIT PPUSTATUS
BPL vblankwait
@ -395,6 +198,8 @@ player_x: .res 1
player_y: .res 1
player_dir: .res 1
.exportzp player_x, player_y
pointerLo: .res 1 ; pointer variables are declared in RAM
pointerHi: .res 1 ; low byte first, high byte immediately after
.segment "RODATA"
palettes:
@ -414,6 +219,9 @@ sprite:
.byte $78, $07, $00, $80
.byte $78, $08, $00, $88
test_nametable:
.incbin "background.nam"
.segment "VECTORS"
.addr nmi_handler, reset_handler, irq_handler

BIN
src/helloworld.o Normal file

Binary file not shown.

1
src/meta.msb Normal file

File diff suppressed because one or more lines are too long

BIN
src/reset.o Normal file

Binary file not shown.

Binary file not shown.