100 GOTO 170 110 T = TI 120 GET I$ : IF I$="" AND TI-T < 300 THEN GOTO 120 130 IF I$="Q" THEN END 140 PRINT CHR$(147); 150 FOR I=1 TO 15:PRINTCHR$(13);:NEXT 160 RETURN 170 V=$CDF0: I$="" 180 S = $0400: C = $D800 190 GOSUB 140 200 REM GOTO 2870 210 PRINT"TEST SAVE ORIG: "; 220 SYS49152 230 E = 0 : A = DEEK(V) 240 FOR I=0 TO 35 250 E = E + PEEK(A+I) - PEEK($D1+I) 260 NEXT : IF E = 0 THEN PRINT"TAB OK; "; 270 A = DEEK(V+2) 280 IF DEEK(A) = DEEK($0326) THEN PRINT"PTR OK; "; 290 A = DEEK(V+4) 300 IF PEEK(A) = PEEK($0286) THEN PRINT"COLOR OK; "; 305 A = DEEK(V+6) 306 IF PEEK(A) = PEEK($C7) THEN PRINT"INV OK" 310 GOSUB 110 320 PRINT"TEST SET START OF LINE: "; 330 SYS49158 340 P = 7 * 40 350 IF DEEK(V) = S+P THEN PRINT "WLNP OK" 360 GOSUB 110 370 PRINT"TEST CLEAR SCR LINE: "; 380 SYS49161 390 P1 = 3 * 40: P2 = P + 39 400 IF PEEK(S+P1) = 32 AND PEEK(S+P2) = 32 THEN PRINT"SCR OK; "; 410 F = PEEK(V) 420 F1 = PEEK(C+P1) AND $0F 430 F2 = PEEK(C+P2) AND $0F 440 IF F1 = F AND F2 = F THEN PRINT"COLOR OK; " 450 GOSUB 110 460 PRINT"TEST CLEAR SCR 1: "; 470 SYS49164 480 P1 = 0 : P2 = 4 * 40 + 39 490 IF PEEK(S+P1) = 32 AND PEEK(S+P2) = 32 THEN PRINT"CLR OK" 500 GOSUB 110 510 PRINT"TEST CLEAR SCR 2: "; 520 SYS49167 530 P1 = 2 * 40: P2 = P1 + 39 540 IF PEEK(S+P1) = 32 AND PEEK(S+P2) = 32 THEN PRINT"CLR OK" 550 GOSUB 110 560 PRINT"TEST HOME CURSOR: "; 570 SYS49170 580 IF DEEK(V) = S THEN PRINT "WLNP OK; "; 590 IF PEEK(V+2) = 0 AND PEEK(V+3) = 0 THEN PRINT"WX/WY OK" 600 GOSUB 110 610 PRINT"TEST MOVE SCR LINE: "; 620 SYS49173 630 P1 = 2 * 40 : P2 = P1 + 39 640 P3 = 4 * 40 : P4 = P3 + 39 650 OK = 0 660 IF PEEK(S+P1) = PEEK(S+P3) THEN OK = 1 670 IF PEEK(S+P2) = PEEK(S+P4) AND OK THEN PRINT"SCR OK; "; 680 OK = 0 690 IF PEEK(C+P1) = PEEK(C+P3) THEN OK = 1 700 IF PEEK(C+P2) = PEEK(C+P4) AND OK THEN PRINT"COLOR OK" 710 GOSUB 110 720 PRINT"TEST SCROLL 1: "; 730 SYS49176 740 P1 = 0 : P2 = P1 + 39 : E = 0 750 FOR I=0 TO 3 760 E = E + PEEK(S+P1) - 48 770 E = E + PEEK(S+P2) - 48 780 P1 = P1 + 40 : P2 = P2 + 40 790 NEXT 800 IF E = 2 * (1+2+3+4) THEN PRINT"SCR OK; "; 810 IF PEEK(S+P1) = 32 AND PEEK(S+P2) = 32 THEN PRINT"SPC OK" 820 GOSUB 110 830 PRINT"TEST SCROLL 2: "; 840 SYS49179 850 P1 = 0 : P2 = P1 + 39 860 IF PEEK(S+P1) = 32 AND PEEK(S+P2) = 32 THEN PRINT"SPC OK" 870 GOSUB 110 880 PRINT"TEST BACKSCROLL 1: "; 890 SYS49182 900 P1 = 40 : P2 = P1 + 39 : E = 0 910 IF PEEK(S+P1) = 32 AND PEEK(S+P2) = 32 THEN PRINT"SPC OK; "; 920 FOR I=0 TO 3 930 P1 = P1 + 40 : P2 = P2 + 40 940 E = E + PEEK(S+P1) - 48 950 E = E + PEEK(S+P2) - 48 960 NEXT 970 IF E = 2 * (0+1+2+3) THEN PRINT"SCR OK" 980 GOSUB 110 990 PRINT"TEST BACKSCROLL 2: "; 1000 SYS49185 1010 P1 = 5*40 : P2 = P1 + 39 1020 IF PEEK(S+P1) = 32 AND PEEK(S+P2) = 32 THEN PRINT"SPC OK" 1030 GOSUB 110 1040 PRINT"TEST GOTO NEXT LINE 1: "; 1050 SYS49188 1060 P = 3*40 1070 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1080 IF PEEK(V+2) = 3 THEN PRINT"WY OK" 1090 GOSUB 110 1100 PRINT"TEST GOTO NEXT LINE 2: "; 1110 SYS49191 1120 P = 5*40 1130 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1140 IF PEEK(V+2) = 5 THEN PRINT"WY OK" 1150 GOSUB 110 1160 PRINT"TEST PERFORM RETURN: "; 1170 SYS49194 1180 P = 3*40 1190 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1200 IF PEEK(V+2) = 0 AND PEEK(V+3) = 3 THEN PRINT"WX/WY OK" 1210 GOSUB 110 1220 PRINT"TEST GOTO PREV LINE 1: "; 1230 SYS49197 1240 P = 2*40 1250 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1260 IF PEEK(V+2) = 2 THEN PRINT"WY OK" 1270 GOSUB 110 1280 PRINT"TEST GOTO PREV LINE 2: "; 1290 SYS49200 1300 P = 0*40 1310 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1320 IF PEEK(V+2) = 0 THEN PRINT"WY OK" 1330 GOSUB 110 1340 PRINT"TEST PERFORM BACKRETURN: "; 1350 SYS49203 1360 P = 1*40 1370 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1380 IF PEEK(V+2) = 0 AND PEEK(V+3) = 1 THEN PRINT"WX/WY OK" 1390 GOSUB 110 1400 PRINT"TEST ADVANCE CRSR 1: "; 1410 SYS49206 1420 P = 2*40 1430 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1440 IF PEEK(V+2) = 21 AND PEEK(V+3) = 2 THEN PRINT"WX/WY OK" 1450 GOSUB 110 1460 PRINT"TEST ADVANCE CRSR 2: "; 1470 SYS49209 1480 P = 3*40 1490 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1500 IF PEEK(V+2) = 0 AND PEEK(V+3) = 3 THEN PRINT"WX/WY OK" 1510 GOSUB 110 1520 PRINT"TEST BACK CRSR 1: "; 1530 SYS49212 1540 P = 2*40 1550 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1560 IF PEEK(V+2) = 19 AND PEEK(V+3) = 2 THEN PRINT"WX/WY OK" 1570 GOSUB 110 1580 PRINT"TEST BACK CRSR 2: "; 1590 SYS49215 1600 P = 1*40 1610 IF DEEK(V) = S+P THEN PRINT "WLNP OK; "; 1620 IF PEEK(V+2) = 39 AND PEEK(V+3) = 1 THEN PRINT"WX/WY OK" 1630 GOSUB 110 1640 PRINT"TEST DELETE CHAR 1: "; 1650 COLOUR9,0,13 1660 SYS49218 1670 P = 2*40 : P1 = P + 9 : P2 = P + 39 1680 IF PEEK(V) = 9 THEN PRINT"WX OK; "; 1690 IF PEEK(S+P1) = 10 AND PEEK(S+P2) = 32 THEN PRINT"SCR OK; "; 1700 F1 = PEEK(C+P1) AND $0F 1710 F2 = PEEK(C+P2) AND $0F 1720 IF F1 = 10 AND F2 = PEEK(V+1) THEN PRINT"COLOR OK"; 1730 GOSUB 110 1740 PRINT"TEST DELETE CHAR 2: "; 1750 SYS49221 1760 P = 2*40 : P1 = P : P2 = P + 39 1770 IF PEEK(V) = 0 THEN PRINT"WX OK; "; 1780 IF PEEK(S+P1) = 0 AND PEEK(S+P2) = 39 THEN PRINT"SPC OK; "; 1790 F1 = PEEK(C+P1) AND $0F 1800 F2 = PEEK(C+P2) AND $0F 1810 IF F1 = 0 AND F2 = 7 THEN PRINT"COLOR OK"; 1820 GOSUB 110 1830 PRINT"TEST INSERT CHAR 1: "; 1840 COLOUR9,11,13 1850 SYS49224 1860 P = 2*40 : P1 = P + 1 : P2 = P + 39 1870 IF PEEK(V) = 0 THEN PRINT"WX OK; "; 1880 OK=0 1890 IF PEEK(S+P1) = 0 AND PEEK(S+P2) = 38 THEN OK = 1 1900 IF PEEK(S+P) = 32 AND OK THEN PRINT"SCR OK; "; 1910 F = PEEK(C+P) AND $0F 1920 F1 = PEEK(C+P1) AND $0F 1930 F2 = PEEK(C+P2) AND $0F 1940 OK=0 1950 IF F1 = 0 AND F2 = 6 THEN OK=1 1960 IF F = PEEK(V+1) AND OK THEN PRINT"COLOR OK"; 1970 GOSUB 110 1980 PRINT"TEST INSERT CHAR 2: "; 1990 SYS49227 2000 P = 2*40 + 39 2010 IF PEEK(V) = 39 THEN PRINT"WX OK; "; 2020 IF PEEK(S+P) = 32 THEN PRINT"SCR OK; "; 2030 F = PEEK(C+P) AND $0F 2040 IF F = PEEK(V+1) THEN PRINT"COLOR OK"; 2050 GOSUB 110 2060 PRINT"TEST SETUP SCR PRINT: "; 2070 SYS49230 2075 COLOUR0,0,13 2080 P = 2*40 : P1 = P + 20 : P2 = P1 + 1 2090 OK = 0 2100 IF PEEK(S+P1) = 2 THEN OK = 1 2110 IF PEEK(S+P2) = 3+128 AND OK THEN PRINT"SCR OK; "; 2120 F1 = PEEK(C+P1) AND $0F 2130 F2 = PEEK(C+P2) AND $0F 2140 IF F1 = PEEK(V) AND F2 = PEEK(V) THEN PRINT"COLOR OK"; 2150 GOSUB 110 2151 PRINT"TEST OUTPUT REGISTERS: "; 2152 SYS49233 2153 OK = 0 2154 IF PEEK(V) = 65 AND PEEK(V+1) = 100 THEN OK=1 2155 IF PEEK(V+2) = 200 AND OK THEN PRINT"A/X/Y OK" 2156 GOSUB 110 2160 PRINT"TEST UNSHIFTED CHARS: "; 2170 SYS49236 2180 P1 = 0 : P2 = P1 + 32 : P3 = P2 + 32 2190 OK = 0 2200 IF PEEK(S+P1) = 32 AND PEEK(S+P2) = 0 THEN OK=1 2210 IF PEEK(S+P3) = 64 AND OK THEN PRINT"SCR OK" 2220 GOSUB 110 2230 PRINT"TEST SHIFTED CHARS: "; 2240 SYS49239 2250 P1 = 0 : P2 = P1 + 32 : P3 = P2 + 32 2260 OK = 0 2270 IF PEEK(S+P1) = 96 AND PEEK(S+P2) = 64 THEN OK=1 2280 IF PEEK(S+P3) = 96 AND OK THEN PRINT"SCR OK" 2290 GOSUB 110 2300 PRINT"TEST RETURN: "; 2310 SYS49242 2320 IF PEEK(V) = 0 AND PEEK(V+1) = 3 THEN PRINT"WX/WY OK" 2330 GOSUB 110 2340 PRINT"TEST SHIFT RETURN: "; 2350 SYS49245 2360 IF PEEK(V) = 0 AND PEEK(V+1) = 1 THEN PRINT"WX/WY OK" 2370 GOSUB 110 2380 PRINT"TEST MOVE CRSR: "; 2390 SYS49248 2400 IF PEEK(V) = 21 AND PEEK(V+1) = 2 THEN PRINT"RIGHT OK; "; 2410 IF PEEK(V+2) = 21 AND PEEK(V+3) = 3 THEN PRINT"DOWN OK; "; 2420 IF PEEK(V+4) = 20 AND PEEK(V+5) = 3 THEN PRINT"LEFT OK; "; 2430 IF PEEK(V+6) = 20 AND PEEK(V+7) = 2 THEN PRINT"UP OK; "; 2440 IF PEEK(V+8) = 0 AND PEEK(V+9) = 0 THEN PRINT"HOME OK" 2450 GOSUB 110 2460 PRINT"TEST CLR: "; 2470 SYS49251 2480 P1 = 0 : P2 = P1 + 4*40 + 39 2490 IF PEEK(P1+S) = 32 AND PEEK(P2+S) = 32 THEN PRINT"SCR OK" 2500 GOSUB 110 2510 PRINT"TEST RVS: "; 2520 SYS49254 2530 P1 = 0 : P2 = 1 : P3 = 2 2540 OK = 0 2550 IF PEEK(P1+S) = 1 AND PEEK(P2+S) = 2+128 THEN OK = 1 2560 IF PEEK(P3+S) = 3 AND OK THEN PRINT"SCR OK" 2570 GOSUB 110 2580 PRINT"TEST COLORS: "; 2590 SYS49257 2600 OK = 0 : J = 15 2610 FOR I=0 TO 15 2615 F = PEEK(C+I) AND $0F 2620 IF F = J THEN OK = OK + 1 2630 J = J - 1 2640 NEXT 2650 IF OK = 16 THEN PRINT"OK" 2660 GOSUB 110 2670 PRINT"TEST DEL: "; 2680 COLOUR9,0,13 2690 SYS49260 2700 P = 2*40 + 39 2710 IF PEEK(P+S) = 32 THEN PRINT"SCR OK; "; 2720 IF PEEK(V) = 19 THEN PRINT"WX OK" 2730 GOSUB 110 2740 PRINT"TEST INS: "; 2750 COLOUR9,0,13 2760 SYS49263 2770 P = 2*40 + 20 2780 IF PEEK(P+S) = 32 THEN PRINT"SCR OK; "; 2790 IF PEEK(V) = 20 THEN PRINT"WX OK" 2800 GOSUB 110 2810 PRINT"TEST UNKNOWN: "; 2815 COLOUR0,0,13 2820 SYS49266 2830 IF DEEK(V) = S + 40 THEN PRINT"WLNP OK; "; 2840 IF PEEK(V+2) = 1 AND PEEK(V+3) = 1 THEN PRINT"WX/WY OK" 2850 IF PEEK(V+4) = 0 THEN PRINT"RVS OK" 2860 GOSUB 110 2870 PRINT"TEST PUT ROW COL: "; 2880 SYS49269 2890 IF DEEK(V) = S + 2*40 THEN PRINT"WLNP OK; "; 2900 IF PEEK(V+2) = 20 AND PEEK(V+3) = 2 THEN PRINT"WX/WY OK" 2910 GOSUB 110 2920 PRINT"TEST SET WPTRS: "; 2930 SYS49272 2940 A1 = DEEK(V) : A2 = DEEK(V+2) 2950 IF DEEK(A1) = 0 THEN PRINT"WPTRS 1 OK; "; 2960 IF DEEK(A2) = 24*40 THEN PRINT"WPTRS 2 OK" 2970 GOSUB 110 2980 PRINT"TEST SET DEFAULT: "; 2990 SYS49275 3000 A1 = DEEK(V) : A2 = DEEK(V+2) 3010 IF DEEK(A1) = 0 THEN PRINT"WPTRS OK; "; 3020 IF DEEK(A2) = 0 THEN PRINT"SPTRS OK; "; 3030 IF PEEK(V+4) = 24 THEN PRINT"WROWS OK; "; 3040 IF PEEK(V+5) = 24 THEN PRINT"SROWS OK; "; 3050 IF PEEK(V+6) = 0 AND PEEK(V+7) = 0 THEN PRINT"SX/SY OK" 3060 GOSUB 110 3070 REM TEST WINIT/WQUIT 3080 SYS49278 3090 PRINT"TEST WINIT/WQUIT: "; 3100 IF DEEK(V) = S THEN PRINT"WLNP OK; "; 3110 IF PEEK(V+2) = 1 AND PEEK(V+3) = 0 THEN PRINT"WX/WY OK; "; 3120 IF PEEK(S) = 1 THEN PRINT"SCR OK" 3130 GOSUB 110 3140 REM TEST WSPLIT 1 3150 SYS49281 3160 PRINT"TEST WSPLIT 1: "; 3170 IF DEEK(V) = S THEN PRINT"WLNP OK; "; 3180 IF PEEK(V+2) = 0 AND PEEK(V+3) = 0 THEN PRINT"WX/WY OK; "; 3190 IF PEEK(V+4) = 7 THEN PRINT"WROWS OK; "; 3200 A = DEEK(V+5) 3210 IF DEEK(A) = 9*40 THEN PRINT"SPTRS OK; "; 3220 IF DEEK(V+7) = 25-8-1-1 THEN PRINT"SROWS OK; "; 3230 IF PEEK(V+8) = 0 AND PEEK(V+9) = 0 THEN PRINT"SX/SY OK; "; 3240 P1 = 8*40 : P2 = P1 + 39 3250 IF PEEK(S+P1) = 64 AND PEEK(S+P2) = 64 THEN PRINT"SCR OK" 3260 GOSUB 110 3270 REM TEST WSPLIT 2 3280 SYS49284 3285 PRINT"TEST WSPLIT 2: "; 3290 IF PEEK(V) = 24 AND PEEK(V+2) THEN PRINT"WROWS OK; "; 3300 IF PEEK(V+1) = 24 AND PEEK(V+3) THEN PRINT"SROWS OK; "; 3310 IF PEEK(S) = 1 THEN PRINT"SCR OK" 3320 GOSUB 110 3330 REM TEST WSWITCH 3340 SYS49287 3350 PRINT"TEST WSWITCH: "; 3360 A = DEEK(V) 3370 IF DEEK(A) = 0 THEN PRINT"SPTRS OK; "; 3380 IF PEEK(V+2) = 5 THEN PRINT"SROWS OK; "; 3390 IF PEEK(V+3) = 1 THEN PRINT"SX OK; "; 3400 IF PEEK(V+4) = 2 THEN PRINT"SY OK; "; 3410 P1 = 0 : P2 = 1*40 : P3 = 2*40 : P4 = 7*40 3420 OK = 0 3430 IF PEEK(S+P1) = 1 AND PEEK(S+P2) = 2 AND PEEK(S+P3) = 3 THEN OK = 1 3440 IF PEEK(S+P4) = 4 AND OK THEN PRINT"SCR OK" 3450 GOSUB 110 3460 REM TEST WSPLIT 3 3470 SYS49290 3480 PRINT"TEST WSPLIT 3: "; 3490 IF DEEK(V) = S THEN PRINT"WLNP OK; "; 3500 IF PEEK(V+2) = 0 AND PEEK(V+3) = 0 THEN PRINT"WX/WY OK; "; 3510 IF PEEK(V+4) = 0 THEN PRINT"WROWS OK; "; 3520 A = DEEK(V+5) 3530 IF DEEK(A) = 2*40 THEN PRINT"SPTRS OK; "; 3540 IF DEEK(V+7) = 25-1-1-1 THEN PRINT"SROWS OK; "; 3550 IF PEEK(V+8) = 0 AND PEEK(V+9) = 0 THEN PRINT"SX/SY OK" 3560 GOSUB 110 3570 REM TEST WSPLIT 4 3580 SYS49293 3590 PRINT"TEST WSPLIT 4: "; 3600 IF DEEK(V) = S THEN PRINT"WLNP OK; "; 3610 IF PEEK(V+2) = 0 AND PEEK(V+3) = 0 THEN PRINT"WX/WY OK; "; 3620 IF PEEK(V+4) = 25-1-1-1 THEN PRINT"WROWS OK; "; 3630 A = DEEK(V+5) 3640 IF DEEK(A) = 24*40 THEN PRINT"SPTRS OK; "; 3650 IF DEEK(V+7) = 0 THEN PRINT"SROWS OK; "; 3660 IF PEEK(V+8) = 0 AND PEEK(V+9) = 0 THEN PRINT"SX/SY OK" 3670 GOSUB 110 3680 REM TEST WUNSPLIT 3690 SYS49296 3700 PRINT"TEST WUNSPLIT: "; 3710 IF DEEK(V) = S THEN PRINT"WLNP OK; "; 3720 IF PEEK(V+2) = 0 AND PEEK(V+3) = 0 THEN PRINT"WX/WY OK; "; 3730 IF PEEK(V+4) = 24 THEN PRINT"WROWS OK; "; 3740 IF PEEK(V+5) = 24 THEN PRINT"SROWS OK" 3750 GOSUB 110 3760 REM TEST HCOPY 1 3770 SYS49299 3780 PRINT"TEST HCOPY 1: ERGEBNIS IM DRUCKER"; 3790 GOSUB 110 3800 REM TEST HCOPY 2 3810 SYS49302 3820 PRINT"TEST HCOPY 2: ERGEBNIS IM DRUCKER"; 4000 GOSUB 110 4010 COLOUR0,0,13 4020 PRINT"FERTIG"