.SBTTL *STORE* PROGRAM STORAGE FILE, 5-AUG-75 .NLIST .IF DF,KLDCP .LIST ;DECISION TABLES FOR KL10/11 SUBROUTINE PACKAGE $DTBL0: $LF: .ASCII <12> $CR: .ASCII <15> $BELL: .ASCII <07> .ASCII <00> .EVEN $DTBL1: $LFTBL ;LINE FEED FILL TABLE $CRTBL ;CARRIAGE RETURN FILL TABLE $BELLT ;BELL FILL TABLE $LFTBL: .BYTE 1,1 .BYTE 2,1 .BYTE 2,4 $CRTBL: .BYTE 0,0 .BYTE 9.,1 .BYTE 2,4 $BELLT: .BYTE 2,2 .BYTE 2,2 .BYTE 2,2 $DTBL: 10000. 1000. 100. 10. 1. $TBLL: 1. 10. 100. 1000. 10000. .NLIST .ENDC ;KLDCP .LIST ;THIS SECTION CONTAINS ALL PROGRAM TEXT LITERALS $$FF: $$CLIT $$LITT=. $$$FF=$$CLIT ;BUFFER CREATION MACROS $$BUF= COREND-600 ;ROOM FOR STACK ;WORD BUFFER ASSIGNMENT MACRO .MACRO .BUFW $BTAG,$BARG .IIF NE,$$BUF&1,$$BUF=$$BUF-1 .IIF B,$BARG,$$BARG=1 .IIF NB,$BARG,$$BARG=$BARG $$BUF=$$BUF-<$$BARG*2> .NLIST .LIST ME .LIST $BTAG= $$BUF .NLIST ME .ENDM ;BYTE BUFFER ASSIGNMENT MACRO .MACRO .BUFB $BTAG,$BARG .IIF B,$BARG,$$BARG=1 .IIF NB,$BARG,$$BARG=$BARG $$BUF=$$BUF-$$BARG .NLIST .LIST ME .LIST $BTAG= $$BUF .NLIST ME .ENDM .NLIST LOC ;PROGRAM BUFFERS & STORAGE AREA ;CLEARED ON INITIALIZATION ;STORAGE FOR DTE20 ADDRESS POINTERS .BUFW .DIAG3 ;XXX36 .BUFW .STDTE ;XXX34 .BUFW .DIAG2 ;XXX32 .BUFW .DIAG1 ;XXX30 .BUFW .T11DT ;XXX26 .BUFW .T10DT ;XXX24 .BUFW .T11AD ;XXX22 .BUFW .T10AD ;XXX20 .BUFW .BC11 ;XXX16 .BUFW .BC10 ;XXX14 .BUFW .TENA2 ;XXX12 .BUFW .TENA1 ;XXX10 .BUFW .DAT1 ;XXX06 .BUFW .DAT2 ;XXX04 .BUFW .DAT3 ;XXX02 .BUFW .DELAY ;XXX00 ;SPECIAL LOAD ONLY CLEAR & SETUP AREA .BUFW $ONETM ;ONE TIME FLAG .BUFW $ILDSUM ;"KLDCP" CHECKSUM .BUFW $PWRCNT ;POWER RESTART COUNT .BUFW DEVTYP ;DEVICE TYPE: -1=ACT, 0=DTA, 1=RP04 .BUFW FLOPPY ;-1, USE RX11/RX01 FLOPPY .BUFW LPTFLG ;LINE PRINTER FLAG .BUFW LPTYPE ;LINE PRINTER TYPE .BUFW RXUNIT ;FLOPPY UNIT .BUFW DTUNIT ;DECTAPE UNIT .BUFW RPUNIT ;RP04 UNIT .BUFW $BKFLG ;BREAKPOINT FLAG .BUFW CLKPE,3 ;CLOCK PE DFWRT STORAGE .BUFW PEBITS ;CLOCK STOP PARITY ENABLE BITS .BUFW PAGDFL,3 ;KL10 "DATAO PAG,0" DEFAULT .BUFW CLKDFL,3 ;KL10 CLOCK DEFAULT .BUFW SWS10,3 ;PDP-10 SWITCHES .BUFW $SWS10,3 .BUFW $$SWR .BUFW $$STJRS,3 ;PDP-10 START "JRST" .BUFW $STODD ;"SETMPH" VARIABLES .BUFB $MPHMK ;MASK, A OR B CHANGE .BUFB $MPHDF ;DIAG FCN, A OR B CHANGE .BUFW TGOADR,2 ;PDP-10 GO START ADDRESS .BUFW PGOADR,2 ;PROGRAM GO ADDRESS .BUFW PGOCTL ;PROGRAM GO CONTROL .BUFW SEADR ;PDP-11 START ADDRESS ;KLINIK FIELD SERVICE REMOTE FLAG .BUFW DL11EFLG ;BP TABLE; INST, ADR, CNT .BUFW $BT,<$NB*3> ;BP TABLE .BUFW $BCA ;BP CONTINUE ADDRESS .BUFW $BTIS ;BP TEMP $ILDCLR=$$BUF ;COMMON STORAGE .BUFW $SWMON ;MONITOR LOW ORDER SWITCHES .BUFW MONCTL ;0=STANDALONE, -1=MONITOR .BUFW TENSWD ;PDP-10 SWITCH DEPOSIT FLAG .BUFW TENCLK ;PDP-10 CLOCK FLAG .BUFW PCMDFLG ;PROGRAM COMMAND FLAG .BUFW PCMDNF ;PROGRAM CMD NO PRINT FLAG .BUFW $ITERA ;ITERATION REGISTER .BUFW $ENDCT ;END OF PASS REPORT COUNT .BUFW $EOPCT ;END OF PASS COUNT .BUFW $ERRPC ;ERROR PC .BUFW $ERTTL ;TOTAL ERRORS DETECTED .BUFW $ERFLG ;ERROR FLAG .BUFW $PASS ;PASS COUNT .BUFW $CMTAG ;COMMON TAG ;DECTAPE/RP04 AND LOADING BUFFERS .BUFW DVBUF,256. ;DEVICE BUFFER VFUDAT=DVBUF .BUFW EXTBF,2 ;ASCII EXTENSION BUFFER .BUFW NAMBF,3 ;ASCII NAME BUFFER .BUFW DIRST4 .BUFW DIRST3 .BUFW DIRST2 .BUFW DIRST1 .BUFW DIRST0 ;PSEUDO DIRECTORY CONVERSION STORAGE .BUFW DTEXT ;RAD50 EXT .BUFW DTEXTS,3 ;UNPACKED EXT (ASCII) .BUFW DTLNGTH ;DECTAPE FILE LENGTH .BUFW DTSTRT ;DECTAPE FILE START BLOCK .BUFW DVADR ;DEVICE DATA ADDRESS POINTER .BUFW DVCNT ;DEVICE BYTE COUNT .BUFW DVDIRF ;DEVICE DIRECTORY FLAG .BUFW CDADR ;CORE DUMP BUFFER POINTER .BUFW DIAFLG ;"DIAMON" OPERATION FLAG .BUFW RPEOF ;END-OF-FILE FLAG .BUFW WRTBAK,3 ;RPLKUP & RPWRFL RETURN INFO .BUFW $RPINFO,2 ;DVDATA POINTERS .BUFW NAMRAD,3 ;RAD50 NAME.EXT .BUFW RPFDNB ;FILE DIRECTORY LENGTH IN BLOCKS .BUFW RPFDTS ;FILE DIRECTORY TRACK & SECTOR .BUFW RPFDCY ;FILE DIRECTORY CYLINDER NUMBER .BUFW RPIXNB ;INDEX FILE LENGTH IN BLOCKS .BUFW RPIXTS ;INDEX FILE TRACK & SECTOR .BUFW RPIXCY ;INDEX FILE CYLINDER NUMBER .BUFW RPIXCB ;INDEX FILE CURRENT BLOCK .BUFW RPLAST ;INDEX FILE LAST BLOCK .BUFW CYLNDR ;CURRENT CYLINDER .BUFW TRKSCT ;CURRENT TRACK & SECTOR .BUFW OFFSET ;CURRENT OFFSET .BUFW BUFADR ;BUFFER ADDRESS .BUFW BUFSIZ ;BUFFER SIZE .BUFW WRDCNT ;READ/WRITE WORD COUNT .BUFW FILDSB,FDESIZ+2 ;FILE DESCRIPTOR ;DECTAPE PARAMETER STORAGE .BUFW REVCNT ;REVERSE COUNT .BUFW INTSW ;INIT SWITCH .BUFW $CKS11 ;PDP-11 BINARY CHECKSUM .BUFW LTMP ;LOAD TEMP .BUFW LBC ;LOAD BYTE COUNT .BUFW TRYCTR ;DECTAPE TRY COUNT .BUFW DTXCMD ;DECTAPE XFER COMAND .BUFW WCSAV ;WORD COUNT SAVE .BUFW CASAV ;CURRENT ADDRESS SAVE .BUFW DTBLK ;DECTAPE BLOCK NUMBER ;FLOPPY PARAMETER STORAGE .BUFW $$ITS1 ;FLOPPY "$RXITS" COUNTER .BUFW RXSADR ;FLOPPY SECTOR ADDRESS .BUFW RXTADR ;FLOPPY TRACK ADDRESS .BUFW RXBLKT ;FLOPPY BLOCK # TEMP .BUFW RXWCMD ;FLOPPY WORKING COMMAND .BUFW RXCMD ;FLOPPY COMMAND .BUFW RXBLK ;FLOPPY BLOCK NUMBER ;LOAD PARAMETER STORAGE .BUFW LDATAE .BUFW LDATA,34. ;LOAD DATA .BUFW LDADR ;LOAD ADDRESS .BUFW LDCNT ;LOAD WORD COUNT .BUFW LDOCTF ;LOAD OCTAL FORMAT FLAG .BUFW LDCNTL ;LOAD CONTROL WORD .BUFW LDOVRD ;LOAD CONTROL OVERRIDE .BUFW LDZBLK ;LOAD 10 ZERO BLOCK FLAG .BUFW SRTFLG ;SELF START FLAG .BUFW DEVLC ;DEVICE LINE COUNT .BUFW ARETRY ;ACT10 RETRY COUNT .BUFW HLPPNT ;ACT10 HELP PRINT FLAG ;TELETYPE BUFFERS .BUFW $INPTR ;INPUT POINTERS .BUFW $INPTC .BUFB $INBUF,142. ;INPUT BUFFER .BUFW $OUTPC ;OUTPUT POINTERS .BUFW $OUTPT .BUFW $OUTPP ;OUTPUT PRINT POSITION .BUFB $OUTBF,142. ;OUTPUT BUFFER .BUFW $TNPTR ;10 INPUT POINTERS .BUFW $TNPTC .BUFB $TNBUF,142. ;10 INPUT BUFFER .BUFW $TNCHR,3 ;LAST CHAR TYPED (FOR TEN) .BUFW TENTTY ;10 "TENCHR" FLAG .BUFW $TTYIN .BUFB $TTSAV,12. .BUFW ENQFLG ;COMMUNICATIONS IN PROGRESS .BUFW MSGNBR ;COMMUNICATIONS MESSAGE NUMBER .BUFW COMNBR ;COMMUNICATION NUMBER .BUFB COUTBF,142. ;COMMUNICATIONS OUTPUT BUFFER .BUFW COUTSP,2 ;OUTPUT CONTROL CHARACTERS .BUFB CINBF,142. ;COMMUNICATIONS INPUT BUFFER .BUFW CINSP,2 ;INPUT CONTROL CHARACTERS .BUFW $PRNTH ;PRINT HEAD POSITION .BUFW $PGWID ;PAGE WIDTH .BUFW $TPLIN ;NUMBER OF LINES ON A PAGE .BUFW $TPLIT ;LINES TALLY .BUFW $XOFLG ;XOFF FLAG, -1 = NO PRINT .BUFW CTRLOF ;CONTROL O FLAG .BUFW $EOLFLG ;END OF LINE FLAG .BUFW $TTLKF ;TTLOOK INPUT CHECKS INHIBIT .BUFW TILNWF ;TTY INPUT WAIT FLAG .BUFW $FORCE ;FORCE PRINTOUT FLAG .BUFW $TTYFL ;TTY FILL PARAMETER .BUFW $0FLG ;ZERO FILL FLAG .BUFW $NEG ;NEGATE NUMBER INPUT FLAG .BUFW $SVH .BUFW $SVM .BUFW $TICHR ;TTY DRIVER INPUT CHAR .BUFW $TOCHR ;TTY DRIVER OUTPUT CHAR .BUFW DDTFLG ;PDP-10 DDT INPUT MODE FLAG ;CONSOLE PARAMETER STORAGE .BUFW $KONSP ;SAVED STACK POINTER .BUFW ALLFLG ;ALL PRINT FLAG .BUFW RPTFLG ;COMMAND REPEAT FLAG .BUFW VERIFY ;PROGRAM VERIFY FLAG .BUFW .EADR ;EXAMINE 11 ADDRESS .BUFW $ECADR ;EXAMINE C-RAM ADDRESS .BUFW $EDADR ;EXAMINE D-RAM ADDRESS .BUFW $ADR .BUFW .DFRDA,3 .BUFW .DPXAD,2 .BUFW L10ADR,2 ;LOAD 10 ADDRESS .BUFW TENRUN ;TEN RUNNING FLAG .BUFW MONMODE ;TEN MONITOR MODE FLAG .BUFW MTTYOF ;MONITOR TTY OUTPUT IN PROGRESS .BUFW $TTYTIM ;TTY TIMEOUT COUNT ;BREAKPOINT STORAGE .BUFW $R0TMP .BUFW $PCSAV .BUFW $PSSAV .BUFW $TEMP0,3 .BUFW $ADR1 .BUFW $SPSAV .BUFW $R5SAV .BUFW $R4SAV .BUFW $R3SAV .BUFW $R2SAV .BUFW $R1SAV .BUFW $R0SAV ;MISCELLANEOUS STORAGE .BUFW $EMADR ;EMT ADDRESS (+2) .BUFW $SWTCH ;SWITCHES .BUFW $$SVSP .BUFW TEMP .BUFW IFILEF ;INDIRECT FILE FLAG .BUFW IFINP ;INDIRECT STORAGE POINTER .BUFW JFILEF ;DOUBLE INDIRECT FILE FLAG .BUFW JFINP ;DOUBLE INDIRECT STORAGE POINTER .BUFW PRGRUN ;PROGRAM RUNNING FLAG .BUFW MEMPEF ;PARITY FLAG .BUFW .HCFLG ;ALLOW HALT CONTINUE FLAG .BUFW .HCADR ;HALT CONTINUE ADDRESS .BUFW DDTTM1 ;DDT MODE TIMEOUT COUNTS .BUFW DDTTM2 .BUFW $ECMD,3 ;DTE20 COMMAND STORAGE .BUFW $SAV20,3 ;PDP-10 SAVE 20 STORAGE ;KL10 SUBROUTINE STORAGE .BUFW ZEROS,3 ;SOURCE OF 36 ZEROS .BUFW VMADAT,3 ;VMA & PC TEMP .BUFW XXDAT ;DF WRITE TEMP .BUFW MMDAT,3 ;WWADR TEMP .BUFW WREADY,3 ;$WCRAM TEMP .BUFW SIGNL .BUFW $BUFRC,6 ;$RCRAM TEMP .BUFW SIGNL2 .BUFW SIGNL3 .BUFW DDRAM,3 ;$DRAMAD TEMP .BUFW RDRTMP,2 ;$RDRAM TEMP .BUFW $DRAM,6 .BUFW $DDRMS .BUFW $STDAT ;$BURST TEMP .BUFW KLCLKR ;KL10 CLOCK LOGICALLY RUNNING FLAG .BUFW TENDAT,3 ;PDP-10 INPUT DATA WORD .BUFW TENAC0,2 ;PDP-10 AC0 ADDRESS .BUFW C10CW,3 ;PDP-10 CLOCK WAIT COUNT .BUFW CLKCNT,3 ;PDP-10 CLOCK COUNT BUFCLR= $$BUF .LIST LOC .END $ILOAD