Listing of file='MONITOR1' on disk='vmedia/701-2427C.wvd.zip'
# Sector 876, program filename = 'MONITOR1'
0001 DEFFN'16"SCRATCH T";HEX(22);"MONITOR1";HEX(223A);"SAVEDCT()";HEX(22);"MON
ITOR1";HEX(220D)
0010 REM 'MONITOR1' - ISS 5.1
0020 REM T - # ENTRIES IN TABLE OF OPEN FILES
0030 REM T1 - # ENTRIES IN PROTECTED SECTOR TABLE
0040 REM L - MAX(T,T1)
0050 DIM A$(32)8,A$1,D$3
0060 $PSTAT = "MONITOR1"
0070 E,E1 = 0
0080 PRINT HEX(03);
0090 SELECT @PART "KFAM"
: ERRORE = 1
: GOTO 110
0100 IF @V <> 3 THEN 120
0110 SELECT @PART "KFAMCOM"
: ERRORE1 = 1
: GOTO 850
0120 %##
0130 DEFFN'0
0140 PRINT HEX(0306);" ISS 5.1 KFAM MONITOR1 - TABLE OF OPEN FILES / PROTECT
ED SECTORS"
0150 PRINT HEX(06);AT(1,0);
0160 T = INT((POS(-@T$()<FF)-1)/17)+1
0170 T1 = INT((POS(-@V4$()<FF)-1)/5)+1
0180 L = MAX(T,T1)
0190 IF L = 0 THEN 440
0200 PRINT
0210 PRINT " KEY---- USER---";TAB(80)
0220 PRINT " T# SEC. DA SEC. DA L# HLS. COMPLETION CODES S# T# DA SEC.";TA
B(80)
0230 FOR X = 1 TO L
0240 PRINT HEX(82);
0250 PRINTUSING 120,X;
0260 PRINT " ";
0270 IF X > T THEN 360
0280 PRINT HEXOF(STR(@T$(X),1,2));" ";
0290 PRINT HEXOF(STR(@T$(X),3,1));" ";
0300 PRINT HEXOF(STR(@T$(X),4,2));" ";
0310 PRINT HEXOF(STR(@T$(X),6,1));" ";
0320 PRINT HEXOF(STR(@T$(X),7,1));" ";
0330 PRINT HEXOF(STR(@T$(X),8,2));" ";
0340 PRINT HEXOF(STR(@T$(X),10,8));
0350 IF X > T1 THEN 410
0360 PRINT TAB(49);
0370 PRINT HEXOF(STR(@V4$(X),1,1));" ";
0380 PRINT HEXOF(STR(@V4$(X),2,1));" ";
0390 PRINT HEXOF(STR(@V4$(X),3,1));" ";
0400 PRINT HEXOF(STR(@V4$(X),4,2));
0410 PRINT TAB(70);
0420 GOSUB 660
0430 NEXT X
0440 PRINT TAB(80)
0450 PRINT HEX(82);" PROGRAM HOG STATION # = @T =";@T;TAB(79);
0460 GOSUB 660
0470 PRINT HEX(82);" NEXT AVAILABLE QUEUE ENTRY = @Q =";@Q;TAB(79);
0480 GOSUB 660
0490 PRINT HEX(82);" STATION NUMBER = @Q$ = ";HEXOF(@Q$);TAB(7
9);
0500 GOSUB 660
0510 PRINT HEX(82);" FILE ENTRY NUMBER = @Q9$ = ";HEXOF(@Q9$);TAB(
79);
0520 GOSUB 660
0530 PRINT " ABS. MUX SEC./DEVICE/U.F. = @Q0$";TAB(80)
0540 PRINT " ";
0550 FOR I = 1 TO 8
: PRINT HEXOF(STR(@Q0$,3*I-2,3));" ";
: NEXT I
: PRINT TAB(80);
0560 PRINT " ";
0570 FOR I = 9 TO 16
: PRINT HEXOF(STR(@Q0$,3*I-2,3));" ";
: NEXT I
: PRINT TAB(80);
0580 PRINT AT(3*SGN(L)+9+L,0,)
0590 KEYIN A$,150,610
0600 GOTO 150
0610 IF A$ = HEX(1F) THEN LOAD T"START"
0620 IF A$ = HEX(0F) THEN 690
0630 IF A$ = HEX(01) THEN 890
0640 GOTO 150
0650 REM --------------------
0660 PRINT HEX(0D20)
0670 RETURN
0680 REM --------------------
0690 FOR I = 1 TO T
0700 IF POS(@T$(I)<FF) = 0 THEN 740
0710 GOSUB 770
0720 DATA LOAD BA T#1,(VAL(STR(@T$(I),4),2)) A$()
0730 PRINT AT(I+3,70,8);A$(2)
0740 NEXT I
0750 GOTO 150
0760 REM --------------------
0770 D$ = "D"
0780 HEXUNPACK STR(@T$(I),6,1) TO STR(D$,2)
0790 IF STR(D$,3) > "1" THEN 820
0800 IF STR(D$,3) = "0" THEN STR(D$,,1) = "B"
: ELSE STR(D$,,1) = "3"
0810 STR(D$,3) = "0"
0820 SELECT #1 <D$>
0830 RETURN
0840 REM --------------------
0850 IF E = 1 THEN PRINT "@PART 'KFAM' NOT AVAILABLE'"
0860 IF E1 = 1 THEN PRINT "@PART 'KFAMCOM' NOT AVAILABLE'"
0870 REM --------------------
0880 %##
0890 DEFFN'1
0900 PRINT HEX(0306);" ISS 5.1 KFAM MONITOR1 - QUEUE DISPLAY"
0910 PRINT AT(2,0);"QUEUE STATION SECTOR SECTOR DISK
FILE"
0920 PRINT "ENTRY NUMBER ADDRESS(HEX) ADDRESS ADDRESS
NUMBER"
0930 PRINT " @Q$ @Q0$ 1-2 @Q0$ 1-2 @Q0$ 3
@Q9$"
0940 PRINT AT(5,0);
0950 FOR I = 1 TO 16
0960 PRINT HEX(82);
0970 PRINTUSING 880,I;
0980 IF STR(@Q$,I,1) = " " THEN 1050
0990 PRINT TAB(13);HEXOF(STR(@Q$,I,1));
1000 PRINT TAB(27);HEXOF(STR(@Q0$,I*3-2,2));
1010 PRINT TAB(38);VAL(STR(@Q0$,I*3-2,2),2);
1020 PRINT TAB(53);HEXOF(STR(@Q0$,I*3,1));
1030 PRINT TAB(66);HEXOF(STR(@Q9$,I,1));TAB(79);
1040 GOTO 1060
1050 PRINT " NONE NONE NONE NONE N
ONE";
1060 PRINT HEX(0D20)
1070 NEXT I
1080 KEYIN A$, 1090,1100
1090 GOTO 940
1100 IF A$ = HEX(00) THEN 130
1110 IF A$ = HEX(1F) THEN LOAD T"START"
1120 GOTO 940