!Pos = $010D !TileProp = $38 !DataPos = $5980 ; top of the screen (note: change it) ; (note: it should be $5??? or you'll propably mess up something else) print "INIT ",pc REP #$20 STZ !Pos SEP #$20 RTL print "MAIN ",pc PHB PHK PLB PHX ; Change data bank and push X REP #$30 LDA !Pos XBA AND #$03FF TAY LDA Data1,y AND #$00FF CMP #$00FF BEQ Nothing ;Don't do anything if we're at an FF (terminator) byte LDA $13 AND #$0001 BNE Nothing LDA $7F837B TAX LDA !Pos XBA CLC ADC #!DataPos XBA STA $7F837D,x INX INX LDA #$0100 STA $7F837D,x INX INX LDA !Pos XBA AND #$03FF TAY LDA Data,y STA $7F837D,x INX LDA.w #!TileProp+$FF00 STA $7F837D,x INX;\ TAX; | I could've used TAX SEC here instead, CLC;/ but I don't really like the idea of writing that kind of garbage code. ADC $7F837B STA $7F837B LDA !Pos XBA INC A XBA STA !Pos Nothing: SEP #$30 PLX PLB RTL Data1: db $01,$01,$01,$01,$01,$01 ; Insert much more letters here db $FF Data2: db $02,$02,$02,$02,$02,$02 ; Insert much more letters here db $FF Data3: db $03,$03,$03,$03,$03,$03 ; Insert much more letters here db $FF Data4: db $04,$04,$04,$04,$04,$04 ; Insert much more letters here db $FF