home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1985 October / Antic_Magazine_1985_10_Antic.atr / finescrl.m65 < prev    next >
Text File  |  2023-02-26  |  3KB  |  1 lines

  1. 0 ; FINE 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 HSCROL = $D404¢0162 VVBLKI = $0222  ;OS INTERRUPT VECTOR¢0164 SYSVBV = $E45F  ;INTERRUPT ENABLE VECTOR¢0166 SETVBI = $E45C  ;SET VERTICAL BLANK INTERRUPT VECTOR¢0168 XITVBL = $E462  ;EXIT VBI VECTOR¢0170 TCKPTR = $2000¢0180 FSCPTR = TCKPTR+1¢0190     .OPT OBJ¢0200 ;¢0210 ; DISPLAY LIST DATA¢0220 ;¢0230 START¢0240 LINE1 .SBYTE "   ANTIC PRESENTS   "¢0250 LINE2 .SBYTE "                        "¢0260     .SBYTE "      fine 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,$57¢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¢0645     JSR TCKSET  ; INITIAIZE TICKER ADDRESS¢0650 ;¢0660 ; FINE-SCROLLING ROUTINE¢0680     LDA #42     ; # OF CHARACTERS IN SCROLL LINE¢0690     STA TCKPTR¢0700     LDA #8¢0710     STA FSCPTR  ; NUMBER OF COLOR CLOCKS TO FINE-SCROLL¢0720 ;¢0730 ; ENABLE INTERRUPT¢0740 ;¢0750     LDY #TCKINT&255¢0760     LDX #TCKINT/256¢0770     LDA #6¢0780     JSR SETVBI¢0790 ;¢0800 ; TICKER INTERRUPT¢0810 ;¢0820 TCKINT¢0830     LDA #SCROLL&255¢0840     STA VVBLKI¢0850     LDA #SCROLL/256¢0860     STA VVBLKI+1¢0870 ;¢0880 INFIN¢0890     JMP INFIN   ; INFINITE LOOP¢0900 ;¢0910 SCROLL¢0920     LDX FSCPTR  ;8 TO START¢0925     DEY ¢0930     DEX ¢0940     STX HSCROL¢0950     BNE CONT¢0960     LDX #8¢0970 CONT NOP        ; (CONTINUE)¢0980     STX FSCPTR¢0990     CPX #7¢1000     BEQ COARSE¢1010     JMP SYSVBV¢1020 COARSE¢1030     LDY TCKPTR  ; NUMBER OF CHARACTERS TO SCROLL¢1040     DEY ¢1050     BNE SCORSE  ; LOOP BACK TILL ENTIRE LINE IS SCROLLED¢1060     LDY #42¢1070     JSR TCKSET  ; RESET TICKER LINE¢1080 SCORSE NOP      ; DO COARSE SCROLL¢1090     STY TCKPTR¢1100     INC SCROLN  ; LOW BYTE OF ADDRESS¢1110     BNE RETURN¢1120     INC SCROLN+1 ; HIGH BYTE OF ADDRESS¢1130 RETURN¢1140     JMP SYSVBV¢1150 ;¢1160 TCKSET¢1170     LDA #LINE2&255¢1180     STA SCROLN¢1190     LDA #LINE2/256¢1200     STA SCROLN+1¢1210 ENDIT¢1220     RTS ¢1280     *=  $02E0¢1290     .WORD INIT¢