REM 2026-08-19 OCR'd but not tested... 1000 REM BUBBLE MEMORY EXERCISER ============= 1010 REM 1020 REM REV. A 19830413 1030 REM 1040 DIM A$(250), B$(250), D$(250) 1050 Q$=CHAR$(34) :REM 34 = Quote Mark 1060 P=225; REM Status Port address 1070 OPEN 1 "3:BUBTST" ERROR 1790 1080 REM 1090 PRINT: PRINT: GOSUB 1710:PRINT 1100 C$="":PRINT "Read Write Read File Write File/ Test file/ Quit "; 1110 INPUT C$ 1120 IF C$="R" GOTO 1190 1130 IF C$="W" GOTO 1240 1140 IF C$="RF" GOTO 1300 1150 IF C$="WF" GOTO 1390 1160 IF C$="T" GOTO 1480 1170 IF C$="Q" THEN CLOSE 1: STOP : END 1180 GOTO 1090 1190 REM READ A RECORD 1200 INPUT "RECORD # ";R 1210 GET 1 RECORD R A$ 1220 PRINT A$ 1230 GOTO 1090 1240 REM WRITE A RECORD 1250 INPUT "RECORD # ";R 1260 INPUT "ENTER DATA TO WRITE ",D$ 1270 D$=LEFT(D$,248) 1280 PUT 1 RECORD R D$ 1290 GOTO 1090 1300 REM ---- READ A BLOCK OF RECORDS 1310 INPUT "BEGINNING RECORD # ";R 1320 INPUT "ENDING RECORD # ";R9 1330 FOR R=R TO R9 1340 GET 1 RECORD R A$ 1350 PRINT A$ 1360 PRINT R 1370 NEXT R 1380 GOTO 1090 1390 REM WRITE A BLOCK OF RECORDS 1400 INPUT "BEGINNING RECORD # ";R 1410 INPUT "ENDING RECORD # "R9 1420 INPUT "ENTER TEST DATA", D$ 1430 D$=Q$+LEFT$(D$,248(+Q$ 1440 FOR R=R TO R9 1450 PUT 1 RECORD R D$ 1460 NEXT R 1470 GOTO 1090 1480 REM TEST A BLOCK OF RECORDS 1490 INPUT "BEGINNING RECORD #";R 1500 INPUT "ENDING RECORD # "R9 1510 D$="ABCDEFGHIJKLMNOPORSTUUWXWZ1234567890abcdefghijklmnopqrstuvwxyz 1520 D$=D$+D$+D$+D$ 1530 A$=Q$+D$+Q$ 1540 FOR R=R TO R9 1550 PUT 1 RECORD R A$ 1560 S=IN(P) AND 253: IF S<>65 THEN GOSUB 1640 1570 GET 1 RECORD R B$ 1580 S=IN(P) AND 253: IF 5<>64 THEN GOSUB 1640 1590 IF B$<>D$ THEN GO5UB 1640 1600 IF R/10 = INT(R/10) THEN PRINT "RECORD #";R;" COMPLETED." 1610 NEXT R 1620 PRINT: PRINT "NUMBER OF ERRORS = ";E 1630 GOTO 1090 1640 REM 1650 PRINT "ERROR ENCOUNTERED IN RECORD # ";R 1660 E=E+1 1670 GOSUB 1730; GOSUB 1716 1680 PRINT E 1690 PRINT 1700 RETURN 1710 REM DISPLAY STATUS IN HEX 1720 S=IN(P) AND 253 1730 S1=INT(S/16)+48 1740 IF S1>57 THEN S1=S1+7 1750 S2=(S AND 15)+48 1760 IF S2>57 THEN S2=S2+7 1770 PRINT "STATUS = ";CHAR$(S1);CHAR$(S2) 1780 RETURN 1790 REM ERROR PROCESSOR 1800 PRINT:PRINT ERR$;" "; 1810 GOSUB 1710 1820 GOTO 1090 1830 END