first
This commit is contained in:
76
background/background.asm
Normal file
76
background/background.asm
Normal file
@@ -0,0 +1,76 @@
|
||||
.inesprg 1 ; 1x 16KB PRG code
|
||||
.ineschr 1 ; 1x 8KB CHR data
|
||||
.inesmap 0 ; mapper 0 = NROM, no bank swapping
|
||||
.inesmir 1 ; background mirroring
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;
|
||||
|
||||
|
||||
.bank 0
|
||||
.org $C000
|
||||
RESET:
|
||||
SEI ; disable IRQs
|
||||
CLD ; disable decimal mode
|
||||
LDX #$40
|
||||
STX $4017 ; disable APU frame IRQ
|
||||
LDX #$FF
|
||||
TXS ; Set up stack
|
||||
INX ; now X = 0
|
||||
STX $2000 ; disable NMI
|
||||
STX $2001 ; disable rendering
|
||||
STX $4010 ; disable DMC IRQs
|
||||
|
||||
vblankwait1: ; First wait for vblank to make sure PPU is ready
|
||||
BIT $2002
|
||||
BPL vblankwait1
|
||||
|
||||
clrmem:
|
||||
LDA #$00
|
||||
STA $0000, x
|
||||
STA $0100, x
|
||||
STA $0200, x
|
||||
STA $0400, x
|
||||
STA $0500, x
|
||||
STA $0600, x
|
||||
STA $0700, x
|
||||
LDA #$FE
|
||||
STA $0300, x
|
||||
INX
|
||||
BNE clrmem
|
||||
|
||||
vblankwait2: ; Second wait for vblank, PPU is ready after this
|
||||
BIT $2002
|
||||
BPL vblankwait2
|
||||
|
||||
|
||||
LDA #%11111111 ;intensify blues
|
||||
STA $2001
|
||||
|
||||
Forever:
|
||||
JMP Forever ;jump back to Forever, infinite loop
|
||||
|
||||
|
||||
|
||||
NMI:
|
||||
RTI
|
||||
|
||||
;;;;;;;;;;;;;;
|
||||
|
||||
|
||||
|
||||
.bank 1
|
||||
.org $FFFA ;first of the three vectors starts here
|
||||
.dw NMI ;when an NMI happens (once per frame if enabled) the
|
||||
;processor will jump to the label NMI:
|
||||
.dw RESET ;when the processor first turns on or is reset, it will jump
|
||||
;to the label RESET:
|
||||
.dw 0 ;external interrupt IRQ is not used in this tutorial
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;
|
||||
|
||||
|
||||
.bank 2
|
||||
.org $0000
|
||||
.incbin "mario.chr" ;includes 8KB graphics file from SMB1
|
||||
Reference in New Issue
Block a user