|
|
|
@ -11,6 +11,12 @@ |
|
|
|
|
|
|
|
|
|
nmi_count: .res 2 |
|
|
|
|
|
|
|
|
|
.segment "BSS" |
|
|
|
|
|
|
|
|
|
oam_lo_buffer: .res 512 |
|
|
|
|
oam_hi_buffer: .res 32 |
|
|
|
|
oam_buffer_end: |
|
|
|
|
|
|
|
|
|
.segment "CODE" |
|
|
|
|
|
|
|
|
|
VRAM_CHARS = $0000 |
|
|
|
@ -46,6 +52,16 @@ start: |
|
|
|
|
lda #$7c |
|
|
|
|
sta CGDATA |
|
|
|
|
|
|
|
|
|
; Set up sprite palette |
|
|
|
|
lda #128 ;sprite palettes begin at cgdata index 128 |
|
|
|
|
sta CGADD |
|
|
|
|
stz CGDATA |
|
|
|
|
stz CGDATA |
|
|
|
|
|
|
|
|
|
lda #$1f |
|
|
|
|
sta CGDATA |
|
|
|
|
stz CGDATA |
|
|
|
|
|
|
|
|
|
; Graphics mode 0, 8x8 tiles |
|
|
|
|
stz BGMODE |
|
|
|
|
|
|
|
|
@ -115,13 +131,23 @@ start: |
|
|
|
|
sta VMDATAL |
|
|
|
|
stz VMDATAH |
|
|
|
|
|
|
|
|
|
; Show bg1 |
|
|
|
|
lda #%00000001 |
|
|
|
|
; Show bg1 + sprites |
|
|
|
|
lda #%00010001 |
|
|
|
|
sta TM |
|
|
|
|
|
|
|
|
|
lda #$0f |
|
|
|
|
sta INIDISP |
|
|
|
|
|
|
|
|
|
lda #$0 |
|
|
|
|
sta OBSEL |
|
|
|
|
|
|
|
|
|
ldx #0 |
|
|
|
|
@zero_oam: |
|
|
|
|
stz oam_lo_buffer, x |
|
|
|
|
inx |
|
|
|
|
cpx #(oam_buffer_end - oam_lo_buffer) |
|
|
|
|
bne @zero_oam |
|
|
|
|
|
|
|
|
|
lda #%10000001 |
|
|
|
|
sta NMITIMEN |
|
|
|
|
|
|
|
|
@ -133,6 +159,35 @@ mainloop: |
|
|
|
|
cmp nmi_count |
|
|
|
|
beq nmi_check |
|
|
|
|
|
|
|
|
|
; set sprite 0 X position |
|
|
|
|
ldx #$42 |
|
|
|
|
stx oam_lo_buffer |
|
|
|
|
|
|
|
|
|
; set sprite 0 Y position |
|
|
|
|
ldx #$69 |
|
|
|
|
stx oam_lo_buffer + 1 |
|
|
|
|
; Set sprite 0 to priority 3 and tile 0x01 |
|
|
|
|
ldx #((%00110000 << 8) | $0001) |
|
|
|
|
stx oam_lo_buffer + 2 |
|
|
|
|
|
|
|
|
|
; Set sprite 0 to be large (16x16) |
|
|
|
|
lda #%00000010 |
|
|
|
|
sta oam_hi_buffer |
|
|
|
|
|
|
|
|
|
; Copy OAM data via DMA |
|
|
|
|
stz OAMADDL |
|
|
|
|
lda #$0 |
|
|
|
|
sta DMAP1 |
|
|
|
|
lda #<OAMDATA |
|
|
|
|
sta BBAD1 |
|
|
|
|
ldx #.loword(oam_lo_buffer) |
|
|
|
|
stx A1B1 |
|
|
|
|
ldx #(oam_buffer_end - oam_lo_buffer) |
|
|
|
|
stx DAS1L |
|
|
|
|
lda #%00000010 |
|
|
|
|
sta MDMAEN |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lda JOY1L |
|
|
|
|
bit #JOYL_L |
|
|
|
|