; INES Header Table .inesprg 1 .ineschr 1 .inesmir 1 .inesmap 0 .org $800 .bank 0 ; Entry point - For initialization Start: ; PPU Init lda #%00001000 ;Load accumulater with this value. # means to load it with this value rather than the value at this memory adress. sta $2000 ;Stor it at address 2000 hex (if $ is euivalent to & on the bbc..) lda #%00011110 ;Load it with this. sta $2001 ;Store it at 2001. *yawn* (purpose of this is unknown. INiting of PPU etc is where I realised I needed to know more than just the processor). ; Init Palette lda #$3F sta $2006 lda #$00 sta $2006 ldx #$00 ;Load x. loadpal: ;Cycle $20 times, reading in the pallet data sarting from mem addy "titlepal". lda titlepal , x ;load A with variable sta $2007 inx ;Increment X cpx #$20 ;Compare X reg with Accumulator. bne loadpal ;and if it is not equal, branch back to loadpal and do it again. ; Our loop Loop: jmp Loop ;Booooring. AT least make the screen flash grey. Or fill mem range $800 to $900 with random junk to make noise. (cant remember which system this was on.) titlepal: .incbin "demo.pal" ;dont recognise this stuff. ; Vector Table .bank 1 .org $FFFA .dw 0 ; NMI .dw Start ; Reset .dw 0 ; IRQ .bank 2 .org $0000 .incbin "demo.chr"