0 ; COARSE SCROLLING, LISTING 1›10 ; BY MARK ANDREWS›20 ; ANTIC PUBLISHING›30 ;›40       *=  $3000›45       JMP INIT›50 ;›60 SDMCTL =  $022F›70 ;›80 SDLSTL =  $0230›90 SDLSTH =  $0231›0100 ;›0110 COLOR0 = $02C4  ;OS COLOR REGISTER›0120 COLOR1 = $02C5›0130 COLOR2 = $02C6›0140 COLOR3 = $02C7›0150 COLOR4 = $02C8›0160 ;›0170 TCKPTR = $2000›0180 ;›0190     .OPT OBJ›0200 ;›0210 ; DISPLAY LIST DATA›0220 ;›0230 START›0240 LINE1 .SBYTE "   ANTIC PRESENTS   "›0250 LINE2 .SBYTE "                        "›0260     .SBYTE "    coarse scrolling        "›0270 LINE3 .SBYTE "             On Your"›0280     .SBYTE " Atari              "›0290 LINE4 .SBYTE "   BY (YOUR NAME)   "›0300 ;›0310 ; DISPLAY LIST›0320 ;›0330 HLST NOP        ;('HELLO' LIST)›0340     .BYTE $70,$70,$70›0350     .BYTE $70,$70,$70,$70,$70›0360     .BYTE $46›0370     .WORD LINE1›0380     .BYTE $70,$70,$70,$70,$47›0390 SCROLN NOP      ;(THIS IS THE LINE WE'LL SCROLL)›0400     .WORD $00   ; A BLANK TO BE FILLED IN LATER›0410     .BYTE $70,$42›0420     .WORD LINE3›0430     .BYTE $70,$70,$70,$70,$46›0440     .WORD LINE4›0450     .BYTE $70,$70,$70,$70,$70›0460     .BYTE $41›0470     .WORD HLST›0480 ;›0490 ; RUN PROGRAM›0500 ;›0510 INIT NOP        ;PREPARE TO RUN PROGRAM›0520     LDA COLOR3  ; SET COLOR REGISTER›0530     STA COLOR1›0540     LDA COLOR4›0550     STA COLOR2›0560 ;›0570     LDA #0      ; TELL ANTIC WHERE DISPLAY LIST IS›0580     STA SDMCTL›0590     LDA #HLST&255›0600     STA SDLSTL›0610     LDA #HLST/256›0620     STA SDLSTH›0630     LDA #$22›0640     STA SDMCTL›0650 ;›0660 ; COARSE-SCROLLING ROUTINE›0670 ;›0680     LDA #42     ; # OF CHARACTERS IN SCROLL LINE›0690     STA TCKPTR›0700     JSR TCKSET›0710 ;›0720 COARSE›0730     LDY TCKPTR  ; NUMBER OF CHARACTERS IN SCROLL LINE›0740     DEY ›0750     BNE SCORSE  ; LOOP BACK UNTIL FULL LINE IS SCROLLED›0760     LDY #42     ; NUMBER OF CHARACTERS TO SCROLL›0770     JSR TCKSET›0780 SCORSE NOP      ;DO COARSE SCROLL›0790     STY TCKPTR›0800     INC SCROLN  ; LOW BYTE OF ADDRESS›0810     BNE LEAP›0820     INC SCROLN+1 ; HIGH BYTE OF ADDRESS›0830 ;›0840 ; DELAY  LOOP›0850 ;›0860 LEAP›0870     TYA ›0880     PHA         ; SAVE Y REGISTER›0890     LDX #$FF›0900 XLOOP›0910     LDY #$80›0920 YLOOP›0925     DEY ›0930     BNE YLOOP›0940 ;›0950     DEX ›0960     BNE XLOOP›0970     PLA ›0980     TAY         ; RESTORE Y REG›0990 ;›1000     JMP COARSE›1010 ;›1020 TCKSET›1030     LDA #LINE2&255›1040     STA SCROLN›1050     LDA #LINE2/256›1060     STA SCROLN+1›1070     RTS ›1080     *=  $02E0›1090     .WORD INIT›