-ASMSOURCES = regression.asm\r
+#ASMSOURCES = regression.asm\r
+ASMSOURCES = ppu-minimum.asm\r
\r
OBJECTS = $(ASMSOURCES:.asm=.o)\r
\r
--- /dev/null
+.setcpu "6502"\r
+.autoimport on\r
+\r
+; iNES header\r
+.segment "HEADER"\r
+ .byte $4E, $45, $53, $1A ; "NES" Header\r
+ .byte $02 ; PRG-BANKS\r
+ .byte $01 ; CHR-BANKS\r
+ .byte $01 ; Vetrical Mirror\r
+ .byte $00 ; \r
+ .byte $00, $00, $00, $00 ; \r
+ .byte $00, $00, $00, $00 ; \r
+\r
+\r
+.segment "STARTUP"\r
+.proc Reset\r
+\r
+; interrupt off, initialize sp.\r
+;;init ppu.\r
+ lda #$00\r
+ sta $2000\r
+ sta $2001\r
+\r
+;;init palette\r
+ lda #$3f\r
+ sta $2006\r
+ lda #$00\r
+ sta $2006\r
+\r
+ lda #$11\r
+ sta $2007\r
+ lda #$01\r
+ sta $2007\r
+ lda #$03\r
+ sta $2007\r
+ lda #$13\r
+ sta $2007\r
+\r
+;;init vram\r
+;;name table\r
+ lda #$20\r
+ sta $2006\r
+ lda #$06\r
+ sta $2006\r
+\r
+ lda #$44\r
+ sta $2007\r
+ lda #$45\r
+ sta $2007\r
+ lda #$45\r
+ sta $2007\r
+\r
+;;attr tbl\r
+ lda #$23\r
+ sta $2006\r
+ lda #$c1\r
+ sta $2006\r
+\r
+ lda #$d8\r
+ sta $2007\r
+\r
+;;enble ppu.\r
+ lda #$1e\r
+ sta $2001\r
+ lda #$80\r
+ sta $2000\r
+\r
+ ;;all done\r
+ ;;infinite loop.\r
+mainloop:\r
+ jmp mainloop\r
+.endproc\r
+\r
+\r
+\r
+\r
+nmi_test:\r
+ rti\r
+\r
+\r
+\r
+;;;for DE1 internal memory constraints.\r
+.segment "VECINFO_4k"\r
+ .word nmi_test\r
+ .word Reset\r
+ .word $0000\r
+\r
+.segment "VECINFO"\r
+ .word nmi_test\r
+ .word Reset\r
+ .word $0000\r
+\r
+; character rom file.\r
+.segment "CHARS"\r
+ .incbin "character.chr"\r