Quantcast
Channel: nesdev.org
Viewing all articles
Browse latest Browse all 746

Why doesn't my code display a sprite?

$
0
0
Sorry if it's a little long, I must be missing something pretty basic somewhere...

Code:

OAM= $0200; zero page.enum $0000temp2000.dsb 1temp2001.dsb 1do_dma.dsb 1do_drawing.dsb 1do_ppu_reg.dsb 1sleeping.dsb 1x_scroll.dsb 1y_scroll.dsb 1.ende; ines header.db "NES",$1a.db $01.db $01.db $00.dsb 9,$00.base $c000wait_vblank:inc sleeping-lda sleepingbne -rtsreset:    sei    cld    ldx #$40    stx $4017    ldx #$ff    txs    inx    stx $2000    stx $2001    stx $4010    bit $2002 ; wait for first vblank-   bit $2002    bpl -clear_mem:lda #0    sta $0000,x    sta $0100,x    sta $0300,x    sta $0400,x    sta $0500,x    sta $0600,x    sta $0700,x    lda #$fe    sta $0200,x    inx    bne clear_mem; audio/mapper init  ; wait for second vblank-   bit $2002    bpl -load_palettes:lda $2002lda #$3fsta $2006ldx #$00stx $2006  - lda palette,xsta $2007inxcpx #$20bne -lda #%10010000    sta temp2000    lda #%00011110    sta temp2001main_loop:lda #1sta do_drawingsta do_dmasta do_ppu_regjsr wait_vblank; update joypad datajmp main_loopdraw_routine:lda #$22sta OAM+0sta OAM+1sta OAM+3lda #0sta OAM+2rtsnmi:    pha    txa    pha    tya    pha        lda do_dma    beq +    lda #$00    sta $2003    lda #>OAMsta $4014+lda do_drawing    beq +    bit $2002    jsr draw_routine    dec do_drawing+lda do_ppu_reg    beq +    lda temp2001    sta $2001    lda temp2000    sta $2000bit $2002lda x_scroll    sta $2005    lda y_scroll    sta $2005+; music engine    lda #0    sta sleeping    pla    tay    pla    tax    plairq: rti; bg/sprite palette datapalette:.db $37,$27,$17,$0F,$37,$1A,$29,$0F,$37,$10,$07,$20,$16,$00,$10,$20.db $37,$18,$26,$0F,$37,$1C,$37,$0F,$37,$15,$27,$0F,$37,$18,$27,$20; interrupt vectors.org $fffa.dw nmi.dw reset.dw irq; chr-rom.incbin "tiles.chr"

Statistics: Posted by nescoda86 — Tue Feb 13, 2024 3:01 pm — Replies 0 — Views 36



Viewing all articles
Browse latest Browse all 746

Trending Articles