5 REM IALTAIR2.BAS 10 REM EDIT THE NEXT LINES TO DEFINE THE DATA AND STATUS PORTS 20 REM THIS IS SET UP FOR ALTAIR SIO ON PORT 0/1 30 CTL=18 40 DAT=19 50 REM FOLLOWING IS MASK AND VALUE FOR STATUS 60 RCV=1:RV=1 70 REM ANI XMT, CPI XV (RCV/RV) 80 XMT=2:XV=2 90 REM JUMP TO MAIN 100 GOTO 290 110 REM DELAY ROUTINE 120 REM EDIT THE FOLLOWING LINE TO INCREASE OR DECREASE THE DELAY 130 FOR X=1 TO 200:NEXT X 140 RETURN 150 REM INPUT DATA FROM PORT (WAIT FOR DATA AVAILABLE) 160 W=INP(CTL):IF (W AND RCV) <> RV GOTO 160 170 V=INP(DAT) 180 RETURN 190 REM OUTPUT VALUE TO PORT - WAIT FOR DATA READY 200 W=INP(CTL):IF (W AND XMT) <> XV GOTO 200 210 OUT DAT,V 220 RETURN 230 REM ROUTINE TO PROCESS GROUP 240 READ V:IF V = -1 THEN RETURN 250 GOSUB 200:GOTO 240 290 REM MAIN - READ AND OUTPUT GROUP, THEN DELAY 300 READ G 310 FOR J=1 TO G 320 GOSUB 240 330 GOSUB 130 340 NEXT 345 GOTO 30 350 REM FIRST NUMBER IS NUMBER OF GROUPS 360 REM EACH GROUP IS DATA, FOLLOWED BY -1 370 DATA 4 500 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 135, 157, 22, 125, 132, 132, 140, 22, 120, 132, 132, 141,-1 510 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 130, 8, 132, 145, 8, 191, 8, 150, 22, 125, 194, 134, 140, 7, 198, 7, 160, 191, 133, 148,-1 520 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 130, 157, 22, 125, 145, 7, 136, 7, 155, 196, 22, 120, 8, 191, 162, 22, 125, 199, 7, 145, 131, 154,-1 530 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 120, 170, 154, 22, 125, 8, 187, 8, 129, 196, 8, 178, 154, 140, 167,-1 540 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 130, 157, 22, 125, 183, 8, 132, 166, 22, 120, 132, 132, 141,-1 550 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 135, 8, 129, 8, 141, 22, 125, 191, 131, 145,-1 560 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 125, 154, 4, 191, 128, 154, 4, 191, 128, 198, 148, 135, 187, 131, 187, 153, 148, 134, 141, 128, 143, 22, 120, 132, 8, 191,-1 570 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 135, 8, 191, 162, 22, 125, 178, 129, 178, 135, 8, 183, 148, 191, 187,-1 580 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 130, 185, 129, 8, 182, 22, 125, 8, 129, 167, 8, 135, 8, 146, 22, 130, 157, 22, 125, 141, 8, 128, 176,-1 590 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 125, 8, 188, 7, 164, 7, 147, 8, 160, 22, 115, 194, 8, 132, 141, 22, 125, 183, 8, 132, 166, 22, 115, 186, 8, 134, 141,-1 600 DATA 20, 96, 21, 114, 22, 88, 23, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 610 DATA 20, 96, 21, 114, 22, 88, 23, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 620 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 135, 157, 22, 125, 145, 7, 136, 7, 155, 196, 8, 129, 8, 191, 22, 120, 185, 8, 131, 8, 141, 8, 160,-1 630 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 120, 8, 191, 151, 141, 140, 128, 128, 22, 130, 8, 135, 135, 22, 115, 8, 141,-1 640 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 125, 140, 155, 22, 135, 178, 6, 148, 8, 132, 141, 198, 8, 135, 135, 22, 120, 147, 134, 167, 22, 115, 171, 137, 137, 148, 141,-1 650 DATA 20, 96, 21, 114, 22, 88, 23, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 660 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 125, 6, 8, 129, 8, 141, 22, 135, 141, 7, 15, 155, 141, 191, 128, 8, 141, 22, 135, 8, 187, 7, 131, 7, 166, 131, 7, 141, 191, 128, 22, 125, 186, 157, 166,-1 670 DATA 20, 96, 21, 114, 22, 88, 23, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 680 DATA 20, 96, 21, 114, 22, 88, 23, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 690 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 125, 8, 183, 139, 139, 6, 22, 115, 147, 8, 136, 142, 191, 187, 22, 120, 8, 191, 162, 22, 125, 199, 7, 145, 131, 154, 22, 115, 154, 128, 22, 125, 8, 178, 154, 140,-1 700 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 135, 157, 22, 120, 145, 7, 136, 7, 155, 196, 22, 125, 145, 132, 132, 22, 115, 8, 174, 148,-1 710 DATA 20, 96, 21, 114, 22, 88, 23, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 720 DATA 20, 96, 21, 114, 22, 88, 23, 5, 22, 125, 8, 129, 8, 191, 140, 154, 196, 187, 8, 160, 147, 151, 8, 196, 132, 8, 167, 184, 152, 177, 132, 8, 167, 22, 130, 157, 22, 125, 174, 162,-1