Apple II Peripherals Disk (Disk 385b)
Item Preview
Share or Embed This Item
Flag this item for
Apple II Peripherals Disk (Disk 385b)
- Language
- English
Notes
Disk info for 385b_Apple_II_Peripherals_Disk.dsk:
File Name: 3d0g_385b_Apple_II_Peripherals_Disk/385b_Apple_II_Peripherals_Disk.dsk
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 34560
Used Space (bytes): 108800
Physical Size (KB): 140
Free Space (KB): 33
Used Space (KB): 106
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 135
Used Sectors: 425
Tracks On Disk: 35
Sectors On Disk: 16
Disk directory for 385b_Apple_II_Peripherals_Disk.dsk:
3d0g_385b_Apple_II_Peripherals_Disk/385b_Apple_II_Peripherals_Disk.dsk DISK VOLUME #254
* A 011 HELLO
* A 009 MEMX
* A 050 IMAGEWRITERII
* A 036 IMAGEWRITER15
* A 035 IMAGEWRITER
* A 011 MAIN
* A 022 MONITOR
* A 035 DOTMATRIX
* B 005 MEMTEST.OBJ
* B 002 ASOFT8BIT.CODE
* A 046 SCRIBE
* B 034 EINSTEIN.PIC
* A 033 ST
* A 032 DAISYWHEEL
? 26,728 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
? 26,728 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
? 26,728 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
? 26,728 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
? 26,728 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
DOS 3.3 format; 34,560 bytes free; 108,800 bytes used.
Text found in 385b_Apple_II_Peripherals_Disk.dsk/ASOFT8BIT.CODE.txt:
Offset Hex Data Characters
======= ================================================ =================
$000000 A9 4C 8D F5 03 A9 10 8D F6 03 A9 03 8D F7 03 60 )L.u.).. v.)..w.`
$000010 20 6D 03 20 E3 DF A0 00 B1 83 F0 2E AA C8 B1 83 m. c_ . 1.p.*H1.
$000020 85 5E C8 B1 83 85 5F A0 00 B1 5E 20 ED FD C8 CA .^H1.._ .1^ m}HJ
$000030 D0 F7 A0 00 B1 B8 C9 3A F0 10 C9 00 F0 0C C9 3B Pw .18I: p.I.p.I;
$000040 F0 11 20 7D E0 90 07 4C 10 03 20 8E FD 60 A2 10 p. }`..L .. .}`".
$000050 4C 12 D4 20 59 03 4C 60 03 E6 B8 D0 02 E6 B9 60 L.T Y.L` .f8P.f9`
$000060 B1 B8 C9 3A F0 E7 C9 00 F0 E3 4C 10 03 A0 00 B1 18I:pgI. pcL.. .1
$000070 B8 D9 A0 03 D0 29 C8 C0 02 D0 F4 68 68 20 86 03 8Y .P)H@ .Pthh ..
$000080 20 ED FD 4C 32 03 A9 02 18 65 B8 85 B8 A9 00 65 m}L2.). .e8.8).e
$000090 B9 85 B9 20 67 DD 20 FB E6 A5 A1 20 59 03 60 60 9.9 g] { f%! Y.``
$0000A0 E7 28 .. .. .. .. .. .. .. .. .. .. .. .. .. .. g(
** END **
Text found in 385b_Apple_II_Peripherals_Disk.dsk/DAISYWHEEL.bas:
10 ONERR GOTO 220
20 REM *****************************
30 REM ASSIGN VARIABLES
40 REM *****************************
50 A1 = 1:A2 = 1:A3 = 1:A4 = 1:A5 = 1:A6 = 1
60 E = -16384
70 REM ****************************
80 REM INTERFACE ASSIGNMENT
90 REM ****************************
100 IF PEEK(64120) = 234 THEN SLOT = 5: GOTO 260: REM EM ULATION FOR III
110 GOSUB 2520: VTAB 6: PRINT "IF USING THE APPLE IIC ENTER SLOT # '1'": VTAB 7: PRINT "AND THE BAUD RATE MUST BE SET FOR 9600"
120 VTAB 9: PRINT "ENTER SLOT # OF SERIAL INTERFACE-->": VTAB 12: PRINT "PRESS ESC FOR MAIN MENU"
130 SLOT = PEEK( -16384): IF SLOT <128 THEN 130
140 POKE -16368,0:SLOT = SLOT -128
150 IF SLOT = 27 THEN 680
160 SLOT = SLOT -48: IF SLOT >7 OR SLOT <1 OR SLOT = 6 THEN 130
170 VTAB 11: PRINT "SLOT IS ";SLOT: VTAB 13: PRINT "PRESS RETURN FOR PRINTER MENU"
180 GOTO 190
190 C = PEEK( -16384): IF C <128 THEN 190
200 POKE -16368,0:C = C -128
210 IF C < >13 AND C < >27 THEN 190
220 IF C = 27 THEN GOTO 680
230 REM *****************************
240 REM DRAW MENU
250 REM *******************************
260 TEXT : HOME
270 VTAB 3: PRINT "DAISY WHEEL TESTS"
280 VTAB 4: GOSUB 2600
290 PRINT
300 VTAB 6: PRINT "0. PRINTER FUNCTIONAL TEST"
310 VTAB 8: PRINT "1. CHARACTER SET";
320 IF A1 = 3 THEN GOSUB 2770
330 IF A1 = 2 THEN GOSUB 2780
340 IF A1 = 1 THEN GOSUB 2790
350 VTAB 9: PRINT "2. ALTERNATE SETS";
360 IF A2 = 3 THEN GOSUB 2770
370 IF A2 = 2 THEN GOSUB 2780
380 IF A2 = 1 THEN GOSUB 2790
390 VTAB 10: PRINT "3. GRAPHIC IMAGES";
400 IF A3 = 3 THEN GOSUB 2770
410 IF A3 = 2 THEN GOSUB 2780
420 IF A3 = 1 THEN GOSUB 2790
430 VTAB 11: PRINT "4. MARGIN/TABS";
440 IF A4 = 3 THEN GOSUB 2770
450 IF A4 = 2 THEN GOSUB 2780
460 IF A4 = 1 THEN GOSUB 2790
470 VTAB 12: PRINT "5. REGISTRATION";
480 IF A5 = 3 THEN GOSUB 2770
490 IF A5 = 2 THEN GOSUB 2780
500 IF A5 = 1 THEN GOSUB 2790
510 VTAB 14: GOSUB 2600
520 PRINT
530 VTAB 18: PRINT "SELECT THE NUMBER"
540 VTAB 20: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
550 VTAB 21: PRINT "PRESS SPACEBAR";: HTAB 25: PRINT "TO PASS"
560 VTAB 22: PRINT "PRESS X";: HTAB 25: PRINT "TO FAIL"
570 REM **************************
580 REM MENU SELECT
590 REM **************************
600 A = PEEK(E): IF A <128 THEN 600
610 POKE -16368,0
620 A = A -128
630 IF A = 27 THEN 670
640 A = A -48: IF A = 0 THEN 700
650 IF A <1 OR A >5 THEN 600
660 ON A GOTO 1210,1350,1530,1800,2090
670 REM *****LOAD MAIN MENU*****
680 TEXT : HOME : VTAB 9: PRINT "LOADING MAIN MENU.....PLEASE WAIT"
690 PRINT CHR$(4);"RUN MAIN"
700 REM ***************************
710 REM TEST ALL
720 REM **************************
730 TEXT : HOME : VTAB 2: PRINT "PRINTER FUNCTIONAL TEST": VTAB 4: GOSUB 2600
740 PRINT : VTAB 6: PRINT "MARGINS/TABS": VTAB 7: PRINT "CHARACTER SET": VTAB 8: PRINT "ALTERNATE SET": VTAB 9: PRINT "GRAPHIC IMAGES": VTAB 10: PRINT "REGISTRATION"
750 VTAB 13: GOSUB 2600
760 PRINT : VTAB 15: PRINT "ALIGN PERFORATION WITH TOP OF DOT HEAD"
770 VTAB 19: PRINT "PRESS RETURN";: VTAB 19: HTAB 25: PRINT "TO BEGIN": VTAB 20: PRINT "PRESS ESC";: VTAB 20: HTAB 25: PRINT "FOR PREV MENU"
780 K = PEEK( -16384): IF K <128 THEN 780
790 POKE -16368,0:K = K -128
800 IF K < >27 AND K < >13 THEN 780
810 IF K = 27 THEN 220
820 VTAB 15: PRINT " "
830 VTAB 20: HTAB 25: PRINT "ONCE TO ABORT"
840 VTAB 6: HTAB 30: PRINT "TESTING.."
850 PRINT CHR$(4);"PR#";SLOT
860 GOSUB 1850
870 GOSUB 2940
880 FOR I = 1 TO 10000: NEXT I: GOSUB 2820
890 VTAB 6: HTAB 30: PRINT "COMPLETED"
900 VTAB 7: HTAB 30: PRINT "TESTING.."
910 PRINT CHR$(4);"PR#";SLOT: PRINT "CHARACTER SET"
920 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
930 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
940 FOR R = 1 TO 5
950 FOR W = 32 TO 126
960 PRINT CHR$(W);: NEXT W: PRINT
970 NEXT R
980 GOSUB 2940
990 FOR I = 1 TO 10000: NEXT I: GOSUB 2820
1000 VTAB 7: HTAB 30: PRINT "COMPLETED"
1010 VTAB 8: HTAB 30: PRINT "TESTING.."
1020 PRINT CHR$(4);"PR#";SLOT: PRINT "ALTERNATE SETS": PRINT
1030 GOSUB 1400
1040 GOSUB 2940
1050 FOR I = 1 TO 6500: NEXT I: GOSUB 2820
1060 VTAB 8: HTAB 30: PRINT "COMPLETED"
1070 VTAB 9: HTAB 30: PRINT "TESTING.."
1080 PRINT CHR$(4);"PR#";SLOT: PRINT "GRAPHIC IMAGES": PRINT
1090 GOSUB 1570
1100 GOSUB 2940
1110 FOR I = 1 TO 7500: NEXT I: GOSUB 2820
1120 VTAB 9: HTAB 30: PRINT "COMPLETED"
1130 VTAB 10: HTAB 30: PRINT "TESTING.."
1140 PRINT CHR$(4);"PR#";SLOT: PRINT "REGISTRATION"
1150 GOSUB 2140
1160 GOSUB 2940
1170 FOR I = 1 TO 10000: NEXT I: GOSUB 2820
1180 VTAB 10: HTAB 30: PRINT "COMPLETED"
1190 GOTO 770
1200 REM ****************************
1210 REM CHARACTER SET
1220 REM ****************************
1230 TEST$ = "CHARACTER SET": GOSUB 2580
1240 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$
1250 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1260 PRINT CHR$(9);"N"
1270 PRINT CHR$(27);"."
1280 FOR R = 1 TO 5
1290 FOR W = 32 TO 126
1300 PRINT CHR$(W);: NEXT W
1310 PRINT
1320 NEXT R
1330 GOSUB 2850
1340 GOTO 1280
1350 REM *******************************
1360 REM ALTERNATE CHARACTER SET
1370 REM *******************************
1380 TEST$ = "ALTERNATE CHARACTER SET": GOSUB 2560
1390 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$: PRINT
1400 PRINT "ASCII STANDARD"; CHR$(27);"lA";: GOSUB 1510
1410 PRINT "USA WP "; CHR$(27)"lB";: GOSUB 1510
1420 PRINT "ITALIAN"; CHR$(27)"lC";: GOSUB 1510
1430 PRINT "FRENCH"; CHR$(27);"lF";: GOSUB 1510
1440 PRINT "SWEDISH"; CHR$(27);"lD";: GOSUB 1510
1450 PRINT "GERMAN "; CHR$(27);"lG";: GOSUB 1510
1460 PRINT "SPANISH"; CHR$(27);"lH";: GOSUB 1510
1470 PRINT "ENGLISH (U.K.)"; CHR$(27);"lE";: GOSUB 1510
1480 IF A = 0 THEN RETURN
1490 GOSUB 2370
1500 PRINT : GOTO 1400
1510 PRINT " # @ [ \ ] ^ ` { | } ~ "
1520 RETURN
1530 REM **************************
1540 REM GRAPHIC TEST
1550 REM **************************
1560 TEST$ = "GRAPHICS IMAGES": GOSUB 2560
1570 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$
1580 PRINT CHR$(27); CHR$(26); CHR$(73)
1590 PRINT CHR$(27);"G";
1600 A$ = "T E X T"
1610 B$ = "D O N E"
1620 C$ = "I N"
1630 E$ = "G R A P H I C S"
1640 F$ = "M O D E"
1650 PRINT A$; CHR$(10); CHR$(10); CHR$(10); CHR$(10); CHR$(10);
1660 PRINT B$; CHR$(10); CHR$(10); CHR$(10); CHR$(10); CHR$(10);
1670 PRINT C$; CHR$(10); CHR$(10); CHR$(10); CHR$(10); CHR$(10);
1680 PRINT E$; CHR$(10); CHR$(10); CHR$(10); CHR$(10); CHR$(10);
1690 PRINT F$; CHR$(10); CHR$(10); CHR$(10); CHR$(10); CHR$(10);
1700 PRINT : PRINT
1710 PRINT CHR$(27);"G";
1720 G$ = "\":H$ = "/"
1730 FOR X = 1 TO 80
1740 PRINT G$;H$;" ";
1750 NEXT X
1760 PRINT
1770 IF A = 0 THEN RETURN
1780 GOSUB 2370
1790 GOTO 1650
1800 REM ***************************
1810 REM MARGINS/TABS
1820 REM ***************************
1830 TEST$ = "MARGINS/TABS ": GOSUB 2540
1840 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$
1850 PRINT CHR$(27); CHR$(26); CHR$(73)
1860 PRINT CHR$(27);">"
1870 PRINT SPC( 10);
1880 PRINT " LEFT MARGIN AT COLUMN 10
1890 PRINT "|";
1900 PRINT CHR$(27);"C10";
1910 PRINT " | MEASURE 7/8 INCHES FROM LEFT AND 7/8 INCHES FROM TOP OF PAGE"
1920 PRINT CHR$(27);">"
1930 PRINT CHR$(27);"P30"
1940 PRINT SPC( 25);
1950 PRINT " LEFT MARGIN AT COLUMN 25"
1960 PRINT "|";
1970 PRINT CHR$(27);"C25";
1980 PRINT " | MEASURE 2 1/8 INCHES FROM LEFT AND 5 3/4 INCHES FROM TOP OF PAGE"
1990 PRINT CHR$(27);">"
2000 PRINT CHR$(27);"P60"
2010 PRINT SPC( 10);
2020 PRINT " LEFT MARGIN AT COLUMN 10"
2030 PRINT "|";
2040 PRINT CHR$(27);"C10";
2050 PRINT " | MEASURE 7/8 INCHES FROM LEFT AND 10 1/2 INCHES FROM TOP OF PAGE"
2060 PRINT : PRINT
2070 IF A = 0 THEN RETURN
2080 GOSUB 2370
2090 REM **************************
2100 REM REGISTRATION
2110 REM **************************
2120 TEST$ = "REGISTRATION": GOSUB 2560
2130 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$
2140 PRINT CHR$(9);"N"
2150 PRINT CHR$(27); CHR$(26); CHR$(73)
2160 PRINT CHR$(27);"I"
2170 PRINT CHR$(27); CHR$(62)
2180 A$ = "|"
2190 J = PEEK( -637): IF J = 234 THEN PRINT CHR$(9);"Z"
2200 FOR L = 1 TO 4
2210 FOR W = 1 TO 80
2220 PRINT A$;
2230 NEXT W
2240 PRINT
2250 NEXT L
2260 PRINT CHR$(27); CHR$(80)
2270 FOR R = 1 TO 5: PRINT CHR$(27); CHR$(10);: NEXT R
2280 FOR L = 1 TO 4
2290 FOR W = 1 TO 80
2300 PRINT A$;
2310 NEXT W
2320 PRINT
2330 NEXT L
2340 IF A = 0 THEN RETURN
2350 GOSUB 2370
2360 GOTO 2200
2370 REM ********************************
2380 REM RETURN KEYPRESS
2390 REM ********************************
2400 X = PEEK( -16384): IF X <128 THEN 2400
2410 POKE -16368,0:X = X -128
2420 IF X < >27 AND X < >32 AND X < >88 AND X < >13 THEN 2400
2430 IF X = 13 THEN RETURN
2440 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27); CHR$(26); CHR$(73): PRINT CHR$(4);"PR#0"
2450 IF X = 27 THEN 220
2460 IF X = 32 THEN GOSUB 2610
2470 IF X = 88 THEN GOSUB 2690
2480 GOTO 220
2490 REM ***************************
2500 REM MISC SUBS
2510 REM ***************************
2520 TEXT : HOME : VTAB 4: HTAB 8: PRINT "*** DAISY WHEEL TESTER ***": RETURN
2530 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 11: PRINT "PRESS SPACEBAR TO PASS": PRINT "PRESS X TO REJECT": PRINT "PRESS ESC FOR MENU": RETURN
2540 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PERFORATION MUST BE ALIGNED WITH": VTAB 11: PRINT "TOP OF DOT HEAD": VTAB 13: PRINT "PRESS RETURN TO BEGIN OR REPEAT TEST"
2550 VTAB 14: PRINT "PRESS SPACEBAR TO PASS": VTAB 15: PRINT "PRESS X TO FAIL": VTAB 16: PRINT "PRESS ESC FOR MENU": RETURN
2560 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PRESS RETURN TO REPEAT TEST"
2570 VTAB 12: PRINT "PRESS SPACEBAR TO PASS": VTAB 13: PRINT "PRESS X TO FAIL": VTAB 14: PRINT "PRESS ESC FOR MENU": RETURN
2580 TEXT : HOME : VTAB 10: PRINT TEST$
2590 VTAB 12: PRINT "PRESS SPACEBAR TO PASS": VTAB 13: PRINT "PRESS X TO FAIL": VTAB 14: PRINT "PRESS ESC FOR MENU": RETURN
2600 FOR T = 1 TO 39: PRINT "_";: NEXT : RETURN
2610 REM PASS TEST
2620 IF A = 1 THEN A1 = 2
2630 IF A = 2 THEN A2 = 2
2640 IF A = 3 THEN A3 = 2
2650 IF A = 4 THEN A4 = 2
2660 IF A = 5 THEN A5 = 2
2670 IF A = 6 THEN A6 = 2
2680 RETURN
2690 REM FAIL TEST
2700 IF A = 1 THEN A1 = 3
2710 IF A = 2 THEN A2 = 3
2720 IF A = 3 THEN A3 = 3
2730 IF A = 4 THEN A4 = 3
2740 IF A = 5 THEN A5 = 3
2750 IF A = 6 THEN A6 = 3
2760 RETURN
2770 HTAB 25: PRINT "FAIL": RETURN
2780 HTAB 25: PRINT "PASS": RETURN
2790 HTAB 25: PRINT "NOT TESTED": RETURN
2800 DATA 169,4,76,237,253,96
2810 DATA 27,45,27,73,166,71,60,126,126,126,127,126,50,4
2820 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27); CHR$(26); CHR$(73): PRINT CHR$(4);"PR#0": RETURN
2830 REM **************************
2840 REM KEYPRESS
2850 REM ***************************
2860 X = PEEK( -16384): IF X <128 THEN 2860
2870 POKE -16368,0:X = X -128
2880 IF X < >27 AND X < >32 AND X < >88 THEN RETURN
2890 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27); CHR$(26); CHR$(73): PRINT CHR$(4);"PR#0"
2900 IF X = 27 THEN 220
2910 IF X = 32 THEN A1 = 2
2920 IF X = 88 THEN A1 = 3
2930 GOTO 220
2940 REM ***********************
2950 REM KEYPRESS ABORT
2960 REM **********************
2970 K5 = PEEK( -16384): IF K5 <128 THEN RETURN
2980 POKE -16368,0:K5 = K5 -128
2990 IF K5 < >27 THEN RETURN
3000 IF K5 = 27 THEN GOSUB 2820
3010 GOTO 260
Text found in 385b_Apple_II_Peripherals_Disk.dsk/DOTMATRIX.bas:
10 ONERR GOTO 250
20 REM *****************************
30 REM ASSIGN VARIABLES
40 REM *****************************
50 PRINT CHR$(4);"BRUN ASOFT8BIT.CODE
60 A1 = 1:A2 = 1:A3 = 1:A4 = 1:A5 = 1:A6 = 1
70 E = -16384
80 REM ****************************
90 REM INTERFACE ASSIGNMENT
100 REM ****************************
110 IF PEEK(64120) = 234 THEN SLOT = 2: GOTO 190: REM EMULATION FOR III
120 GOSUB 2680: VTAB 9: PRINT "ENTER SLOT # OF PARALLEL INTERFACE->": VTAB 12: PRINT "PRESS ESC FOR MAIN MENU"
130 SLOT = PEEK( -16384): IF SLOT <128 THEN 130
140 POKE -16368,0:SLOT = SLOT -128
150 IF SLOT = 27 THEN 720
160 SLOT = SLOT -48: IF SLOT >7 OR SLOT <1 OR SLOT = 6 THEN 130
170 VTAB 11: PRINT "SLOT IS ";SLOT: VTAB 13: PRINT "PRESS RETURN FOR PRINTER MENU"
180 GOTO 200
190 GOSUB 2680: VTAB 9: PRINT "THE UPIC CARD (///) MUST BE IN SLOT 2": VTAB 12: PRINT "PRESS ESC FOR PREV MENU": VTAB 13: PRINT "PRESS RETURN FOR PRINTER MENU"
200 C = PEEK( -16384): IF C <128 THEN 200
210 POKE -16368,0:C = C -128
220 IF C < >13 AND C < >27 THEN 200
230 IF C = 27 THEN GOTO 720
240 REM ********************************
250 REM DRAW MENU
260 REM *******************************
270 TEXT : HOME
280 VTAB 3: PRINT "DOT MATRIX TESTS"
290 VTAB 4: GOSUB 2740
300 PRINT
310 VTAB 6: PRINT "0. PRINTER FUNCTIONAL TEST"
320 VTAB 8: PRINT "1. CHARACTER SET";
330 IF A1 = 3 THEN GOSUB 2910
340 IF A1 = 2 THEN GOSUB 2920
350 IF A1 = 1 THEN GOSUB 2930
360 VTAB 9: PRINT "2. ALTERNATE SETS";
370 IF A2 = 3 THEN GOSUB 2910
380 IF A2 = 2 THEN GOSUB 2920
390 IF A2 = 1 THEN GOSUB 2930
400 VTAB 10: PRINT "3. CUSTOM CHARACTER";
410 IF A3 = 3 THEN GOSUB 2910
420 IF A3 = 2 THEN GOSUB 2920
430 IF A3 = 1 THEN GOSUB 2930
440 VTAB 11: PRINT "4. GRAPHIC IMAGES";
450 IF A4 = 3 THEN GOSUB 2910
460 IF A4 = 2 THEN GOSUB 2920
470 IF A4 = 1 THEN GOSUB 2930
480 VTAB 12: PRINT "5. MARGIN/TABS (EVFU)";
490 IF A5 = 3 THEN GOSUB 2910
500 IF A5 = 2 THEN GOSUB 2920
510 IF A5 = 1 THEN GOSUB 2930
520 VTAB 13: PRINT "6. REGISTRATION";
530 IF A6 = 3 THEN GOSUB 2910
540 IF A6 = 2 THEN GOSUB 2920
550 IF A6 = 1 THEN GOSUB 2930
560 VTAB 15: GOSUB 2740
570 PRINT
580 VTAB 18: PRINT "SELECT THE NUMBER"
590 VTAB 20: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
600 VTAB 21: PRINT "PRESS SPACEBAR";: HTAB 25: PRINT "TO PASS"
610 VTAB 22: PRINT "PRESS X";: HTAB 25: PRINT "TO FAIL"
620 REM **************************
630 REM MENU SELECT
640 REM **************************
650 A = PEEK(E): IF A <128 THEN 650
660 POKE -16368,0
670 A = A -128
680 IF A = 27 THEN 720
690 A = A -48: IF A = 0 THEN 750
700 IF A <1 OR A >6 THEN 650
710 ON A GOTO 1340,1450,1620,1750,1910,2170
720 REM *****LOAD MAIN******
730 TEXT : HOME : VTAB 8: PRINT "LOADING MAIN MENU.......PLEASE WAIT"
740 PRINT CHR$(4);"RUN MAIN"
750 REM ***************************
760 REM TEST ALL
770 REM **************************
780 TEXT : HOME : VTAB 2: PRINT "PRINTER FUNCTIONAL TEST": VTAB 4: GOSUB 2740
790 PRINT : VTAB 6: PRINT "MARGINS/TABS (EVFU)": VTAB 7: PRINT "CHARACTER SET": VTAB 8: PRINT "ALTERNATE SET": VTAB 9: PRINT "CUSTOM CHARACTER": VTAB 10: PRINT "GRAPHIC IMAGES": VTAB 11: PRINT "REGISTRATION"
800 VTAB 12: GOSUB 2740
810 PRINT : VTAB 15: PRINT "ALIGN PERFORATION WITH TOP OF DOT HEAD"
820 VTAB 19: PRINT "PRESS RETURN";: VTAB 19: HTAB 25: PRINT "TO BEGIN": VTAB 20: PRINT "PRESS ESC";: VTAB 20: HTAB 25: PRINT "FOR PREV MENU"
830 K = PEEK( -16384): IF K <128 THEN 830
840 POKE -16368,0:K = K -128
850 IF K < >27 AND K < >13 THEN 830
860 IF K = 27 THEN 240
870 IF K = 13 THEN VTAB 15: PRINT " "
880 VTAB 20: HTAB 25: PRINT "ONCE TO ABORT"
890 VTAB 6: HTAB 30: PRINT "TESTING.."
900 GOSUB 1960
910 GOSUB 2970
920 FOR I = 1 TO 6950: NEXT I: GOSUB 2960
930 VTAB 6: HTAB 30: PRINT "COMPLETED"
940 VTAB 7: HTAB 30: PRINT "TESTING.."
950 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT "CHARACTER SET": PRINT
960 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
970 FOR R = 1 TO 6
980 FOR W = 32 TO 126
990 PRINT CHR$(W);: NEXT W
1000 NEXT R
1010 GOSUB 2970
1020 FOR I = 1 TO 2600: NEXT I: GOSUB 2960
1030 VTAB 7: HTAB 30: PRINT "COMPLETED"
1040 VTAB 8: HTAB 30: PRINT "TESTING.."
1050 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT "ALTERNATE SETS": PRINT
1060 GOSUB 1500
1070 GOSUB 2970
1080 FOR I = 1 TO 2900: NEXT I: GOSUB 2960
1090 VTAB 8: HTAB 30: PRINT "COMPLETED"
1100 VTAB 9: HTAB 30: PRINT "TESTING.."
1110 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT "CUSTOM CHARACTER": PRINT
1120 RESTORE
1130 FOR I = 768 TO 773: READ J: POKE I,J: NEXT I
1140 FOR I = 1 TO 14: READ J: POKE 769,J: CALL 768: NEXT I
1150 FOR L = 1 TO 5: FOR W = 1 TO 40: PRINT CHR$(27);"*& ";: NEXT W: PRINT
1160 NEXT L
1170 GOSUB 2970
1180 FOR I = 1 TO 2650: NEXT I: RESTORE : GOSUB 2960
1190 VTAB 9: HTAB 30: PRINT "COMPLETED"
1200 VTAB 10: HTAB 30: PRINT "TESTING.."
1210 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT "GRAPHIC IMAGES": PRINT
1220 GOSUB 1800
1230 GOSUB 2970
1240 FOR I = 1 TO 5250: NEXT I: GOSUB 2960
1250 VTAB 10: HTAB 30: PRINT "COMPLETED"
1260 VTAB 11: HTAB 30: PRINT "TESTING.."
1270 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT "REGISTRATION"
1280 GOSUB 2220
1290 GOSUB 2970
1300 FOR I = 1 TO 4900: NEXT I: GOSUB 2960
1310 VTAB 11: HTAB 30: PRINT "COMPLETED"
1320 GOTO 820
1330 REM ****************************
1340 REM CHARACTER SET
1350 REM ****************************
1360 TEST$ = "CHARACTER SET": GOSUB 2690
1370 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1380 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
1390 FOR R = 1 TO 200
1400 FOR W = 32 TO 126
1410 PRINT CHR$(W);: NEXT W
1420 GOSUB 2450
1430 NEXT R
1440 GOTO 1390
1450 REM *******************************
1460 REM ALTERNATE CHARACTER SET
1470 REM *******************************
1480 TEST$ = "ALTERNATE CHARACTER SET": GOSUB 2720
1490 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1500 PRINT "AMERICAN"; CHR$(27);"Z"; CHR$(7); CHR$(0);: GOSUB 1600
1510 PRINT : PRINT "BRITISH"; CHR$(27); CHR$(4); CHR$(27);"D"; CHR$(3); CHR$(0);: GOSUB 1600
1520 PRINT "GERMAN"; CHR$(27); CHR$(3); CHR$(0); CHR$(27);"D"; CHR$(4); CHR$(0);: GOSUB 1600
1530 PRINT "FRENCH"; CHR$(27);"Z"; CHR$(1); CHR$(0); CHR$(27);"D"; CHR$(6); CHR$(0);: GOSUB 1600
1540 PRINT "SWEDISH"; CHR$(27);"Z"; CHR$(2); CHR$(0); CHR$(27);"D"; CHR$(5); CHR$(0);: GOSUB 1600
1550 PRINT "ITALIAN"; CHR$(27); CHR$(6); CHR$(0); CHR$(27);"D"; CHR$(1); CHR$(0);: GOSUB 1600
1560 PRINT "SPANISH"; CHR$(27);"D"; CHR$(7); CHR$(0);: GOSUB 1600
1570 IF A = 0 THEN RETURN
1580 GOSUB 2540
1590 GOTO 1500
1600 PRINT " # @ [ \ ] ' { | } ~ ":
1610 RETURN
1620 REM ***************************
1630 REM CUSTOM**
1640 REM ****************************
1650 TEST$ = "CUSTOM CHARACTER": GOSUB 2690
1660 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1670 RESTORE
1680 FOR I = 768 TO 773: READ J: POKE I,J: NEXT I
1690 FOR I = 1 TO 14: READ J: POKE 769,J: CALL 768: NEXT I
1700 FOR L = 1 TO 5: FOR W = 1 TO 40: PRINT CHR$(27);"*& ";: NEXT W: PRINT
1710 GOSUB 2440
1720 RESTORE
1730 NEXT L
1740 GOTO 1680
1750 REM **************************
1760 REM GRAPHIC TEST
1770 REM **************************
1780 TEST$ = "GRAPHIC IMAGES": GOSUB 2720
1790 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1800 S$ = "V0625"
1810 & CHR$(27);S$; CHR$(1)
1820 & CHR$(27);S$; CHR$(3)
1830 & CHR$(27);S$; CHR$(7)
1840 & CHR$(27);S$; CHR$(15)
1850 & CHR$(27);S$; CHR$(31)
1860 & CHR$(27);S$; CHR$(63)
1870 & CHR$(27);S$; CHR$(127)
1880 IF A = 0 THEN RETURN
1890 GOSUB 2530
1900 GOTO 1810
1910 REM ***************************
1920 REM VFU
1930 REM *****************************
1940 TEST$ = "MARGINS/TABS (EVFU)": GOSUB 2700
1950 GOSUB 2530
1960 T$ = "TESTING ELECTRONIC VERTICAL FORM UNIT HTAB"
1970 T1$ = "FROM TOP OF PAGE 3/4 INCHES (+/- 1/4) |HTAB"
1980 T2$ = "FROM TOP OF PAGE 3 1/8 INCHES (+/- 1/4) |HTAB"
1990 T3$ = "FROM TOP OF PAGE 6 INCHES (+/- 1/4) |HTAB"
2000 T4$ = "FROM TOP OF PAGE 10 1/8 INCHES (+/- 1/4) END OF TEST"
2010 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N"
2020 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
2030 VFU$ = "@@" +"B@" +"D@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"J@" +"L@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@
2040 EV$ = "T@" +"d@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"R@" +"@@" +"@@" +"@@" +"@@" +"C@" +"A@" + CHR$(30)
2050 PRINT CHR$(29);"A@";VFU$;EV$
2060 PRINT CHR$(31);"B"; SPC( 26);T$;
2070 PRINT CHR$(31);"C";"|"; SPC( 25);T1$;
2080 PRINT CHR$(31);"B";" ";T$;
2090 PRINT CHR$(31);"C";"|";T2$;
2100 PRINT CHR$(31);"C"; SPC( 26);T$;
2110 PRINT CHR$(31);"C";"|"; SPC( 25);T3$;
2120 PRINT CHR$(31);"B";" ";T4$;
2130 PRINT CHR$(12)
2140 IF A = 0 THEN RETURN
2150 GOSUB 2530
2160 GOTO 2010
2170 REM **************************
2180 REM REGISTRATION
2190 REM **************************
2200 TEST$ = "REGISTRATION": GOSUB 2720
2210 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(9);"80N": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
2220 PRINT CHR$(27);"X"
2230 A$ = "|"
2240 PRINT CHR$(27); CHR$(102)
2250 FOR L = 1 TO 4
2260 FOR W = 1 TO 80
2270 PRINT A$;
2280 NEXT W
2290 PRINT
2300 NEXT L
2310 FOR R = 1 TO 5: PRINT CHR$(27); CHR$(114): NEXT R
2320 PRINT CHR$(27); CHR$(102)
2330 FOR L = 1 TO 4
2340 FOR W = 1 TO 80
2350 PRINT A$;
2360 NEXT W
2370 PRINT
2380 NEXT L
2390 IF A = 0 THEN RETURN
2400 GOSUB 2530
2410 GOTO 2240
2420 REM **************************
2430 REM KEYPRESS CHECK
2440 REM **************************
2450 X = PEEK( -16384): IF X >128 THEN 2460
2460 POKE -16368,0:X = X -128
2470 IF X < >27 AND X < >32 AND X < >88 THEN RETURN
2480 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": GOTO 2490
2490 IF X = 27 THEN 240
2500 IF X = 32 THEN GOSUB 2750
2510 IF X = 88 THEN GOSUB 2830
2520 GOTO 240
2530 REM ********************************
2540 REM RETURN KEYPRESS
2550 REM ********************************
2560 X = PEEK( -16384): IF X <128 THEN 2560
2570 POKE -16368,0:X = X -128
2580 IF X < >27 AND X < >32 AND X < >88 AND X < >13 THEN 2560
2590 IF X = 13 THEN RETURN
2600 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0"
2610 IF X = 27 THEN 240
2620 IF X = 32 THEN GOSUB 2750
2630 IF X = 88 THEN GOSUB 2830
2640 GOTO 240
2650 REM ***************************
2660 REM MISC SUBS
2670 REM ***************************
2680 TEXT : HOME : VTAB 4: HTAB 8: PRINT "*** DOT MATRIX TESTER ***": VTAB 5: PRINT "APPLE II PARALLEL CARD MUST BE USED": RETURN
2690 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 11: PRINT "PRESS SPACEBAR TO PASS": PRINT "PRESS X TO REJECT": PRINT "PRESS ESC FOR MENU": RETURN
2700 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PERFORATION MUST BE ALIGNED WITH": VTAB 11: PRINT "TOP OF DOT HEAD": VTAB 13: PRINT "PRESS RETURN TO BEGIN OR REPEAT TEST"
2710 VTAB 14: PRINT "PRESS SPACEBAR TO PASS": VTAB 15: PRINT "PRESS X TO FAIL": VTAB 16: PRINT "PRESS ESC FOR MENU": RETURN
2720 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PRESS RETURN TO REPEAT TEST"
2730 VTAB 12: PRINT "PRESS SPACEBAR TO PASS": VTAB 13: PRINT "PRESS X TO FAIL": VTAB 14: PRINT "PRESS ESC FOR MENU": RETURN
2740 FOR T = 1 TO 39: PRINT "_";: NEXT : RETURN
2750 REM PASS TEST
2760 IF A = 2 THEN A2 = 2
2770 IF A = 3 THEN A3 = 2
2780 IF A = 4 THEN A4 = 2
2790 IF A = 5 THEN A5 = 2
2800 IF A = 6 THEN A6 = 2
2810 IF A = 1 THEN A1 = 2
2820 RETURN
2830 REM FAIL TEST
2840 IF A = 2 THEN A2 = 3
2850 IF A = 3 THEN A3 = 3
2860 IF A = 4 THEN A4 = 3
2870 IF A = 5 THEN A5 = 3
2880 IF A = 6 THEN A6 = 3
2890 IF A = 1 THEN A1 = 3
2900 RETURN
2910 HTAB 30: PRINT "FAILED": RETURN
2920 HTAB 30: PRINT "PASSED": RETURN
2930 HTAB 30: PRINT "NOT TESTED": RETURN
2940 DATA 169,4,76,237,253,96
2950 DATA 27,45,27,73,166,71,60,126,126,126,127,126,50,4
2960 PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": RETURN
2970 REM ***********************
2980 REM KEYPRESS ABORT
2990 REM **********************
3000 K5 = PEEK( -16384): IF K5 <128 THEN RETURN
3010 POKE -16368,0:K5 = K5 -128
3020 IF K5 < >27 THEN RETURN
3030 IF K5 = 27 THEN GOSUB 2960
3040 GOTO 270
Text found in 385b_Apple_II_Peripherals_Disk.dsk/HELLO.bas:
10 REM ****************
20 REM LOAD MAIN
30 REM ***************
40 PRINT CHR$(4);"RUN MAIN"
50 END
100 D$ = CHR$(4)
110 POKE -16368,0
120 E = -16384
130 ONERR GOTO 1120
140 HOME : TEXT
150 VTAB 3: HTAB 2: PRINT "APPLE II";: HTAB 25: PRINT "P/N #077-0217-A": HTAB 2: PRINT "PERIPHERALS DISKETTE": PRINT : HTAB 2: PRINT "COPYRIGHT 1985 APPLE COMPUTER, INC."
160 GOSUB 1000
170 PRINT : PRINT : HTAB 4: PRINT "1. MONITORS"
180 PRINT : HTAB 4: PRINT "2. PRINTERS"
190 PRINT : HTAB 4: PRINT "3. APPLE II MEMORY EXPANSION CARD"
200 PRINT : GOSUB 1000
210 PRINT : PRINT : HTAB 2: PRINT "SELECT THE NUMBER"
220 PRINT : HTAB 2: PRINT "PRESS ESC TO QUIT"
230 B = PEEK(E): IF B <128 THEN 230
240 POKE -16368,0
250 B = B -128
260 IF B = 27 THEN 660
270 B = B -48: IF B <1 OR B >3 THEN 230
280 ON B GOTO 290,350,590
290 REM
300 REM MONITOR TESTS
310 REM
320 TEXT : HOME : VTAB 10: PRINT "LOADING MONITORS...........PLEASE WAIT"
330 PRINT D$;"RUN MONITOR"
340 END
350 REM
360 REM PRINTER MENU
370 REM
380 HOME : TEXT : VTAB 3: PRINT "PRINTER TESTS AVAILABLE"
390 GOSUB 1000
400 PRINT : PRINT
410 HTAB 4: PRINT "1. IMAGEWRITER"
420 HTAB 4: PRINT "2. IMAGEWRITER 15"
430 HTAB 4: PRINT "3. IMAGEWRITER II"
440 HTAB 4: PRINT "4. DOT MATRIX PRINTER"
450 HTAB 4: PRINT "5. DAISY WHEEL PRINTER"
460 HTAB 4: PRINT "6. SCRIBE"
470 HTAB 4: PRINT "7. SILENTYPE"
480 PRINT : GOSUB 1000
490 PRINT
500 PRINT : HTAB 2: PRINT "SELECT THE NUMBER"
510 PRINT
520 HTAB 2: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
530 C = PEEK(E): IF C <128 THEN 530
540 POKE -16368,0
550 C = C -128
560 IF C = 27 THEN 100
570 C = C -48: IF C <1 OR C >7 THEN 530
580 ON C GOTO 700,760,830,890,950,1010,1060
590 REM
600 REM MEMORY EXPANSION CARD
610 REM
620 TEXT : HOME
630 VTAB 8: PRINT "LOADING MEMORY EXPANSION CARD TEST...PLEASE WAIT"
640 PRINT D$;"RUN MEMX"
650 REM ESC PRESSED
660 HOME : TEXT : VTAB 5: PRINT "DO YOU REALLY WANT TO QUIT? (Y/N)";
670 IF PEEK(E)
Text found in 385b_Apple_II_Peripherals_Disk.dsk/IMAGEWRITER.bas:
10 ONERR GOTO 250
20 REM *****************************
30 REM ASSIGN VARIABLES
40 REM *****************************
50 PRINT CHR$(4);"BRUN ASOFT8BIT.CODE
60 A1 = 1:A2 = 1:A3 = 1:A4 = 1:A5 = 1:A6 = 1
70 E = -16384
80 REM ****************************
90 REM INTERFACE ASSIGNMENT
100 REM ****************************
110 IF PEEK(64120) = 234 THEN SLOT = 5: GOTO 270: REM EMULATION FOR ///
120 GOSUB 2740: VTAB 6: PRINT "IF USING APPLE IIC ENTER SLOT # '1'": VTAB 7: PRINT "AND THE BAUD RATE MUST BE SET FOR 9600"
130 VTAB 9: PRINT "ENTER SLOT # OF SERIAL INTERFACE-->": VTAB 12: PRINT "PRESS ESC FOR MAIN MENU"
140 SLOT = PEEK( -16384): IF SLOT <128 THEN 140
150 POKE -16368,0:SLOT = SLOT -128
160 IF SLOT = 27 THEN 730
170 SLOT = SLOT -48: IF SLOT >7 OR SLOT <1 OR SLOT = 6 THEN 140
180 VTAB 11: PRINT "SLOT IS ";SLOT: VTAB 13: PRINT "PRESS RETURN FOR PRINTER MENU"
190 GOTO 200
200 C = PEEK( -16384): IF C <128 THEN 200
210 POKE -16368,0:C = C -128
220 IF C < >13 AND C < >27 THEN 200
230 IF C = 27 THEN GOTO 720
240 REM ********************************
250 REM DRAW MENU
260 REM *******************************
270 TEXT : HOME
280 VTAB 3: PRINT "IMAGEWRITER TESTS"
290 VTAB 4: GOSUB 2800
300 PRINT
310 VTAB 6: PRINT "0. PRINTER FUNCTIONAL TEST"
320 VTAB 8: PRINT "1. CHARACTER SET";
330 IF A1 = 3 THEN GOSUB 2970
340 IF A1 = 2 THEN GOSUB 2980
350 IF A1 = 1 THEN GOSUB 2990
360 VTAB 9: PRINT "2. ALTERNATE SETS";
370 IF A2 = 3 THEN GOSUB 2970
380 IF A2 = 2 THEN GOSUB 2980
390 IF A2 = 1 THEN GOSUB 2990
400 VTAB 10: PRINT "3. CUSTOM CHARACTER";
410 IF A3 = 3 THEN GOSUB 2970
420 IF A3 = 2 THEN GOSUB 2980
430 IF A3 = 1 THEN GOSUB 2990
440 VTAB 11: PRINT "4. GRAPHIC IMAGES";
450 IF A4 = 3 THEN GOSUB 2970
460 IF A4 = 2 THEN GOSUB 2980
470 IF A4 = 1 THEN GOSUB 2990
480 VTAB 12: PRINT "5. MARGIN/TABS (EVFU)";
490 IF A5 = 3 THEN GOSUB 2970
500 IF A5 = 2 THEN GOSUB 2980
510 IF A5 = 1 THEN GOSUB 2990
520 VTAB 13: PRINT "6. REGISTRATION";
530 IF A6 = 3 THEN GOSUB 2970
540 IF A6 = 2 THEN GOSUB 2980
550 IF A6 = 1 THEN GOSUB 2990
560 VTAB 15: GOSUB 2800
570 PRINT
580 VTAB 18: PRINT "SELECT THE NUMBER"
590 VTAB 20: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
600 VTAB 21: PRINT "PRESS SPACEBAR";: HTAB 25: PRINT "TO PASS"
610 VTAB 22: PRINT "PRESS X";: HTAB 25: PRINT "TO FAIL"
620 REM **************************
630 REM MENU SELECT
640 REM **************************
650 A = PEEK(E): IF A <128 THEN 650
660 POKE -16368,0
670 A = A -128
680 IF A = 27 THEN 720
690 A = A -48: IF A = 0 THEN 750
700 IF A <1 OR A >6 THEN 650
710 ON A GOTO 1360,1490,1660,1800,1960,2220
720 REM *****LOAD MAIN******
730 TEXT : HOME : VTAB 8: PRINT "LOADING MAIN MENU.......PLEASE WAIT"
740 PRINT CHR$(4);"RUN MAIN"
750 REM ***************************
760 REM TEST ALL
770 REM **************************
780 TEXT : HOME : VTAB 2: PRINT "PRINTER FUNCTIONAL TEST": VTAB 4: GOSUB 2800
790 PRINT : VTAB 6: PRINT "MARGINS/TABS (EVFU)": VTAB 7: PRINT "CHARACTER SET": VTAB 8: PRINT "ALTERNATE SET": VTAB 9: PRINT "CUSTOM CHARACTER": VTAB 10: PRINT "GRAPHIC IMAGES": VTAB 11: PRINT "REGISTRATION"
800 VTAB 12: GOSUB 2800
810 PRINT : VTAB 15: PRINT "ALIGN PERFORATION WITH TOP OF DOT HEAD"
815 VTAB 19: PRINT "PRESS RETURN";
820 VTAB 19: HTAB 25: PRINT "TO BEGIN": VTAB 20: PRINT "PRESS ESC";: VTAB 20: HTAB 25: PRINT "FOR PREV MENU"
830 K = PEEK( -16384): IF K <128 THEN 830
840 POKE -16368,0:K = K -128
850 IF K < >27 AND K < >13 THEN 830
860 IF K = 27 THEN 240
870 VTAB 15: PRINT " "
880 VTAB 20: HTAB 25: PRINT "ONCE TO ABORT"
890 VTAB 6: HTAB 30: PRINT "TESTING.."
900 GOSUB 2010
910 GOSUB 3030
920 FOR I = 1 TO 500: NEXT I: GOSUB 3020
930 VTAB 6: HTAB 30: PRINT "COMPLETED"
940 VTAB 7: HTAB 30: PRINT "TESTING.."
950 PRINT CHR$(4);"PR#";SLOT: PRINT "CHARACTER SET"
960 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
970 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
980 FOR R = 1 TO 5
990 FOR W = 32 TO 126
1000 PRINT CHR$(W);: NEXT W: PRINT
1010 NEXT R
1020 GOSUB 3030
1030 FOR I = 1 TO 500: NEXT I: GOSUB 3020
1040 VTAB 7: HTAB 30: PRINT "COMPLETED"
1050 VTAB 8: HTAB 30: PRINT "TESTING.."
1060 PRINT CHR$(4);"PR#";SLOT: PRINT "ALTERNATE SETS": PRINT
1070 GOSUB 1540
1080 GOSUB 3030
1090 FOR I = 1 TO 500: NEXT I: GOSUB 3020
1100 VTAB 8: HTAB 30: PRINT "COMPLETED"
1110 VTAB 9: HTAB 30: PRINT "TESTING.."
1120 PRINT CHR$(4);"PR#";SLOT: PRINT "CUSTOM CHARACTER": PRINT
1130 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1140 RESTORE
1150 FOR I = 768 TO 773: READ J: POKE I,J: NEXT I
1160 FOR I = 1 TO 14: READ J: POKE 769,J: CALL 768: NEXT I
1170 FOR L = 1 TO 5: FOR W = 1 TO 40: PRINT CHR$(27);"*& ";: NEXT W: PRINT
1180 NEXT L
1190 GOSUB 3030
1200 FOR I = 1 TO 500: NEXT I: RESTORE : GOSUB 3020
1210 VTAB 9: HTAB 30: PRINT "COMPLETED"
1220 VTAB 10: HTAB 30: PRINT "TESTING.."
1230 PRINT CHR$(4);"PR#";SLOT: PRINT "GRAPHIC IMAGES": PRINT
1240 GOSUB 1850
1250 GOSUB 3030
1260 FOR I = 1 TO 3000: NEXT I: GOSUB 3020
1270 VTAB 10: HTAB 30: PRINT "COMPLETED"
1280 VTAB 11: HTAB 30: PRINT "TESTING.."
1290 PRINT CHR$(4);"PR#";SLOT: PRINT "REGISTRATION"
1300 GOSUB 2270
1310 GOSUB 3030
1320 FOR I = 1 TO 500: NEXT I: GOSUB 3020
1330 VTAB 11: HTAB 30: PRINT "COMPLETED"
1340 GOTO 820
1350 REM ****************************
1360 REM CHARACTER SET
1370 REM ****************************
1380 TEST$ = "CHARACTER SET": GOSUB 2750
1390 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1400 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1410 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
1420 FOR R = 1 TO 200
1430 FOR W = 32 TO 126
1440 PRINT CHR$(W);: NEXT W
1450 PRINT
1460 GOSUB 2510
1470 NEXT R
1480 GOTO 1420
1490 REM *******************************
1500 REM ALTERNATE CHARACTER SET
1510 REM *******************************
1520 TEST$ = "ALTERNATE CHARACTER SET": GOSUB 2750
1530 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1540 PRINT "AMERICAN"; CHR$(27);"Z"; CHR$(7); CHR$(0);: GOSUB 1640
1550 PRINT : PRINT "BRITISH"; CHR$(27); CHR$(4); CHR$(27);"D"; CHR$(3); CHR$(0);: GOSUB 1640
1560 PRINT "GERMAN"; CHR$(27); CHR$(3); CHR$(0); CHR$(27);"D"; CHR$(4); CHR$(0);: GOSUB 1640
1570 PRINT "FRENCH"; CHR$(27);"Z"; CHR$(1); CHR$(0); CHR$(27);"D"; CHR$(6); CHR$(0);: GOSUB 1640
1580 PRINT "SWEDISH"; CHR$(27);"Z"; CHR$(2); CHR$(0); CHR$(27);"D"; CHR$(5); CHR$(0);: GOSUB 1640
1590 PRINT "ITALIAN"; CHR$(27); CHR$(6); CHR$(0); CHR$(27);"D"; CHR$(1); CHR$(0);: GOSUB 1640
1600 PRINT "SPANISH"; CHR$(27);"D"; CHR$(7); CHR$(0);: GOSUB 1640
1610 IF A = 0 THEN RETURN
1620 GOSUB 2600
1630 GOTO 1540
1640 PRINT " # @ [ \ ] ' { | } ~ ":
1650 RETURN
1660 REM ***************************
1670 REM CUSTOM**
1680 REM ****************************
1690 TEST$ = "CUSTOM CHARACTER": GOSUB 2750
1700 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1710 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1720 RESTORE
1730 FOR I = 768 TO 773: READ J: POKE I,J: NEXT I
1740 FOR I = 1 TO 14: READ J: POKE 769,J: CALL 768: NEXT I
1750 FOR L = 1 TO 5: FOR W = 1 TO 40: PRINT CHR$(27);"*& ";: NEXT W: PRINT
1760 GOSUB 2500
1770 RESTORE
1780 NEXT L
1790 GOTO 1730
1800 REM **************************
1810 REM GRAPHIC TEST
1820 REM **************************
1830 TEST$ = "GRAPHIC IMAGES": GOSUB 2780
1840 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1850 S$ = "V0650"
1860 & CHR$(27);S$; CHR$(1)
1870 & CHR$(27);S$; CHR$(3)
1880 & CHR$(27);S$; CHR$(7)
1890 & CHR$(27);S$; CHR$(15)
1900 & CHR$(27);S$; CHR$(31)
1910 & CHR$(27);S$; CHR$(63)
1920 & CHR$(27);S$; CHR$(127)
1930 IF A = 0 THEN RETURN
1940 GOSUB 2590
1950 GOTO 1860
1960 REM ***************************
1970 REM VFU
1980 REM **************************
1990 TEST$ = "MARGINS/TABS (EVFU)": GOSUB 2760
2000 GOSUB 2590
2010 T$ = "TESTING ELECTRONIC VERTICAL FORM UNIT HTAB"
2020 T1$ = "FROM TOP OF PAGE 3/4 INCHES (+/- 1/4) |HTAB 5 7/8 INCHES"
2030 T2$ = "FROM TOP OF PAGE 3 1/8 INCHES (+/- 1/4) |HTAB 3 7/8 INCHES"
2040 T3$ = "FROM TOP OF PAGE 6 INCHES (+/- 1/4) |HTAB 5 7/8 INCHES"
2050 T4$ = "FROM TOP OF PAGE 10 1/8 INCHES (+/- 1/4) END OF TEST"
2060 PRINT CHR$(4);"PR#";SLOT
2070 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
2080 VFU$ = "@@" +"B@" +"D@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"J@" +"L@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@
2090 EV$ = "T@" +"d@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"R@" +"@@" +"@@" +"@@" +"@@" +"C@" +"A@" + CHR$(30)
2100 PRINT CHR$(29);"A@";VFU$;EV$
2110 PRINT CHR$(31);"B"; SPC( 26);T$;
2120 PRINT CHR$(31);"C";"|"; SPC( 25);T1$;
2130 PRINT CHR$(31);"B";" ";T$;
2140 PRINT CHR$(31);"C";"|";T2$;
2150 PRINT CHR$(31);"C"; SPC( 26);T$;
2160 PRINT CHR$(31);"C";"|"; SPC( 25);T3$;
2170 PRINT CHR$(31);"B";" ";T4$;
2180 PRINT CHR$(12)
2190 IF A = 0 THEN RETURN
2200 GOSUB 2590
2210 GOTO 2060
2220 REM **************************
2230 REM REGISTRATION
2240 REM **************************
2250 TEST$ = "REGISTRATION": GOSUB 2780
2260 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
2270 PRINT CHR$(27);"X"
2280 A$ = "|"
2290 PRINT CHR$(27); CHR$(102)
2300 J = PEEK( -637): IF J = 234 THEN PRINT CHR$(9);"Z"
2310 FOR L = 1 TO 4
2320 FOR W = 1 TO 80
2330 PRINT A$;
2340 NEXT W
2350 PRINT
2360 NEXT L
2370 FOR R = 1 TO 5: PRINT CHR$(27); CHR$(114): NEXT R
2380 PRINT CHR$(27); CHR$(102)
2390 FOR L = 1 TO 4
2400 FOR W = 1 TO 80
2410 PRINT A$;
2420 NEXT W
2430 PRINT
2440 NEXT L
2450 IF A = 0 THEN RETURN
2460 GOSUB 2590
2470 GOTO 2290
2480 REM **************************
2490 REM KEYPRESS CHECK
2500 REM **************************
2510 X = PEEK( -16384): IF X >128 THEN 2520
2520 POKE -16368,0:X = X -128
2530 IF X < >27 AND X < >32 AND X < >88 THEN RETURN
2540 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": GOTO 2550
2550 IF X = 27 THEN 240
2560 IF X = 32 THEN GOSUB 2810
2570 IF X = 88 THEN GOSUB 2890
2580 GOTO 240
2590 REM ********************************
2600 REM RETURN KEYPRESS
2610 REM ********************************
2620 X = PEEK( -16384): IF X <128 THEN 2620
2630 POKE -16368,0:X = X -128
2640 IF X < >27 AND X < >32 AND X < >88 AND X < >13 THEN 2620
2650 IF X = 13 THEN RETURN
2660 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0"
2670 IF X = 27 THEN 240
2680 IF X = 32 THEN GOSUB 2810
2690 IF X = 88 THEN GOSUB 2890
2700 GOTO 240
2710 REM ***************************
2720 REM MISC SUBS
2730 REM ***************************
2740 TEXT : HOME : VTAB 4: HTAB 8: PRINT "*** IMAGEWRITER TESTER ***": RETURN
2750 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 11: PRINT "PRESS SPACEBAR TO PASS": PRINT "PRESS X TO REJECT": PRINT "PRESS ESC FOR MENU": RETURN
2760 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PERFORATION MUST BE ALIGNED WITH": VTAB 11: PRINT "TOP OF DOT HEAD": VTAB 13: PRINT "PRESS RETURN TO BEGIN OR REPEAT TEST"
2770 VTAB 14: PRINT "PRESS SPACEBAR TO PASS": VTAB 15: PRINT "PRESS X TO FAIL": VTAB 16: PRINT "PRESS ESC FOR MENU": RETURN
2780 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PRESS RETURN TO REPEAT TEST"
2790 VTAB 12: PRINT "PRESS SPACEBAR TO PASS": VTAB 13: PRINT "PRESS X TO FAIL": VTAB 14: PRINT "PRESS ESC FOR MENU": RETURN
2800 FOR T = 1 TO 39: PRINT "_";: NEXT : RETURN
2810 REM PASS TEST
2820 IF A = 2 THEN A2 = 2
2830 IF A = 3 THEN A3 = 2
2840 IF A = 4 THEN A4 = 2
2850 IF A = 5 THEN A5 = 2
2860 IF A = 6 THEN A6 = 2
2870 IF A = 1 THEN A1 = 2
2880 RETURN
2890 REM FAIL TEST
2900 IF A = 2 THEN A2 = 3
2910 IF A = 3 THEN A3 = 3
2920 IF A = 4 THEN A4 = 3
2930 IF A = 5 THEN A5 = 3
2940 IF A = 6 THEN A6 = 3
2950 IF A = 1 THEN A1 = 3
2960 RETURN
2970 HTAB 30: PRINT "FAILED": RETURN
2980 HTAB 30: PRINT "PASSED": RETURN
2990 HTAB 30: PRINT "NOT TESTED": RETURN
3000 DATA 169,4,76,237,253,96
3010 DATA 27,45,27,73,166,71,60,126,126,126,127,126,50,4
3020 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": RETURN
3030 REM ***********************
3040 REM KEYPRESS ABORT
3050 REM **********************
3060 K5 = PEEK( -16384): IF K5 <128 THEN RETURN
3070 POKE -16368,0:K5 = K5 -128
3080 IF K5 < >27 THEN RETURN
3090 IF K5 = 27 THEN GOSUB 3020
3100 GOTO 270
Text found in 385b_Apple_II_Peripherals_Disk.dsk/IMAGEWRITER15.bas:
10 ONERR GOTO 240
20 REM *****************************
30 REM ASSIGN VARIABLES
40 REM *****************************
50 PRINT CHR$(4);"BRUN ASOFT8BIT.CODE
60 A1 = 1:A2 = 1:A3 = 1:A4 = 1:A5 = 1:A6 = 1
70 E = -16384
80 REM INTERFACE ASSIGNMENT
90 REM ****************************
100 IF PEEK(64120) = 234 THEN SLOT = 5: GOTO 260: REM EMULATION FOR ///
110 GOSUB 2690: VTAB 6: PRINT "IF USING THE APPLE IIC ENTER SLOT # '1'": VTAB 7: PRINT "AND THE BAUD RATE MUST BE SET FOR 9600"
120 VTAB 9: PRINT "ENTER SLOT # OF SERIAL INTERFACE-->": VTAB 12: PRINT "PRESS ESC FOR MAIN MENU"
130 SLOT = PEEK( -16384): IF SLOT <128 THEN 130
140 POKE -16368,0:SLOT = SLOT -128
150 IF SLOT = 27 THEN 730
160 SLOT = SLOT -48: IF SLOT >7 OR SLOT <1 OR SLOT = 6 THEN 130
170 VTAB 11: PRINT "SLOT IS ";SLOT: VTAB 13: PRINT "PRESS RETURN FOR PRINTER MENU"
180 GOTO 190
190 C = PEEK( -16384): IF C <128 THEN 190
200 POKE -16368,0:C = C -128
210 IF C < >13 AND C < >27 THEN 190
220 IF C = 27 THEN GOTO 730
230 REM ********************************
240 REM DRAW MENU
250 REM *******************************
260 TEXT : HOME
270 VTAB 3: PRINT "IMAGEWRITER 15 TESTS"
280 VTAB 4: GOSUB 2750
290 PRINT
300 VTAB 6: PRINT "0. PRINTER FUNCTIONAL TEST"
310 VTAB 8: PRINT "1. CHARACTER SET";
320 IF A1 = 3 THEN GOSUB 2920
330 IF A1 = 2 THEN GOSUB 2930
340 IF A1 = 1 THEN GOSUB 2940
350 VTAB 9: PRINT "2. ALTERNATE SETS";
360 IF A2 = 3 THEN GOSUB 2920
370 IF A2 = 2 THEN GOSUB 2930
380 IF A2 = 1 THEN GOSUB 2940
390 VTAB 10: PRINT "3. CUSTOM CHARACTER";
400 IF A3 = 3 THEN GOSUB 2920
410 IF A3 = 2 THEN GOSUB 2930
420 IF A3 = 1 THEN GOSUB 2940
430 VTAB 11: PRINT "4. GRAPHIC IMAGES";
440 IF A4 = 3 THEN GOSUB 2920
450 IF A4 = 2 THEN GOSUB 2930
460 IF A4 = 1 THEN GOSUB 2940
470 VTAB 12: PRINT "5. MARGIN/TABS (EVFU)";
480 IF A5 = 3 THEN GOSUB 2920
490 IF A5 = 2 THEN GOSUB 2930
500 IF A5 = 1 THEN GOSUB 2940
510 VTAB 13: PRINT "6. REGISTRATION";
520 IF A6 = 3 THEN GOSUB 2920
530 IF A6 = 2 THEN GOSUB 2930
540 IF A6 = 1 THEN GOSUB 2940
550 VTAB 14: GOSUB 2750
560 PRINT
570 VTAB 16: PRINT "USE WIDE PAPER ONLY"
580 VTAB 18: PRINT "SELECT THE NUMBER"
590 VTAB 20: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
600 VTAB 21: PRINT "PRESS SPACEBAR";: HTAB 25: PRINT "TO PASS"
610 VTAB 22: PRINT "PRESS X";: HTAB 25: PRINT "TO FAIL"
620 REM **************************
630 REM MENU SELECT
640 REM **************************
650 A = PEEK(E): IF A <128 THEN 650
660 POKE -16368,0
670 A = A -128
680 IF A = 27 THEN 720
690 A = A -48: IF A = 0 THEN 750
700 IF A <1 OR A >6 THEN 650
710 ON A GOTO 1310,1440,1610,1750,1910,2170
720 REM *****LOAD MAIN******
730 TEXT : HOME : VTAB 8: PRINT "LOADING MAIN MENU.......PLEASE WAIT"
740 PRINT CHR$(4);"RUN MAIN"
750 REM ***************************
760 REM TEST ALL
770 REM **************************
780 TEXT : HOME : VTAB 2: PRINT "PRINTER FUNCTIONAL TEST": VTAB 4: GOSUB 2750
790 PRINT : VTAB 6: PRINT "MARGINS/TABS (EVFU)": VTAB 7: PRINT "CHARACTER SET": VTAB 8: PRINT "ALTERNATE SET": VTAB 9: PRINT "CUSTOM CHARACTER": VTAB 10: PRINT "GRAPHIC IMAGES": VTAB 11: PRINT "REGISTRATION"
800 VTAB 12: GOSUB 2750
810 PRINT : VTAB 15: PRINT "ALIGN PERFORATION WITH TOP OF DOT HEAD"
815 VTAB 19: PRINT "PRESS RETURN";
820 VTAB 19: HTAB 25: PRINT "TO BEGIN": VTAB 20: PRINT "PRESS ESC";: VTAB 20: HTAB 25: PRINT "FOR PREV MENU"
830 K = PEEK( -16384): IF K <128 THEN 830
840 POKE -16368,0:K = K -128
850 IF K < >27 AND K < >13 THEN 830
860 IF K = 27 THEN 230
870 VTAB 15: PRINT " "
880 VTAB 20: HTAB 25: PRINT "ONCE TO ABORT"
890 VTAB 6: HTAB 30: PRINT "TESTING.."
900 GOSUB 1960
910 GOSUB 2980
920 FOR I = 1 TO 1500: NEXT I: GOSUB 2970
930 VTAB 6: HTAB 30: PRINT "COMPLETED"
940 VTAB 7: HTAB 30: PRINT "TESTING.."
950 PRINT CHR$(4);"PR#";SLOT: PRINT "CHARACTER SET"
960 GOSUB 1350
970 GOSUB 2980
980 FOR I = 1 TO 1000: NEXT I: GOSUB 2970
990 VTAB 7: HTAB 30: PRINT "COMPLETED"
1000 VTAB 8: HTAB 30: PRINT "TESTING.."
1010 PRINT CHR$(4);"PR#";SLOT: PRINT "ALTERNATE SETS": PRINT
1020 GOSUB 1490
1030 GOSUB 2980
1040 FOR I = 1 TO 500: NEXT I: GOSUB 2970
1050 VTAB 8: HTAB 30: PRINT "COMPLETED"
1060 VTAB 9: HTAB 30: PRINT "TESTING.."
1070 PRINT CHR$(4);"PR#";SLOT: PRINT "CUSTOM CHARACTER": PRINT
1080 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1090 RESTORE
1100 FOR I = 768 TO 773: READ J: POKE I,J: NEXT I
1110 FOR I = 1 TO 14: READ J: POKE 769,J: CALL 768: NEXT I
1120 FOR L = 1 TO 5: FOR W = 1 TO 80: PRINT CHR$(27);"*& ";: NEXT W: PRINT
1130 NEXT L
1140 GOSUB 2980
1150 FOR I = 1 TO 2000: NEXT I: RESTORE : GOSUB 2970
1160 VTAB 9: HTAB 30: PRINT "COMPLETED"
1170 VTAB 10: HTAB 30: PRINT "TESTING.."
1180 PRINT CHR$(4);"PR#";SLOT: PRINT "GRAPHIC IMAGES": PRINT
1190 GOSUB 1800
1200 GOSUB 2980
1210 FOR I = 1 TO 8000: NEXT I: GOSUB 2970
1220 VTAB 10: HTAB 30: PRINT "COMPLETED"
1230 VTAB 11: HTAB 30: PRINT "TESTING.."
1240 PRINT CHR$(4);"PR#";SLOT: PRINT "REGISTRATION"
1250 GOSUB 2220
1260 GOSUB 2980
1270 FOR I = 1 TO 1500: NEXT I: GOSUB 2970
1280 VTAB 11: HTAB 30: PRINT "COMPLETED"
1290 GOTO 820
1300 REM ****************************
1310 REM CHARACTER SET
1320 REM ****************************
1330 TEST$ = "CHARACTER SET": GOSUB 2700
1340 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1350 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1360 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
1370 W$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+{}|<>abcdefghijklmnopqrstuvwxyz!@#$%^&*()_+1234567890-=[]\;',./ABCDEFGHIJKLMNOPQRSTUVWXYZ" + CHR$(34) +"?!@#$%^&*()_+{}|<>?1234567890"
1380 FOR R = 1 TO 5
1390 PRINT W$
1400 NEXT R
1410 IF A = 0 THEN RETURN
1420 GOSUB 2460
1430 GOTO 1370
1440 REM *******************************
1450 REM ALTERNATE CHARACTER SET
1460 REM *******************************
1470 TEST$ = "ALTERNATE CHARACTER SET": GOSUB 2700
1480 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1490 PRINT "AMERICAN"; CHR$(27);"Z"; CHR$(7); CHR$(0);: GOSUB 1590
1500 PRINT : PRINT "BRITISH"; CHR$(27); CHR$(4); CHR$(27);"D"; CHR$(3); CHR$(0);: GOSUB 1590
1510 PRINT "GERMAN"; CHR$(27); CHR$(3); CHR$(0); CHR$(27);"D"; CHR$(4); CHR$(0);: GOSUB 1590
1520 PRINT "FRENCH"; CHR$(27);"Z"; CHR$(1); CHR$(0); CHR$(27);"D"; CHR$(6); CHR$(0);: GOSUB 1590
1530 PRINT "SWEDISH"; CHR$(27);"Z"; CHR$(2); CHR$(0); CHR$(27);"D"; CHR$(5); CHR$(0);: GOSUB 1590
1540 PRINT "ITALIAN"; CHR$(27); CHR$(6); CHR$(0); CHR$(27);"D"; CHR$(1); CHR$(0);: GOSUB 1590
1550 PRINT "SPANISH"; CHR$(27);"D"; CHR$(7); CHR$(0);: GOSUB 1590
1560 IF A = 0 THEN RETURN
1570 GOSUB 2550
1580 GOTO 1490
1590 PRINT " # @ [ \ ] ' { | } ~ ":
1600 RETURN
1610 REM ***************************
1620 REM CUSTOM**
1630 REM ****************************
1640 TEST$ = "CUSTOM CHARACTER": GOSUB 2700
1650 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1660 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1670 RESTORE
1680 FOR I = 768 TO 773: READ J: POKE I,J: NEXT I
1690 FOR I = 1 TO 14: READ J: POKE 769,J: CALL 768: NEXT I
1700 FOR L = 1 TO 5: FOR W = 1 TO 80: PRINT CHR$(27);"*& ";: NEXT W: PRINT
1710 GOSUB 2450
1720 NEXT L
1730 GOSUB 2450
1740 GOTO 1700
1750 REM **************************
1760 REM GRAPHIC TEST
1770 REM **************************
1780 TEST$ = "GRAPHIC IMAGES": GOSUB 2730
1790 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1800 S$ = "V1200"
1810 & CHR$(27);S$; CHR$(1)
1820 & CHR$(27);S$; CHR$(3)
1830 & CHR$(27);S$; CHR$(7)
1840 & CHR$(27);S$; CHR$(15)
1850 & CHR$(27);S$; CHR$(31)
1860 & CHR$(27);S$; CHR$(63)
1870 & CHR$(27);S$; CHR$(127)
1880 IF A = 0 THEN RETURN
1890 GOSUB 2540
1900 GOTO 1810
1910 REM ***************************
1920 REM VFU
1930 REM *******************************
1940 TEST$ = "MARGINS/TABS (EVFU)": GOSUB 2710
1950 GOSUB 2540
1960 T$ = "TESTING ELECTRONIC VERTICAL FORM UNIT HTAB"
1970 T1$ = "FROM TOP OF PAGE 3/4 INCHES (+/- 1/4) |HTAB 5 7/8 INCHES"
1980 T2$ = "FROM TOP OF PAGE 3 1/8 INCHES (+/- 1/4) |HTAB 3 7/8 INCHES"
1990 T3$ = "FROM TOP OF PAGE 6 INCHES (+/- 1/4) |HTAB 5 7/8 INCHES"
2000 T4$ = "FROM TOP OF PAGE 10 1/8 INCHES (+/- 1/4) END OF TEST"
2010 PRINT CHR$(4);"PR#";SLOT
2020 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
2030 VFU$ = "@@" +"B@" +"D@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"J@" +"L@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@
2040 EV$ = "T@" +"d@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"@@" +"R@" +"@@" +"@@" +"@@" +"@@" +"C@" +"A@" + CHR$(30)
2050 PRINT CHR$(29);"A@";VFU$;EV$
2060 PRINT CHR$(31);"B"; SPC( 26);T$;
2070 PRINT CHR$(31);"C";"|"; SPC( 25);T1$;
2080 PRINT CHR$(31);"B";" ";T$;
2090 PRINT CHR$(31);"C";"|";T2$;
2100 PRINT CHR$(31);"C"; SPC( 26);T$;
2110 PRINT CHR$(31);"C";"|"; SPC( 25);T3$;
2120 PRINT CHR$(31);"B";" ";T4$;
2130 PRINT CHR$(12)
2140 IF A = 0 THEN RETURN
2150 GOSUB 2540
2160 GOTO 2010
2170 REM **************************
2180 REM REGISTRATION
2190 REM **************************
2200 TEST$ = "REGISTRATION": GOSUB 2730
2210 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
2220 PRINT CHR$(27);"X"
2230 A$ = "|"
2240 PRINT CHR$(27); CHR$(102)
2250 J = PEEK( -637): IF J = 234 THEN PRINT CHR$(9);"Z"
2260 FOR L = 1 TO 4
2270 FOR W = 1 TO 136
2280 PRINT A$;
2290 NEXT W
2300 PRINT
2310 NEXT L
2320 FOR R = 1 TO 5: PRINT CHR$(27); CHR$(114): NEXT R
2330 PRINT CHR$(27); CHR$(102)
2340 FOR L = 1 TO 4
2350 FOR W = 1 TO 136
2360 PRINT A$;
2370 NEXT W
2380 PRINT
2390 NEXT L
2400 IF A = 0 THEN RETURN
2410 GOSUB 2540
2420 GOTO 2240
2430 REM **************************
2440 REM KEYPRESS CHECK
2450 REM **************************
2460 X = PEEK( -16384): IF X >128 THEN 2470
2470 POKE -16368,0:X = X -128
2480 IF X < >27 AND X < >32 AND X < >88 THEN RETURN
2490 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": GOTO 2500
2500 IF X = 27 THEN 230
2510 IF X = 32 THEN GOSUB 2760
2520 IF X = 88 THEN GOSUB 2840
2530 GOTO 230
2540 REM ********************************
2550 REM RETURN KEYPRESS
2560 REM ********************************
2570 X = PEEK( -16384): IF X <128 THEN 2570
2580 POKE -16368,0:X = X -128
2590 IF X < >27 AND X < >32 AND X < >88 AND X < >13 THEN 2570
2600 IF X = 13 THEN RETURN
2610 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0"
2620 IF X = 27 THEN 230
2630 IF X = 32 THEN GOSUB 2760
2640 IF X = 88 THEN GOSUB 2840
2650 GOTO 230
2660 REM ***************************
2670 REM MISC SUBS
2680 REM ***************************
2690 TEXT : HOME : VTAB 4: HTAB 6: PRINT "*** IMAGEWRITER 15 TESTER ***": RETURN
2700 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 11: PRINT "PRESS SPACEBAR TO PASS": PRINT "PRESS X TO REJECT": PRINT "PRESS ESC FOR MENU": RETURN
2710 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PERFORATION MUST BE ALIGNED WITH": VTAB 11: PRINT "TOP OF DOT HEAD": VTAB 13: PRINT "PRESS RETURN TO BEGIN OR REPEAT TEST"
2720 VTAB 14: PRINT "PRESS SPACEBAR TO PASS": VTAB 15: PRINT "PRESS X TO FAIL": VTAB 16: PRINT "PRESS ESC FOR MENU": RETURN
2730 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PRESS RETURN TO REPEAT TEST"
2740 VTAB 12: PRINT "PRESS SPACEBAR TO PASS": VTAB 13: PRINT "PRESS X TO FAIL": VTAB 14: PRINT "PRESS ESC FOR MENU": RETURN
2750 FOR T = 1 TO 39: PRINT "_";: NEXT : RETURN
2760 REM PASS TEST
2770 IF A = 2 THEN A2 = 2
2780 IF A = 3 THEN A3 = 2
2790 IF A = 4 THEN A4 = 2
2800 IF A = 5 THEN A5 = 2
2810 IF A = 6 THEN A6 = 2
2820 IF A = 1 THEN A1 = 2
2830 RETURN
2840 REM FAIL TEST
2850 IF A = 2 THEN A2 = 3
2860 IF A = 3 THEN A3 = 3
2870 IF A = 4 THEN A4 = 3
2880 IF A = 5 THEN A5 = 3
2890 IF A = 6 THEN A6 = 3
2900 IF A = 1 THEN A1 = 3
2910 RETURN
2920 HTAB 30: PRINT "FAILED": RETURN
2930 HTAB 30: PRINT "PASSED": RETURN
2940 HTAB 30: PRINT "NOT TESTED": RETURN
2950 DATA 169,4,76,237,253,96
2960 DATA 27,45,27,73,166,71,60,126,126,126,127,126,50,4
2970 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": RETURN
2980 REM ***********************
2990 REM KEYPRESS ABORT
3000 REM **********************
3010 K5 = PEEK( -16384): IF K5 <128 THEN RETURN
3020 POKE -16368,0:K5 = K5 -128
3030 IF K5 < >27 THEN RETURN
3040 IF K5 = 27 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": GOTO 260
Text found in 385b_Apple_II_Peripherals_Disk.dsk/IMAGEWRITERII.bas:
10 ONERR GOTO 240
20 REM *****************************
30 REM ASSIGN VARIABLES
40 REM *****************************
50 PRINT CHR$(4);"BRUN ASOFT8BIT.CODE
60 A1 = 1:A2 = 1:A3 = 1:A4 = 1:A5 = 1:A6 = 1:A7 = 1:A8 = 1
70 E = -16384
80 REM INTERFACE ASSIGNMENT
90 REM ****************************
100 IF PEEK(64120) = 234 THEN SLOT = 5: GOTO 260: REM EMULATION FOR ///
110 GOSUB 3050: VTAB 6: PRINT "IF USING THE APPLE IIC ENTER SLOT # '1'": VTAB 7: PRINT "AND THE BAUD RATE MUST BE SET FOR 9600"
120 VTAB 9: PRINT "ENTER SLOT # OF SERIAL INTERFACE-->": VTAB 12: PRINT "PRESS ESC FOR MAIN MENU"
130 SLOT = PEEK( -16384): IF SLOT <128 THEN 130
140 POKE -16368,0:SLOT = SLOT -128
150 IF SLOT = 27 THEN 800
160 SLOT = SLOT -48: IF SLOT >7 OR SLOT <1 OR SLOT = 6 THEN 130
170 VTAB 11: PRINT "SLOT IS ";SLOT: VTAB 13: PRINT "PRESS RETURN FOR PRINTER MENU"
180 GOTO 190
190 C = PEEK( -16384): IF C <128 THEN 190
200 POKE -16368,0:C = C -128
210 IF C < >13 AND C < >27 THEN 190
220 IF C = 27 THEN GOTO 800
230 REM ********************************
240 REM DRAW MENU
250 REM *******************************
260 TEXT : HOME
270 VTAB 3: PRINT "IMAGEWRITER II TESTS"
280 VTAB 4: GOSUB 3110
290 PRINT
300 VTAB 6: PRINT "0. PRINTER FUNCTIONAL TEST"
310 VTAB 8: PRINT "1. CHARACTER SET";
320 IF A1 = 3 THEN GOSUB 3300
330 IF A1 = 2 THEN GOSUB 3310
340 IF A1 = 1 THEN GOSUB 3320
350 VTAB 9: PRINT "2. ALTERNATE SETS";
360 IF A2 = 3 THEN GOSUB 3300
370 IF A2 = 2 THEN GOSUB 3310
380 IF A2 = 1 THEN GOSUB 3320
390 VTAB 10: PRINT "3. CUSTOM CHARACTER";
400 IF A3 = 3 THEN GOSUB 3300
410 IF A3 = 2 THEN GOSUB 3310
420 IF A3 = 1 THEN GOSUB 3320
430 VTAB 11: PRINT "4. GRAPHIC IMAGES";
440 IF A4 = 3 THEN GOSUB 3300
450 IF A4 = 2 THEN GOSUB 3310
460 IF A4 = 1 THEN GOSUB 3320
470 VTAB 12: PRINT "5. MARGIN/TABS";
480 IF A5 = 3 THEN GOSUB 3300
490 IF A5 = 2 THEN GOSUB 3310
500 IF A5 = 1 THEN GOSUB 3320
510 VTAB 13: PRINT "6. REGISTRATION";
520 IF A6 = 3 THEN GOSUB 3300
530 IF A6 = 2 THEN GOSUB 3310
540 IF A6 = 1 THEN GOSUB 3320
550 VTAB 14: PRINT "7. COLOR TEST";
560 IF A7 = 3 THEN GOSUB 3300
570 IF A7 = 2 THEN GOSUB 3310
580 IF A7 = 1 THEN GOSUB 3320
590 VTAB 15: PRINT "8. MOUSETEXT";
600 IF A8 = 3 THEN GOSUB 3300
610 IF A8 = 2 THEN GOSUB 3310
620 IF A8 = 1 THEN GOSUB 3320
630 VTAB 16: GOSUB 3110
640 PRINT
650 VTAB 18: PRINT "SELECT THE NUMBER"
660 VTAB 20: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
670 VTAB 21: PRINT "PRESS SPACEBAR";: HTAB 25: PRINT "TO PASS"
680 VTAB 22: PRINT "PRESS X";: HTAB 25: PRINT "TO FAIL"
690 REM **************************
700 REM MENU SELECT
710 REM **************************
720 A = PEEK(E): IF A <128 THEN 720
730 POKE -16368,0
740 A = A -128
750 IF A = 27 THEN 790
760 A = A -48: IF A = 0 THEN 820
770 IF A <1 OR A >8 THEN 720
780 ON A GOTO 1560,1690,1870,2000,2160,2390,3360,2650
790 REM ****** LOAD MAIN******
800 TEXT : HOME : VTAB 9: PRINT "LOADING MAIN MENU.....PLEASE WAIT"
810 PRINT CHR$(4);"RUN MAIN"
820 REM ***************************
830 REM TEST ALL
840 REM **************************
850 TEXT : HOME : VTAB 2: PRINT "PRINTER FUNCTIONAL TEST": VTAB 4: GOSUB 3110
860 PRINT : VTAB 6: PRINT "MARGINS/TABS": VTAB 7: PRINT "CHARACTER SET": VTAB 8: PRINT "ALTERNATE SET": VTAB 9: PRINT "CUSTOM CHARACTER": VTAB 10: PRINT "GRAPHIC IMAGES": VTAB 11: PRINT "REGISTRATION": VTAB 12: PRINT "FINAL COLOR"
870 VTAB 13: PRINT "MOUSETEXT"
880 VTAB 14: GOSUB 3110
890 PRINT : VTAB 16: PRINT "ALIGN PERFORATION WITH TOP OF DOT HEAD"
900 VTAB 20: PRINT "PRESS RETURN";: VTAB 20: HTAB 25: PRINT "TO BEGIN": VTAB 21: PRINT "PRESS ESC";: VTAB 21: HTAB 25: PRINT "FOR PREV MENU"
910 K = PEEK( -16384): IF K <128 THEN 910
920 POKE -16368,0:K = K -128
930 IF K < >27 AND K < >13 THEN 910
940 IF K = 27 THEN 230
950 VTAB 16: PRINT " "
960 VTAB 21: HTAB 25: PRINT "ONCE TO ABORT"
970 VTAB 6: HTAB 30: PRINT "TESTING.."
980 GOSUB 2210
990 GOSUB 4780
1000 FOR I = 1 TO 3300: NEXT I: GOSUB 3350
1010 VTAB 6: HTAB 30: PRINT "COMPLETED"
1020 VTAB 7: HTAB 30: PRINT "TESTING.."
1030 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT "CHARACTER SET"
1040 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1050 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
1060 FOR R = 1 TO 5
1070 FOR W = 32 TO 126
1080 PRINT CHR$(W);: NEXT W: PRINT
1090 NEXT R
1100 GOSUB 4780
1110 FOR I = 1 TO 2550: NEXT I: GOSUB 3350
1120 VTAB 7: HTAB 30: PRINT "COMPLETED"
1130 VTAB 8: HTAB 30: PRINT "TESTING.."
1140 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT "ALTERNATE SETS": PRINT
1150 GOSUB 1740
1160 GOSUB 4780
1170 FOR I = 1 TO 2100: NEXT I: GOSUB 3350
1180 VTAB 8: HTAB 30: PRINT "COMPLETED"
1190 VTAB 9: HTAB 30: PRINT "TESTING.."
1200 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT "CUSTOM CHARACTER": PRINT
1210 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1220 RESTORE
1230 FOR I = 768 TO 773: READ J: POKE I,J: NEXT I
1240 FOR I = 1 TO 14: READ J: POKE 769,J: CALL 768: NEXT I
1250 FOR L = 1 TO 5: FOR W = 1 TO 40: PRINT CHR$(27);"*& ";: NEXT W: PRINT
1260 NEXT L
1270 FOR I = 1 TO 2300: NEXT I: RESTORE : GOSUB 3350
1280 GOSUB 4780
1290 VTAB 9: HTAB 30: PRINT "COMPLETED"
1300 VTAB 10: HTAB 30: PRINT "TESTING.."
1310 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT "GRAPHIC IMAGES": PRINT
1320 GOSUB 2050
1330 GOSUB 4780
1340 FOR I = 1 TO 4000: NEXT I: GOSUB 3350
1350 VTAB 10: HTAB 30: PRINT "COMPLETED"
1360 VTAB 11: HTAB 30: PRINT "TESTING.."
1370 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT "REGISTRATION": PRINT
1380 GOSUB 2440
1390 GOSUB 4780
1400 FOR I = 1 TO 2500: NEXT I: GOSUB 3350
1410 VTAB 11: HTAB 30: PRINT "COMPLETED"
1420 VTAB 12: HTAB 30: PRINT "TESTING.."
1430 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT "FINAL COLOR": PRINT
1440 GOSUB 3850
1450 GOSUB 4780
1460 FOR I = 1 TO 10000: NEXT I: GOSUB 3350
1470 VTAB 12: HTAB 30: PRINT "COMPLETED"
1480 VTAB 13: HTAB 30: PRINT "TESTING.."
1490 TEST$ = "MOUSETEXT"
1500 GOSUB 2690
1510 GOSUB 4780
1520 FOR I = 1 TO 2500: NEXT I: GOSUB 3350
1530 VTAB 13: HTAB 30: PRINT "COMPLETED"
1540 GOTO 900
1550 REM ****************************
1560 REM CHARACTER SET
1570 REM ****************************
1580 TEST$ = "CHARACTER SET": GOSUB 3060
1590 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1600 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1610 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
1620 FOR R = 1 TO 200
1630 FOR W = 32 TO 126
1640 PRINT CHR$(W);: NEXT W
1650 PRINT
1660 GOSUB 2820
1670 NEXT R
1680 GOTO 1620
1690 REM *******************************
1700 REM ALTERNATE CHARACTER SET
1710 REM *******************************
1720 TEST$ = "ALTERNATE CHARACTER SET": GOSUB 3090
1730 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1740 PRINT "AMERICAN"; CHR$(27);"Z"; CHR$(7); CHR$(0);: GOSUB 1850
1750 PRINT : PRINT "ITALIAN";: PRINT CHR$(27);"Z"; CHR$(6); CHR$(0); CHR$(27);"D"; CHR$(1); CHR$(0);: GOSUB 1850
1760 PRINT "DANISH";: PRINT CHR$(27);"Z"; CHR$(5); CHR$(0); CHR$(27);"D"; CHR$(2); CHR$(0);: GOSUB 1850
1770 PRINT "BRITISH";: PRINT CHR$(27);"Z"; CHR$(4); CHR$(0); CHR$(27);"D"; CHR$(3); CHR$(0);: GOSUB 1850
1780 PRINT "GERMAN";: PRINT CHR$(27);"Z"; CHR$(3); CHR$(0); CHR$(27);"D"; CHR$(4); CHR$(0);: GOSUB 1850
1790 PRINT "SWEDISH";: PRINT CHR$(27);"Z"; CHR$(2); CHR$(0); CHR$(27);"D"; CHR$(5); CHR$(0);: GOSUB 1850
1800 PRINT "FRENCH";: PRINT CHR$(27);"Z"; CHR$(1); CHR$(0); CHR$(27);"D"; CHR$(6); CHR$(0);: GOSUB 1850
1810 PRINT "SPANISH"; CHR$(27);"D"; CHR$(7); CHR$(0);: GOSUB 1850
1820 IF A = 0 THEN RETURN
1830 GOSUB 2910
1840 GOTO 1740
1850 PRINT " # @ [ \ ] ' { | } ~ ":
1860 RETURN
1870 REM ***************************
1880 REM CUSTOM**
1890 REM ****************************
1900 TEST$ = "CUSTOM CHARACTER": GOSUB 3060
1910 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
1920 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1930 RESTORE
1940 FOR I = 768 TO 773: READ J: POKE I,J: NEXT I
1950 FOR I = 1 TO 14: READ J: POKE 769,J: CALL 768: NEXT I
1960 FOR L = 1 TO 5: FOR W = 1 TO 40: PRINT CHR$(27);"*& ";: NEXT W: PRINT
1970 GOSUB 2810
1980 NEXT L
1990 GOTO 1960
2000 REM **************************
2010 REM GRAPHIC TEST
2020 REM **************************
2030 TEST$ = "GRAPHIC IMAGES": GOSUB 3090
2040 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
2050 S$ = "V0650"
2060 & CHR$(27);S$; CHR$(1)
2070 & CHR$(27);S$; CHR$(3)
2080 & CHR$(27);S$; CHR$(7)
2090 & CHR$(27);S$; CHR$(15)
2100 & CHR$(27);S$; CHR$(31)
2110 & CHR$(27);S$; CHR$(63)
2120 & CHR$(27);S$; CHR$(127)
2130 IF A = 0 THEN RETURN
2140 GOSUB 2900
2150 GOTO 2060
2160 REM ***************************
2170 REM VFU
2180 REM **************************
2190 TEST$ = "MARGINS/TABS": GOSUB 3070
2200 GOSUB 2900
2210 T$ = "MARGINS/TABS HTAB"
2220 T1$ = "FROM TOP OF PAGE 1 1/8 INCHES (+/- 1/4) |HTAB 6 INCHES"
2230 T2$ = "FROM TOP OF PAGE 4 1/8 INCHES (+/- 1/4) |HTAB 3 7/8 INCHES"
2240 T3$ = "FROM TOP OF PAGE 7 1/8 INCHES (+/- 1/4) |HTAB 6 INCHES"
2250 T4$ = "FROM TOP OF PAGE 10 1/4 INCHES (+/- 1/4) END OF TEST"
2260 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"E"
2270 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
2280 PRINT CHR$(31);"1": PRINT SPC( 26);T$
2290 PRINT "|"; SPC( 25);T1$
2300 PRINT CHR$(31);"?": PRINT " ";T$
2310 PRINT "|";T2$
2320 PRINT CHR$(31);"?": PRINT SPC( 26);T$
2330 PRINT "|"; SPC( 25);T3$
2340 PRINT CHR$(31);"?": PRINT " ";T4$
2350 PRINT CHR$(31);"4"
2360 IF A = 0 THEN RETURN
2370 GOSUB 2900
2380 GOTO 2260
2390 REM **************************
2400 REM REGISTRATION
2410 REM **************************
2420 TEST$ = "REGISTRATION": GOSUB 3090
2430 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
2440 PRINT CHR$(27);"X"
2450 A$ = "|"
2460 PRINT CHR$(27); CHR$(102)
2470 J = PEEK( -637): IF J = 234 THEN PRINT CHR$(9);"Z"
2480 FOR L = 1 TO 4
2490 FOR W = 1 TO 80
2500 PRINT A$;
2510 NEXT W
2520 PRINT
2530 NEXT L
2540 FOR R = 1 TO 5: PRINT CHR$(27); CHR$(114): NEXT R
2550 PRINT CHR$(27); CHR$(102)
2560 FOR L = 1 TO 4
2570 FOR W = 1 TO 80
2580 PRINT A$;
2590 NEXT W
2600 PRINT
2610 NEXT L
2620 IF A = 0 THEN RETURN
2630 GOSUB 2900
2640 GOTO 2460
2650 REM **************************
2660 REM MOUSETEXT
2670 REM ************************
2680 TEST$ = "MOUSETEXT": GOSUB 3090
2690 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT TEST$: PRINT : PRINT CHR$(27);"&"
2700 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(27);"Z"
2710 FOR M = 1 TO 5
2720 FOR MT = 192 TO 223
2730 PRINT CHR$(MT);: NEXT MT
2740 PRINT
2750 NEXT M
2760 IF A = 0 THEN RETURN
2770 GOSUB 2900
2780 GOTO 2710
2790 REM **************************
2800 REM KEYPRESS CHECK
2810 REM **************************
2820 X = PEEK( -16384): IF X >128 THEN 2830
2830 POKE -16368,0:X = X -128
2840 IF X < >27 AND X < >32 AND X < >88 THEN RETURN
2850 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": GOTO 2860
2860 IF X = 27 THEN 230
2870 IF X = 32 THEN GOSUB 3120
2880 IF X = 88 THEN GOSUB 3210
2890 GOTO 230
2900 REM ********************************
2910 REM RETURN KEYPRESS
2920 REM ********************************
2930 X = PEEK( -16384): IF X <128 THEN 2930
2940 POKE -16368,0:X = X -128
2950 IF X < >27 AND X < >32 AND X < >88 AND X < >13 THEN 2930
2960 IF X = 13 THEN RETURN
2970 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0"
2980 IF X = 27 THEN 230
2990 IF X = 32 THEN GOSUB 3120
3000 IF X = 88 THEN GOSUB 3210
3010 GOTO 230
3020 REM ***************************
3030 REM MISC SUBS
3040 REM ***************************
3050 TEXT : HOME : VTAB 4: HTAB 8: PRINT "*** IMAGEWRITER II TESTER ***": RETURN
3060 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 11: PRINT "PRESS SPACEBAR TO PASS": PRINT "PRESS X TO REJECT": PRINT "PRESS ESC FOR MENU": RETURN
3070 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PERFORATION MUST BE ALIGNED WITH": VTAB 11: PRINT "TOP OF DOT HEAD": VTAB 13: PRINT "PRESS RETURN TO BEGIN OR REPEAT TEST"
3080 VTAB 14: PRINT "PRESS SPACEBAR TO PASS": VTAB 15: PRINT "PRESS X TO FAIL": VTAB 16: PRINT "PRESS ESC FOR MENU": RETURN
3090 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PRESS RETURN TO REPEAT TEST"
3100 VTAB 12: PRINT "PRESS SPACEBAR TO PASS": VTAB 13: PRINT "PRESS X TO FAIL": VTAB 14: PRINT "PRESS ESC FOR MENU": RETURN
3110 FOR T = 1 TO 39: PRINT "_";: NEXT : RETURN
3120 REM PASS TEST
3130 IF A = 2 THEN A2 = 2
3140 IF A = 3 THEN A3 = 2
3150 IF A = 4 THEN A4 = 2
3160 IF A = 5 THEN A5 = 2
3170 IF A = 6 THEN A6 = 2
3180 IF A = 8 THEN A8 = 2
3190 IF A = 1 THEN A1 = 2
3200 RETURN
3210 REM FAIL TEST
3220 IF A = 2 THEN A2 = 3
3230 IF A = 3 THEN A3 = 3
3240 IF A = 4 THEN A4 = 3
3250 IF A = 5 THEN A5 = 3
3260 IF A = 6 THEN A6 = 3
3270 IF A = 8 THEN A8 = 3
3280 IF A = 1 THEN A1 = 3
3290 RETURN
3300 HTAB 30: PRINT "FAILED": RETURN
3310 HTAB 30: PRINT "PASSED": RETURN
3320 HTAB 30: PRINT "NOT TESTED": RETURN
3330 DATA 169,4,76,237,253,96
3340 DATA 27,45,27,73,166,71,60,126,126,126,127,126,50,4
3350 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": RETURN
3360 REM ****************
3370 REM COLOR TEST
3380 REM ****************
3390 C2 = 1:C3 = 1:C4 = 1:C5 = 1:C6 = 1:C7 = 1:C8 = 1
3400 TEXT : HOME : VTAB 2: PRINT "IMAGEWRITER II COLOR TEST": VTAB 4: GOSUB 3110
3410 PRINT : VTAB 6: PRINT "1. FINAL TEST: EACH COLOR 5X"
3420 VTAB 8: PRINT "2. YELLOW";
3430 IF C2 = 3 THEN GOSUB 4750
3440 IF C2 = 2 THEN GOSUB 4760
3450 IF C2 = 1 THEN GOSUB 4770
3460 VTAB 9: PRINT "3. RED";
3470 IF C3 = 3 THEN GOSUB 4750
3480 IF C3 = 2 THEN GOSUB 4760
3490 IF C3 = 1 THEN GOSUB 4770
3500 VTAB 10: PRINT "4. BLUE";
3510 IF C4 = 3 THEN GOSUB 4750
3520 IF C4 = 2 THEN GOSUB 4760
3530 IF C4 = 1 THEN GOSUB 4770
3540 VTAB 11: PRINT "5. BLACK";
3550 IF C5 = 3 THEN GOSUB 4750
3560 IF C5 = 2 THEN GOSUB 4760
3570 IF C5 = 1 THEN GOSUB 4770
3580 VTAB 12: PRINT "6. ORANGE";
3590 IF C6 = 3 THEN GOSUB 4750
3600 IF C6 = 2 THEN GOSUB 4760
3610 IF C6 = 1 THEN GOSUB 4770
3620 VTAB 13: PRINT "7. GREEN";
3630 IF C7 = 3 THEN GOSUB 4750
3640 IF C7 = 2 THEN GOSUB 4760
3650 IF C7 = 1 THEN GOSUB 4770
3660 VTAB 14: PRINT "8. PURPLE";
3670 IF C8 = 3 THEN GOSUB 4750
3680 IF C8 = 2 THEN GOSUB 4760
3690 IF C8 = 1 THEN GOSUB 4770
3700 VTAB 16: GOSUB 3110
3710 PRINT : VTAB 18: PRINT "SELECT THE NUMBER"
3720 VTAB 20: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
3730 VTAB 21: PRINT "PRESS SPACEBAR";: HTAB 25: PRINT "TO PASS"
3740 VTAB 22: PRINT "PRESS X";: HTAB 25: PRINT "TO FAIL"
3750 X2 = PEEK(E): IF X2 <128 THEN 3750
3760 POKE -16368,0:X2 = X2 -128
3770 IF X2 = 27 THEN 240
3780 X2 = X2 -48: IF X2 <1 OR X2 >8 THEN 3750
3790 ON X2 GOTO 3820,4010,4060,4110,4160,4210,4260,4310
3800 REM **********************
3810 REM TEST ALL
3820 REM *********************
3830 TEST$ = "FINAL TEST: ALL COLORS 5X": GOSUB 3090
3840 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
3850 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
3860 PRINT CHR$(27);"K1": GOSUB 3960
3870 PRINT CHR$(27);"K6": GOSUB 3960
3880 PRINT CHR$(27);"K2": GOSUB 3960
3890 PRINT CHR$(27);"K5": GOSUB 3960
3900 PRINT CHR$(27);"K3": GOSUB 3960
3910 PRINT CHR$(27);"K4": GOSUB 3960
3920 PRINT CHR$(27);"K0": GOSUB 3960
3930 IF A = 0 THEN RETURN
3940 GOSUB 4430
3950 GOTO 3860
3960 FOR R = 1 TO 5
3970 FOR W = 32 TO 126
3980 PRINT CHR$(W);: NEXT W: PRINT
3990 NEXT R
4000 RETURN
4010 REM **** YELLOW ****
4020 TEST$ = "YELLOW": GOSUB 3090
4030 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
4040 PRINT CHR$(27);"K1"
4050 GOTO 4350
4060 REM **** RED ****
4070 TEST$ = "RED": GOSUB 3090
4080 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
4090 PRINT CHR$(27);"K2"
4100 GOTO 4350
4110 REM **** BLUE ****
4120 TEST$ = "BLUE": GOSUB 3090
4130 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
4140 PRINT CHR$(27);"K3"
4150 GOTO 4350
4160 REM **** BLACK ****
4170 TEST$ = "BLACK": GOSUB 3090
4180 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
4190 PRINT CHR$(27);"K0"
4200 GOTO 4350
4210 REM **** ORANGE ****
4220 TEST$ = "ORANGE": GOSUB 3090
4230 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
4240 PRINT CHR$(27);"K4"
4250 GOTO 4350
4260 REM **** GREEN ****
4270 TEST$ = "GREEN": GOSUB 3090
4280 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
4290 PRINT CHR$(27);"K5"
4300 GOTO 4350
4310 REM **** PURPLE ****
4320 TEST$ = "PURPLE": GOSUB 3090
4330 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT CHR$(27);"!": PRINT TEST$: PRINT CHR$(27); CHR$(34)
4340 PRINT CHR$(27);"K6"
4350 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(27);"Z"
4360 FOR R = 1 TO 5
4370 FOR W = 32 TO 126
4380 PRINT CHR$(W);: NEXT W: PRINT
4390 NEXT R
4400 GOSUB 4450
4410 GOTO 4360
4420 REM **************
4430 REM COLOR KEYPRESS
4440 REM ************
4450 X3 = PEEK( -16384): IF X3 >128 THEN 4460
4460 POKE -16368,0:X3 = X3 -128
4470 IF X3 = 13 THEN RETURN
4480 IF X3 < >27 AND X3 < >32 AND X3 < >88 THEN 4450
4490 IF X3 = 13 THEN RETURN
4500 IF X3 = 27 OR X3 = 32 OR X3 = 88 THEN PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0); CHR$(27);"K0"
4510 IF X3 = 27 THEN PRINT CHR$(4);"PR#0": GOTO 3400
4520 IF X3 = 32 THEN GOSUB 4550
4530 IF X3 = 88 THEN GOSUB 4650
4540 GOTO 3400
4550 IF X2 = 2 THEN C2 = 2
4560 IF X2 = 3 THEN C3 = 2
4570 IF X2 = 4 THEN C4 = 2
4580 IF X2 = 5 THEN C5 = 2
4590 IF X2 = 6 THEN C6 = 2
4600 IF X2 = 7 THEN C7 = 2
4610 IF X2 = 8 THEN C8 = 2
4620 IF A = 7 THEN A7 = 2
4630 PRINT CHR$(4);"PR#0"
4640 RETURN
4650 IF X2 = 2 THEN C2 = 3
4660 IF X2 = 3 THEN C3 = 3
4670 IF X2 = 4 THEN C4 = 3
4680 IF X2 = 5 THEN C5 = 3
4690 IF X2 = 6 THEN C6 = 3
4700 IF X2 = 7 THEN C7 = 3
4710 IF X2 = 8 THEN C8 = 3
4720 IF A = 7 THEN A7 = 3
4730 PRINT CHR$(4);"PR#0"
4740 RETURN
4750 HTAB 30: PRINT "FAILED": RETURN
4760 HTAB 30: PRINT "PASSED": RETURN
4770 HTAB 30: PRINT "NOT TESTED": RETURN
4780 REM ***********************
4790 REM KEYPRESS ABORT
4800 REM **********************
4810 K5 = PEEK( -16384): IF K5 <128 THEN RETURN
4820 POKE -16368,0:K5 = K5 -128
4830 IF K5 < >27 THEN RETURN
4840 IF K5 = 27 THEN GOSUB 3350
4850 GOTO 260
Text found in 385b_Apple_II_Peripherals_Disk.dsk/MAIN.bas:
10 REM *******************************
20 REM SERVICE ENGINEERING 12/16/85
30 REM CHANGES TO ALL PRINTERS
40 REM MEM EXPANSION AND THIS MENU
50 REM *******************************
60 D$ = CHR$(4)
70 POKE -16368,0
80 E = -16384
90 ONERR GOTO 1080
100 HOME : TEXT
110 VTAB 3: HTAB 2: PRINT "APPLE II";: HTAB 25: PRINT "P/N #077-0217-A": HTAB 2: PRINT "PERIPHERALS DISKETTE": PRINT : HTAB 2: PRINT "COPYRIGHT 1985 APPLE COMPUTER, INC."
120 GOSUB 960
130 PRINT : PRINT : HTAB 4: PRINT "1. MONITORS"
140 PRINT : HTAB 4: PRINT "2. PRINTERS"
150 PRINT : HTAB 4: PRINT "3. APPLE II MEMORY EXPANSION CARD"
160 PRINT : GOSUB 960
170 PRINT : PRINT : HTAB 2: PRINT "SELECT THE NUMBER"
180 PRINT : HTAB 2: PRINT "PRESS ESC TO QUIT"
190 B = PEEK(E): IF B <128 THEN 190
200 POKE -16368,0
210 B = B -128
220 IF B = 27 THEN 620
230 B = B -48: IF B <1 OR B >3 THEN 190
240 ON B GOTO 250,310,550
250 REM
260 REM MONITOR TESTS
270 REM
280 TEXT : HOME : VTAB 10: PRINT "LOADING MONITORS...........PLEASE WAIT"
290 PRINT D$;"RUN MONITOR"
300 END
310 REM
320 REM PRINTER MENU
330 REM
340 HOME : TEXT : VTAB 3: PRINT "PRINTER TESTS AVAILABLE"
350 GOSUB 960
360 PRINT : PRINT
370 HTAB 4: PRINT "1. IMAGEWRITER"
380 HTAB 4: PRINT "2. IMAGEWRITER 15"
390 HTAB 4: PRINT "3. IMAGEWRITER II"
400 HTAB 4: PRINT "4. DOT MATRIX PRINTER"
410 HTAB 4: PRINT "5. DAISY WHEEL PRINTER"
420 HTAB 4: PRINT "6. SCRIBE"
430 HTAB 4: PRINT "7. SILENTYPE"
440 PRINT : GOSUB 960
450 PRINT
460 PRINT : HTAB 2: PRINT "SELECT THE NUMBER"
470 PRINT
480 HTAB 2: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
490 C = PEEK(E): IF C <128 THEN 490
500 POKE -16368,0
510 C = C -128
520 IF C = 27 THEN 60
530 C = C -48: IF C <1 OR C >7 THEN 490
540 ON C GOTO 660,720,790,850,910,970,1020
550 REM
560 REM MEMORY EXPANSION CARD
570 REM
580 TEXT : HOME
590 VTAB 8: PRINT "LOADING MEMORY EXPANSION CARD TEST": VTAB 10: HTAB 13: PRINT "PLEASE WAIT"
600 PRINT D$;"RUN MEMX"
610 REM ESC PRESSED
620 HOME : TEXT : VTAB 5: PRINT "DO YOU REALLY WANT TO QUIT? (Y/N)";
630 IF PEEK(E)
Text found in 385b_Apple_II_Peripherals_Disk.dsk/MEMX.bas:
10 REM MEM EXPANSION CARD TEST BASIC CALLER PGRM
20 REM
30 REM SERVICE ENGINEERING 11-NOV-85
40 REM
50 ONERR GOTO 80
60 TEXT : HOME
70 PRINT CHR$(4);"BLOADMEMTEST.OBJ,A$2000"
80 VTAB 2: PRINT "MEMORY EXPANSION CARD": PRINT : GOSUB 630
90 PRINT
100 GOSUB 180
110 REM :PRINT : PRINT "THIS TEST RUNS THE DIAGNOSTIC STORED"
120 REM :PRINT "IN ROM ON THE MEMORY EXPANSION CARD"
130 PRINT : PRINT "REFER TO LEVEL I TECHNICAL PROCEDURES FOR ERROR INTERPRETATION"
140 PRINT : GOSUB 630
150 PRINT : PRINT : PRINT : PRINT "PRESS RETURN";: HTAB 25: PRINT "TO RUN TEST"
160 PRINT "PRESS ESC";: HTAB 25: PRINT "TO PREV MENU"
170 POKE -16368,0: GOTO 300
180 ADDER = 0:SLOT = 0
190 POKE 49659,0:X = PEEK(49659): IF X = 1 THEN SLOT = 1:ADDER = ADDER +1
200 POKE 49915,0:X = PEEK(49915): IF X = 1 THEN SLOT = 2:ADDER = ADDER +1
210 POKE 50427,0:X = PEEK(50427): IF X = 1 THEN SLOT = 4:ADDER = ADDER +1
220 POKE 50683,0:X = PEEK(50683): IF X = 1 THEN SLOT = 5:ADDER = ADDER +1
230 POKE 50939,0:X = PEEK(50939): IF X = 1 THEN SLOT = 6:ADDER = ADDER +1
240 POKE 51195,0:X = PEEK(51195): IF X = 1 THEN SLOT = 7:ADDER = ADDER +1
250 IF PEEK(50171) = 1 THEN POP : GOTO 640: REM A CARD WAS FOUND IN SLOT 3
260 IF SLOT = 0 THEN POP : GOTO 510
270 IF ADDER >1 THEN POP : GOTO 600
280 VTAB 6: PRINT "MEMORY EXPANSION CARD--> SLOT ";SLOT
290 NORMAL : RETURN
300 X = PEEK( -16384): IF X <128 THEN 300
310 X = X -128
320 IF X < >27 AND X < >13 THEN 300
330 IF X = 27 THEN 500
340 IF X = 13 THEN 350
350 REM CALL TEST
360 DEVNO = 136 +SLOT *16:MSLOT = 192 +SLOT
370 POKE 8193,DEVNO: POKE 8195,MSLOT
380 CALL 8192
390 PRINT : VTAB 17: GOSUB 630: PRINT
400 VTAB 19: PRINT "COPY THE ERROR CODE - IF DISPLAYED"
410 VTAB 21: PRINT "PRESS ESC FOR MENU"
420 PRINT "PRESS RETURN TO REPEAT TEST"
430 POKE -16368,0
440 X2 = PEEK( -16384): IF X2 <128 THEN 440
450 POKE -16368,0
460 X2 = X2 -128: IF X2 < >13 AND X2 < >27 THEN 440
470 IF X2 = 27 THEN HOME : GOTO 80
480 IF X2 = 13 THEN 350
490 NORMAL : GOTO 60
500 TEXT : HOME : VTAB 8: PRINT "LOADING MAIN MENU....PLEASE WAIT": PRINT CHR$(4);"RUN MAIN"
510 PRINT : PRINT : PRINT "NO MEMORY EXPANSION CARD IS INSTALLED"
520 PRINT "IN AN AVAILABLE SLOT (1,2,4,5,6,7)"
530 PRINT "IF CARD IS INSTALLED-EXCHANGE CARD"
540 PRINT
550 PRINT "PRESS ESC FOR MAIN MENU"
560 X1 = PEEK( -16384): IF X1 <128 THEN 560
570 POKE -16368,0
580 X1 = X1 -128: IF X1 < >27 THEN 560
590 IF X1 = 27 THEN 500
600 PRINT : PRINT : PRINT "MORE THAN ONE MEMORY EXPANSION CARD WAS FOUND": PRINT
610 PRINT : PRINT "INSTALL ONLY ONE CARD FOR THIS TEST"
620 GOTO 540
630 FOR I = 1 TO 39: PRINT "_";: NEXT : RETURN
640 PRINT : PRINT : PRINT "A MEMORY EXPANSION CARD WAS FOUND IN SLOT 3": PRINT
650 PRINT : PRINT "PLEASE INSTALL CARD IN ANOTHER SLOT"
660 GOTO 540
Text found in 385b_Apple_II_Peripherals_Disk.dsk/MONITOR.bas:
100 GOTO 420
110 DATA 8, 120, 173, 129, 192, 173, 129, 192, 173, 179, 251, 201, 6, 208, 73, 173, 23, 192, 48, 60, 173, 19, 192, 48, 39, 173, 22, 192, 48, 34, 160, 42, 190, 95, 3, 185, 0, 0, 150, 0
120 DATA 153, 95, 3, 136, 208, 242, 76, 1, 0, 8, 160, 42, 185, 95, 3, 153, 0, 0, 136, 208, 247, 104, 176, 8, 169, 128, 141, 0, 3, 76, 94, 3, 169, 64, 141, 0, 3, 76, 94, 3
130 DATA 169, 32, 141, 0, 3, 76, 94, 3, 169, 0, 141, 0, 3, 40, 96, 169, 238, 141, 5, 192, 141, 3, 192, 141, 0, 8, 173, 0, 12, 201, 238, 208, 14, 14, 0, 12, 173, 0, 8, 205
140 DATA 0, 12, 208, 3, 56, 176, 1, 24, 141, 4, 192, 141, 2, 192, 76, 50, 3, 234
150 ALOOK = 768:START = 769
160 FOR I = 0 TO 137
170 READ BYTE
180 POKE START +I,BYTE
190 NEXT
200 CALL START
210 RESULTS = PEEK(ALOOK)
220 REM *************************************
230 REM * IF RESULTS=0 THEN NOT A //E *
240 REM * IF RESULTS=32 THEN //E NO 80 *
250 REM * IF RESULTS=64 THEN //E STD 80 *
260 REM * IF RESULTS=128 THEN //E EXT 80 *
270 REM *************************************
280 IF RESULTS = 64 OR RESULTS = 128 THEN 1520
290 HOME : VTAB 10: IF RESULTS = 0 OR RESULTS = 32 THEN T4 = 3
300 IF KB >1 THEN PRINT "THERE IS NO 80 COLUMN CARD INSTALLED": PRINT : PRINT "PRESS ESC FOR MENU": GOTO 320
310 PRINT "THERE IS NO 80 COLUMN CARD INSTALLED": PRINT : PRINT "PRESS ESC FOR MENU": PRINT "PRESS RETURN TO CONTINUE WITH TEST ALL": GOTO 360
320 V = PEEK(E): IF V <128 THEN 320
330 POKE -16368,0:V = V -128
340 IF V < >27 THEN 320
350 IF V = 27 THEN 450
360 V1 = PEEK(E): IF V1 <128 THEN 360
370 POKE -16368,0:V1 = V1 -128
380 IF V1 < >27 AND V1 < >13 THEN 360
390 IF V1 = 27 THEN 450
400 IF V1 = 13 THEN 1620
410 RETURN
420 T1 = 0:T2 = 0:T3 = 0:T4 = 0:T5 = 0:T6 = 0
430 D$ = CHR$(13) + CHR$(4)
440 E = -16384:X = 127
450 TEXT : HOME
460 VTAB 2: HTAB 2
470 PRINT "MONITOR TEST PATTERNS"
480 GOSUB 1970
490 VTAB 5: HTAB 2: PRINT "0. TEST ALL"
500 VTAB 7: HTAB 2
510 PRINT "1. DOT PATTERN"
520 S = 7
530 IF T1 = 2 THEN GOSUB 2040
540 IF T1 = 1 THEN GOSUB 2010
550 IF T1 = 0 THEN GOSUB 1980
560 VTAB 8: HTAB 2
570 PRINT "2. GRID PATTERN"
580 S = 8
590 IF T2 = 2 THEN GOSUB 2040
600 IF T2 = 1 THEN GOSUB 2010
610 IF T2 = 0 THEN GOSUB 1980
620 VTAB 9: HTAB 2
630 PRINT "3. 40 COLUMN DISPLAY"
640 S = 9
650 IF T3 = 2 THEN GOSUB 2040
660 IF T3 = 1 THEN GOSUB 2010
670 IF T3 = 0 THEN GOSUB 1980
680 VTAB 10: HTAB 2
690 PRINT "4. 80 COLUMN DISPLAY"
700 S = 10
710 IF T4 = 3 THEN GOSUB 2070
720 IF T4 = 2 THEN GOSUB 2040
730 IF T4 = 1 THEN GOSUB 2010
740 IF T4 = 0 THEN GOSUB 1980
750 VTAB 11: HTAB 2
760 PRINT "5. COLOR BARS"
770 S = 11
780 IF T5 = 2 THEN GOSUB 2040
790 IF T5 = 1 THEN GOSUB 2010
800 IF T5 = 0 THEN GOSUB 1980
810 VTAB 12: HTAB 2
820 PRINT "6. FULL WHITE SCREEN"
830 S = 12
840 IF T6 = 2 THEN GOSUB 2040
850 IF T6 = 1 THEN GOSUB 2010
860 IF T6 = 0 THEN GOSUB 1980
870 GOSUB 1970
880 VTAB 16: HTAB 2: PRINT "SELECT NUMBER"
890 VTAB 19: HTAB 4: PRINT "PRESS SPACEBAR";
900 VTAB 19: HTAB 25: PRINT "TO PASS"
910 VTAB 18: HTAB 4: PRINT "PRESS ESC";
920 VTAB 18: HTAB 25: PRINT "FOR PREV MENU"
930 VTAB 20: HTAB 4: PRINT "PRESS X";
940 VTAB 20: HTAB 25: PRINT "TO FAIL"
950 KB = PEEK(E): IF KB <128 THEN 950
960 POKE -16368,0
970 KB = KB -128
980 IF KB = 27 THEN 1030
990 KB = KB -47: IF KB <1 OR KB >7 THEN 950
1000 ON KB GOTO 1050,1060,1210,1350,1450,1610,1800
1010 REM RETURN TO MAIN
1020 TEXT : HOME : VTAB 8: PRINT "LOADING MAIN MENU....PLEASE WAIT"
1030 PRINT D$;" RUN MAIN"
1040 END
1050 REM TEST ALL 0 SELECTED
1060 REM *************************************
1070 REM * DOTS *
1080 REM *************************************
1090 S = 8:T1 = 2
1100 HGR2
1110 HCOLOR= 3
1120 FOR X = 0 TO 270 STEP 10
1130 FOR Y = 0 TO 190 STEP 10
1140 HPLOT X,Y
1150 NEXT Y
1160 NEXT X
1170 HPLOT 0,0 TO 270,190
1180 HPLOT 0,190 TO 270,0
1190 IF KB = 1 THEN GOSUB 2080
1200 IF KB >1 THEN GOTO 1900
1210 REM *************************************
1220 REM * GRID *
1230 REM *************************************
1240 S = 10:T2 = 2
1250 HGR2
1260 HCOLOR= 3
1270 FOR X = 0 TO 270 STEP 27
1280 HPLOT X,0 TO X,190
1290 NEXT X
1300 FOR Y = 0 TO 190 STEP 19
1310 HPLOT 0,Y TO 270,Y
1320 NEXT Y
1330 IF KB = 1 THEN GOSUB 2080
1340 IF KB >1 THEN GOTO 1900
1350 REM *************************************
1360 REM * 40 COLUMN DISPLAY *
1370 REM *************************************
1380 S = 12:T3 = 2
1390 TEXT : HOME
1400 FOR T = 1 TO 24
1410 PRINT "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789<>?*";
1420 NEXT T
1430 IF KB = 1 THEN GOSUB 2080
1440 IF KB >1 THEN GOTO 1900
1450 REM *************************************
1460 REM * 80 COLUMN DISPLAY *
1470 REM *************************************
1480 S = 14:T4 = 2
1490 RESTORE
1500 IF RESULTS >32 THEN 1520
1510 GOSUB 110
1520 PRINT D$;" PR# 3"
1530 TEXT : HOME
1540 FOR T = 1 TO 23
1550 PRINT "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890!@#$%^&*()+=[{]}>"
1560 NEXT T
1570 RESTORE
1580 IF KB = 1 THEN GOSUB 2080
1590 IF KB >1 THEN GOTO 1900
1600 PRINT : PRINT CHR$(27); CHR$(17)
1610 REM *************************************
1620 REM * COLOR BARS *
1630 REM *************************************
1640 S = 16:T5 = 2
1650 TEXT : HOME
1660 GR : FOR I = 0 TO 31: COLOR= I/2: VLIN 0,39 AT I +3: NEXT I
1670 COLOR= 5: VLIN 0,39 AT 2: VLIN 0,39 AT 35: HLIN 2,35 AT 0: HLIN 2,35 AT 39
1680 A$ = "BMDPDGMLBOGPLYAW": GOSUB 1730: PRINT
1690 A$ = "LGBUGRBBRRRIGEQI": GOSUB 1730: PRINT
1700 A$ = "ATLRRELLWNENRLUT": GOSUB 1730: PRINT
1710 A$ = "KAUPNYUUNGYKNOAE": GOSUB 1730
1720 GOTO 1760
1730 FOR I = 1 TO LEN(A$)
1740 HTAB 2 *I +2: PRINT MID$ (A$,I,1);
1750 NEXT I: RETURN
1760 IF KB = 1 THEN GOSUB 2080
1770 IF KB >1 THEN GOTO 1900
1790 REM *************************************
1800 REM * FULL WHITE SCREEN *
1810 REM *************************************
1820 S = 18:T6 = 2
1830 HGR2 : POKE -16302,0
1840 HCOLOR= 3: HPLOT 0,0
1850 CALL -3082
1860 IF KB = 1 THEN GOSUB 2080
1870 IF KB >1 THEN GOTO 1900
1875 GOTO 450
1880 REM *************************************
1890 REM * KEYPRESS *
1900 REM *************************************
1910 X = PEEK(E): IF X <128 THEN 1910
1920 POKE -16368,0
1930 X = X -128: IF X < >27 AND X < >32 AND X < >88 THEN 1910
1940 IF X = 27 OR X = 32 THEN PRINT CHR$(27); CHR$(17): GOTO 450
1950 IF X = 88 THEN PRINT CHR$(27); CHR$(17): GOSUB 2180
1960 GOTO 450
1970 FOR T = 1 TO 39: PRINT "_";: NEXT : RETURN
1980 VTAB (S): HTAB 30
1990 PRINT "NOT TESTED"
2000 RETURN
2010 VTAB (S): HTAB 30
2020 PRINT "FAILED"
2030 RETURN
2040 VTAB (S): HTAB 30
2050 PRINT "PASSED"
2060 RETURN
2070 VTAB (S): HTAB 30: PRINT "NO CARD": RETURN
2080 REM **********************
2090 REM KEYPRESS TEST ALL
2100 REM **********************
2110 X1 = PEEK(E): IF X1 <128 THEN 2110
2120 POKE -16368,0:X1 = X1 -128
2130 IF X1 < >27 AND X1 < >32 AND X1 < >88 THEN 2110
2140 IF X1 = 27 THEN PRINT CHR$(27); CHR$(17): GOTO 450 LIST 3770
2150 IF X1 = 32 THEN RETURN
2160 IF X = 88 THEN GOSUB 2180
2170 RETURN
2180 IF KB = 2 THEN T1 = 1
2190 IF KB = 3 THEN T2 = 1
2200 IF KB = 4 THEN T3 = 1
2210 IF KB = 5 THEN T4 = 1
2220 IF KB = 6 THEN T5 = 1
2230 IF KB = 7 THEN T6 = 1
2240 RETURN
Text found in 385b_Apple_II_Peripherals_Disk.dsk/SCRIBE.bas:
10 ONERR GOTO 260
20 REM *****************************
30 REM ASSIGN VARIABLES
40 REM *****************************
50 PRINT CHR$(4);"BRUN ASOFT8BIT.CODE
60 A1 = 1:A2 = 1:A3 = 1:A4 = 1:A5 = 1:A6 = 1:A7 = 1
70 E = -16384
80 REM ****************************
90 REM INTERFACE ASSIGNMENT
100 REM ****************************
110 IF PEEK(64120) = 234 THEN SLOT = 5: GOTO 270: REM EMULATION FOR ///
120 GOSUB 2830: VTAB 6: PRINT "IF USING THE APPLE IIC ENTER SLOT # '1'": VTAB 7: PRINT "AND THE BAUD RATE MUST BE SET FOR 9600"
130 VTAB 9: PRINT "ENTER SLOT # OF SERIAL INTERFACE-->": VTAB 12: PRINT "PRESS ESC FOR MAIN MENU"
140 SLOT = PEEK( -16384): IF SLOT <128 THEN 140
150 POKE -16368,0:SLOT = SLOT -128
160 IF SLOT = 27 THEN 720
170 SLOT = SLOT -48: IF SLOT >7 OR SLOT <1 OR SLOT = 6 THEN 140
180 VTAB 11: PRINT "SLOT IS ";SLOT: VTAB 13: PRINT "PRESS RETURN FOR PRINTER MENU"
190 GOTO 210
200 TEXT : HOME : GOSUB 2830: VTAB 9: PRINT "THIS IS AN APPLE IIC": PRINT "THE SLOT ASSIGNED IS 1 (9600 BAUD)": PRINT : PRINT "PRESS ESC FOR PREV MENU": PRINT "PRESS RETURN FOR PRINTER MENU": GOTO 210
210 C = PEEK( -16384): IF C <128 THEN 210
220 POKE -16368,0:C = C -128
230 IF C < >13 AND C < >27 THEN 210
240 IF C = 27 THEN GOTO 720
250 REM DRAW MENU
260 REM *******************************
270 TEXT : HOME
280 VTAB 3: PRINT "SCRIBE TESTS"
290 VTAB 4: GOSUB 2890
300 PRINT
310 VTAB 6: PRINT "0. PRINTER FUNCTIONAL TEST"
320 VTAB 8: PRINT "1. CHARACTER SET";
330 IF A1 = 3 THEN GOSUB 3060
340 IF A1 = 2 THEN GOSUB 3070
350 IF A1 = 1 THEN GOSUB 3080
360 VTAB 9: PRINT "2. ALTERNATE SETS";
370 IF A2 = 3 THEN GOSUB 3060
380 IF A2 = 2 THEN GOSUB 3070
390 IF A2 = 1 THEN GOSUB 3080
400 VTAB 10: PRINT "3. GRAPHIC IMAGES";
410 IF A3 = 3 THEN GOSUB 3060
420 IF A3 = 2 THEN GOSUB 3070
430 IF A3 = 1 THEN GOSUB 3080
440 VTAB 11: PRINT "4. MARGINS/TABS";
450 IF A4 = 3 THEN GOSUB 3060
460 IF A4 = 2 THEN GOSUB 3070
470 IF A4 = 1 THEN GOSUB 3080
480 VTAB 12: PRINT "5. REGISTRATION";
490 IF A5 = 3 THEN GOSUB 3060
500 IF A5 = 2 THEN GOSUB 3070
510 IF A5 = 1 THEN GOSUB 3080
520 VTAB 13: PRINT "6. COLOR TEST";
530 IF A6 = 3 THEN GOSUB 3060
540 IF A6 = 2 THEN GOSUB 3070
550 IF A6 = 1 THEN GOSUB 3080
560 VTAB 15: GOSUB 2890
570 PRINT
580 VTAB 18: PRINT "SELECT THE NUMBER"
590 VTAB 20: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
600 VTAB 21: PRINT "PRESS SPACEBAR";: HTAB 25: PRINT "TO PASS"
610 VTAB 22: PRINT "PRESS X";: HTAB 25: PRINT "TO FAIL"
620 REM **************************
630 REM MENU SELECT
640 REM **************************
650 A = PEEK(E): IF A <128 THEN 650
660 POKE -16368,0
670 A = A -128
680 IF A = 27 THEN 720
690 A = A -48: IF A = 0 THEN P = 1: GOTO 780
700 IF A <1 OR A >6 THEN 650
710 ON A GOTO 1450,1580,1880,2040,2310,3120
720 REM ****** LOAD MAIN******
730 TEXT : HOME : VTAB 9: PRINT "LOADING MAIN MENU.....PLEASE WAIT"
740 PRINT CHR$(4);"RUN MAIN"
750 REM ***************************
760 REM TEST ALL
770 REM **************************
780 TEXT : HOME
790 VTAB 2: PRINT "PRINTER FUNCTIONAL TEST": VTAB 4: GOSUB 2890
800 PRINT : VTAB 6: PRINT "MARGINS/TABS": VTAB 7: PRINT "CHARACTER SET": VTAB 8: PRINT "ALTERNATE SET": VTAB 9: PRINT "GRAPHIC IMAGES": VTAB 10: PRINT "REGISTRATION": VTAB 11: PRINT "FINAL COLOR"
810 VTAB 12: GOSUB 2890
820 PRINT : VTAB 14: PRINT "ALIGN PERFORATION WITH TOP OF DOT HEAD"
830 VTAB 18: PRINT "TEST WILL STOP AT FINAL COLOR": VTAB 20: PRINT "PRESS RETURN";: VTAB 20: HTAB 25: PRINT "TO BEGIN": VTAB 21: PRINT "PRESS ESC";: VTAB 21: HTAB 25: PRINT "FOR PREV MENU"
840 K = PEEK( -16384): IF K <128 THEN 840
850 POKE -16368,0:K = K -128
860 IF K < >27 AND K < >13 THEN 840
870 IF K = 27 THEN 240
880 VTAB 14: PRINT " "
890 VTAB 6: HTAB 30: PRINT "TESTING.."
900 VTAB 21: HTAB 25: PRINT "ONCE TO ABORT"
910 GOSUB 2090
920 GOSUB 4110
930 FOR I = 1 TO 8000: NEXT I: GOSUB 3110
940 VTAB 6: HTAB 30: PRINT "COMPLETED"
950 VTAB 7: HTAB 30: PRINT "TESTING.."
960 PRINT CHR$(4);"PR#";SLOT: PRINT "CHARACTER SET": PRINT
970 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
980 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
990 FOR R = 1 TO 5
1000 FOR W = 32 TO 112
1010 PRINT CHR$(W);: NEXT W: PRINT
1020 NEXT R
1030 GOSUB 4110
1040 FOR I = 1 TO 8000: NEXT I: GOSUB 3110
1050 VTAB 7: HTAB 30: PRINT "COMPLETED"
1060 VTAB 8: HTAB 30: PRINT "TESTING.."
1070 PRINT CHR$(4);"PR#";SLOT: PRINT "ALTERNATE SETS": PRINT
1080 GOSUB 1630
1090 GOSUB 4110
1100 FOR I = 1 TO 7000: NEXT I: GOSUB 3110
1110 VTAB 8: HTAB 30: PRINT "COMPLETED"
1120 VTAB 9: HTAB 30: PRINT "TESTING.."
1130 PRINT CHR$(4);"PR#";SLOT: PRINT "GRAPHIC IMAGES": PRINT
1140 GOSUB 1930
1150 GOSUB 4110
1160 FOR I = 1 TO 13000: NEXT I: GOSUB 3110
1170 VTAB 9: HTAB 30: PRINT "COMPLETED"
1180 VTAB 10: HTAB 30: PRINT "TESTING.."
1190 PRINT CHR$(4);"PR#";SLOT: PRINT "REGISTRATION": PRINT
1200 GOSUB 2360
1210 GOSUB 4110
1220 FOR I = 1 TO 8000: NEXT I: GOSUB 3110
1230 VTAB 10: HTAB 30: PRINT "COMPLETED"
1240 VTAB 14: PRINT "POWER OFF PRINTER AND INSTALL": VTAB 15: PRINT "THE COLOR RIBBON AND POWER ON": VTAB 18: PRINT " "
1250 VTAB 20: PRINT "PRESS RETURN TO BEGIN FINAL COLOR ": VTAB 21: PRINT "PRESS ESC TO NOT TEST FINAL COLOR ": GOSUB 1390
1260 VTAB 11: HTAB 30: PRINT "TESTING.. "
1270 PRINT CHR$(4);"PR#";SLOT: PRINT "FINAL COLOR": PRINT
1280 GOSUB 3490
1290 FOR I = 1 TO 10000: NEXT I: GOSUB 3110
1300 VTAB 11: HTAB 30: PRINT "COMPLETED"
1310 VTAB 14: PRINT "POWER OFF PRINTER AND INSTALL": VTAB 15: PRINT "THE BLACK RIBBON AND POWER ON "
1320 VTAB 20: PRINT "PRESS RETURN WHEN INSTALLED ": VTAB 21: PRINT " "
1330 K3 = PEEK( -16384): IF K3 <128 THEN 1330
1340 POKE -16368,0:K3 = K3 -128: IF K3 < >13 THEN 1330
1350 IF K3 = 13 OR K2 = 27 THEN VTAB 14: PRINT "ALIGN PERFORATION WITH TOP OF DOT HEAD": VTAB 15: PRINT " "
1360 VTAB 18: PRINT "TEST WILL STOP AT FINAL COLOR": VTAB 20: PRINT "PRESS RETURN TO BEGIN"
1370 VTAB 21: PRINT "PRESS ESC FOR PREV MENU"
1380 GOTO 840
1390 K2 = PEEK( -16384): IF K2 <128 THEN 1390
1400 POKE -16368,0:K2 = K2 -128: IF K2 < >13 AND K2 < >27 THEN 1390
1410 IF K2 = 13 THEN RETURN
1420 IF K2 = 27 THEN PRINT : VTAB 11: HTAB 30: PRINT "NOT TESTED"
1430 GOTO 1350
1440 REM ****************************
1450 REM CHARACTER SET
1460 REM ****************************
1470 TEST$ = "CHARACTER SET": GOSUB 2840
1480 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$: PRINT
1490 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1500 PRINT CHR$(27);"X": PRINT CHR$(27);"A": PRINT
1510 R$ = "ABCDFGHIJKLMNOPQRSTUVWXYZ[\]^_'abcdefghijklmnopqrstuvwxyz{|}~!" + CHR$(34) +"#$%&`()*+,.-./0123456789:;<=>?@"
1520 J = 11:K = 80
1530 IF J > = 11 AND J <17 THEN PRINT MID$ (R$,J,K):K = 80:J = J +1: GOSUB 2580
1540 IF J > = 17 AND J < = 96 THEN PRINT MID$ (R$,J,K); LEFT$(R$,(81 -K)):K = K -1:J = J +1
1550 GOSUB 2580
1560 IF J >96 THEN K = 80: PRINT MID$ (R$,J -95,K):J = J +1: GOSUB 2580
1570 GOTO 1530
1580 REM *******************************
1590 REM ALTERNATE CHARACTER SET
1600 REM *******************************
1610 TEST$ = "ALTERNATE CHARACTER SET": GOSUB 2870
1620 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT TEST$: PRINT
1630 PRINT "AMERICAN"; CHR$(27);"Z"; CHR$(7); CHR$(0);: GOSUB 1730
1640 PRINT : PRINT "ITALIAN";: PRINT CHR$(27);"Z"; CHR$(6); CHR$(0); CHR$(27);"D"; CHR$(1); CHR$(0);: GOSUB 1730
1650 PRINT "BRITISH";: PRINT CHR$(27);"Z"; CHR$(4); CHR$(0); CHR$(27);"D"; CHR$(3); CHR$(0);: GOSUB 1730
1660 PRINT "GERMAN";: PRINT CHR$(27);"Z"; CHR$(3); CHR$(0); CHR$(27);"D"; CHR$(4); CHR$(0);: GOSUB 1730
1670 PRINT "SWEDISH";: PRINT CHR$(27);"Z"; CHR$(2); CHR$(0); CHR$(27);"D"; CHR$(5); CHR$(0);: GOSUB 1730
1680 PRINT "FRENCH";: PRINT CHR$(27);"Z"; CHR$(1); CHR$(0); CHR$(27);"D"; CHR$(6); CHR$(0);: GOSUB 1730
1690 PRINT "SPANISH"; CHR$(27);"D"; CHR$(7); CHR$(0);: GOSUB 1730
1700 IF A = 0 THEN RETURN
1710 GOSUB 2690
1720 GOTO 1630
1730 PRINT " # @ [ \ ] ' { | } ~ ":
1740 RETURN
1750 REM ***************************
1760 REM CUSTOM**
1770 REM ****************************
1780 TEST$ = "CUSTOM CHARACTER": GOSUB 2840
1790 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT TEST$: PRINT
1800 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
1810 RESTORE
1820 FOR I = 768 TO 773: READ J: POKE I,J: NEXT I
1830 FOR I = 1 TO 14: READ J: POKE 769,J: CALL 768: NEXT I
1840 FOR L = 1 TO 5: FOR W = 1 TO 40: PRINT CHR$(27);"*& ";: NEXT W: PRINT
1850 GOSUB 2590
1860 NEXT L
1870 IF J > = 17 AND J < = 96 THEN PRINT MID$ (R$,J -95,K):J = J +1: GOSUB 2580
1880 REM **************************
1890 REM GRAPHIC TEST
1900 REM **************************
1910 TEST$ = "GRAPHIC IMAGES": GOSUB 2870
1920 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT TEST$: PRINT
1930 S$ = "V0650"
1940 & CHR$(27);S$; CHR$(1)
1950 & CHR$(27);S$; CHR$(3)
1960 & CHR$(27);S$; CHR$(7)
1970 & CHR$(27);S$; CHR$(15)
1980 & CHR$(27);S$; CHR$(31)
1990 & CHR$(27);S$; CHR$(63)
2000 & CHR$(27);S$; CHR$(127)
2010 IF A = 0 THEN RETURN
2020 GOSUB 2680
2030 GOTO 1940
2040 REM ***************************
2050 REM VFU
2060 REM **************************
2070 TEST$ = "MARGINS/TABS": GOSUB 2850
2080 GOSUB 2680
2090 T$ = "MARGINS/TABS HTAB"
2100 T1$ = "FROM TOP OF PAGE 1 1/8 INCHES (+/- 1/4) |HTAB 6 5/8 IN"
2110 T2$ = "FROM TOP OF PAGE 4 1/4 INCHES (+/- 1/4) |HTAB 4 1/2 IN"
2120 T3$ = "FROM TOP OF PAGE 6 1/2 INCHES (+/- 1/4) |HTAB 6 5/8 IN"
2130 T4$ = "FROM TOP OF PAGE 9 1/2 INCHES (+/- 1/4) END OF TEST"
2140 PRINT CHR$(4);"PR#";SLOT
2150 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
2160 PRINT CHR$(10): PRINT SPC( 21);T$
2170 PRINT "|"; SPC( 20);T1$
2180 FOR I = 1 TO 8: PRINT CHR$(10): NEXT I
2190 PRINT " ";T$
2200 PRINT "|";T2$
2210 FOR I = 1 TO 6: PRINT CHR$(10): NEXT I
2220 PRINT SPC( 21);T$
2230 PRINT "|"; SPC( 20);T3$
2240 FOR I = 1 TO 8: PRINT CHR$(10): NEXT I
2250 PRINT " ";T$
2260 PRINT "|";T4$
2270 FOR I = 1 TO 4: PRINT CHR$(10): NEXT I
2280 IF A = 0 THEN RETURN
2290 GOSUB 2680
2300 GOTO 2140
2310 REM **************************
2320 REM REGISTRATION
2330 REM **************************
2340 TEST$ = "REGISTRATION": GOSUB 2870
2350 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(27);"a": PRINT TEST$: PRINT
2360 PRINT CHR$(27);"X"
2370 A$ = "|"
2380 PRINT CHR$(27); CHR$(102)
2390 J = PEEK( -637): IF J = 234 THEN PRINT CHR$(9);"Z"
2400 FOR L = 1 TO 4
2410 FOR W = 1 TO 80
2420 PRINT A$;
2430 NEXT W
2440 PRINT
2450 NEXT L
2460 FOR R = 1 TO 5: PRINT CHR$(27); CHR$(114): NEXT R
2470 PRINT CHR$(27); CHR$(102)
2480 FOR L = 1 TO 4
2490 FOR W = 1 TO 80
2500 PRINT A$;
2510 NEXT W
2520 PRINT
2530 NEXT L
2540 IF A = 0 THEN RETURN
2550 GOSUB 2680
2560 GOTO 2380
2570 REM **************************
2580 REM KEYPRESS CHECK
2590 REM **************************
2600 X = PEEK( -16384): IF X >128 THEN 2610
2610 POKE -16368,0:X = X -128
2620 IF X < >27 AND X < >32 AND X < >88 THEN RETURN
2630 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": GOTO 2640
2640 IF X = 27 THEN 240
2650 IF X = 32 THEN GOSUB 2900
2660 IF X = 88 THEN GOSUB 2980
2670 GOTO 240
2680 REM ********************************
2690 REM RETURN KEYPRESS
2700 REM ********************************
2710 X = PEEK( -16384): IF X <128 THEN 2710
2720 POKE -16368,0:X = X -128
2730 IF X < >27 AND X < >32 AND X < >88 AND X < >13 THEN 2710
2740 IF X = 13 THEN RETURN
2750 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0"
2760 IF X = 27 THEN 240
2770 IF X = 32 THEN GOSUB 2900
2780 IF X = 88 THEN GOSUB 2980
2790 GOTO 240
2800 REM ***************************
2810 REM MISC SUBS
2820 REM ***************************
2830 TEXT : HOME : VTAB 4: HTAB 8: PRINT "*** SCRIBE TESTER ****": RETURN
2840 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 11: PRINT "PRESS SPACEBAR TO PASS": PRINT "PRESS X TO REJECT": PRINT "PRESS ESC FOR MENU": RETURN
2850 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PERFORATION MUST BE ALIGNED WITH": VTAB 11: PRINT "TOP OF DOT HEAD": VTAB 13: PRINT "PRESS RETURN TO BEGIN OR REPEAT TEST"
2860 VTAB 14: PRINT "PRESS SPACEBAR TO PASS": VTAB 15: PRINT "PRESS X TO FAIL": VTAB 16: PRINT "PRESS ESC FOR MENU": RETURN
2870 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PRESS RETURN TO REPEAT TEST"
2880 VTAB 12: PRINT "PRESS SPACEBAR TO PASS": VTAB 13: PRINT "PRESS X TO FAIL": VTAB 14: PRINT "PRESS ESC FOR MENU": RETURN
2890 FOR T = 1 TO 39: PRINT "_";: NEXT : RETURN
2900 REM PASS TEST
2910 IF A = 2 THEN A2 = 2
2920 IF A = 3 THEN A3 = 2
2930 IF A = 4 THEN A4 = 2
2940 IF A = 5 THEN A5 = 2
2950 IF A = 6 THEN A6 = 2
2960 IF A = 1 THEN A1 = 2
2970 RETURN
2980 REM FAIL TEST
2990 IF A = 2 THEN A2 = 3
3000 IF A = 3 THEN A3 = 3
3010 IF A = 4 THEN A4 = 3
3020 IF A = 5 THEN A5 = 3
3030 IF A = 6 THEN A6 = 3
3040 IF A = 1 THEN A1 = 3
3050 RETURN
3060 HTAB 30: PRINT "FAILED": RETURN
3070 HTAB 30: PRINT "PASSED": RETURN
3080 HTAB 30: PRINT "NOT TESTED": RETURN
3090 DATA 169,4,76,237,253,96
3100 DATA 27,45,27,73,166,71,60,126,126,126,127,126,50,4
3110 PRINT CHR$(4);"PR#";SLOT: PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0): PRINT CHR$(4);"PR#0": RETURN
3120 REM ****************
3130 REM COLOR TEST
3140 REM ****************
3150 C2 = 1:C3 = 1:C4 = 1:C5 = 1:C6 = 1:C7 = 1:C8 = 1
3160 TEXT : HOME : VTAB 2: PRINT "IMAGEWRITER II COLOR TEST": VTAB 4: GOSUB 2890
3170 PRINT : VTAB 6: PRINT "1. FINAL TEST: EACH COLOR 5X"
3180 VTAB 8: PRINT "2. YELLOW";
3190 IF C2 = 3 THEN GOSUB 4080
3200 IF C2 = 2 THEN GOSUB 4090
3210 IF C2 = 1 THEN GOSUB 4100
3220 VTAB 9: PRINT "3. RED";
3230 IF C3 = 3 THEN GOSUB 4080
3240 IF C3 = 2 THEN GOSUB 4090
3250 IF C3 = 1 THEN GOSUB 4100
3260 VTAB 10: PRINT "4. BLUE";
3270 IF C4 = 3 THEN GOSUB 4080
3280 IF C4 = 2 THEN GOSUB 4090
3290 IF C4 = 1 THEN GOSUB 4100
3300 VTAB 12: PRINT "INSTALL THE COLOR RIBBON AND POWER THE"
3310 VTAB 13: PRINT "PRINTER OFF THEN ON"
3320 VTAB 15: PRINT "ON COMPLETION INSTALL THE BLACK RIBBON"
3330 VTAB 16: PRINT "AND POWER THE PRINTER OFF AND ON"
3340 VTAB 17: GOSUB 2890
3350 PRINT : VTAB 19: PRINT "SELECT THE NUMBER"
3360 VTAB 21: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
3370 VTAB 22: PRINT "PRESS SPACEBAR";: HTAB 25: PRINT "TO PASS"
3380 VTAB 23: PRINT "PRESS X";: HTAB 25: PRINT "TO FAIL"
3390 X2 = PEEK(E): IF X2 <128 THEN 3390
3400 POKE -16368,0:X2 = X2 -128
3410 IF X2 = 27 THEN 250
3420 X2 = X2 -48: IF X2 <1 OR X2 >8 THEN 3390
3430 ON X2 GOTO 3460,3610,3660,3710,3860,3910,3960,4010
3440 REM **********************
3450 REM TEST ALL
3460 REM *********************
3470 TEST$ = "FINAL TEST: ALL COLORS 5X": GOSUB 2870
3480 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$
3490 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(9);"Z"
3500 PRINT CHR$(27);"K1": GOSUB 3560
3510 PRINT CHR$(27);"K2": GOSUB 3560
3520 PRINT CHR$(27);"K3": GOSUB 3560
3530 IF A = 0 THEN RETURN
3540 GOSUB 3840
3550 GOTO 3500
3560 FOR R = 1 TO 5
3570 FOR W = 32 TO 112
3580 PRINT CHR$(W);: NEXT W: PRINT
3590 NEXT R
3600 RETURN
3610 REM **** YELLOW ****
3620 TEST$ = "YELLOW": GOSUB 2870
3630 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$
3640 PRINT CHR$(27);"K1"
3650 GOTO 3760
3660 REM **** RED ****
3670 TEST$ = "RED": GOSUB 2870
3680 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$
3690 PRINT CHR$(27);"K2"
3700 GOTO 3760
3710 REM **** BLUE ****
3720 TEST$ = "BLUE": GOSUB 2870
3730 PRINT CHR$(4);"PR#";SLOT: PRINT TEST$
3740 PRINT CHR$(27);"K3"
3750 GOTO 3760
3760 X = PEEK( -637): IF X = 234 THEN PRINT CHR$(27);"Z"
3770 FOR R = 1 TO 5
3780 FOR W = 32 TO 112
3790 PRINT CHR$(W);: NEXT W: PRINT
3800 NEXT R
3810 GOSUB 3860
3820 GOTO 3770
3830 REM **************
3840 REM COLOR KEYPRESS
3850 REM ************
3860 X3 = PEEK( -16384): IF X3 >128 THEN 3870
3870 POKE -16368,0:X3 = X3 -128
3880 IF X3 = 13 THEN RETURN
3890 IF X3 < >27 AND X3 < >32 AND X3 < >88 THEN 3860
3900 IF X3 = 13 THEN RETURN
3910 IF X3 = 27 OR X3 = 32 OR X3 = 88 THEN PRINT CHR$(24); CHR$(27); CHR$(99); CHR$(27);"Y"; CHR$(27);"$"; CHR$(27);"Z"; CHR$(7); CHR$(0); CHR$(27);"K0"
3920 IF X3 = 27 THEN PRINT CHR$(4);"PR#0": GOTO 3160
3930 IF X3 = 32 THEN GOSUB 3960
3940 IF X3 = 88 THEN GOSUB 4020
3950 GOTO 3160
3960 IF X2 = 2 THEN C2 = 2
3970 IF X2 = 3 THEN C3 = 2
3980 IF X2 = 4 THEN C4 = 2
3990 IF A = 6 THEN A6 = 2
4000 PRINT CHR$(4);"PR#0"
4010 RETURN
4020 IF X2 = 2 THEN C2 = 3
4030 IF X2 = 3 THEN C3 = 3
4040 IF X2 = 4 THEN C4 = 3
4050 IF A = 6 THEN A6 = 3
4060 PRINT CHR$(4);"PR#0"
4070 RETURN
4080 HTAB 30: PRINT "FAILED": RETURN
4090 HTAB 30: PRINT "PASSED": RETURN
4100 HTAB 30: PRINT "NOT TESTED": RETURN
4110 REM ***********************
4120 REM KEYPRESS ABORT
4130 REM **********************
4140 K5 = PEEK( -16384): IF K5 <128 THEN RETURN
4150 POKE -16368,0:K5 = K5 -128
4160 IF K5 < >27 THEN RETURN
4170 IF K5 = 27 THEN GOSUB 3110
4180 GOTO 270
Text found in 385b_Apple_II_Peripherals_Disk.dsk/ST.bas:
10 PRINT CHR$(4);"BLOAD EINSTEIN.PIC"
20 ONERR GOTO 230
30 REM *****************************
40 REM ASSIGN VARIABLES
50 REM *****************************
60 A1 = 1:A2 = 1:A3 = 1:A4 = 1:A5 = 1:A6 = 1
70 E = -16384
80 REM INTERFACE ASSIGNMENT
90 REM ****************************
100 IF PEEK(64120) = 234 THEN SLOT = 5: GOTO 590: REM EMULATION FOR III
110 GOSUB 1750: VTAB 9: PRINT "ENTER SLOT # OF SILENTYPE INTERFACE->": VTAB 12: PRINT "PRESS ESC FOR MAIN MENU"
120 SLOT = PEEK( -16384): IF SLOT <128 THEN 120
130 POKE -16368,0:SLOT = SLOT -128
140 IF SLOT = 27 THEN 630
150 SLOT = SLOT -48: IF SLOT >7 OR SLOT <1 OR SLOT = 6 THEN 120
160 VTAB 11: PRINT "SLOT IS ";SLOT: VTAB 13: PRINT "PRESS RETURN FOR PRINTER MENU"
170 GOTO 180
180 C = PEEK( -16384): IF C <128 THEN 180
190 POKE -16368,0:C = C -128
200 IF C < >13 AND C < >27 THEN 180
210 IF C = 27 THEN GOTO 630
220 REM ********************************
230 REM DRAW MENU
240 REM *******************************
250 TEXT : HOME
260 VTAB 3: PRINT "SILENTYPE TESTS"
270 VTAB 4: GOSUB 1790
280 PRINT
290 VTAB 6: PRINT "0. PRINTER FUNCTIONAL TEST"
300 VTAB 8: PRINT "1. CHARACTER SET";
310 IF A1 = 3 THEN GOSUB 1920
320 IF A1 = 2 THEN GOSUB 1930
330 IF A1 = 1 THEN GOSUB 1940
340 VTAB 9: PRINT "2. PRINT INTENSITY";
350 IF A2 = 3 THEN GOSUB 1920
360 IF A2 = 2 THEN GOSUB 1930
370 IF A2 = 1 THEN GOSUB 1940
380 VTAB 10: PRINT "3. GRAPHIC IMAGE";
390 IF A3 = 3 THEN GOSUB 1920
400 IF A3 = 2 THEN GOSUB 1930
410 IF A3 = 1 THEN GOSUB 1940
420 VTAB 11: PRINT "4. REGISTRATION";
430 IF A4 = 3 THEN GOSUB 1920
440 IF A4 = 2 THEN GOSUB 1930
450 IF A4 = 1 THEN GOSUB 1940
460 VTAB 15: GOSUB 1790
470 PRINT
480 VTAB 18: PRINT "SELECT THE NUMBER"
490 VTAB 20: PRINT "PRESS ESC";: HTAB 25: PRINT "FOR PREV MENU"
500 VTAB 21: PRINT "PRESS SPACEBAR";: HTAB 25: PRINT "TO PASS"
510 VTAB 22: PRINT "PRESS X";: HTAB 25: PRINT "TO FAIL"
520 REM **************************
530 REM MENU SELECT
540 REM **************************
550 A = PEEK(E): IF A <128 THEN 550
560 POKE -16368,0
570 A = A -128
580 IF A = 27 THEN 620
590 A = A -48: IF A = 0 THEN 650
600 IF A <1 OR A >4 THEN 550
610 ON A GOTO 1020,1130,1300,1390
620 REM *****LOAD MAIN******
630 TEXT : HOME : VTAB 8: PRINT "LOADING MAIN MENU.......PLEASE WAIT"
640 PRINT CHR$(4);"RUN MAIN"
650 REM ***************************
660 REM TEST ALL
670 REM **************************
680 TEXT : HOME : VTAB 2: PRINT "PRINTER FUNCTIONAL TEST": VTAB 4: GOSUB 1790
690 PRINT : VTAB 8: PRINT "CHARACTER SET": VTAB 9: PRINT "PRINT INTENSITY": VTAB 10: PRINT "GRAPHIC IMAGE": VTAB 11: PRINT "REGISTRATION"
700 VTAB 15: GOSUB 1790
710 PRINT : VTAB 19: PRINT "PRESS RETURN";: VTAB 19: HTAB 25: PRINT "TO BEGIN": VTAB 20: PRINT "PRESS ESC";: VTAB 20: HTAB 25: PRINT "FOR PREV MENU"
720 K = PEEK( -16384): IF K <128 THEN 720
730 POKE -16368,0:K = K -128
740 IF K < >27 AND K < >13 THEN 720
750 IF K = 27 THEN 220
760 VTAB 20: HTAB 25: PRINT "ONCE TO ABORT"
770 VTAB 8: HTAB 30: PRINT "TESTING.."
780 PRINT CHR$(4);"PR#";SLOT: POKE 12529,5: PRINT : PRINT "CHARACTER SET": PRINT
790 FOR R = 1 TO 5
800 PRINT "ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+{}|<>:0123456789abcdefghijklmnopqrstuvwxyz,./[\]-+=";
810 NEXT R: PRINT
820 GOSUB 1960
830 FOR I = 1 TO 1600: NEXT I: GOSUB 1950
840 VTAB 8: HTAB 30: PRINT "COMPLETED"
850 VTAB 9: HTAB 30: PRINT "TESTING.."
860 TEST$ = "PRINT INTENSITY": GOSUB 1160
870 GOSUB 1960
880 FOR I = 1 TO 1600: NEXT I: GOSUB 1950
890 VTAB 9: HTAB 30: PRINT "COMPLETED"
900 VTAB 10: HTAB 30: PRINT "TESTING.."
910 TEST$ = "GRAPHIC IMAGE": GOSUB 1330
920 GOSUB 1960
930 FOR I = 1 TO 2200: NEXT I: GOSUB 1950
940 VTAB 10: HTAB 30: PRINT "COMPLETED"
950 VTAB 11: HTAB 30: PRINT "TESTING.."
960 TEST$ = "REGISTRATION": GOSUB 1420
970 GOSUB 1960
980 FOR I = 1 TO 900: NEXT I: GOSUB 1950
990 VTAB 11: HTAB 30: PRINT "COMPLETED"
1000 GOTO 710
1010 REM ****************************
1020 REM CHARACTER SET
1030 REM ****************************
1040 TEST$ = "CHARACTER SET": GOSUB 1760
1050 PRINT CHR$(4);"PR#";SLOT: PRINT : PRINT TEST$: PRINT : POKE -12529,0
1060 FOR R = 1 TO 200
1070 FOR W = 32 TO 126
1080 PRINT CHR$(W);: NEXT W
1090 GOSUB 1500
1100 NEXT R
1110 GOTO 1060
1120 REM *******************************
1130 REM PRINT INTENSITY
1140 REM *******************************
1150 TEST$ = "PRINT INTENSITY": GOSUB 1770
1160 PRINT CHR$(4);"PR#";SLOT: PRINT : PRINT TEST$: PRINT
1170 L$ = "PRINT INTENSITY IS EQUAL TO "
1180 POKE -12528,7: PRINT L$;"7"
1190 POKE -12528,6: PRINT L$;"6"
1200 POKE -12528,5: PRINT L$;"5"
1210 POKE -12528,4: PRINT L$;"4"
1220 POKE -12528,3: PRINT L$;"3"
1230 POKE -12528,2: PRINT L$;"2"
1240 POKE -12528,1: PRINT L$;"1"
1250 POKE -12528,0: PRINT L$;"0"
1260 IF A = 0 THEN RETURN
1270 GOSUB 1610
1280 GOTO 1170
1290 REM ***************************
1300 REM GRAPHIC IMAGE
1310 REM ****************************
1320 TEST$ = "GRAPHIC IMAGE": GOSUB 1770
1330 PRINT CHR$(4);"PR#";SLOT: POKE -12528,4: PRINT : PRINT TEST$: PRINT
1340 PRINT CHR$(17)
1350 IF A = 0 THEN RETURN
1360 GOSUB 1610
1370 GOTO 1340
1380 REM **************************
1390 REM REGISTRATION
1400 REM **************************
1410 TEST$ = "REGISTRATION": GOSUB 1770
1420 PRINT CHR$(4);"PR#";SLOT: PRINT : PRINT TEST$: PRINT
1430 FOR P = 1 TO 5
1440 PRINT "HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"
1450 NEXT P
1460 IF A = 0 THEN RETURN
1470 GOSUB 1610
1480 GOTO 1102
1490 REM **************************
1500 REM KEYPRESS CHECK
1510 REM **************************
1520 X = PEEK( -16384): IF X >128 THEN 1530
1530 POKE -16368,0:X = X -128
1540 IF X < >27 AND X < >32 AND X < >88 THEN RETURN
1550 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: POKE -12528,5: PRINT CHR$(4);"PR#0"
1560 IF X = 27 THEN 220
1570 IF X = 32 THEN GOSUB 1800
1580 IF X = 88 THEN GOSUB 1860
1590 GOTO 220
1600 REM ********************************
1610 REM RETURN KEYPRESS
1620 REM ********************************
1630 X = PEEK( -16384): IF X <128 THEN 1630
1640 POKE -16368,0:X = X -128
1650 IF X < >27 AND X < >32 AND X < >88 AND X < >13 THEN 1630
1660 IF X = 13 THEN RETURN
1670 IF X = 27 OR X = 32 OR X = 88 THEN PRINT CHR$(4);"PR#";SLOT: POKE -12528,5: PRINT CHR$(4);"PR#0"
1680 IF X = 27 THEN 220
1690 IF X = 32 THEN GOSUB 1800
1700 IF X = 88 THEN GOSUB 1860
1710 GOTO 220
1720 REM ***************************
1730 REM MISC SUBS
1740 REM ***************************
1750 TEXT : HOME : VTAB 4: HTAB 8: PRINT "*** SILENTYPE TESTER ****": RETURN
1760 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 11: PRINT "PRESS SPACEBAR TO PASS": PRINT "PRESS X TO REJECT": PRINT "PRESS ESC FOR MENU": RETURN
1770 TEXT : HOME : VTAB 8: PRINT TEST$: VTAB 10: PRINT "PRESS RETURN TO REPEAT TEST"
1780 VTAB 12: PRINT "PRESS SPACEBAR TO PASS": VTAB 13: PRINT "PRESS X TO FAIL": VTAB 14: PRINT "PRESS ESC FOR MENU": RETURN
1790 FOR T = 1 TO 39: PRINT "_";: NEXT : RETURN
1800 REM PASS TEST
1810 IF A = 2 THEN A2 = 2
1820 IF A = 3 THEN A3 = 2
1830 IF A = 4 THEN A4 = 2
1840 IF A = 1 THEN A1 = 2
1850 RETURN
1860 REM FAIL TEST
1870 IF A = 2 THEN A2 = 3
1880 IF A = 3 THEN A3 = 3
1890 IF A = 4 THEN A4 = 3
1900 IF A = 1 THEN A1 = 3
1910 RETURN
1920 HTAB 30: PRINT "FAILED": RETURN
1930 HTAB 30: PRINT "PASSED": RETURN
1940 HTAB 30: PRINT "NOT TESTED": RETURN
1950 PRINT CHR$(4);"PR#";SLOT: POKE -12528,5: PRINT CHR$(4);"PR#0": RETURN
1960 REM ***********************
1970 REM KEYPRESS ABORT
1980 REM **********************
1990 K5 = PEEK( -16384): IF K5 <128 THEN RETURN
2000 POKE -16368,0:K5 = K5 -128
2010 IF K5 < >27 THEN RETURN
2020 IF K5 = 27 THEN GOSUB 1950
2030 GOTO 250
- Addeddate
- 2017-03-16 10:35:51
- Emulator
- apple2ee
- Emulator_ext
- dsk
- Identifier
- 3d0g_385b_Apple_II_Peripherals_Disk
- Scanner
- Internet Archive Python library 1.4.0