; FINESCROLL RUTINE IN GR. MODE 0
;         by NIR DAREY
;
         *=$2000
RUN      LDA <DLIST
         STA 560
         LDA >DLIST
         STA 561
         LDA #$07
         LDY <VBI
         LDX >VBI
         JSR $E45C
 WaitKey
         RTS
VBI      DEC $6000
         LDA $6000
         STA $D404 ;enable scroll
         BPL CHECKHI ; if N=0
         LDA #$07
         STA $6000
         STA $D404
         INC LOTEXT
         BNE CHECKHI
         INC HITEXT
CHECKHI  LDA HITEXT
         CMP >ENDTXT
         BNE EXITVBI
         LDA LOTEXT
         CMP <ENDTXT
         BNE EXITVBI
         LDA <TEXT
         STA LOTEXT
         LDA >TEXT
         STA HITEXT
EXITVBI  JMP $E462 ;exit VBI
;
DLIST    .BYTE 112,112,$57
LOTEXT   .BYTE <TEXT
HITEXT   .BYTE >TEXT
         .BYTE 66,64,188
         .BYTE 2,2,2,2,2,2,2,2,2,2,2,2,2
         .BYTE 2,2,2,2,2,2,2,2,2,2
         .BYTE 65
         .WORD DLIST
;
TEXT     .SBYTE "......................this.is.a.smotth.scroll.routine.written"
         .SBYTE ".in.assembler.editor.by.."
         .SBYTE "nir.darey..it.is.very.easy.to.follow..if.you.have.any.qustion"
         .SBYTE ".just.ask.me.and.i.will.be"
ENDTXT
End RUN