*DECK KRIGHT USETEXT NIPDEF USETEXT DRHDR USETEXT KDIS USETEXT KINITBF USETEXT KSTTAB PRGM KRIGHT; STARTIMS; # *1DC KRIGHT * * 1.PROC NAME AUTHOR DATE * KRIGHT M.GIBIAN 84/01/26 * * 2.FUNCTIONAL DESCRIPTION * DISPLAY NEXT PAGE OF NIPS RIGHT KDISPLAY * * 3.METHOD USED * IF BUFFER IS NOT IN PLACE YET, GENERATE IT. * IF HELP WAS ENTERED, COPY DETAILED HELP TO BUFFER * ELSE COPY SUMMARY HELP TO BUFFER * INCREMENT NEXT RIGHT LINE TO DISPLAY BY RIGHT PAGE LENGTH * * 4.ENTRY PARAMETERS * * 5.OUTPUT PARAMETERS * * 6.COMDECKS AND TEXTS USED. * NIPDEF KDIS * * 7.ROUTINES CALLED. * * 8.DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION * MUST FIT IN SECONDARY OVERLAY * # STOPIMS; ITEM KADDR U; # ADDRESS OF NEW BUFFER # ITEM I I; # LOOP VARIABLE # ITEM J I; ITEM K I; BASED ARRAY MOVEIT S(1); BEGIN ITEM MOVEWRD C(0,0,10); END BASED ARRAY GETIT S(1); BEGIN ITEM GETWRD C(0,0,10); END DEF KHELPSZ#31#; ARRAY KHELPARY [1:KHELPSZ] S(6); BEGIN ITEM KHELP C(0,0,58)= [" USING THE NAM K-DISPLAY", "THE NAM K-DISPLAY IS EITHER IN NAM MODE OR APPLICATION", "MODE. THE FOLLOWING COMMANDS ARE AVAILABLE IN NAM AND", "SUPERVISORY (NS,CS,NVF) APPLICATION MODE:", " *NAM*", "AP START APPL MODE MO REFRESH SPEED", "DB DEBUG ON SE SEND MSG TO HOP", "DE DEBUG OFF ST DISPLAY STATUS", "DU DUMP MEMORY END EXIT K DISPLAY", "FL CHANGE MAX FL + PAGE FORWARD", "IG IGNORE ALERT - PAGE BACKWARD", "LB BEGIN LOGGING HELP MORE NAM HELP", "LE END LOGGING ( RIGHT PAGE FORWARD", "LR RELEASE LOG FILE", " *CS*", "CO CONTROL NPU IN DISPLAY NPU INFO", "DI DISABLE TR/LL//LI/TE LO RESTART NPU", "DU SET NPU DUMP FLAG SE SEND MSG TO USERS", "EN ENABLE TR/LL/LI/TE ST STATUS NP/CP/TR/LL/LI/TE", "GO START NPU TS RUN DIAGNOSTICS", "HI DISPLAY HISTORY", " *NS*", "FI CHANGE LOAD FILE NO NEGATE FI COMMAND", "HI DISPLAY HISTORY ST STATUS NPU LOAD", " *NVF*", "DI DISABLE HOST/APPL HI DISPLAY HISTORY", "EN ENABLE APPLICATION ST STATUS APP/TE/UNS", "ID IDLE HOST/APPL", " *CS,NS,NVF*", "+ LEFT PAGING ON/TURN PAGE - PAGING OFF ", "* RETURN TO NAM MODE ( RIGHT PAGE FORWARD"]; END # EXTERNAL REFERENCES # XREF BEGIN PROC MGETS; PROC XTRACE; LABEL RJMAIN; END BEGIN CONTROL IFEQ DEBUG,1; XTRACE("KRIGH"); CONTROL FI; IF KDRFP[0] EQ 0 THEN # ALLOCATE RIGHT DISPLAY BUFFER # BEGIN MGETS((KRSIZE[0]*KSTBLK)+1+BLKHSIZE+KHDRSIZE,KADDR,TRUE); KDRFP[0]=KADDR; KDRBP[0]=KADDR; P = KADDR; BLKID[0] = KDISIDVALUE; BACKPTR[0] = LOC(KDRBP[0]); NEXTPTR[0] = LOC(KDRFP[0]); P = 0; KDTYPE[KADDR+BLKHSIZE] = KDISTYPE; KDSTAIL[KADDR+BLKBS[0]-1]=0; K7777[KADDR+BLKBS[0]-1]=0; P = KADDR+BLKHSIZE+KHDRSIZE; KDRSTOP[0] = P; END ELSE P = KDRSTOP[0]; # NOW DISPLAY NEXT PAGE OF RIGHT DISPLAY LINES # FOR I=0 STEP 1 WHILE (I LQ KRSIZE[0]-1) AND (KDRNXT+I LQ KHELPSZ) DO BEGIN P=LOC(KHELP[KDRNXT+I]); P=LOC(KSTDATA[I]); FOR J=0 STEP 1 UNTIL 5 DO MOVEWRD[J]=GETWRD[J]; KSTEND[I] = 0; END # COMPUTE FIRST LINE OF NEXT PAGE # KDRNXT[0]=KDRNXT[0]+KRSIZE[0]-1; IF KDRNXT[0] GQ KHELPSZ THEN KDRNXT[0]=1; ELSE BEGIN KDRNXT[0]=KDRNXT[0]-2; I=I-2; END # BLANK REMAINING PART OF PAGE # FOR J=I STEP 1 UNTIL KRSIZE[0]-1 DO BEGIN P=LOC(KSTDATA[J]); FOR K=0 STEP 1 UNTIL 5 DO MOVEWRD[K]=" "; KSTEND[J]=0; END # PUT -MORE- ON BOTTOM RIGHT IF NOT LAST PAGE # IF KDRNXT[0] NQ 1 THEN BEGIN P=LOC(KSTDATA[KRSIZE[0]-1]); MOVEWRD[5]="MORE"; KSTEND[KRSIZE[0]-1]=0; END KSHOW[0]=FALSE; GOTO RJMAIN; END TERM