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
Back to previous page