LOAD PRINTCON ]LIST 1 CALL 14 * 256 3 DIM BR$(20),BR(20),C$(20): GOSUB 8600 5 HOME 7 GOSUB 9700 10 U = 130 * 256:BT = U + 32:KP = U + 64:CM = U + 96:ST = 130 * 256:CD = 114 * 256 20 L2 = PEEK (KP):L3 = PEEK (KP + 1):PP = U + 464 100 HOME 110 IF PEEK (KP + 1) > 0 THEN PRINT "Master";: GOTO 125 115 IF PEEK (KP) > 0 THEN PRINT "User";: GOTO 125 120 PRINT "Learner"; 125 PRINT " level configuration: ";CF$ 300 A = PEEK (BT + 24): IF A > 0 THEN PRINT "Remote keyboard using slo t ";A: GOTO 500 400 REM KEYBOARD MODE 410 B = PEEK (CM):CT = B 412 IF B < 2 THEN PRINT "Apple 2e computer" 413 IF B = 2 OR B = 128 THEN PRINT "Apple 2c computer" 414 IF B = 4 THEN PRINT "Apple 2gs computer" 416 IF B = 144 OR B = 64 THEN PRINT "Apple 2 plus computer": IF PEEK (BT + 25) = 3 THEN PRINT " with shift key modification" 450 A = PEEK (BT + 8): GOSUB 5600 455 PRINT "Using ";B;" column screen" 500 B = PEEK (BT + 2): IF B = 0 THEN GOTO 800 502 VQ = PEEK (BT + 9): IF VQ = 3 THEN V$ = "SlotBuster": GOTO 540 505 IF VQ < > 1 THEN GOTO 700 507 V$ = "Echo" 510 IF CT = 64 THEN V$ = "Cricket" 540 PRINT "Using ";V$;" Speech" 560 GOSUB 4900: GOTO 800 700 REM OTHER VOICE 720 PRINT "Voice device in slot "; PEEK (BT + 3) 760 IF PEEK (BT + 9) = 2 THEN PRINT " which is DECtalk" 780 ZW = 1: GOSUB 8800 800 REM BRAILLE DEVICE 820 IF PEEK (BT + 4) = 0 THEN GOTO 1000 840 PRINT "Braille device in slot "; PEEK (BT + 5) 850 ZW = 2: GOSUB 8800 1000 REM VB 1010 A = PEEK (KP + 5): IF A > 0 THEN PRINT "Model "; CHR$ (64 + PEEK (KP + 6));" VersaBraille in slot ";A 1030 ZW = 0: GOSUB 8800 1200 A = PEEK (KP + 7): IF A > 0 THEN PRINT "Remote serial device in s lot ";A 1220 ZW = 3: GOSUB 8800 1500 REM 1510 P$ = "one":P = 144: GOSUB 2000: IF SL = 0 THEN GOTO 2500 1520 P$ = "two":P = 160: GOSUB 2000: IF SL = 0 THEN GOTO 2500 1530 P$ = "three":P = 176: GOSUB 2000: IF SL = 0 THEN GOTO 2500 1540 P$ = "four":P = 192: GOSUB 2000: IF SL = 0 THEN GOTO 2500 1599 GOTO 2500 2000 PT = 0:PF = 1 2002 SL = PEEK (U + P): IF SL = 0 THEN RETURN 2004 CL = PEEK (U + P + 1) 2005 PRINT "Printer ";P$;" using slot ";SL 2007 IF CL = 0 AND PEEK (U + P + 3) = 9 THEN PRINT " Review class printer": GOTO 2012 2010 IF CL = 0 THEN PRINT " Generic printer" 2012 IF PEEK (U + P + 3) = 18 THEN PRINT " Apple LaserWriter Post Script Driver": PRINT " Font size: "; CHR$ ( PEEK (U + P + 9)); CHR$ ( PEEK (U + P + 10)): GOTO 2020 2015 IF CL = 10 THEN PRINT " Specific printer; ";: GOSUB 2300 2020 IF CL = 4 THEN PRINT " Paperless brailler" 2025 IF CL = 64 THEN PRINT " Large print printer" 2030 IF CL = 128 THEN PRINT " Brailler; ";BR$( PEEK (U + P + 11)) 2060 PRINT " carriage width "; PEEK (U + P + 4);"; form length "; PEEK (U + P + 5) 2070 IF PEEK (U + P + 7) = 1 THEN PRINT " pause after form feed" 2080 IF PEEK (U + P + 8) = 1 THEN PRINT " upper case only" 2084 IF PEEK (U + P + 6) = 1 THEN PRINT " auto linefeed on" 2100 ZW = 3 + (P - 128) / 16: GOSUB 8800: RETURN 2300 A = U + 256 2305 B = PEEK (A): IF B = 127 THEN PRINT : RETURN 2310 A = A + 1: PRINT CHR$ (B);: GOTO 2305 2500 REM DISK SECTION 2510 DR = PEEK (KP + 11) 2520 IF PEEK (PP) > 0 THEN GOTO 6000 2550 PRINT "There are ";DR;" disk drives:" 2560 FOR I = 1 TO DR 2565 A = PEEK (PP + 2 * I):B = PEEK (PP + 2 * I + 1) 2570 PRINT " ";I;" is slot ";A;"; drive ";B 2590 NEXT I 3000 REM 4700 PRINT " (press any key)";: GET A$ 4705 PRINT 4710 PRINT CHR$ (4);"RUN START" 4900 IF PEEK (KP + 3) = 1 THEN PRINT " using fast speech" 4910 A = PEEK (KP + 2): IF A < > 21 THEN PRINT " using a pitch co de of ";A 4920 IF PEEK (KP + 4) = 1 THEN PRINT " most punctuation spoken" 4930 A = PEEK (KP + 8): IF A < > 12 THEN PRINT " using a volume c ode of ";A 4940 RETURN 5600 REM 5610 IF A = 4 THEN B = 80: RETURN 5615 IF A = 0 THEN B = 40: RETURN 5620 IF A = 8 THEN B = 20: RETURN 5625 IF A = 10 THEN B = 10: RETURN 5630 IF A = 12 THEN B = 5: RETURN 6000 PRINT "Hard disk in slot "; PEEK (PP + 1) 6005 ZZ = PEEK (PP + 20) 6010 PRINT "Sider has ";ZZ;" disk volumes" 6020 FOR I = 1 TO DR - ZZ 6022 A = PEEK (PP + 2 * I):B = PEEK (PP + 2 * I + 1) 6025 PRINT " ";I + ZZ;" is slot ";A;"; drive ";B 6030 NEXT I 6099 GOTO 3000 8600 READ NB: FOR I = 1 TO NB 8602 READ A$,A:BR$(I) = A$:BR(I) = A 8604 NEXT I: RETURN 8608 DATA 16 8610 DATA "Braille Previewer",8,"Braille Previewer with voice",9 8615 DATA "Cranmer",4,"M Boss-1",0 8620 DATA "Thiel",0,"old L E D 120 using control-K",5 8625 DATA "old L E D not using control-K",5,"newer L E D",0 8630 DATA "Generic Embosser",0,"TeleSensory VersaPoint",0 8635 DATA "Ohtsuki Brailler",0 ,"Dipner dots embosser",1 8640 DATA "Dipner dots printed" ,1,"E T F 80 AND I B M typ e writer",2 8645 DATA "CAMWIL TYPEBALL",7,"P E D PLATE EMBOSSER",6 8800 REM SEQUENCES 8805 A = PEEK (U + 368 + ZW) 8810 B = PEEK (U + 256 + A): IF B = 127 THEN RETURN 8820 PRINT " Sequence: "; 8830 B = PEEK (U + 256 + A):A = A + 1: IF B = 127 THEN PRINT : RETURN 8831 IF B = 32 THEN PRINT "";: GOTO 8830 8832 IF B = 27 THEN PRINT "";: GOTO 8830 8834 IF B = 0 THEN PRINT "";: GOTO 8830 8835 IF B = 13 THEN PRINT "";: GOTO 8830 8836 IF B < 27 THEN PRINT "";: GOTO 8830 8840 IF B < 32 THEN PRINT "";: GOTO 8830 8850 PRINT CHR$ (B);: GOTO 8830 9700 PRINT "View a configuration": PRINT 9702 EC = 14 * 256:U = 30 * 256 9704 POKE U + 86,1: POKE U + 84,1: POKE 216,0:N = 0:NN = 0 9705 POKE U + 85,0 9708 CALL EC + 33:A = 130 * 256 9710 PRINT 9712 IF PEEK (U + 109) = 1 THEN PRINT CHR$ (7);"Disk read error": GOTO 100 9716 N$ = "":B = PEEK (A): IF B = 255 THEN GOTO 9728 9720 N$ = N$ + CHR$ (B):A = A + 1:B = PEEK (A): IF B < > 255 THEN GOTO 9720 9724 NN = NN + 1:C$(NN) = LEFT$ (N$, LEN (N$) - 4):A = A + 1: GOTO 9716 9728 PRINT "There are ";NN;" configurations": PRINT "on the disk": PRINT 9732 FOR I = 1 TO NN: PRINT I;" ";C$(I): NEXT I 9736 B = 0 9740 PRINT "Select configuration by number or name" 9744 INPUT "Configuration:^";A$:A = VAL (A$ + " ") 9748 IF A > NN THEN PRINT "Enter a number from 1 to ";NN: PRINT "or a name from the list": GOTO 9740 9750 IF A$ < > STR$ (A) THEN GOSUB 9800 9752 IF A = 0 THEN PRINT "canceled" 9756 IF A < 1 THEN : GOTO 3000 9764 CF$ = C$(A) 9780 PRINT CHR$ (4);"BLOAD ";CF$;".CON,A$8200" 9785 RETURN 9800 FOR I = 1 TO NN 9810 IF A$ = C$(I) THEN A = I: RETURN 9820 NEXT I 9830 A = 0: PRINT "not on the list": RETURN ]