
 1000  * S.SCREEN TRICKS
 1010  *--------------------------------
 1020  *   FAST SCREEN CLEAR SUBROUTINE
 1030  *--------------------------------
 1040  GCLEAR LDA #0
 1050         .HS 2C       SKIP OVER NEXT TWO BYTES
 1060  CLEAR  LDA #$A0
 1070  SET    LDY #119
 1080  .1     STA $400,Y   LINES:  0  8 16
 1090         STA $500,Y           2 10 18
 1100         STA $600,Y           4 12 20
 1110         STA $700,Y           6 14 22
 1120         STA $480,Y           1  9 17
 1130         STA $580,Y           3 11 19
 1140         STA $680,Y           5 13 21
 1150         STA $780,Y           7 15 23
 1160         DEY
 1170         BPL .1
 1180         RTS
 1190  *--------------------------------
 1200  *      SET SCREEN TO ALL VALUES
 1210  *--------------------------------
 1220  SETALL LDX #0
 1230  .1     TXA
 1240         JSR SET
 1250         INX
 1260         BNE .1
 1270         RTS
 1280  *--------------------------------
 1290  *   ALTERNATE SCREEN UNTIL KEY PRESSED
 1300  *--------------------------------
 1310  ALTER  LDA #$20     INVERSE BLANK
 1320         JSR SET
 1330         JSR CLEAR
 1340         LDA $C000
 1350         BPL ALTER
 1360         STA $C010
 1370         RTS
 1380  *--------------------------------
 1390  *   FAST SCROLL UP SUBROUTINE
 1400  *--------------------------------
 1410  SCROLL LDY #119
 1420  .1     LDA $400,Y   SAVE LINES: 0 8 16
 1430         PHA
 1440         LDA $480,Y   MOVE 1>0, 9>8, 17>16
 1450         STA $400,Y
 1460         LDA $500,Y   MOVE 2>1, 10>9, 18>17
 1470         STA $480,Y
 1480         LDA $580,Y   MOVE 3>2, 11>10, 19>18
 1490         STA $500,Y
 1500         LDA $600,Y   MOVE 4>3, 12>11, 20>19
 1510         STA $580,Y
 1520         LDA $680,Y        ET CETERA
 1530         STA $600,Y
 1540         LDA $700,Y
 1550         STA $680,Y
 1560         LDA $780,Y
 1570         STA $700,Y
 1580         PLA          MOVE 8>7, 16>15
 1590         CPY #40
 1600         BCC .2       DISCARD OLD LINE 0
 1610         STA $780-40,Y
 1620  .2     DEY
 1630         BPL .1
 1640         RTS
 1650  *--------------------------------
 1660  *   SCROLL AROUND, MOVING TOP LINE TO BOTTOM
 1670  *--------------------------------
 1680  SCR    LDY #39      SAVE TOP LINE ON STACK
 1690  .1     LDA $400,Y
 1700         PHA
 1710         DEY
 1720         BPL .1
 1730         JSR SCROLL   SCROLL SCREEN UP ONE LINE
 1740         LDY #0       STORE OLD TOP LINE
 1750  .2     PLA             ON BOTTOM OF SCREEN
 1760         STA $7D0,Y
 1770         INY
 1780         CPY #40
 1790         BCC .2
 1800         RTS
 1810  *--------------------------------
 1820  *   ROTATE SCREEN UNTIL KEY PRESSED
 1830  *--------------------------------
 1840  S      JSR SCR      SCROLL AROUND ONCE
 1850         LDA $C000    ANY KEY PRESSED?
 1860         BPL S        NO, SCROLL AGAIN
 1870         STA $C010    YES, CLEAR STROBE
 1880         RTS          ...AND RETURN

