1000 ! THIS ASSEMBLY LANGUAGE PROGRAM, 1010 ! ONCE YOU HAVE ASSEMBLED IT USING 1020 ! 6510+ OR SIMILAR, WILL PRODUCE 1030 ! A SMOOTH SCROLLING MESSAGE ON 1040 ! THE BOTTOM LINE OF THE SCREEN. 1050 ! 1060 *=$C000 1070 ! 1080 SEI 1090 LDA #$7F 1100 STA $DC0D 1110 LDA $DC0D 1120 LDA #$1B 1130 STA $D011 1140 LDA #$F2 ;_ SET LATCH AT BOTTOM 1150 STA $D012 ; LINE OF SCREEN 1160 LDA #IRQ 1190 STA $0315 1200 LDA #$01 1210 STA $D019 1220 STA $D01A 1230 LDA #147 ;_ CLEAR SCREEN 1240 JSR $FFD2 ; 1250 LDA #14 ;_ LOWER CASE CHAR. SET 1260 JSR $FFD2 ; 1270 CLI 1280 RTS;_ RETURN TO BASIC 1290 ! 1300 PIXELS BYT $00 ;_ PIXEL OFFSET 1310 BYTENO BYT $00 ;_ POS'N IN MESSAGE 1320 ! 1330 IRQ ; 1340 LDX #$02 ;_ TIMING LOOP OF 1350 L1 DEX ; 11 CYCLES 1360 BNE L1 ; 1365 ! 1370 LDA PIXELS ;_ PIXEL SHIFT OF 1380 ORA #$C0 ; BOTTOM LINE 1390 STA $D016 ; 1400 LDA #$FB 1410 L2 CMP $D012 ;_ WAIT UNTIL RASTER 1420 BNE L2 ; LINE IS IN BORDER 1430 LDA #$C8 1440 STA $D016 ;_ RESET PIXEL SHIFT 1450 LDA PIXELS ;_ HORIZ. PIXEL OFFSET 1460 SEC 1470 SBC #1 ;_ =SPEED (1-8) 1480 AND #7 ;_ GIVES BYTE IN RANGE 0-7 1490 STA PIXELS ;_ STORE NEW OFFSET 1500 BCS RETURN ;_ BRANCH TO RETURN 1505 ! 1510 LDX #$00 ; 1520 BR1 LDA 1024+960+1,X; 1530 STA 1024+960,X ; SHIFT BOTTOM 1540 LDA 55296+960+1,X ; LINE LEFT BY 1550 STA 55296+960,X ; ONE FULL 1560 INX ; CHAR. POS'N 1570 CPX #$27 ; 1580 BNE BR1 ; 1585 ! 1590 LDX BYTENO 1600 INX ;_ NEXT CHARACTER 1610 CPX #MESS1-MESS ;_ MESSAGE DONE? 1620 BNE BR2 ;_ NOT YET! 1630 LDX #$00 ;_ RESET POSITION 1640 BR2 STX BYTENO ;_ STORE POSITION 1645 ! 1650 LDA MESS,X ;_ GET NEXT CHAR. 1660 STA 1024+999 ;_ AND STORE IT 1670 LDA #1 ; 1680 STA 55296+999 ;_ COLOUR IT WHITE 1685 ! 1690 RETURN ; 1695 ! 1700 LDA #$01 ; 1710 STA $D019 ; NEXT LATCH 1720 JMP $EA31 ; 1730 ! 1740 ! 1750 MESS ;_ MESSAGE START 1760 ; 1770 BYT " THIS PROGRAM WAS WRITTEN" 1780 BYT " BY JASON FINCH FOR COMMO" 1790 BYT "DORE DISK USER TECHNO INF" 1800 BYT "O (MARCH 1991). IF YOU WO" 1810 BYT "ULD LIKE TO KNOW HOW TO D" 1820 BYT "O THIS SORT OF SMOOTH SCR" 1830 BYT "OLLER THEN CONSULT THE CO" 1840 BYT "MMENTS IN THE PROGRAM. SI" 1850 BYT "GNED: JRF.... " 1860 BYT " " 1870 ; 1880 MESS1 ;_ MESS1-MESS=MESSAGE LENGTH