Listing of file='I09A010A' on disk='vmedia/cs386_host_1.2.wvd.zip'
# Sector 918, program filename = 'I09A010A'
0010 REM START-02 10/04/78
0015 REM MODIFIED 1/7/80 J. BROOKS
0016 COM J$14,J1$12,J2$8,J3$8,J4$8,J5$8,J6$8,J7$8,J8$9
0020 COM B$10,A$1,R$35,E$1,F$4,Y$(5)64,G$1,B5$10,A9$1,A6$35,A3$35,A4$,A5$,A7$,
A1,A2$,A2
: A1=0
: A2=0
: GOTO 330
0030 DEFFN'201
: Y$(1)=HEX(010D0A0A0A0A0A0A0A0A2020202020202020202020202020202020544150452
0535441545553205441424C450D0A2020202020202020202020202020002828)
0040 Y$(2)=HEX(58203D20434F4E444954494F4E2054525545292920200D0A0A5245414459202
0202020202020202020202020202020202020202020202020202020202020424F)
0050 Y$(3)=HEX(54202020202020202020200D0A575249544520454E41424C452020202020202
0202020202020202020202020202020202020454F5420202020202020202020)
0060 Y$(4)=HEX(0D0A54415045204552524F52202020202020202020202020202020202020202
020202020202020454F4620202020202020202020)
0070 Y$(5)=HEX(0D0A425546464552204F564552464C4F5720202020202020202020202020202
0202020202020204259544520434F554E54202020)
0080 E$=A$
: A=0
: AND (E$,80)
: IF E$<>HEX(80)THEN 100
: P=VAL(STR(B$,10,1))
: L=256*VAL(STR(B$,9,1))
: F=Z-(L+P)
: IF F=0THEN 90
: A=1
: STR(Y$(5),56,1)="*"
0090 CONVERT ZTO F$,(####)
: STR(Y$(5),52,4)=F$
0100 E$=A$
: AND (E$,40)
: IF E$<>HEX(40)THEN 130
: E$=STR(B$,8,1)
: AND (E$,01)
: IF E$<>HEX(01)THEN 110
: E$="X"
: A=1
: STR(Y$(5),21,1)="*"
: GOTO 120
0110 E$="0"
0120 STR(Y$(5),20,1)=E$
0130 E$=A$
: AND (E$,20)
: IF E$<>HEX(20)THEN 160
: E$=STR(B$,7,1)
: AND (E$,80)
: IF E$<>HEX(80)THEN 140
: E$="X"
: A=1
: STR(Y$(4),21,1)="*"
: GOTO 150
0140 E$="0"
0150 STR(Y$(4),20,1)=E$
0160 E$=A$
: AND (E$,10)
: IF E$<>HEX(10)THEN 190
: E$=STR(B$,7,1)
: AND (E$,20)
: IF E$<>HEX(20)THEN 170
: E$="X"
: GOTO 180
0170 E$="0"
0180 STR(Y$(3),11,1)=E$
0190 E$=STR(B$,7,1)
: AND (E$,10)
: IF E$=HEX(10)THEN 200
: E$="X"
: GOTO 210
0200 E$="0"
: A=1
: STR(Y$(3),32,1)="*"
0210 STR(Y$(3),31,1)=E$
: E$=A$
: AND (E$,04)
: IF E$<>HEX(04)THEN 240
: E$=STR(B$,7,1)
: AND (E$,08)
: IF E$<>HEX(08)THEN 220
: E$="X"
: A=1
: STR(Y$(3),62,1)="*"
: GOTO 230
0220 E$="0"
0230 STR(Y$(3),63,1)=E$
0240 E$=A$
: AND (E$,02)
: IF E$<>HEX(02)THEN 270
: E$=STR(B$,7,1)
: AND (E$,04)
: IF E$<>HEX(04)THEN 250
: E$="X"
: GOTO 260
0250 E$="0"
0260 STR(Y$(4),52,1)=E$
0270 E$=STR(B$,7,1)
: AND (E$,02)
: IF E$=HEX(02)THEN 280
: E$="X"
: GOTO 290
0280 E$="0"
: A=1
0290 STR(Y$(2),43,1)=E$
: $GIO/005(A000,B5$)Y$()
: IF A=1THEN 300
: RETURN
0300 PRINT HEX(010D0A0A0A0A0A0A0A0A0A0A);TAB(23);"*=ERROR=*";HEX(0A0A0A0A)
: IF A7$="N"THEN 305
: GOSUB '255("* = ERROR IN STATUS")
: SELECT PRINT 215(132)
: PRINT STR(Y$(1),11,53);Y$(2);Y$(3);Y$(4);Y$(5)
: SELECT PRINT 005(64)
0305 IF G$<>"Y"THEN 310
: STOP "HALTED ON ERROR"
0310 RETURN
0320 DEFFN'202(R$)
: PRINT HEX(010D0A0A);TAB(24);"*";TAB(44-INT(LEN(R$)/2));R$;TAB(62);"*"
: RETURN
0330 SELECT PRINT 005(64)
: SELECT #127B
: PRINT HEX(03)
: PRINT "2209A TAPE DRIVE DIAGNOSTIC - SYSTEM VERSION";HEX(0A0D)
: GOSUB '100
: INPUT "HALT ON ERROR ( Y OR N)",G$
: IF G$="N"THEN 401
: IF G$<>"Y"THEN 330
: GOTO 401
0400 A2=A2+1
: GOTO 405
0401 INPUT "PRINT ERRORS (Y OR N)",A7$
: IF A7$="N"THEN 405
: IF A7$<>"Y"THEN 401
0402 INPUT "TYPE IN YOUR NAME PLEASE",A6$
: INPUT "TODAY'S DATE (MM/DD/YY)",A5$
: INPUT "WHAT TIME IS IT (HH:MM)",A4$
: INPUT "SERIAL # ",A2$
0405 A9$="Y"
: LOAD DC T"T09A010A"2000
0410 LOAD DC T"T09A020A"2000
0420 LOAD DC T"T09A030A"2000
0430 DEFFN'200(R$)
: PRINT HEX(03)
: PRINT TAB(24);"* * * 2209A TAPE DRIVE DIAGNOSTIC * * *"
: PRINT TAB(24);"*";TAB(44-INT(LEN(R$)/2));R$;TAB(62);"*"
: PRINT TAB(24);"* *"
0440 PRINT TAB(24);"* TEST IN PROGRESS *"
: PRINT TAB(24);"* * * * * * * * * * * * * * * * * * * *"
: RETURN
0450 DEFFN'255(A3$)
: IF A7$="N"THEN 470
: SELECT PRINT 215(132)
: IF A1=1THEN 460
: PRINT "OPERATOR = ";A6$,"DATE = ";A5$;" ","START TIME = ";A4$,"SERIAL #
= ";A2$;HEX(0D0A);"2209A TAPE DRIVE DIAGNOSTIC"
: A1=1
0460 PRINT A3$
: SELECT PRINT 005(64)
0470 RETURN
0480 DEFFN'0
: PRINT HEX(0301);"TOTAL # OF PASSES = ";A2
: RETURN
0500 DEFFN '100
: PRINT HEX(0A0D);"1. 07A","2. 07B","3. 07C"
: PRINT "4. 07D","5. 07E","6. 07F"
: PRINT HEX(0C0C0C);
: INPUT "SELECT TAPE CONTROLLER ADDRESS ",A
: ON A GOTO 510,520,530,540,550,560
0510 SELECT #107A
: GOTO 570
0520 SELECT #107B
: GOTO 570
0530 SELECT #107C
: GOTO 570
0540 SELECT #107D
: GOTO 570
0550 SELECT #107E
: GOTO 570
0560 SELECT #107F
: GOTO 570
0570 PRINT HEX(0A0A0A0A0A);"1. 2200T",,"2. VP/MVP"
: PRINT HEX(0C0C);
: INPUT " SELECT CPU TYPE ",A
0580 IF A=1 THEN 600
: IF A=2 THEN 650
: PRINT HEX(0C0C0C0C0C);
: GOTO 570
0600 J$=HEX(4429A20044018607)
: J1$=HEX(44008607442AC220)
: J2$=HEX(44468607)
: J3$=HEX(44048607)
: J4$=HEX(44088607)
: J5$=HEX(44078607)
: J6$=HEX(44038607)
: J7$=HEX(44058607)
: J8$=HEX(44028607)
: PRINT
: RETURN
0650 J$=HEX(44291300A000440110208607)
: J1$=HEX(440010208607442AC220)
: J2$=HEX(444610208607)
: J3$=HEX(440410208607)
: J4$=HEX(440810208607)
: J5$=HEX(440710208607)
: J6$=HEX(440310208607)
: J7$=HEX(440510208607)
: J8$=HEX(440210208607)
: PRINT
: RETURN