Listing of file='TYPER.BAS;01' on disk='vmedia/compuwriter_2-sector.ccvf'
100 GOTO 5000 110 CLEAR :PLOT 12,15,3,10,12,6,2:PRINT "DO YOU WANT INSTRUCTIONS (Y/N)? " 115 PLOT 3,10,14,6,1:PRINT "IF YOU ANSWER 'Y' THEY WILL BE PRINTED OUT FOR YOU" 120 Y= CALL (2):IF NOT (Y= 89OR Y= 78)THEN PRINT :GOTO 110 130 PLOT 12,15,3,10,16,6,2:PRINT "SET PAPER & TURN ON PRINTER" 140 PLOT 3,10,17:INPUT "HIT <RETURN> WHEN READY....";A 150 PLOT 3,10,18:INPUT "ENTER PAPER LENGTH (INCHES): ";PL:OUT 6,27:OUT 6,67:OUT 6,0:OUT 6,PL 160 PLOT 3,10,19:INPUT "ENTER NO. OF LINES FOR SKIP OVER PERF: ";SK:IF SK< > 0THEN OUT 6,27:OUT 6,78:OUT 6,SK:GOTO 180 170 OUT 6,27:OUT 6,79 180 PLOT 3,10,20:INPUT "ENTER LINE SPACING (1,1.5,2,3): ";SP:OUT 6,27:OUT 6,65:OUT 6,SP* 12 185 PRINT CHR$ (Y):IF Y= 89THEN GOSUB 1000 190 PLOT 27,24,12,14,27,18,7,15,6,2 200 PLOT 3,0,31:PRINT "NORMAL " 210 TM= PEEK (32940)+ 256* PEEK (32941)+ 1 220 X= 0:YY= 0:H= 30:W= 64:CC= 1:GOSUB 5360:REM SCROLL 230 CO= 2:UL= 1:REM COLOUR CODE 240 Y= CALL (2):IF Y= 27THEN PLOT 27,13,27,64:POKE 33265,0:END 250 IF Y= 10THEN LI= LI+ 1:PLOT 10:OUT 6,10:IF C> 0THEN FOR I= 0TO C- 1:OUT 6,32:NEXT :GOTO 240 260 IF Y= 13THEN 380 270 IF Y= 26AND C> 0THEN PLOT 26:OUT 6,13:C= C- 1:IF C> 0THEN FOR I= 0TO C- 1:OUT 6,32:NEXT :GOTO 240:REM BACKSPACE 280 IF Y= 25THEN C= C+ 1:PLOT Y:OUT 6,32:OUT 6,18:GOTO 390:REM CURSOR RIGHT 290 IF Y= 31THEN OUT 6,15:CF= 1:CO= 3:PLOT 3,0,31,6,3:PRINT "COMPRESSED":PLOT 3,C,LI:GOTO 240:REM COMP CHARS ON 300 IF Y= 30THEN OUT 6,18:CF= 0:CO= 2:PLOT 3,0,31,6,2:PRINT "NORMAL ":PLOT 3,C,LI:GOTO 240:REM COMP CHARS OFF 310 IF Y= 14THEN OUT 6,27:OUT 6,87:OUT 6,1:LF= 1:PLOT 3,12,31,6,1:PRINT "DOUBLE WIDTH":PLOT 3,C,LI:GOTO 240:REM LARGE CHARS ON 320 IF Y= 15THEN OUT 6,27:OUT 6,87:OUT 6,0:LF= 0:PLOT 3,12,31,6,1:PRINT " ":PLOT 3,C,LI:GOTO 240:REM LARGE CHARS OFF 330 IF Y= 127THEN OUT 6,27:OUT 6,45:OUT 6,1:PLOT 3,27,31,6,1:PRINT "UNDERLINING":PLOT 3,C,LI:UL= 8:GOTO 240:REM ULINE ON 340 IF Y= 126THEN OUT 6,27:OUT 6,45:OUT 6,0:PLOT 3,27,31,6,1:PRINT " ":PLOT 3,C,LI:UL= 1:GOTO 240:REM ULINE OFF 350 IF Y= 16THEN OUT 6,27:OUT 6,52:PLOT 3,41,31,6,1:PRINT "ITALICS":PLOT 3,C,LI:GOTO 240:REM ITALICS ON 360 IF Y= 20THEN OUT 6,27:OUT 6,53:PLOT 3,41,31:PRINT " ":PLOT 3,C,LI:GOTO 240:REM ITALICS OFF 370 IF Y< 32OR Y> 127THEN 240 380 PLOT 6,(CO* UL):C= C+ 1:PLOT Y:OUT 6,Y:OUT 6,18:IF Y= 13THEN C= 0:OUT 6,11:OUT 6,18:PLOT 10:LI= LI+ 1 390 IF CF= 1THEN OUT 6,15 400 IF C> 63THEN C= 0:LI= LI+ 1 410 IF LI> 28THEN XC= CALL (1):LI= LI+ 1:PLOT 28 420 GOTO 240 1000 POKE 33289,80 1010 PLOT 27,18,7,27,13,27,50 1020 PRINT TAB( 16)"T Y P E W R I T E R I N S T R U C T I O N S" 1030 PRINT :PRINT TAB( 14)"This a fairly rough and ready program to make the AMUST" 1040 PRINT TAB( 14)"80 DT function as a normal typewriter. A summary of the " 1050 PRINT TAB( 14)"COMMANDS are as follows:" 1060 PRINT :PRINT TAB( 10)"BLINK ON = Compressed characters ON" 1070 PRINT TAB( 10)"BG ON/FLG ON = Compressed characters OFF" 1080 PRINT TAB( 10)"A7 ON = Double width ON" 1090 PRINT TAB( 10)"BL/A7 OFF = Double width OFF" 1100 PRINT TAB( 10)"SHIFT (CRT) = Underlining ON" 1110 PRINT TAB( 10)"SHIFT (USER) = Underlining OFF" 1120 PRINT TAB( 10)"BLACK KEY = Italics ON" 1130 PRINT TAB( 10)"BLUE KEY = Italics OFF" 1140 PRINT :PRINT "The left, down and right arrow keys all work." 1150 PRINT :PRINT "The ESC key will return you to Basic.":POKE 33265,0 1160 PLOT 3,10,30:INPUT "Hit <RETURN> to continue..";A:RETURN 5000 TM= PEEK (32940)+ PEEK (32941)* 256 5010 IF TM> 65500THEN 5060 5020 POKE TM+ 1,50:POKE TM+ 3,15 5030 REM 60027 CHECKS IF MACHINE LANGUAGE ALREADY LOADED 5040 A= 0:FOR N= TM+ 176TO TM+ 182:A= A+ PEEK (N):NEXT 5050 IF A= 1445THEN 5150 5060 AD= 32940:TM= TM- 200:DA= TM:GOSUB 5160:CLEAR 100 5070 TM= PEEK (32940)+ PEEK (32941)* 256 5080 PRINT "WORKING" 5090 RESTORE 5190 5100 REM 60050 LOADS MACHINE LANGUAGE 5110 FOR N= 1TO 200:READ A:IF A> 255THEN N= 220:GOTO 5140 5120 IF A< 0THEN DA= TM- A:AD= TM+ N:GOSUB 5160:GOTO 5140 5130 POKE TM+ N,A 5140 NEXT 5150 AD= 33283:DA= TM+ 8:GOSUB 5160:GOTO 110 5160 Z1= INT (DA/ 256):Z2= DA- Z1* 256 5170 POKE AD,Z2:N= N+ 1:POKE AD+ 1,Z1:RETURN 5180 REM MACHINE LANGUAGE DATA 5190 DATA 50,0,15,0,0,0,0,123,254,0,194,-121,30,8,243 5200 DATA 58,-6,87,58,-7,254,0,194,-33,122,50,-7,42,-1 5210 DATA 34,-49,42,-3,34,-46,33,-22,1,50,0,11,120,177 5220 DATA 194,-51,123,238,2,211,4,95,43,124,181,194 5230 DATA -48,58,-5,254,0,202,-100,61,50,-5,58,-49,130 5240 DATA 50,-49,58,-7,103,122,50,-7,84,195,-45,50,-7 5250 DATA 50,-4,50,-2,62,15,50,-3,62,50,50,-1,251,201 5260 DATA 254,1,194,-158,33,0,0,6,4,14,17,17,128,0,25 5270 DATA 126,17,128,255,25,119,35,0,13,194,-133,17,8 5280 DATA 0,25,5,194,-131,201 5290 DATA 254,2,194,-182,245,229,197,205,36,0,194,-166 5300 DATA 95,175,87,50,255,129,193,225,241,201,201 5310 DATA 300 5320 REM 5330 Z1= INT (DA/ 256):Z2= DA- Z1* 256 5340 POKE AD,Z2:N= N+ 1:POKE AD+ 1,Z1:RETURN 5350 REM SCROLLING ROUTINE 5360 DA= 28672+ 128* YY+ X+ X:AD= TM+ 126:GOSUB 5330 5370 DA= 128- W- W:AD= TM+ 149:GOSUB 5330 5380 POKE TM+ 129,H- 1:POKE TM+ 131,W* (CC+ 1) 5390 POKE TM+ 143,35* (1- CC):RETURN