; TopLine Scroller by Dr. Nibble ; of Speed Ripping International ; ; Coded in Turbo Assembly ; *= $1000 ; Starting address sei ; turn off IRQs lda #irq ; / sta $0315 ;/ cli ; turn on IRQs lda #text ; / sta $fc ;/ rts ; Return to what called routine irq lda $d012 ; get scanline cmp #$33 ; is it $33? bne irq ; if no, repeat. lda #$02 ;\ Turn border red sta $d020 ;/ ldx #$cf ;\ Set screen at rightmost pos loop stx $d016 ;/ end lda $d012 ; get scanline cmp #$3c ; is it $3c? bne end ; if no, then try again sri lda #$00 ;\ Turn border black sta $d020 ;/ lda #$cf ;\ Set screen to rightmost pos sta $d016 ;/ dex ; Decrease X register cpx #$c8 ; is X $c8? bne loop ; If no, repeat, not done with loop. lda #$00 ;\ Turn border black again sta $d020 ;/ lda #$cf ;\ Set screen to rightmost pos again sta $d016 ;/ ldy $0400 ; load char at $400 for no reason lda #$cf ;\ Set screen to rightmost pos again sta $d016 ;/ ldx #$00 ; Use X as pointer move lda $0401,x ; Take $401+x ans store in sta $0400,x ; $400+1 to move screen over one char inx ; increase the pointer cpx #$28 ; did we do the whole line yet? bne move ; if no, go back ldy #$00 ; load y with 0 for indirect addressing lda ($fb),y ; load next char for scroll sta $0427 ; store it at the end of line one inc $fb ; increase lowbyte of indirect add lda $fb ;\ Has it wrapped around yet? cmp #$00 ;/ bne noreset ; No? then don't increase highbyte lda #$00 ;\ Load fb with 0 sta $fb ;/ inc $fc ; increase highbyte noreset lda ($fb),y ; load next char before displaying it cmp #$ff ; is it the end of text maker? bne endtext ; if no, then skip reset lda #text ; / sta $fc ;/ endtext jmp $ea31 ; jump back into normal IRQ text .text " speed ripping " ;\ .text "international here " ; \ .text "with a demo scroll... " ; \ .text "it may not be the best" ; [ Text for scroll .text ", but it works " ; / .text "to show ya how to do " ; / .text "it!!! -=> " ;/ .byte $ff ; end of text marker ; After you have this typed in and assembled, try changeing ; ; SRI LDA #$00 ; ; to: ; ; SRI LDA #$01 ; ; And see what kind of a difference it makes on the overall effect.