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›