KLDCP.DOC IDENTIFICATION -------------- PRODUCT CODE: MAINDEC - 10 - KLDCP PRODUCT NAME: DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM DATE RELEASED: SEPTEMBER 9, 1975 VERSION: 0.7 MAINTAINED BY: DIAGNOSTIC ENGINEERING AUTHOR: JOHN R. KIRCHOFF COPYRIGHT(C) 1973, 1974, 1975 DIGITAL EQUIPMENT CORPORATION MARLBORO, MASS. 01752 THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON EXECPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. " WE HAVE GONE TO CONSIDERABLE DIFFICULTY AND EXPENSE TO ASSEMBLE A STAFF OF SORCERERS, SHAMANS, CONJURERS AND LAWYERS TO VISIT NETTLESOME AND MYSTIFING DISCOMFORTS ON ANY NINNY WHO ENDEAVORS TO REPRODUCE OR USE THIS PROGRAM IN ANY FORM OR BY ANY MEANS, ELECTRONIC OR OTHERWISE, INCLUDING COMPUTERS AND INFORMATION SYSTEMS, WITHOUT PERMISSION FROM THE DEVELOPER. WATCH YOURSELF! " DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- TABLE OF CONTENTS ----------------- 1.0 ABSTRACT 2.0 CONTROL SWITCHES 3.0 DIAGNOSTIC CONSOLE OPERATIONS 4.0 PDP-11 SUBROUTINE CALLS 5.0 CONTROL SWITCH ROUTINE 6.0 END OF PROGRAM PASS OPERATIONS 7.0 COMMUNICATIONS ROUTINES 8.0 BASIC MACROS 9.0 KL10 BASIC SUBROUTINES 10.0 KL10 EXAMINE/DEPOSIT & RAM SUBROUTINES 11.0 SPECIAL PROGRAM OPERATORS 12.0 DEVICE ROUTINES 13.0 KL10 TO PDP-11 DTE20 COMMAND OPERATIONS 14.0 KL10 DTE20 COMMAND CODES 15.0 FILE FORMATS 16.0 PDP-11 FILE FORMATS 17.0 PDP-10 FILE FORMATS 18.0 KL10 MICRO CODE FILE FORMATS 19.0 PDP-8 FILE FORMATS 20.0 OCTAL FILE FORMATS 21.0 SPECIFIED FILE EXTENSIONS 22.0 MICRO-CODE SPECIAL FILE CREATION 23.0 SUBROUTINE PACKAGE INSTRUCTIONS 24.0 MISCELLANEOUS 25.0 SOURCE FILE LISTINGS DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 1.0 ABSTRACT THE DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROVIDES THE BASIC SUBROUTINES REQUIRED FOR THE OPERATION OF KL-10 PDP-11 PROGRAMS AND THE BASIC ROUTINES REQUIRED TO INTERFACE TO THE PDP-11 BASED PDP-10 KL-10 SUBROUTINE, CONSOLE AND LOW SPEED I/O DRIVER PACKAGE. THE DIAGNOSTIC CONSOLE CONSISTS OF A SEPARATE PROGRAM WHICH WILL BE LINKED TO/FROM THE DIAGNOSTIC PROGRAM SEGMENTS VIA EMT'S AND ASSIGNED PROGRAM LOCATIONS.THE SUBROUTINE PACKAGE RESIDES IN PDP-11 MEMORY FROM 16K TO 28K, THE UPPER 12K, AND INCLUDES THE SUBROUTINE PACKAGE AND THE NECCESSARY LOADERS, ETC. THE SUBROUTINE PACKAGE CONTAINS THE FOLLOWING BASIC SUBROUTINES: 1. CONSOLE COMMAND 2. DIAGNOSTIC FUNCTIONS 3. PDP-10 SUPPORT 4. PDP-11 OPERATION SUPPORT 5. KL10 MONITOR & ACT10 COMMAND 6. CONSOLE TELETYPE FUNCTIONS 7. BASIC INITIALIZATION 8. PROGRAM CONTROL 9. ERROR & PROGRAM HALTS 10. TELETYPE OUTPUT 11. LINE PRINTER 12. MESSAGE FORMATTING & PRINTING 13. TELETYPE INPUT 14. MESSAGE INPUT PROCESSING 15. CONTROL SWITCHES 16. MISCELLANEOUS 17. REGISTER SAVE AND RESTORE 18. EMT HANDLER 19. POWER FAIL 20. PDP-10 OPERATIONS 21. CONTROL RAM 22. DISPATCH RAM 23. DECTAPE 24. RP04 25. ACT10 26. COMMUNICATIONS 27. REMOTE TELETYPE 28. PDP-11 CORE DUMP 29. DTE20 INITIALIZATION 30. BASIC KL10 SUBROUTINES 31. MASTER RESET 32. CONTROL RAM FUNCTIONS 33. DISPATCH RAM FUNCTIONS 34. LITERALS & BUFFERS DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 1.1 PDP-11 CONSOLE MEMORY ASSIGNMENTS 0 --------------------------- I I VECTORS I 1000 --------------------------- I I BCPT LOWER I 3000 --------------------------- I I PDP-11 BASED KL10 I DIAGNOSTIC AREA I & I WHEN PDP-10 RUNNING I FREE FOR PDP-11 I DEVICE SUPPORT I 70000 --------------------------- I I OVERLAY & INDIRECT I FILE AREA & REMOTE TTY I 16K - 100000 --------------------------- I I DIAGNOSTIC CONSOLE I "KLDCP" I 152000 --------------------------- I I BCPT UPPER I 154000 --------------------------- I I BUFFERS I 157200 --------------------------- I I STACK I 28K - 160000 --------------------------- DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 1.1 PDP-11 DIAGNOSTIC PROGRAM SEGMENTS THE DIAGNOSTIC SEGMENTS WILL BE ASSEMBLED FROM THE FOLLOWING FILES AND IN THE ORDER SHOWN: 1. PROGRAM TITLE FILE - CONTAINS PROGRAM IDENTIFICATION DATA AND DIAGNOSTIC AND OPERATION PARAMETERS. 2. SUBROUTINE PARAMETER FILE - PRM11.P11 - CONTAINS SUBROUTINE CALL ASSIGNMENTS, SUBROUTINE LINKAGE ASSIGNMENTS, COMMON STORAGE ADDRESS ASSIGNMENTS AND OTHER COMMON PARAMETERS. 3. MAIN PROGRAM FILE - CONTAINS DIAGNOSTIC CODING. 4. SUBROUTINE STORAGE FILE - STOR11.P11 - CONTAINS THE PROGRAM LITERAL CONSTANTS, VARIABLE STORAGE LOCATIONS AND PROGRAM ASSEMBLY COMPLETION DATA. 2.0 CONTROL SWITCHES 2.1 PROGRAM CONTROL SWITCHES THE SWITCHES OF THE PDP-11 CONSOLE ARE USED FOR REAL-TIME CONTROL OF PROGRAM OPERATIONS. THESE SWITCHES ARE: SW15 - ABORT ;ABORT AT COMPLETION OF PROGRAM PASS SW14 - RSTART ;RESTART TEST, PRINT TOTALS SW13 - TOTALS ;PRINT TOTALS, CONTINUE SW12 - NOPNT ;INHIBIT TYPEOUT SW11 - PNTLPT ;PRINT ON PDP-10 LINE PRINTER SW10 - DING ;RING TTY BELL ON ERROR SW9 - LOOPER ;LOOP ON ERROR SW8 - ERSTOP ;HALT ON ERROR SW7 - PALERS ;PRINT ALL ERRORS SW6 - RELIAB ;RELIABILITY RUN MODE SW5 - TXTINH ;INHIBIT ERROR TEXT SW4 - INHPAG ;INHIBIT PAGING (PDP-10) SW3 - MODDVC ;MODIFY DEVICE CODE (PDP-10) SW2 - INHCSH ;INHIBIT CACHE (PDP-10) SW1 - OPRSEL ;OPERATOR SELECTION SW0 - CHAIN ;SPECIAL CHAIN MODE CONTROL SWITCH THESE SWITCHES HAVE THE SAME MEANING FOR BOTH PDP-11 BASED AND PDP-10 BASED PROGRAMS. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 2.0 CONTROL SWITCHES (CON'T) A. PDP-10 LOWER ORDER 20 SWITCHES THE LOWER ORDER 18 SWITCHES ARE SUPPLIED FROM THE SCRIPT IF RUNNING IN DIAGNOSTIC MONITOR MODE. IF RUNNING STANDALONE THESE LOW ORDER 20 SWITCHES ARE SUPPLIED BY TYPEIN. B. LOW ORDER SWITCH USAGE THE LOW ORDER PDP-10 20 SWITCHES ARE USED FOR PARAMETERIZING A PROGRAM FOR A COMPLETE PROGRAM RUN. THEIR USAGE IS AT THE DISCRETION OF THE PROGRAMMER. 2.2 DIAGNOSTIC MONITOR CONTROL SWITCHES SWITCH 0 OF THE PDP-11 CONSOLE IS RESERVED TO CONTROL THE DIAGNOSTIC MONITOR WHEN RUNNING IN DIAGNOSTIC MONITOR CHAIN SCRIPT OPERATION MODE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.0 DIAGNOSTIC CONSOLE OPERATIONS THE FOLLOWING TYPED IN COMMANDS PROVIDE DIAGNOSTIC CONSOLE OPERATIONS TO PERFORM THE DIAGNOSTIC FUNCTIONS, EXAMINE/DEPOSIT, START, STOP, ETC. THE COMMANDS END WITH A CARRIAGE RETURN. TO CONTINUOUSLY REPEAT A REPEATABLE FUNCTION TYPE AN R AS THE FIRST ITEM IN THE COMMAND STRING. THIS WILL CONTINUOUSLY REPEAT THE FUNCTION AND WILL BYPASS THE PRINTOUT OF THE INFORMATION READ IF IT WAS A READ TYPE FUNCTION. A COMMAND STRING MAY CONSIST OF SEVERAL COMMANDS EACH OF WHICH TERMINATE WITH A COMMA EXCEPT FOR THE LAST ONE WHICH TERMINATES WITH A CR. A. DIAGNOSTIC FUNCTIONS (REPEATABLE) 1. FX FUNCT ;DIAGNOSTIC FUNCTION EXECUTE 2. FW FUNCT:DATA ;DIAGNOSTIC FUNCTION WRITE 3. FR FUNCT ;DIAGNOSTIC FUNCTION READ ;TYPES OUT THE DATA READ 4. FR FUNCT1,FUNCTX ;DIAGNOSTIC FUNCTION READ OF FUNCT1 ;THRU FUNCTX. 5. FS ;DIAGNOSTIC FUNCTION SYNC 6. DA DATA ;DIAGNOSTIC DEPOSIT INTO AR B. PDP-11 FUNCTIONS 1. SE ADR ;START 11 AT ADR SED ;START 11 DIAGNOSTIC (ADDRESS = 3000) 2. EE ADR ;EXAMINE 11 AT ADR AND PRINT 3. DE ADR:DATA ;DEPOSIT DATA IN 11 ADDRESS 4. EB ADR ;EXAMINE 11 BYTE AT ADR AND PRINT 5. DB ADR:DATA ;DEPOSIT 11 BYTE AT 11 ADDRESS 6. ZE ADR,ADR ;ZERO 11 MEMORY FROM ADR TO ADR C. PDP-10 EXAMINE/DEPOSIT FUNCTIONS (REPEATABLE) 1. EM ADR ;EXAMINE PDP-10 AT ADR AND PRINT 2. DM ADR:DATA ;DEPOSIT DATA IN PDP-10 ADDRESS 3. EN ;EXAMINE AND PRINT NEXT PDP-10 ADDRESS 4. DN DATA ;DEPOSIT DATA INTO NEXT PDP-10 ADDRESS 5. MZ ADR,COUNT ;MEMORY ZERO PDP-10 DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.0 DIAGNOSTIC CONSOLE OPERATIONS (CON'T) D. START/STOP FUNCTIONS 1. SP ;STOP 10, CLEAR RUN FLOP 2. RN ;START 10, SET RUN FLOP 3. SI ;SINGLE INSTRUCT, PUSH CONTINUE BUTTON SI NUM ;DO NUM SINGLE INSTRUCTS 4. SIP ;SINGLE INSTRUCT & TRACE PRINT 5. PL ;PULSE CLOCK 6. PL NUM ;DO NUM CLOCKS 7. BU ;DO ONE BURST CLOCK 8. BU NUM ;DO NUM BURSTS 9. SM ;START MICRO-CODE, SUPPORT ;EXAMINE/DEPOSIT 10. ST ADR ;START 10 AT ADDRESS ST ;START 10 AT PREVIOUSLY SUPPLIED ADDRESS STD ;START 10 DIAGNOSTIC, (EPT ADR = 440) STL ;START 10 LOADER, (EPT ADR = 442) DDT ;START 10 DDT, (EPT ADR = 441) STM ;START 10 MONITOR, (EPT ADR = 443) 11. MC ;PDP-10 MONITOR MODE CONTINUE 12. SW DATA ;SET 10'S SWITCH REGISTER 13. SW ;PRINT PRESENT 10'S SWITCH REGISTER 14. AC BLK ;REPORT & SELECT CURRENT AC BLOCK 15. AC BLK NUM ;SELECT CURRENT AC BLOCK TO BE USED ;BY PDP-10 FOLLOWING "STD,STM,STL,DDT" ;START COMMANDS & SELECTS CURRENT AC ;BLOCK FOR EM/DM AC REF COMMANDS. 16. EP COUNT ;SET "EOP" INTERVAL COUNT E. RAM FUNCTIONS (REPEATABLE) 1. EC ADR ;EXAMINE C-RAM AT ADDRESS AND PRINT 2. DC ADR:DATA ;DEPOSIT DATA INTO C-RAM ADDRESS 3. RC ADR ;READ C-RAM BY DIAGNOSTIC FUNCTIONS 4. ED ADR ;EXAMINE D-RAM AT ADDRESS AND PRINT 5. DD ADR:DATA ;DEPOSIT DATA INTO D-RAM ADDRESS 6. MM ADR ;SYNC MARK MICRO-CODE, SET BIT 43 7. MU ADR ;SYNC UNMARK MICRO-CODE, CLEAR BIT 43 8. MT ADR:DATA ;CHANGE MICRO-CODE TIME FIELD, DATA=0-3 F. PDP-10 INSTUCTION EXECUTE (REPEATABLE) 1. EX INST ;EXECUTE 36 BIT INSTRUCTION 2. EXP INST ;EXECUTE & PRINT INSTRUCTION 3. EXT INST ;EXECUTE & SETUP FOR "TRACE" INST G. MASTER RESET (REPEATABLE) 1. MR ;MASTER RESET DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.0 DIAGNOSTIC CONSOLE OPERATIONS (CON'T) H. CLOCK OPERATIONS 1. CS ;REPORT CLOCK SOURCE CODE 2. CS NUM ;SELECT CLOCK SOURCE USING NUM CODE ; 0=NORMAL CLOCK ; 1=SPEED MARGIN CLOCK ; 2=EXTERNAL CLOCK 3. CR ;REPORT CLOCK RATE CODE 4. CR NUM ;SELECT CLOCK RATE USING NUM CODE ; 0=NORMAL ; 1=DIVIDE BY 2 ; 2=DIVIDE BY 4 ; 3=DIVIDE BY 8 I. INTERNAL EBOX REGISTER READ FUNCTIONS 1. AR ;READ & PRINT AR REGISTER 2. BR ;READ & PRINT BR REGISTER 3. MQ ;READ & PRINT MQ REGISTER 4. FM ;READ & PRINT FM REGISTER 5. AD ;READ & PRINT ADDER 6. ARX ;READ & PRINT EXTENDED AR REGISTER 7. BRX ;READ & PRINT EXTENDED BR REGISTER 8. ADX ;READ & PRINT EXTENDED ADDER 9. PC ;READ & PRINT PC 10. VMA ;READ & PRINT VMA 11. VMH ;READ & PRINT VMA HELD 12. SC ;READ & PRINT SC REGISTER 13. FE ;READ & PRINT FE REGISTER 14. ADB ;READ & PRINT ADDRESS BREAK 15. ERG ;READ & PRINT E-BUS REGISTER 16. PI ;READ & PRINT PI SYSTEM 17. ALL ;PRINT ALL, C-RAM & REGISTERS DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.0 DIAGNOSTIC CONSOLE OPERATIONS (CON'T) I. PROCESSOR PARITY FUNCTIONS 1. PE ;REPORT PROCESSOR PARITY ENABLE CODE 2. PE NUM ;SELECT PROCESSOR PARITY OPTION USING ;NUM CODE. ;OPTIONS ARE SELECTED BY USING A FIVE ;BIT OCTAL NUMBER WITH THE BINARY BITS ;ASSIGNED THE FOLLOWING OPTIONS ; 20 = AR/ARX PAGE FAIL ; 10 = FM PARITY ; 4 = CRAM PARITY ; 2 = DRAM PARITY ; 1 = FS PROBE ;THE DEFAULT SETTING IS 36 WHICH IS: ; AR/ARX PARITY ; FM PARITY ; CRAM PARITY ; DRAM PARITY ;THE MASTER RESET OPERATION CLEARS THE PARITY ;CHECKING OPTIONS AND THE PDP-10 START OR RUN ;COMMANDS ENABLE THE PARITY CHECK OPTIONS IF ;THEY HAVE BEEN SELECTED. 3. PD ;DISABLE PROCESSOR PARITY CONDITIONS ;SETS THE PARITY OPTIONS TO CODE 00. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.0 DIAGNOSTIC CONSOLE OPERATIONS (CON'T) K. CACHE OPERATIONS 1. CE ;REPORT CACHE ENABLE CODE 2. CE NUM ;SELECT CACHE OPTION USING NUM CODE. ;OPTION IS SELECTED BY USING A FOUR ;BIT OCTAL NUMBER WITH THE BINARY BITS ;ASSIGNED THE FOLLOWING OPTIONS. ; 10 = ENABLE CACHE 0 ; 4 = ENABLE CACHE 1 ; 2 = ENABLE CACHE 2 ; 1 = ENABLE CACHE 3 ;THE DEFAULT SETTING IS 17 WHICH ENABLES ;ALL FOUR CACHES. ;THIS ENABLE CODE IS PASSED TO THE ;PDP-10 AS PART OF THE CLOCK DEFAULT ;PARAMETER WORD. THE TEN THEN USES THE ;CODE TO SELECT AND ENABLE THE PROPER ;CACHES. 3. CI ;CACHE INVALIDATE ;EXECUTES THE CACHE INVALIDATE ;INSTRUCTION 4. CF ;CACHE FLUSH ;EXECUTES THE CACHE FLUSH INSTRUCTION DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.0 DIAGNOSTIC CONSOLE OPERATIONS (CON'T) L. CONSOLE (TTY) CONTROL FUNCTIONS 1. TP NUM ;SET TTY PAGE LENGTH 2. TW NUM ;SET TTY PAGE WIDTH 3. TF NUM ;SET TTY FILL CLASS 4. TT ;SWITCH TO REMOTE TTY OPERATION 5. KLINIK ;REMOTE FS TTY ENABLE/DISABLE 6. LP ;LINE PRINTER SELECTION M. PROGRAM LOADING CONTROL FUNCTIONS 1. DT NUM ;SELECT DECTAPE MODE, ;NUM IS DECTAPE UNIT 2. RP NUM ;SELECT RP04 MODE, ;NUM IS RP04 UNIT 3. RX NUM ;SELECT RX01 FLOPPY MODE, ;NUM IS FLOPPY UNIT 4. AT ;SWITCH TO ACT10 LOAD MODE N. PDP-11 BREAKPOINT OPERATIONS 1. BP ADR ;SET A BREAKPOINT AT ADDRESS 2. RG ;PRINT REGISTERS SAVED AT BREAKPOINT, ;ERROR HALT, PRG HALT OR FATAL HALT. 3. BC ;CONTINUE FROM BREAKPOINT O. CONSOLE REINITIALIZATION 1. RI ;REINITIALIZE CONSOLE P. ERROR HALT CONTINUE 1. HC ;CONTINUE FROM ERROR OR PROGRAM HALT Q. REPEAT OPERATORS 1. R ;IF THIS IS THE FIRST COMMAND IN A ;COMMAND LINE, REPEAT THE COMMAND STRING ;CONTINUOUSLY. CONTROL C (^C) RETURNS ;TO CONSOLE COMMAND MODE. 2. RP ;AS "R" COMMAND EXCEPT PRINTS THE DATA ;READ FOR READ TYPE COMMANDS. 3. TD COUNT ;PERFORM SPECIFIED TIME DELAY DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.0 DIAGNOSTIC CONSOLE OPERATIONS (CON'T) R. KL10 MONITOR COMMANDS 1. B ;BOOT SYSTEM 2. LI ;LOGIN 3. H ;HELP, ACT10 PRINT "HELP.ACT" 4. H FILE.EXT ;HELP, PRINT REQUESTED FILE 5. P FILE.EXT ;LOAD REQUESTED PROGRAM ;EXTENSIONS ARE: ; .RAM = KL10 C-RAM & D-RAM ; .BIN = PDP-11 BINARY ; .A11 = PDP-11 ASCIIZED BINARY ; .A10 = PDP-10 ASCIIZED SAVE FILE ; .SAV = PDP-10 SAVE FILE, ACT10 ONLY ; DEFAULT EXTENSION IS ".A10" 6. LT FILE.EXT ;LOAD PDP-10 ".A10" FILE 7. LE FILE.EXT ;LOAD PDP-11 ".A11" FILE 8. LR FILE.EXT ;LOAD C & D RAM ".RAM" FILE 9. LB FILE.EXT ;LOAD PDP-11 ".BIN" FILE 10. V FILE.EXT ;VERIFY REQUESTED PROGRAM, AS "P" EXCEPT ;CURRENT FILE IS VERIFIED AGAINST ;FILE BEING READ. 11. S FILE.EXT ;RUN REQUESTED SCRIPT 12. M FILE.EXT ;RUN REQUESTED MASTER SCRIPT 13. C MESSAGE ;COMMENT/CORRECTIVE ACTION 14. GO ;GO START PROGRAM JUST LOADED 15. LO ;LOGOUT 16. GS FILE.EXT ;GENERATE GIVEN SCRIPT 17. CD FILE.EXT SRTADR,ENDADR ;PDP-11 CORE DUMP TO ACT10 ; DECTAPE OR RP04 ; DEFAULT EXTENSION IS ".A11" 18. T ;REQUEST TIME 19. BT ;BOOT TEN, ACT10 "BOOT10.ACT" 20. ; ;LOCAL COMMENT 21. I FILE.EXT ;INDIRECT COMMAND FILE PROCESS ; DEFAULT EXTENSION IS ".CCL" 22. J FILE.EXT ;DOUBLE INDIRECT COMMAND FILE PROCESS ; DEFAULT EXTENSION IS ".CMD" 23. JC ;CONTINUE INTERRUPTED J FILE PROCESS 24. TA FILE.EXT ;TRANSFER FILE FROM ACT10 TO RP04 25. WF FILE.EXT ;WRITE FILE FROM DECTAPE/FLOPPY TO RP04 26. RENM:FILE.EXT FILE1.EXT ;RENAME RP04 FILE FROM FILE.EXT ; TO FILE1.EXT 27. DTCOPY ;COPY & VERIFY DECTAPES 28. RXCOPY ;COPY & VERIFY FLOPPY DISKETTES DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.0 DIAGNOSTIC CONSOLE OPERATIONS (CON'T) THE PDP-10 IS LOGICALLY SUPPORTED BY THE CONSOLE IN THREE OPERATIONAL MODES. THESE THREE MODES ARE: 1. DIAGNOSTIC CONSOLE ALL OPERATOR COMMANDS ARE VALID. 2. PDP-10 RUNNING DIAGNOSTIC SUPPORT THE FOLLOWING OPERATOR COMMANDS REQUIRE THAT THE PDP-10 BE STOPPED BEFORE EXECUTION: A. DIAGNOSTIC FUNCTIONS B. INTERNAL E-BOX REGISTER READS C. PULSE THE CLOCK D. CLOCK RATE/SOURCE CHANGES E. MICRO TIME/MARK/UNMARK FUNCTIONS F. C-RAM AND D-RAM EXAMINES AND DEPOSITS G. CACHE INVALIDATE AND FLUSH H. PDP-10 MEMORY ZEROING I. AC BLOCK SELECTION THE PDP-10 PROGRAM COUNTER (PC) IS THE ONLY INTERNAL REGISTER THAT MAY BE EXAMINED WHILE THE PDP-10 IS RUNNING AND THIS OPERATION IS PERFORMED BY THE CONSOLE BY STOPPING THE PDP-10, STOPPING THE KL10 CLOCK, PERFORMING THE DIAGNOSTIC FUNCTION READS REQUIRED TO READ THE PROGRAM COUNTER AND THEN RESTARTING THE PDP-10. ********** CAUTION ********** THE PC EXAMINE OPERATION MAY CAUSE DEVICE OVERRUNS TO HAPPEN. 3. PDP-10 TIMESHARING SUPPORT WHEN THE CONSOLE IS SUPPORTING TIMESHARING THE CONSOLE TTY BELONGS TO THE PDP-10 TIMESHARING SYSTEM AND ALL TTY INPUT GOES TO THE PDP-10 AND ALL TTY OUTPUT ORIGINATES IN THE PDP-10. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.0 DIAGNOSTIC CONSOLE OPERATIONS (CON'T) THE DIAGNOSTIC CONSOLE IS A TWO PART PROGRAM WITH THE MAJOR PORTION RESIDENT IN THE UPPER 12K OF THE PDP-11. THE UPPER PORTION SUPPORTS ALL DIAGNOSTIC OPERATIONS AND THE LOWER PORTION PROVIDES UTILITY SUPPORT. CERTAIN OF THE CONSOLE COMMANDS REQUIRE THAT THE UTILITY PORTION OF THE CONSOLE BE RESIDENT. SINCE THE UTILITY PORTION RESIDES IN THE LOWER PART OF THE PDP-11 STARTING AT ADDRESS 3000, ONCE LOADED IT WILL REMAIN RESIDENT UNTIL OVERWRITTEN BY OTHER LOWER CORE DIAGNOSTIC PROGRAMS. THE CONSOLE WILL PERFORM A VALIDITY CHECK OF THE UTILITY PORTION AND WILL REQUEST THAT THE OPERATOR LOAD "KLDCPU.A11" IF IT IS NOT RESIDENT WHEN ANY UTILITY COMMAND IS PERFORMED. THE FOLLOWING COMMANDS ARE UTILITY COMMANDS AND ARE PERFORMED VIA THE "DIAGNOSTIC CONSOLE UTILITY": 1. DTCOPY DECTAPE COPY 2. RXCOPY RX01/RX11 FLOPPY DISKETTE COPY 3. WF WRITE FILE FROM DECTAPE/FLOPPY TO RP04 4. TA TRANSFER FILE FROM APT10 TO RP04 5. DI "IF RP04 SELECTED" RP04 DISK DIRECTORY 6. TT REMOTE TELETYPE OPERATION DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.1 GENERAL INFORMATION THE DIAGNOSTIC CONSOLE PROGRAM WHEN LOADED AND STARTED WILL PERFORM ALL INTERNAL INITIALIZATION REQUIRED BY THE SOFTWARE AND PDP-11 HARDWARE INCLUDING SETTING THE STACK, CLEARING COMMON STORAGE AREAS, SETTING UP THE INTERRUPT AND TRAP VECTORS. THIS ACTION IS NOT VISIBLE TO THE OPERATOR AND WHEN THE INTERNAL INITIALIZATION IS COMPLETED THE SOFTWARE WILL TYPE: DECSYSTEM10 DIAGNOSTIC CONSOLE VERSION ##.## COMMAND: . AT THIS POINT THE SOFTWARE IS READY AWAITING COMMANDS FROM THE OPERATOR. PDP-11 16 BIT NUMBERS, PDP-10 36 BIT NUMBERS, DIAGNOSTIC FUNCTIONS MAY BE TYPED IN IN THE FOLLOWING FORMATS: 16 BIT NUMBERS: 123456 ;EQV, 123456 1 ;EQV, 000001 +1 ;EQV, 000001 -1 ;EQV, 177777 36 BIT NUMBERS: 123456123456 ;EQV, 123456123456 123456 123456 ;EQV, 123456123456 1 ;EQV, 000000000001 1 1 ;EQV, 000001000001 +1 -1 ;EQV, 000001777777 -1 1 ;EQV, 777777000001 -1 +1 ;EQV, 777777000001 DIAGNOSTIC FUNCTIONS ARE 16 BIT NUMBERS. AN EXAMPLE MULTIPLE COMMAND STRING WITH THE REPEAT OPERATOR WOULD BE AS FOLLOWS: R FX 14,MR,FR 101,FW 140:123456 123456,MR DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.1 GENERAL INFORMATION (CON'T) PDP-11 OPERATIONS ----------------- START 11 AT ADDRESS ###### EX: SE 3000 THIS COMMAND WILL CAUSE THE PDP-11 TO BEGIN EXECUTING CODE AT PDP-11 CORE MEMORY ADDRESS 3000. CHECKING IS PERFORMED TO INSURE THAT AN ODD ADDRESS START IS NOT ATTEMPTED AND THAT ADDRESS 0 IS NOT USED. THE BASE ADDRESS OF THE STACK IS PASSED IN R0. EXAMINE 11 AT ADDRESS ###### EX: EE 1000 THIS COMMAND WILL EXAMINE AND PRINT THE CONTENTS OF THE SELECTED PDP-11 LOCATION. EXAMINES ARE WORD BASED AND AN EXAMINE ATTEMPT OF AN ODD LOCATION WILL PRINT OUT AN ERROR. EXAMINE MULTIPLE 11 ADDRESSES EX: EE 1000,1050 THIS COMMAND EXAMINES AND PRINTS A BLOCK OF PDP-11 LOCATIONS. EXAMINE NEXT 11 ADDRESS EX: EE: ;COLON OR SLASH THIS COMMAND EXAMINES AND PRINTS THE NEXT 11 LOCATION EXAMINE PREVIOUS 11 ADDRESS EX: EE^ ;^ IS UPARROW THIS COMMAND EXAMINES AND PRINTS THE PREVIOUS 11 LOCATION EXAMINE PRESENT 11 ADDRESS EX: EE THIS COMMAND EXAMINES THE PREVIOUSLY SELECTED 11 ADDRESS, SELECTED EITHER BY A PREVIOUS EXAMINE OR BY A PREVIOUS DEPOSIT. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.1 GENERAL INFORMATION (CON'T) DEPOSIT INTO 11 MEMORY AT ADDRESS ###### EX: DE 1000:240 THIS COMMAND WILL DEPOSIT THE DATA SUPPLIED INTO THE ADDRESS GIVEN. DEPOSIT INTO PREVIOUSLY SELECTED 11 ADDRESS EX: DE:240 THIS COMMAND WILL DEPOSIT THE DATA SUPPLIED INTO A PREVIOUSLY SELECTED 11 ADDRESS. EX: EE 1000 ;EXAMINE 1000 001000/123456 ;PRINTED CONTENTS DE:240 ;DEPOSIT 240 INTO 1000 EE ;REEXAMINE 1000 001000/000240 ;PRINTED CONTENTS PDP-11 BYTE EXAMINES -------------------- EX: EB 1000 ;EXAMINE 11 BYTE EX: EB: ;EXAMINE NEXT 11 BYTE EX: EB^ ;EXAMINE PREVIOUS 11 BYTE EX: EB 1000,1011 ;EXAMINE BLOCK OF 11 BYTES EX: EB ;EXAMINE PREVIOUSLY SELECTED BYTE PDP-11 BYTE DEPOSITS -------------------- EX: DB 1000:10 ;DEPOSIT BYTE INTO 11 ADDRESS EX: DB:10 ;DEPOSIT BYTE INTO PREVIOUSLY ;SELECTED ADDRESS DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.1 GENERAL INFORMATION (CON'T) KL10 RAM EXAMINES AND DEPOSITS ------------------------------ EXAMINE D-RAM EX: ED 776 ADR: A B P J ;HEADER PRINTOUT 776/ 1 3 1 1234 ;EVEN ADDRESS PRINTOUT 777/ 6 1 1 1234 ;ODD ADDRESS PRINTOUT EXAMINE CURRENT D-RAM ADDRESS PAIR EX: ED OR ED: DEPOSIT DATA INTO D-RAM PAIR EX: DD 776:7 6 1 1234 ;DATA FOR EVEN ADDRESS DD 777: ;PROMPT FOR ODD ADDRESS DATA DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.1 GENERAL INFORMATION (CON'T) EXAMINE CONTROL RAM EX: EC 1234 THIS COMMAND EXAMINES AND PRINT THE C-RAM DATA AT ADDRESS EXAMPLE: EC 1234 1234/123456 123456 123456 123456 123456 12 ADR/ J T AR AD BR MQ FM SCAD SC FE SH # VMA MEM COND SPEC M 1234/1356 0 02 0032 0 1 6 000 0 0 0 001 0 00 70 12 0 THE DATA PRINTED IS C-RAM DATA BITS 00-79 IN 5 16 BIT WORD FORMAT AND THE SPEC FIELD FOLLOWED BY THE FIELDS PRINTED BY THEIR LOGICAL BREAKDOWN. EXAMINE THE PRESENT C-RAM REGISTER CONTENTS EX: EC EXAMINE CURRENTLY SELECTED C-RAM ADDRESS EX: EC: DEPOSIT DATA INTO C-RAM AT ADDRESS EX: DC 1234:123456 123456 123456 123456 123456 12 THIS COMMAND WILL DEPOSIT THE DATA GIVEN INTO THE C-RAM ADDRESS SELECTED. THE DATA IS SUPPLIED AS 5 16 BIT WORDS GIVING C-RAM DATA BITS 00 THRU 79 PLUS THE 5 BIT SPEC FIELD. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- C-RAM EXAMINE AND PRINTOUT -------------------------- .EC ADR ADR/00--15 16--31 32--47 48--63 64--79 0--4 ADR/ J T AR AD BR MQ FM SCAD SC FE SH # VMA MEM COND SPEC M 3777/3777 3 77 3777 3 1 7 377 1 1 3 777 3 17 77 37 1 ADR = 3777 ;C-RAM ADDRESS J = 3777 ;J FIELD J00-J10 T = 3 ;TIME T00-T01 AR = 77 ;ARXM SEL 4-2-1 & ARM SEL 4-2-1 AD = 3777 ;ADB SEL 2-1 & ADA DIS + ADA SEL 2-1 ; & AD CRY + AD BOOLE + AD S0-3 BR = 3 ;BRX LOAD + BR LOAD MQ = 1 ;MQ SEL FM = 7 ;FM ADR SEL 4-2-1 SCAD = 377 ;SCADB SEL 2-1 & SCADA DIS + SCADA SEL 2-1 ; & SCAD 4-2-1 SC = 1 ;SCM SEL 2 FE = 1 ;FE LOAD SH = 3 ;SH/ARMM SEL 2-1 # = 777 ;#00-#08 VMA = 3 ;VMA SEL 2-1 MEM = 17 ;MEM 00-03 COND = 77 ;COND 00-05 SPEC = 37 ;SPEC/DISP 00-04 M = 1 ;FIELD SERVICE MARK BIT DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- C-RAM OCTAL PRINTOUT FORMAT --------------------------- ADR/00--15 16--31 32--47 48--63 64--79 0--4 C-RAM OCTAL WORD BIT BREAKDOWN ------------------------------ 00 01 02 03 04 05 06 07 ------------------------------------------------- *SCADA* -----SCAD------ * FE * ---J FIELD----- * * DIS * 4 * 2 * 1 * LOAD* 0 * 1 * 2 * ************************************************* 08 09 10 11 12 13 14 15 ------------------------------------------------- * ------------------J FIELD-------------------- * * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * WD 1 ************************************************* 16 17 18 19 20 21 22 23 ------------------------------------------------- * MQ * -----COND------ * -------AD SEL-------- * * SEL * 0 * 1 * 2 * 8 * 4 * 2 * 1 * ************************************************* 24 25 26 27 28 29 30 31 ------------------------------------------------- * AD * ADA * -ADA SEL- * ADB * ----CRAM #----- * *BOOLE* DIS * 2 * 1 * SEL2* 0 * 1 * 2 * WD 2 ************************************************* DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- C-RAM OCTAL PRINTOUT FORMAT (CON'T) --------------------------- ADR/00--15 16--31 32--47 48--63 64--79 0--4 C-RAM OCTAL WORD BIT BREAKDOWN ------------------------------ 32 33 34 35 36 37 38 39 ------------------------------------------------- * ADB * ----CRAM #----- * ARXM* ----CRAM #----- * * SEL1* 3 * 4 * 5 * SEL4* 6 * 7 * 8 * ************************************************* 40 41 42 43 44 45 46 47 ------------------------------------------------- *-SCADA SEL-*SCADB* MARK* VMA * ARM * -SH/ARMM- * * 2 * 1 * SEL2* * SEL2* SEL4* SEL2* SEL1* WD 3 ************************************************* 48 49 50 51 52 53 54 55 ------------------------------------------------- * ---------MEM--------- * BR * COND* BRX * COND* * 0 * 1 * 2 * 3 * LOAD* 3 * LOAD* 4 * ************************************************* 56 57 58 59 60 62 ------------------------------------------------- * ----FM ADR----- * COND*SCADB* * SCM * * * 4 * 2 * 1 * 5 * SEL1* * SEL2* * WD 4 ************************************************* 64 66 68 70 ------------------------------------------------- * ARM * * ARM * * ARXM* * ARXM* * * SEL2* * SEL1* * SEL2* * SEL1* * ************************************************* 72 74 76 78 ------------------------------------------------- * VMA * * AD * * T00 * * T01 * * * SEL1* * CRY * * * * * * WD 5 ************************************************* 0 1 2 3 4 ------------------------------- * -----------DISP/SPEC------- * * 0 * 1 * 2 * 3 * 4 * WD 6 ******************************* DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.2 ADDITIONAL EXPLANATIONS ON OPERATIONS ------------------------------------- SM -- STARTS MICRO-CODE PROCESSOR AND CONDITIONS THE -10 TO SUPPORT EXAMINE/DEPOSIT. PERFORMS: "STOP 10" "MASTER RESET" EXECUTES THE FOLLOWING 10 INSTRUCTIONS: 1. IO SYSTEM CLEAR 2. PI SYSTEM CLEAR ST ADR ------ START -10 RUNNING AN ACTUAL PDP-10 PROGRAM AT THE ADDRESS SUPPLIED. ASSUMES THAT THE MICRO-CODE IS LOADED AND RUNNING AND THAT THE MACRO PROCESSOR IS RUNNING IN THE MICRO-CODE HALT LOOP. THE ACTUAL PROGRAM IS STARTED BY INSERTING THE ADDRESS SUPPLIED INTO A "JRST" INSTRUCTION MAKING IT A "JRST ADR". THAT INSTRUCTION IS THEN EXECUTED, THE RUN FLOP SET AND THE CONTINUE BUTTON SET. STD STM DDT --- --- --- PERFORMS FULL SYSTEM RESET OF APR, PI, PAG THEN DOES AS "ST ADR" USING DEFINED STARTING ADDRESSES. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.2 ADDITIONAL EXPLANATIONS ON OPERATIONS ------------------------------------- EX INST ------- PERFORMS AN EXECUTE OF THE SUPPLIED 36 BIT PDP-10 INSTRUCTION. ASSUMES THAT THE RUN FLOP IS CLEAR AND THAT THE MICRO-CODE PROCESSOR IS RUNNING AND WAITING FOR THE RUN FLOP TO GO TRUE. PERFORMS: 1. STOP THE CLOCK 2. SETUP TO LOAD "AR"/"IR" 3. WRITE E-BUS & SINGLE STEP CLOCK 4. RELINQUISH BUS CONTROL 5. START THE CLOCK 6. PRESS CONTINUE BUTTON EXP INST -------- PERFORMS AN EXECUTE AND PRINT OF THE SUPPLIED INSTRUCTION. SAME OPERATION AS "EX" BUT SINGLE STEPS THE CLOCK AND PRINTS THE C-RAM AND ALL REGISTERS FOR EACH CLOCK STEP. PERFORMS CLOCKS TO GET THE MICRO-CODE STARTED AND THEN CLOCKS AND PRINTS UNTIL THE MICRO-CODE RETURNS TO THE "HALT LOOP". EXT INST -------- PERFORMS AN EXECUTE SETUP FOR THE "TRACE" PROGRAM BY LOADING THE INSTRUCTION INTO THE AR AND SETTING CONTINUE WITH THE CLOCK STOPPED. SI -- SINGLE INSTRUCT THE -10 MACRO PROCESSOR BY PRESSING THE "CONTINUE" BUTTON. ASSUMES THAT THE MICRO-CODE PROCESSOR IS RUNNING AND WAITING FOR THE RUN FLOP TO GO TRUE. SI NUM -- --- PERFORM NUM SINGLE INSTRUCT OPERATIONS SIP --- PERFORMS A SINGLE INSTRUCT AND PRINT. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.3 DIAGNOSTIC CONSOLE TELETYPE OPERATIONS A. TELETYPE FUNCTION CONTROL COMMANDS 1. TP NUM ;SET TTY PAGE SIZE 2. TW NUM ;SET TTY PAGE WIDTH 3. TF NUM ;SET TTY FILL CONTROL TP NUM ------ THIS COMMAND SETS THE TTY FOR THE NUMBER OF LINES ON A PAGE. IF THE NUMBER SET FOR LINES ON A PAGE IS NON-ZERO, THE DIAGNOSTIC TERMINAL HANDLER WILL SUSPEND OUTPUT (WITH THE PRINT HEAD AT THE END OF THE LAST LINE OUTPUT) AFTER EXACTLY N LINES OF CONSECUTIVE OUTPUT WITH NO INTERVENING INPUT. WHEN A PROGRAM ASKS FOR INPUT THE TERMINAL HANDLER RESETS THE DOWN COUNTER TO N. THE OPERATOR MAY CONTINUE OUTPUT BY TYPING (XON). TP 0 ---- THIS COMMAND TURNS OFF THE AUTOMATIC PAGE FEATURE AND IS THE DEFAULT INITIAL SETTING. TW NUM ------ THIS COMMAND SETS THE TTY PAGE WIDTH. DEFAULT INITIAL SETTING IS 80. MININUM ALLOWED SETTING IS 10 AND MAXIMUM IS 132. A FREE CR/LF IS INSERTED INTO THE TTY OUTPUT IF THE LINE LENGTH EXCEEDS THIS COUNT. TF NUM ------ THIS COMMAND SETS THE TTY FILL COUNT. ALLOWED FILL COUNTS ARE: 0 = 110 BAUD ;NO FILLERS 1 = 150 BAUD ;NO FILLERS 2 = 300 BAUD ;CR = 9 LF = 0 3 = 600 BAUD ;CR = 1 LF = 1 4 = 1200 BAUD ;CR = 2 LF = 2 5 = 2400 BAUD ;CR = 4 LF = 4 DEFAULT INITIAL FILL COUNT SETTING IS 2 (300 BAUD). BELL HAS 2 FILLERS REGARDLESS OF BAUD RATE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.3 DIAGNOSTIC CONSOLE TELETYPE OPERATIONS (CON'T) B. TELETYPE SPECIAL CHARACTER FEATURES XOFF (^S) ---- THE OPERATOR MAY STOP OUTPUT ON THE TTY AT ANY TIME BY TYPING IN XOFF (CONTROL S). THE XOFF DOES NOT ECHO AND IS DISCARDED BY THE TERMINAL HANDLER SO THE DIAGNOSTIC PROGRAMS NEVER SEE IT. THE OUTPUT IS STOPPED IMMEDIATELY WITH THE CURSOR LEFT AFTER THE LAST CHARACTER OUTPUT. BY LEAVING THE CURSOR AT THE END OF THE PARTIAL LINE, IT SERVES AS A WARNING TO THE OPERATOR THAT HE HAS STOPPED OUTPUT AND THE DIAGNOSTIC IS WAITING FOR HIM TO TYPE XON TO CONTINUE OUTPUT. XON (^Q) --- THE OPERATOR MAY CONTINUE OUTPUT WHICH HAS BEEN STOPPED BY TYPING XON (CONTROL Q). THE XON DOES NOT ECHO AND THE TERMINAL HANDLER DOES NOT PASS IT ON TO THE THE DIAGNOSTIC PROGRAM. CONTROL O (^O) --------- A CONTROL O (^O) TYPED DURING A TELETYPE PRINTOUT FUNCTION PREVENTS THE REMAINDER OF THE CURRENT LINE FROM BEING PRINTED. TELETYPE PRINTOUT IS TURNED BACK ON FOR THE NEXT ^O, FOR FORCED PRINTOUT AND WHEN TTY INPUT IS REQUESTED. CONTROL L (^L) --------- A CONTROL L (^L) TYPED DURING INPUT OR OUTPUT COMPLEMENTS THE LINE PRINTER SELECTION FLAG TO DIRECT ALL NORMAL TYPEOUT TO THE TELETYPE OR TO THE LINE PRINTER. (ONLY IF LP SELECTED.) CONTROL X (^X) --------- A CONTROL X (^X) TYPED DURING PDP-10 TELETYPE OPERATIONS WILL PERFORM A CONSOLE COMMAND WITH THE FOLLOWING DATA. THE PDP-10 OPERATION IS THEN CONTINUED FROM THE POINT OF INTERRUPTION. DURING MONITOR TTY SUPPORT A CONTROL X (^X) WILL CAUSE THE CONSOLE TO REVERT TO CONSOLE COMMAND MODE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 3.3 DIAGNOSTIC CONSOLE TELETYPE OPERATIONS (CON'T) C. "KLINIK" REMOTE TERMINAL OPERATIONS THE FIELD SERVICE REMOTE DIAGNOSTIC TERMINAL (KLINIK) IS ENABLED, IF OFF, BY TYPING "KLINIK" ON THE CONSOLE TTY. IT IS DISABLED BY THE SECOND TYPIN OF "KLINIK". THE CONSOLE TTY IS THE ONLY ONE THAT CAN ENABLE THE USE OF "KLINIK". THE REMOTE TTY MUST HAVE DAILED IN AND ESTABLISHED CONTACT BEFORE THE "KLINIK" COMMAND IS TYPED ON THE CONSOLE TTY. IF AT ANY TIME THE DL11E LOOSES "CLEAR TO SEND" THE "KLINIK" TERMINAL WILL BE DISCONNECTED. THE REMOTE USER MAY DISCONTINUE USE OF THE "KLINIK" FACILITY BY TYPING "KLINIK" AND SHOULD DO SO BEFORE HANGING UP. IF THE CONSOLE IS POWERED OFF AND THEN POWERED BACK UP THE "KLINIK" FACILITY IS AUTOMATICALLY CLEARED. THE LOCAL CONSOLE USER MUST THEN TYPE "KLINIK" TO REESTABLISH THE "KLINIK" FACILITY. D. LINE PRINTER OPERATIONS LP -- THIS COMMAND ASK THE FOLLOWING QUESTION FOR LINE PRINTER SELECTION. LINE PRINTER, Y OR N ? - THE LINE PRINTER IS THEN USED ACCORDINGLY. IF THE LINE PRINTER GOES OFF LINE OR HAS AN ERROR WHILE RUNNING THE LINE PRINTER SELECTION FLAG IS CLEARED AND THE PRESENT MESSAGE LINE AND SUBSEQUENT LINES ARE THEN PRINTED ON THE LINE PRINTER UNTIL THE LPT IS AGAIN SELECTED. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.0 PDP-11 SUBROUTINE CALLS THE FOLLOWING COMMANDS (SUPER-SET INSTRUCTIONS) ARE USED TO CALL THE VARIOUS SUBROUTINES. THE MAJORITY OF THESE SUBROUTINES ARE EMT CALLS AND EITHER AN ARGUMENT IS PASSED TO THE SUBROUTINE IN REGISTER R0 OR AN ARGUMENT IS RETURNED IN REGISTER R0. OPERATOR DEFINITION - SUBROUTINE CALLS FATAL ;FATAL PROGRAMMING ERROR. ERRHLT ;PROGRAM HALT, ONLY IF "ERSTOP" SWITCH SET PRGHLT ;PROGRAM HALT, DON'T CHECK SWITCH DFLEGAL ;DIAGNOSTIC FUNCTION LEGALITY CHECK RUNLP ;CONSOLE IDLE RUN LOOP TTILIN ;READ TTY LINE INPUT INTO BUFFER TTILNW ;READ TTY LINE INPUT, WAIT FOREVER TTICCL ;PROCESS TTY INPUT FROM INDIRECT CCL BUFFER TTICHR ;INPUT A CHARACTER FROM BUFFER TTBACK ;BACKUP INPUT BUFFER POINTER 1 CHAR TTLOOK ;LOOK FOR A TTY INPUT TTIOCT ;INPUT AN OCTAL NUMBER FROM BUFFER TTCOCT ;INPUT & CHECK OCTAL, RTN IF OK TTOCTE ;INPUT EVEN OCTAL NUMBER TTIDEC ;INPUT A DECIMAL NUMBER FROM BUFFER TTIYES ;ASK YES-NO, N-BIT ON NO, C-BIT ON ERROR TTALTM ;ALT-MODE CHECK, C-BIT SET ON NON-ALT-MODE TTI36 ;READ 36 DIGIT NUMBER FROM BUFFER TTIBRK ;GET NUMBER INPUT BREAK CHARACTER TTISDL ;SPACE DELETE, C-BIT SET ON NON-NUMBER TTISDO ;SPACE DELETE & OCTAL INPUT, RTN IF OK TTIS36 ;SPACE DELETE & 36BIT INPUT, RTN IF OK TTICRA ;INPUT C-RAM ADDRESS TTITRM ;CHECK INPUT TERMINATOR, RTN IF OK TTBTRM ;BACKUP, THEN " TTERM ;NUMBER TERMINATION CHECK TTPINI ;INITIALIZE INPUT & OUTPUT BUFFER POINTERS DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.0 PDP-11 SUBROUTINE CALLS (CON'T) OPERATOR DEFINITION - SUBROUTINE CALLS PNTAL ;PRINT ASCII LINE, ADDRESS IN R0 $PMSG ;PRINT MESSAGE, TRAILING PARAMETER $PMSGR ;PRINT MESSAGE, UNLESS IN REPEAT MODE PNTCHR ;PRINT ASCII CHARACTER IN R0 PNTCI ;PRINT CHAR IMMEDIATE, 1 OR 2 CHARS TRAILING PNTNBR ;PRINT NUMBER PCRLF ;PRINT CR-LF PSPACE ;PRINT A SPACE PSLASH ;PRINT A SLASH PCOMMA ;PRINT A COMMA PTAB ;PRINT A TAB PNTOCT ;PRINT OCTAL NUMBER IN R0 PNTOCS ;PRINT OCTAL IN R0, SUPPRESS LEADING ZEROS PNTDEC ;PRINT DECIMAL NUMBER IN R0 PNT18 ;PRINT LOWER 18 OF 36 BIT NUMBER PNT23 ;PRINT LOWER 23 OF 36 BIT NUMBER PNT36 ;PRINT 36 BIT NUMBER PNT36B ;PRINT 36 BIT NUMBER IN BINARY PNTADR ;PRINT PDP-10 ADDRESS PFORCE ;SET FORCED PRINTOUT FLAG PNORML ;CLEAR FORCED PRINTOUT FLAG PBELL ;DING THE TTY BELL PNTODC ;PRINT SPECIFIED OCTAL DIGITS PNTODT ;PRINT SPECIFIED DIGITS, TRAILING PARAMETER PRINTT ;PRINT, TTY OUTPUT PTTY ;PRINT, TTY DRIVER PLPT ;PRINT, LPT DRIVER PLDBUF ;PRINT LOAD BUFFER PNTBAK ;PRINT, BACKUP OUTPUT INSERTION POINTER PNTRST ;PRINT, RESET OUTPUT POINTERS REGSAV ;SAVE R0 THRU R5 REGRST ;RESTORE R0 THRU R5 SHIFTR ;SHIFT R0 RIGHT, TRAILING PARAMETER SHIFTL ;SHIFT R0 LEFT, TRAILING PARAMETER PROL36 ;ROTATE LEFT 36 BITS SETFLG ;SET -1 TO FLAG WORD, TRAILING PARAMETER MULTPY ;MULTIPLY TDELAY ;SMALL TIME DELAY SWITCH ;READ THE SWITCH REGISTER, RETURNED IN R0 SWTSAM ;RETURN PRESENT STORED SWITCHES IN R0 DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.0 PDP-11 SUBROUTINE CALLS (CON'T) OPERATOR DEFINITION - SUBROUTINE CALLS EOP ;END OF PASS ROUTINE, RETURNS IF NOT COMPLETED ERREOP ;ERROR END OF PASS, RETURNS IF STANDALONE EOPSET ;SET END OF PASS PRINTOUT INTERVAL COMCMD ;COMMUNICATIONS COMMAND COMRTRY ;COMMUNICATIONS COMMAND RETRY COMENQ ;COMMUNICATIONS ENQUIRY COMEOT ;COMMUNICATIONS END OF TRANSMISSION COMLIN ;COMMUNICATIONS LINE INPUT COMSND ;COMMUNICATIONS LINE OUTPUT COMACK ;COMMUNICATIONS ACKNOWLEDGE COMNAK ;COMMUNICATIONS NEGATIVE ACKNOWLEDGE COMCLR ;COMMUNICATIONS CLEAR COMCTL ;COMMUNICATIONS CONTROL SEQUENCE NAMEXT ;FILE NAME.EXT PROCESS DTAFILE ;DECTAPE FILE LOOKUP RPFILE ;RP04 FILE LOOKUP R50UPK ;RAD50 TO ASCII UNPACK ASCR50 ;ASCII TO RAD50 CONVERSION DTINIT ;DECTAPE INITIALIZATION RPINIT ;RP04 INITIALIZATION RPLOAD ;RP04 LOAD PACK DVDATA ;DEVICE DATA BLOCK READ DTRDFL ;DECTAPE READ FILE DATA BLOCK DTWRFL ;DECTAPE WRITE FILE DATA BLOCK DTBASE ;RETURN DECTAPE PARAMETER BASE ADDRESS DTREAD ;DECTAPE READ DTWRT ;DECTAPE WRITE RPFIND ;RP04 FIND FILE RPLKUP ;RP04 FILE DIRECTORY LOOKUP RPRDFL ;RP04 READ FILE DATA BLOCK RPWRFL ;RP04 WRITE FILE DATA BLOCK RPREAD ;RP04 READ RPWRIT ;RP04 WRITE RPADDR ;RP04 ADDRESS CALCULATION RPBASE ;RETURN RP04 PARAMETER BLOCK BASE ADDRESS RPERROR ;RP04 ERROR REPORTER DVFRAM ;DEVICE BYTE FRAME READ DVWRD ;DEVICE DATA WORD READ DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.0 PDP-11 SUBROUTINE CALLS (CON'T) OPERATOR DEFINITION - SUBROUTINE CALLS RXFILE ;RX11/RX01 FLOPPY FILE SELECTION RXINIT ; FLOPPY INITIALIZATION RXRDFL ; FLOPPY READ FILE RXWTFL ; FLOPPY WRITE FILE RXBASE ; FLOPPY PARAMETER BLOCK BASE ADDRESS RXREAD ; FLOPPY READ RXWRT ; FLOPPY WRITE WCRAM ;WRITE IN TO C-RAM RCRAM ;READ THE C-RAM WWADR ;WRITE C-RAM ADDRESS MICNUL ;MICRO CODE C-RAM ZERO MICFIL ;MICRO CODE C-RAM FILL WITH ONES MRESET ;MASTER RESET TENSW ;TEN SWITCHES TENSP ;STOP TEN TENCHR ;TEN LAST TYPED CHAR SM ;START UCODE IN HALT LOOP ;TO SUPPORT EXAM DPOS AND EXCT EXCT ;EXECUTE PDP-10 INSTR, REQUIRES SM LODAR ;SPECIAL AR LOAD FOR XCT AND MBOX TEST, ;ASSUMES UCODE IS FUNCTIONING SETMPH ;SET M-BOX PHASE ECLOK ;E-BOX CLOCK ESYNC ;E-BOX SYNC CLKPRM ;RETURN ADDRESS OF CLOCK DEFAULT WORD DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.0 PDP-11 SUBROUTINE CALLS (CON'T) OPERATOR DEFINITION - SUBROUTINE CALLS EXAM ;EXAMINE 10 MEMORY EXAMT ; " , TRAILING PARAMETERS DPOS ;DEPOSIT INTO 10 MEMORY DPOST ; " , TRAILING PARAMETERS DPOSVR ;DEPOSIT AND VERIFY 10 MEMORY DPOSVT ; " , TRAILING PARAMETERS D10MON ;DEPOSIT -1 INTO 10 FLAG WORD D10ZRO ;MEMORY ZERO PDP-10 CMPR36 ;COMPARE 5 BYTE 36-BIT WORD DTEBAS ;RETURN BASE ADDRESS OF DTE20 DFXCT ;DIAGNOSTIC FUNCTION EXECUTE DFXCTT ;DF EXECUTE, TRAILING PARAMETER DFRD ;DIAGNOSTIC FUNCTION READ DFRDT ;DF READ, TRAILING PARAMETER DFRDMV ;DIAGNOSTIC FUNCTION READ & MOVE DFWRT ;DIAGNOSTIC FUNCTION WRITE DFWRTT ;DF WRITE, TRAILING PARAMETERS DFWIR ;DIAGNOSTIC FUNCTION WRITE IR DFSCLK ;DIAGNOSTIC FUNCTION, SINGLE STEP CLOCK DFPC ;DIAGNOSTIC FUNCTION, READ PC DFVMA ;DIAGNOSTIC FUNCTION, READ VMA DFADB ;DIAGNOSTIC FUNCTION, READ ADR BREAK DFVMAH ;DIAGNOSTIC FUNCTION, READ VMA HELD RDRAM ;READ D-RAM WDRAM ;WRITE D-RAM DRAMAD ;SELECT D-RAM ADDRESS BURST ;BURST THE M-BOX CLOCK PNTCPU ;PRINT CPU, C-RAM & REGISTERS PNTCRM ;PRINT C-RAM, LOGICAL FIELD FORMAT PNTDRM ;PRINT D-RAM, LOGICAL FIELD FORMAT PRGCMD ;PROGRAM COMMAND PRGNPT ;PROGRAM COMMAND, NO PRINTING DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.1 BASIC INITIALIZATION AND PROGRAM ERRORS A. FATAL FATAL PROGRAM ERROR, USED TO REPORT ERRORS THAT CAN NEVER OCCUR UNLESS THERE IS A CODING ERROR OR TO END A CONDITION SKIPPING CHAIN THAT SHOULDN'T EVER GET TO THE END. NO ARGUMENTS B. ERRHLT ERROR HALT, TAKES CARE OF THE CONDITIONS OF STANDALONE OR DIAGNOSTIC MONITOR OPERATION AND PERFORMS THE PROPER HALTING SEQUENCE. THE "ERSTOP" SWITCH MUST BE SET TO HALT. C. PRGHLT PROGRAM HALT, SAME AS "ERRHLT" EXCEPT DOES NOT CHECK THE "ERSTOP" SWITCH. D. DFLEGAL DIAGNOSTIC FUNCTION LEGALITY CHECK, THIS TESTS THE PDP-10 LOGICALLY RUNNING FLOP AND ALLOWS THE FUNCTION IF THE PDP-10 IS NOT RUNNING. IF IT IS RUNNING, THE OPERATOR COMMAND IS ABORTED AND THE FOLLOWING MESSAGE PRINTED ON THE CONSOLE: "?KL10 RUNNING, TYPE "SP" FIRST" E. RUNLP CONSOLE IDLE RUN LOOP, DOES "TTILIN" TO INPUT CONSOLE COMMANDS IF NOT SUPPORTING PDP-10 OPERATION. IF SUPPORTING PDP-10 OPERATIONS, MONITORS PDP-10 STATUS AND PERFORMS PDP-10 COMMAND OPERATIONS. IF ALSO SUPPORTING PDP-10 MONITOR OPERATIONS, CAUSES THE CONSOLE TO PERFORM AS A TIME-SHARING USERS TERMINAL. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.2 TELETYPE INPUT A. TTILIN USAGE: ADR: TTILIN ;CALL ADR+2 BCS A ;NO RESPONSE RETURN ADR+4 NEXT INST ;LINE IN INPUT BUFFER PERFORMS CALL TO TELETYPE INPUT SUBROUTINE WHICH INPUTS AND STORES TYPED CHARS IN THE INPUT BUFFER UNTIL EITHER A CARRIAGE RETURN OR ALTMODE IS TYPED. IF NO RESPONSE AT THE TTY IN APPROX 3 MINUTES PER CHARACTER WAIT THE SUBROUTINE RETURNS WITH THE C-BIT SET. SPECIFICATIONS: 1. CLEARS INPUT BUFFER UPON ENTRY 2. INPUTS TILL CR OR ALTMODE 3. BUFFER SIZE OF 140 CHARACTERS 4. TTY INPUT BUFFER STARTS AT "$INBUF" 5. IF CR IS TYPED, IT PLUS LINE FEED IS ECHOED AND PUT IN BUFFER 6. IF CONTROL C (^C) IS TYPED, JUMPS TO "CNTLC" 7. NULLS ARE IGNORED 8. INPUT & CHAR PICKUP POINTER IN "$INPTR" 9. DEPRESSING THE "RUBOUT" KEY "N" TIMES CAUSES THE LAST "N" CHARACTERS TO BE DELETED. THE DELETED CHARACTERS ARE ECHOED ON THE TTY ENCLOSED IN BACKSLASHES (\). DEPRESSING CONTROL U(^U) CAUSES DELETION OF THE CURRENT LINE. THE PROGRAM WILL RESPOND BY ECHOING ^U FOLLOWED BY CARRIAGE RETURN-LINE FEED AND WAIT FOR AN INPUT CHARACTER. A.1 TTILNW PERFORMS AS GIVEN UNDER "TTILIN" EXCEPT WAITS FOREVER FOR TELETYPE INPUT. A.2 TTICCL PROCESSES CHARACTERS FROM THE INDIRECT FILE BUFFER INTO THE TELETYPE INPUT BUFFER FOR SUBSEQUENT PROGRAM PROCESSING. RETURNS WITH C-BIT CLEAR WITH A LINE IN THE INPUT BUFFER IF ANY DATA WAS AVAILABLE IN THE INDIRECT BUFFER. RETURNS WITH THE C-BIT SET WHEN ALL OF THE INDIRECT FILE IS PROCESSED. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.2 TELETYPE INPUT (CON'T). B. TTICHR BASIC INPUT BUFFER PROCESSING ROUTINE. RETURNS CHARACTERS FROM INPUT BUFFER IN R0. USAGE: ADR: TTICHR ;CALL ADR+2 BCS A ;NO CHARS IN BUFFER ADR+4 NEXT INST ;CHAR IN R0 B.1 TTBACK PERFORMS A POINTER BACKUP OF THE INPUT BUFFER POINTER. USED TO REPROCESS A CHARACTER FROM THE INPUT BUFFER. RETURNS WITH THE C-BIT CLEAR IF THE POINTER IS NOT AT THE BEGINNING OF THE BUFFER, OTHERWISE RETURNS WITH THE C-BIT SET. USAGE: ADR: TTBACK ;CALL ADR+2 BCS A ADR+4 NEXT INST C. TTLOOK TELETYPE KEYBOARD CHECK ROUTINE CHECKS FOR ANY KEY STRUCK, RETURNS IMMEDIATELY. RETURNS WITH C-BIT SET IF NO TYPEIN, R0 CLEAR RETURNS WITH C-BIT CLEAR IF TYPEIN, R0 CONTAINS CHARACTER ALSO SETS "INHIBIT TYPEOUT ABORT TYPEIN CHECKS" TO ALLOW A FOLLOWING "TTLOOK" TO INPUT THE CHARACTER. USAGE: ADR: TTLOOK ;CALL ADR+2 BCS A ;NO TELETYPE INPUT ADR+4 NEXT INST ;DATA IN INPUT BUFFER DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.2 TELETYPE INPUT (CON'T). D. TTIOCT USAGE: ADR: TTIOCT ;CALL ADR+2 BCS A ;NO DATA OR NON OCTAL ADR+4 NEXT INST ;16 BITS IN R0 PERFORMS CALL TO CONVERT CHARS IN INPUT BUFFER TO OCTAL DATA. ALLOWS UP TO 6 OCTAL CHARS TO BE CONVERTED IN ONE INPUT NUMBER STRING. THIS ALLOWS FOR UP TO 16 BITS OF DATA TO BE RETURNED IN R0. E. TTCOCT PERFORMS A "TTISDL" & "TTIOCT" AND RETURNS IF OCTAL NUMBER IS OK, OTHERWISE REPORTS "PARAMETER ERROR" AND RETURNS TO CONSOLE LEVEL. E.1 TTOCTE PERFORMS "TTCOCT" AND ADDITIONALLY CHECKS THAT NUMBER IS EVEN. F. TTIDEC USAGE: ADR: TTIDEC ;CALL ADR+2 BCS A ;NO DATA OR NON DECIMAL ADR+4 NEXT INST ;NUMBER IN R0 PERFORM CALL TO CONVERT CHARS IN INPUT BUFFER TO DECIMAL DATA ALLOWS INPUT OF FROM POSITIVE 32767 TO NEGITIVE 32768. ----------------------------- TTIOCT & TTIDEC ALLOW INPUT OF NEGITIVE NUMBERS IF MINUS (-) IS FIRST CHARACTER OF NUMBER STRING. NUMBER STRING BREAKS ARE: ANY NON ALPHA-NUMERIC CHARACTER ---------------------------- DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.2 TELETYPE INPUT (CON'T). G. TTIYES USAGE: ADR: TTIYES ;CALL ADR+2 BCS B ;NEITHER RETURN ADR+4 BMI A ;NO RETURN ADR+6 NEXT INST ;YES RETURN RETURNS WITH THE C-BIT SET IF NEITHER "Y" OR "N" RESPONSE. RETURNS WITH THE N-BIT SET IF "N" RESPONSE. BOTH C-BIT & N-BIT CLEAR IF "Y" RESPONSE. I. TTALTM TELETYPE KEYBOARD ALTMODE CHECK ROUTINE PERFORMS A "TTLOOK" AND IF THE CHARACTER TYPED WAS AN ALTMODE, RETURNS WITH C-BIT CLEAR. USAGE: ADR: TTALTM ;CALL ADR+2 BCC A ;ALTMODE RETURN ADR+4 NEXT INST ;NON-ALTMODE RETURN J. TTI36 USAGE: ADR: TTI36 ;CALL ADR+2 BCS A ;NO DATA OR NON OCTAL ADR+4 NEXT INST ;ADDRESS OF DATA IN R0 PERFORMS CALL TO CONVERT CHARACTERS IN INPUT BUFFER TO OCTAL DATA. ALLOWS UP TO 12 OCTAL CHARACTERS IN AN INPUT NUMBER STRING. ADDRESS OF LEAST SIGNIFICANT PORTION OF DATA RETURNED IN R0. NEXT 16 BITS OF DATA IN THAT ADDRESS +2. NEXT 4 BITS OF DATA IN THAT ADDRESS +4. FORMAT OF 36 BIT STORED DATA: ADR: BITS 20-35 ADR+2 BITS 04-19 ADR+4 BITS 00-03 IN LOW 4 BITS OF WORD DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.2 TELETYPE INPUT (CON'T). K. TTIBRK USAGE: ADR: TTIBRK ;CALL ADR+2 BCS A ;NO DATA ADR+4 NEXT INST ;BREAK CHARACTER IN R0 PERFORMS CALL TO GET THE BREAK CHARACTER USED TO END NUMBER INPUTS. L. TTISDL USAGE: ADR: TTISDL ;CALL ADR+2 BCS A ;NON-NUMBER RETURN ADR+4 NEXT INST ;NUMBER RETURN PERFORMS CALL TO DELETE SPACES AND TABS FROM INPUT BUFFER. DOES C-BIT CLEAR RETURN IF NEXT CHAR IN INPUT BUFFER IS 0 TO 9, + OR -. C-BIT SET RETURN IF ANY OTHER CHARACTER. C-BIT & V-BIT SET IF COLON OR SLASH. C-BIT & Z-BIT SET IF UPARROW. M. TTISDO USAGE: ADR: TTISDO ;CALL ADR+2 NEXT INST ;OCTAL NUMBER IN R0 PERFORMS "TTISDL" & "TTIOCT" TO GET OCTAL NUMBER INPUT. IF NON-OCTAL NUMBER, PRINTS "PARAMETER ERROR" AND RETURNS TO CONSOLE. OCTAL NUMBER MUST BE POSITIVE ALSO. N. TTIS36 PERFORMS "TTISDL" & "TTI36" TO GET 36 BIT NUMBER INPUT. IF IMPROPER INPUT, PRINTS "PARAMETER ERROR" AND RETURNS TO CONSOLE. O. TTICRA PERFORMS "TTISDO" TO GET OCTAL NUMBER AND THEN VALIDITY CHECKS FOR A VALID C-RAM ADDRESS. IF INVALID, PRINTS "ADR ERR" AND RETURNS TO CONSOLE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.2 TELETYPE INPUT (CON'T). P. TTITRM PERFORMS COMMAND TERMINATION VALIDITY CHECKING. IF INVALID PRINTS "PARAMETER ERR" AND RETURNS TO CONSOLE. VALID TERMINATORS ARE: NULL, SPACE, TAB, COMMA, CARRIAGE RETURN. Q. TTBTRM BACKS UP INPUT CHARACTER POINTER ONE CHARACTER AND THEN PERFORMS "TTITRM". R. TTPINI INITIALIZE THE INPUT AND OUTPUT TELETYPE BUFFER POINTERS. 4.3 PRINT OUTPUT 1. MESSAGES ARE CREATED IN AN OUTPUT BUFFER 2. BUFFER SIZE IS 140 CHARACTERS 3. WHEN A LINE-FEED IS DETECTED ON INSERTION INTO THE BUFFER THE OUTPUT BUFFER IS THEN SENT TO THE TELETYPE. THIS CAN ALSO BE CAUSED TO HAPPEN ON DETECTION OF AN UNDERSCORE (_) INSERTION INTO THE OUTPUT BUFFER. 4. TO INSERT CARRIAGE RETURN-LINE FEED SEQUENCE INTO ASCIZ MESSAGES WITHOUT THE PDP-11 KLUDGE USE THE CHARACTER BACKSLASH (\). 5. THE OUTPUT BUFFER STARTS AT "$OUTBF" 6. CHARACTER INSERTION POINTER IN "$OUTPT". A. PNTAL USAGE: ADR: MOV #MSG,R0 ;SETUP ADDRESS ADR+2 PNTAL ;GO PRINT B. PNTMSG USAGE: ADR: PNTMSG THIS ROUTINE IS A MACRO WHICH GENERATES THE "PNTAL" CALL PLUS GENERATES THE ASCIZ TEXT AS A LITERAL THAT IS PUT BACK IN THE STORAGE SECTION. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.3 PRINT OUTPUT (CON'T). C. $PMSG USAGE: ADR: $PMSG ;PRINT CALL ADR+2 MSGADR ;MESSAGE ADDRESS D. PMSG USAGE: ADR: PMSG THIS ROUTINE IS A MACRO WHICH GENERATES THE "$PMSG" CALL PLUS GENERATES THE ASCIZ TEXT AS A LITERAL THAT IS PUT BACK IN THE STORAGE SECTION. C.1 $PMSGR USAGE: ADR: $PMSGR ;PRINT CALL ADR+2 MSGADR ;MESSAGE ADDRESS D.1 PMSGR USAGE: ADR: PMSGR THIS ROUTINE PERFORMS AS THE "PMSG" EXCEPT THAT IT ONLY PRINTS IF NOT IN THE "R" REPEAT MODE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.3 PRINT OUTPUT (CON'T) E. PNTOCT USAGE: ADR: MOV ADR,R0 ADR+2 PNTOCT THIS PRINTS CONTENTS OF ADR USAGE: ADR: MOV #NUM,R0 ADR+2 PNTOCT THIS PRINTS NUM AS OCTAL F. PNTOCS PERFORMS AS PNTOCT EXCEPT SUPPRESSES LEADING ZEROS G. PNTODC PRINT OCTAL NUMBER IN R0 AS SPECIFIED BY THE COUNT IN R1. CAN PRINT FROM 1 TO 6 OCTAL DIGITS. USAGE: ADR: MOV #SPEC,R1 ;NUM OF DIGITS ADR+2 MOV NUM,R0 ;OCTAL NUMBER ADR+4 PNTODC ;PRINT CALL G.1 PNTODT PRINT OCTAL NUMBER IN R0 AS SPECIFIED BY THE TRAILING PARAMETER. USAGE: ADR: PNTODT ;PRINT CALL ADR+2 SPEC ;SPECIFIED DIGITS TO PRINT H. PNTDEC SAME AS PNTOCT EXCEPT NUMBER IS PRINTED AS SIGNED DECIMAL INTERGER NUMBER. THE RANGE OF THE NUMBER IS +32767. TO -32768. DOT PRINTED AFTER NUMBER TO SIGNIFY DECIMAL. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.3 PRINT OUTPUT (CON'T) I. PNT36 PUT ADDRESS OF DATA IN R0, CALL PNT36 USAGE: ADR: MOV #ADR,R0 ADR+2 PNT36 FORMAT OF DATA IS: ADR: BITS 28-35 ;LOW 8 BIT BYTE ADR+1 BITS 20-27 ADR+2 BITS 12-19 ADR+3 BITS 04-11 ADR+4 BITS 00-03 ;IN LOW 4 BITS OF BYTE I.1 PNT36B THIS COMMAND PRINTS THE 36 BIT NUMBER GIVEN AS SPECIFIED IN "PNT36" EXCEPT IN OCTALLY GROUPED BINARY. J. PNT18 THIS COMMAND PRINTS THE LOWER 18 BITS OF A 36 BIT NUMBER AS 6 OCTAL DIGITS. SAME DATA FORMAT AS "PNT36". J.1 PNT23 THIS COMMAND PRINTS THE LOWER 23 BITS OF A 36 BIT NUMBER AS "2 6" OCTAL DIGITS. SAME DATA FORMAT AS "PNT36". J.2 PNTADR THIS COMMAND PRINTS EITHER IN "PNT23" FORMAT OR IN "PNT18" FORMAT IF PDP-10 ADDRESS BITS 14-17 ARE ZERO. K. PNTCHR THIS PRINTS 1 ASCII CHARACTER USAGE: ADR: MOV #CHR,R0 ADR+2 PNTCHR L. PNTNBR THIS PRINTS THE 3 LEAST SIGNIFICANT BITS IN R0 AS AN OCTAL DIGIT. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.3 PRINT OUTPUT (CON'T) M. PCRLF THIS PRINT A CARRIAGE RETURN & LINE FEED N. PSPACE THIS PRINTS A SPACE O. PSLASH THIS PRINTS A SLASH (/) P. PCOMMA THIS PRINTS A COMMA (,) Q. PTAB THIS PRINTS A TAB R. PFORCE THIS CALL SETS THE FORCED PRINTOUT FLAG SO FOLLOWING PRINT CALLS GET PRINTED EVEN IF THE "NOPNT" SWITCH IS SET. THIS FLAG IS SET BY THE CONSOLE PROGRAM FOR COMMAND PRINTING AND THEN CLEARED WHILE EXECUTING THE GIVEN COMMANDS. S. PNORML THIS CALL RESETS THE FORCED PRINTOUT FLAG. T. PBELL THIS CALL SENDS A BELL TO THE TTY. U. PNTBAK PERFORMS A POINTER BACKUP OF THE OUTPUT BUFFER INSERTION POINTER. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.3 PRINT OUTPUT (CON'T) V. PNTCI PERFORMS AN IMMEDIATE CHARACTER PRINT, USING THE 1 OR 2 CHARACTERS FOLLOWING AS A TRAILING PARAMETER. W. PNTRST RESETS THE PRINT OUTPUT INSERTION POINTER AND THE PRINT POSITION POINTER. RETURNS THE OUTPUT BUFFER ADDRESS IN R0. 4.4 REGISTER SAVE AND RESTORE A. REGSAV THIS SAVES R0 THRU R5 ON THE STACK. B. REGRST THIS RESTORES TO R0 THRU R5 THE REGISTERS PREVIOUSLY SAVED BY A "REGSAV" ROUTINE. 4.5 SHIFT RIGHT/LEFT ROUTINES A. SHIFTR THIS SHIFTS R0 RIGHT THE PLACES SPECIFIED BY THE TRAILING PARAMETER. USAGE: ADR: SHIFTR ;ROUTINE CALL ADR+2 COUNT ;PLACES TO SHIFT R0 B. SHIFTL THIS SHIFTS R0 LEFT THE PLACES SPECIFIED BY THE TRAILING PARAMETER. USAGE: ADR: SHIFTL ;ROUTINE CALL ADR+2 COUNT ;PLACES TO SHIFT R0 C. PROL36 THIS SHIFTS THE 36 BIT WORD POINTED TO BY R1 LEFT THE NUMBER OF PLACES SPECIFIED IN R3. USAGE: ADR: MOV #ADR,R1 ;ADR OF 36 BITS ADR+2 MOV #CNT,R3 ;SHIFT COUNT ADR+4 PROL36 ;CALL DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 4.6 MISCELLANEOUS A. SETFLG THIS SETS -1 TO THE FLAG WORD SPECIFIED BY THE ADDRESS GIVEN IN THE TRAILING PARAMETER. USAGE: ADR: SETFLG ;CALL ADR+2 FLAG WD ;ADDRESS B. TDELAY THIS PROVIDES A SMALL TIME DELAY 5.0 CONTROL SWITCH ROUTINE PDP-11 - ALL 16 BITS READ FROM ACTUAL CONSOLE SWITCHES A. SWITCH SWITCHES RETURNED IN R0. B. SWTSAM RETURNS SAME SWITCHES AS LAST READ BY "SWITCH" CALL. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 6.0 END OF PROGRAM PASS OPERATIONS THESE ROUTINES PROVIDE THE PROGRAM END OF PASS CONTROL AND INDICATES THE END OF A PROGRAM PASS, DECREMENTS THE PROGRAM ITERATION COUNT, INCREMENTS THE PROGRAM PASS COUNT, AND RETURNS TO THE DIAGNOSTIC MONITOR (IF RUNNING IN THAT MODE) WHEN ALL PROGRAM ITERATIONS HAVE BEEN COMPLETED. IF ALL PROGRAM ITERATIONS HAVE NOT BEEN COMPLETED, THE "EOP" CALL RETURNS +2. DURING STANDALONE OPERATION THE "EOP" CALL ALWAYS RETURNS +2. A. EOP USAGE: ADR: EOP ;CALL ADR+2 NEXT INST ;CONTINUE RUNNING THIS "EOP" CALL MUST BE PLACED AT THE END OF THE USERS MAIN TEST CODE OR SUCH THAT IT GETS CALLED WHEN ALL TESTS HAVE BEEN PERFORMED. IT WILL PRINT OUT "END PASS ######" ON THE COMPLETION OF THE FIRST PASS THRU THE PROGRAM AND THEN AT THE INTERVAL SET BY THE "EOPSET" CALL (IF USED) OR WILL DEFAULT TO AFTER EVERY PASS IF THE "EOPSET" CALL HAS NOT BEEN USED. THE NUMBER TYPED OUT IS A DECIMAL NUMBER BETWEEN 1 AND 30000. AT WHICH POINT IT RECYCLES. B. EOPSET USAGE: ADR: MOV #NUM,R0 ;SET EOP INTERVAL ADR+2 EOPSET ;CALL THE NUMBER SUPPLIED IS THE INTERVAL AT WHICH TO INDICATE THE END OF A PASS. C. ERREOP USAGE: ADR: ERREOP ;CALL ADR+2 NEXT INST ;STANDALONE OPERATION THIS "ERREOP" CALL IS USED TO RETURN TO THE DIAGNOSTIC MONITOR, IF RUNNING IN THAT MODE, OR TO RETURN TO THE CONSOLE IF RUNNING STANDALONE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 7.0 COMMUNICATION ROUTINES A. COMCMD USAGE: COMCMD ;CALL BCS EOF ;C-BIT SET FOR EOF 1. PERFORMS "COMSND" TO TRANSMIT OUTPUT MESSAGE TO THE APT10 HOST SYSTEM. 2. PERFORMS "COMLIN" TO RECIEVE REPLY FROM THE APT10 HOST SYSTEM. 3. IF RESPONSE IS A CONTROL SEQUENCE, CHECKS FOR ACKNOWLEDGE AND IF SO EXITS WITH THE ACK CHAR IN R0 AND THE C-BIT CLEAR. IF RESPONSE IS A CONTROL SEQUENCE, CHECKS FOR END OF TRANSMISSION AND IF SO EXITS WITH THE EOT CHAR IN R0 AND THE C-BIT CLEAR. 4. IF RESPONSE IS A NORMAL MESSAGE EXITS WITH R0 CLEAR AND THE C-BIT CLEAR. 5. IF ANY COMMUNICATION ERRORS OCCUR THIS ROUTINE WILL RETRY THREE TIMES. IF THE ERROR PERSISTS THE ROUTINE WILL PRINT "COMM ERR" AND THE ERROR CODE AND CONTROL C ABORT. 6. ERROR CODES ARE: -1 ;NO RESPONSE -2 ;LINE TOO LONG -3 ;MESSAGE NUMBER ERROR -4 ;NO CARRIAGE RETURN -5 ;MESSAGE CHECKSUM ERROR -6 ;INCORRECT MESSAGE FORMAT -7 ;NEGATIVE ACKNOWLEDGE -10 ;UNKNOWN RESPONSE B. COMRTRY THIS ROUTINE PERFORMS ONLY THE TRANSMISSION FUNCTION OF THE "COMSND" ROUTINE TO RETRY A "COMCMD" COMMAND MESSAGE TRANSMISSION. THIS IS A NORMAL PART OF THE "COMCMD" ERROR RETRY PROCEDURE. C. COMENQ THIS ROUTINE REQUESTS SERVICE FROM THE APT10 HOST SYSTEM. THIS PROVIDES A METHOD FOR THE APT10 HOST TO LIMIT MESSAGE INPUT WHEN A HEAVY LOAD CONDITION EXISTS. WHEN THE APT10 HOST IS READY TO PROCEED IT WILL SEND AN ACKNOWLEDGE. IF THE APT10 HOST REQUIRES A WAIT IT WILL SEND AN EOT. THE CONSOLE WILL THEN WAIT 10 SECONDS AND TRY AGAIN. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 7.0 COMMUNICATION ROUTINES (CON'T) D. COMEOT TRANSMITS COMMUNICATIONS END OF TRANSMISSION SEQUENCE. E. COMLIN 1. PERFORMS CALL TO COMMUNICATIONS INPUT ROUTINE WHICH INPUTS AND STORES CHARACTERS FROM THE COMMUNICATIONS LINE IN THE INPUT BUFFER. 2. TERMINATES ON RECEPTION OF A LINE FEED OR ALTMODE CHAR. 3. REQUIRES RECEIPT OF SYNC CHARACTER (OCTAL 001) TO BEGIN LINE PROCESSING. THIS PREVENTS LINE NOISE FROM AFFECTING THE TRANSMISSION. 4. A CONTROL C (^C) TYPED ON THE CONSOLE TTY WILL ABORT THE OPERATION AND RETURN TO THE CONSOLE. 5. THE TELETYPE INPUT BUFFER PROCESSING ROUTINES ARE USED FOLLOWING COMPLETION OF THE "COMLIN" ROUTINE TO PROCESS THE DATA IN THE INPUT BUFFER. 6. A MESSAGE THAT TERMINATES WITH AN ALTMODE SIGNIFIES A CONTROL SEQUENCE, A RETURN IS THEN DONE WITH BOTH THE C & N BIT CLEAR. 7. A MESSAGE THAT TERMINATES WITH A LINE FEED SIGNIFIES A NORMAL MESSAGE, IN THIS CASE THE MESSAGE NUMBER IS VERIFIED, THE MESSAGE CHECKSUM COMPUTED AND CHECKED, IF THE MESSAGE IS CORRECT A RETURN IS THEN DONE WITH THE C-BIT CLEAR AND THE N-BIT SET. 8. IF AN ERRORS EXISTS THE ERROR CODE IS RETURNED IN R0 WITH THE C-BIT SET. ERROR CODES GIVEN UNDER "COMCMD". F. COMSND THIS ROUTINE PERFORMS THE MESSAGE SETUP, MESSAGE NUMBERING AND CHECKSUM CALCULATION FOR NORMAL TYPE MESSAGES. IT THEN TRANSMITTS THE MESSAGE BY CALLING THE "COMRTRY" AND "COMCTL" ROUTINES. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 7.0 COMMUNICATION ROUTINES (CON'T) G. COMACK THIS ROUTINE TRANSMITS THE COMMUNICATIONS ACKNOWLEDGE AND THEN PERFORMS AS GIVEN UNDER "COMCMD" FROM THE "COMLIN" ON TO RECIEVE AND PROCESS THE NEXT MESSAGE SEGMENT. H. COMNAK THIS ROUTINE PERFORMS THE COMMUNICATIONS NEGATIVE ACKNOWLEDGE AND THEN PERFORMS AS GIVEN UNDER "COMCMD" FROM THE "COMLIN" ON TO HOPEFULLY RECIEVE A CORRECT RETRANSMISSION OF THE MESSAGE IN ERROR. I. COMCLR THIS ROUTINE TRANSMITS THE COMMUNICATIONS CLEAR CONTROL SEQUENCE TO ABORT ANY OPERATION CURRENTLY IN PROGRESS. J. COMCTL 1. PERFORMS CALL TO COMMUNICATIONS OUTPUT ROUTINE WHICH TRANSMITS THE MESSAGE. 2. FLUSHES ANY PRESENT COMMUNICATIONS INPUT CHARACTERS. 3. TRANSMITS 2 SYNC CHARS (OCTAL 001) TO SYNCRONIZE LINE. 4. TRANSMITS MESSAGE 5. TERMINATES ON A NULL BYTE DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 8.0 BASIC MACROS A. PUSH THIS MACRO IS USED TO PUT DATA ON THE STACK. CALL: PUSH A ;A IS WHAT GOES ON THE STACK .MACRO PUSH A .IRP B, MOV B,-(SP) ;PUSH B ON STACK .ENDR .ENDM EXAMPLE: PUSH R0 PUSH B. POP THIS MACRO IS USED TO REMOVE DATA FROM THE STACK. CALL: POP A ;A IS WHAT GETS RESTORED FROM ;THE STACK .MACRO POP A .IRP B, MOV (SP)+,B ;POP STACK INTO B .ENDR .ENDM EXAMPLE: POP R0 POP --------------- THE ARGUMENTS CALL ORDER FOR THE "POP" CALL MUST BE THE REVERSE OF THE ARGUMENTS CALL ORDER FOR THE "PUSH" CALL FOR CORRECT OPERATION. ---------------- DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 8.0 BASIC MACROS (CON'T) C. .LIT THIS MACRO PROVIDES LITERAL CAPABILITY TO THE PDP-11 PROGRAMS. USE OF THIS MACRO ALLOWS STORAGE LOCATIONS TO BE ASSIGNED AS THE PROGRAM IS CODED WITH THE CONTENTS OF THAT LOCATION TO BE EITHER ZERO OR ASSIGNED DATA. ALSO PROVIDES FOR MULTI-WORD LITERALS SUCH AS ASCIZ STRINGS. .MACRO .LIT $LTAG,$LARG $$CLC=. .=$$CLIT $LTAG=. ;ASSIGN A LOCATION .IIF B,<$LARG>,0 .IIF NB,<$LARG>,$LARG .EVEN $$CLIT=. .=$$CLC .ENDM EXAMPLES: .LIT TAG,123 ASSIGNS LOCATION NAMED "TAG" CONTAINING "123" BACK IN THE PROGRAM STORAGE AREA. .LIT TAG1,<.ASCIZ %THIS IS A MESSAGE%> ASSIGN LOCATION NAMED "TAG1" AS THE START OF AN ASCIZ STRING OF DATA BACK IN THE PROGRAM STORAGE AREA. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 8.0 BASIC MACROS (CON'T) D. SL THIS MACRO GENERATES THE PROPER NUMBER OF SHIFT LEFT INSTRUCTIONS TO LEFT SHIFT THE REGISTER THE REQUESTED AMOUNT. CALL: SL REG,NUM .MACRO SL REG,NUM .IF GT,NUM-7 SWAB REG .REPT NUM-^D8 ASL REG .ENDR .IIF .REPT NUM ASL REG .ENDR .ENDC .ENDM E. SR THIS MACRO GENERATES THE PROPER NUMBER OF RIGHT SHIFT INSTRUCTIONS TO RIGHT SHIFT THE REGISTER THE REQUESTED AMOUNT. CALL: SR REG,NUM .MACRO SR REG,NUM .IF GT,NUM-7 SWAB REG .REPT NUM-^D8 ASR REG .ENDR .IIF .REPT NUM ASR REG .ENDR .ENDC .ENDM DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 8.0 BASIC MACROS (CON'T) F. EXOR THIS MACRO PERFORMS THE XOR FUNCTION. CALL: EXOR REG,DESTIN,SCRTCH .MACRO EXOR REG,DESTIN,SCRTCH .IF NB, MOV REG,SCRTCH BIC DESTIN,SCRTCH BIC REG,DESTIN BIS SCRTCH,DESTIN .IFF MOV REG,-(SP) BIC DESTIN,(SP) BIC REG,DESTIN BIS (SP)+,DESTIN .ENDC .ENDM G. MULT THIS MACRO PERFORMS THE MULTIPLY FUNCTION. CALL: MULT SOURCE,REG .MACRO MULT SOURCE,REG PUSH SOURCE PUSH REG MULTPY ;EMT CALL TO ROUTINE POP REG .NTYPE X,REG .IF EQ,X&1 .IFT POP REG+1 .IFF INC SP INC SP .ENDC .ENDM DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 9.0 KL10 BASIC SUBROUTINES THE FOLLOWING SUBROUTINES PERFORM THE BASIC OPERATIONS REQUIRED FOR THE KL10 OPERATIONS. A. DIAGNOSTIC FUNCTIONS 1. DFXCT PERFORM DIAGNOSTIC FUNCTION EXECUTE. R0 CONTAINS THE DIAGNOSTIC FUNCTION RIGHT JUSTIFIED. USAGE: MOV #DF,R0 ;DIAG FUNCTION TO R0 ADR: DFXCT ;CALL ADR+2 NEXT INST ;PASSED 2. DFXCTT PERFORM DIAGNOSTIC FUNCTION EXECUTE. THE DIAGNOSTIC FUNCTION FOLLOWS AS A TRAILING PARAMETER. USAGE: ADR: DFXCTT ;CALL ADR+2 DF ;DIAGNOSTIC FUNCTION 3. DFSCLK PERFORMS SINGLE STEP CLOCK DIAGNOSTIC FUNCTION. USAGE: ADR: DFSCLK ;STEP CLOCK DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 9.0 KL10 BASIC SUBROUTINES (CON'T) 4. DFWRT PERFORMS DIAGNOSTIC FUNCTION AND SENDS E-BUS. R1 CONTAINS ADDRESS OF LOW ORDER BYTE OF 36 BIT E-BUS VALUE. R0 CONTAINS DIAGNOSTIC FUNCTION RIGHT JUSTIFIED. USAGE: MOV #DF,R0 ;DIAG FUNCTION TO R0 MOV #ADR,R1 ;36 BIT ADR TO R1 ADR: DFWRT ;CALL ADR+2 NEXT INST ;PASSED 36 BIT E-BUS DATA FORMAT: ADR: BITS 28-35 ;THIS ADR IN R1 ADR+1 BITS 20-27 ADR+2 BITS 12-19 ADR+3 BITS 04-11 ADR+4 BITS 00-03 4.1 DFWRTT PERFORMS DIAGNOSTIC FUNCTION WRITE. THE DATA ADDRESS AND DIAGNOSTIC FUNCTION FOLLOW AS TRAILING PARAMETERS. USAGE: ADR: DFWRTT ;CALL ADR+2 DATA ADR ;36 BIT DATA ADR ADR+4 DF ;DIAGNOSTIC FUNCTION 5. DFWIR FORMAT SAME AS "DFWRT" EXCEPT SELECTS "LOADIR" DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 9.0 KL10 BASIC SUBROUTINES (CON'T) 6. DFRD PERFORMS DIAGNOSTIC FUNCTION AND READS E-BUS. R0 CONTAINS DIAGNOSTIC FUNCTION RIGHT JUSTIFIED. DATA READ IS LEFT STORED IN THE DTE20. DEXWD3 = BITS 20-35 DEXWD2 = BITS 04-19 DEXWD1 = BITS 00-03 USAGE: MOV #DF,R0 ;DIAG FUNCTION TO R0 ADR: DFRD ;CALL ADR+2 NEXT INST ;PASSED 6.1 DFRDT PERFORMS DIAGNOSTIC FUNCTION READ. THE DIAGNOSTIC FUNCTION FOLLOWS AS A TRAILING PARAMETER. USAGE: ADR: DFRDT ;CALL ADR+2 DF ;DIAGNOSTIC FUNCTION 6.2 DFPC DFVMA DFADB DFVMAH ---- ----- ----- ------ PERFORMS READ AND UNSCRAMBLING OF REQUESTED REGISTER. ADDRESS OF DATA STORAGE RETURNED IN R0 WITH 36 BIT FORMAT AS GIVEN IN "DFWRT". DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 9.0 KL10 BASIC SUBROUTINES (CON'T) 7. DFRDMV PERFORMS DIAGNOSTIC FUNCTION AND READS E-BUS. R1 CONTAINS ADDRESS OF WHERE TO PUT E-BUS DATA READ AND R0 CONTAINS DIAGNOSTIC FUNCTION RIGHT JUSTIFIED. USAGE: MOV #DF,R0 ;DIAG FUNCTION TO R0 MOV #ADR,R1 ;36 BIT ADR TO R1 ADR: DFRDMV ;CALL ADR+2 NEXT INST ;PASSED 36 BIT E-BUS DATA STORAGE FORMAT: ADR: BITS 28-35 ;THIS ADR IN R1 ADR+1 BITS 20-27 ADR+2 BITS 12-19 ADR+3 BITS 04-11 ADR+4 BITS 00-03 DFRD, DFRDMV AND DFWRT ---------------------- IF THE DTE20 TIMES OUT WITHOUT COMPLETING THE OPERATION THE TIMEOUT IS REPORTED BY THE SUBROUTINE PACKAGE AND TREATED AS A FATAL ERROR. 8. MRESET PERFORMS THE MASTER RESET FUNCTION CONSISTING OF A SERIES OF DIAGNOSTIC EXECUTION FUNCTIONS. USAGE: ADR: MRESET ;PERFORM RESET ADR+2 NEXT INST ;COMPLETED 9. SM PERFORMS THE ACTUAL START MICRO-CODE ROUTINE AS DESCRIBED IN 3.2 UNDER THE "SM" CONSOLE FUNCTION. USAGE: ADR: SM ;CALL ADR+2 BCS A ;ERROR RETURN ADR+4 NEXT INST ;OK 10. EXCT PERFORM THE ACTUAL INSTRUCTION EXECUTION ROUTINE AS DESCRIBED IN 3.2 UNDER "EX" CONSOLE FUNCTION. USAGE: ADR: MOV #IADR,R0 ;INST ADR TO R0 ADR+2 EXCT ;CALL ADR+4 BCS A ;ERROR RETURN ADR+6 NEXT INST ;OK DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 10.0 KL10 EXAMINE/DEPOSIT & RAM SUBROUTINES B. PDP-10 EXAMINE AND DEPOSIT FUNCTIONS EXAM ;EXAMINE 10 MEMORY DPOS ;DEPOSIT INTO 10 MEMORY DPOSVR ;DEPOSIT AND VERIFY 10 MEMORY FORMATS OF PASSED OR STORED RETURN DATA: 36 BIT DATA, R0 CONTAINS ADDRESS ON CALL ADR: BITS 28-35 ADR+1 BITS 20-27 ADR+2 BITS 12-19 ADR+3 BITS 04-11 ADR+4 BITS 00-03 PDP-10 ADDRESS, R1 CONTAINS ADDRESS ON CALL ADR: BITS 20-35 ADR+2 BITS 14-19 ROUTINES RETURN WITH C-BIT SET FOR FAILURE. "EXAM", R0 CONTAINS POINTER TO PDP-10 ADDRESS ON CALL. R0 RETURNS DATA STORAGE ADDRESS ON COMPLETION. "DPOSVR" - AS "DPOS" ON CALL, RETURNS DATA ADDRESS IN R0 ON COMPLETION. DEPOSIT & VERIFY RETURNS WITH C-BIT SET FOR FAILURE WITH: A. N-BIT SET IF DEPOSIT FAILED B. Z-BIT SET IF EXAMINE FAILED C. V-BIT SET IF VERIFY FAILED DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 10.0 KL10 EXAMINE/DEPOSIT & RAM SUBROUTINES (CON'T) B.1 PDP-10 EXAMINE AND DEPOSIT FUNCTIONS, TRAILING PARAMETERS EXAMT ;EXAMINE 10 MEMORY DPOST ;DEPOSIT INTO 10 MEMORY DPOSVT ;DEPOSIT AND VERIFY 10 MEMORY FIRST TRAILING PARAMETER PDP-10 ADDRESS, 0 THRU 64K SECOND TRAILING PARAMETER 36 BIT DATA BLOCK ADDRESS EXAMT ----- ADR: EXAMT ;CALL ADR+2 10 ADR ;PDP-10 ADDRESS ADR+4 DATA ADR ;36 BIT DATA BLOCK ADDRESS DPOST ----- ADR: DPOST ;CALL ADR+2 10 ADR ;PDP-10 ADDRESS ADR+4 DATA ADR ;36 BIT DATA STORE BLOCK ADDRESS DPOSVT ------ ADR: DPOSVT ;CALL ADR+2 10 ADR ;PDP-10 ADDRESS ADR+4 DATA ADR ;36 BIT DATA BLOCK ADDRESS ADR+6 BCS ERR ;FAILURE RETURN ADR+10 NEXT INST ;PASSED RETURN ROUTINES RETURN WITH C-BIT SET FOR FAILURE AND DPOSVT FAILURE CODES SAME AS "DPOSVR". DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 10.0 KL10 EXAMINE/DEPOSIT & RAM SUBROUTINES (CON'T) B.2 SPECIAL PDP-10 DEPOSIT ROUTINES D10MON ;DEPOSIT -1 INTO 10 FLAG WORD D10ZRO ;DEPOSIT ZEROS INTO 10 ROUTINES RETURN WITH C-BIT SET FOR FAILURE. D10MON ------ ADR: D10MON ;CALL ADR+2 10 ADR ;PDP-10 ADDRESS, 0 TO 64K D10ZRO ------ R1 = POINTER TO START ADDRESS BLOCK R0 = COUNT OF LOCATION TO ZERO, UP TO 64K B.3 SPECIAL PDP-10 ROUTINES CMPR36 ;COMPARE 5 BYTE 36-BIT WORDS ------ INITIAL: R0 = BYTE ADR OF CORRECT DATA R1 = BYTE ADR OF TEST DATA AFTER: R0 = BYTE ADR OF TEST DATA C & V BIT SET IF ERROR DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 10.0 KL10 EXAMINE/DEPOSIT & RAM SUBROUTINES (CON'T) C. RAM FUNCTIONS 1. WCRAM PERFORMS WRITE OF C-RAM AT LOCATION SUPPLIED IN R0 WITH DATA FROM ADDRESS SUPPLIED IN R1. USAGE: MOV LOC,R0 ;PUT C-RAM LOC IN R0 MOV ADR,R1 ;PUT DATA ADR IN R1 WCRAM ;CALL FORMAT OF DATA IN BYTES: ADR: BITS 72-79 ADR+1 BITS 64-71 ADR+2 BITS 56-63 ADR+3 BITS 48-55 ADR+4 BITS 40-47 ADR+5 BITS 32-39 ADR+6 BITS 24-31 ADR+7 BITS 16-23 ADR+10 BITS 08-15 ADR+11 BITS 00-07 OF C-RAM ADR+12 BITS 0-4 OF SPEC FIELD DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 10.0 KL10 EXAMINE/DEPOSIT & RAM SUBROUTINES (CON'T) 1.1 MICNUL PERFORMS C-RAM ZEROING STARTING WITH ADDRESS SUPPLIED IN R0 AND ZEROING THE NUMBER OF WORDS SUPPLIED IN R1. CALL: MOV #ADR,R0 ;START ADDRESS TO R0 MOV #CNT,R1 ;NUMBER OF WORDS TO R1 MICNUL ;CALL 1.2 MICFIL PERFORMS C-RAM FILLING STARTING WITH ADDRESS SUPPLIED IN R0 AND FILLING THE NUMBER OF WORDS SUPPLIED IN R1 WITH ONES. CALL: MOV #ADR,R0 ;START ADDRESS TO R0 MOV #CNT,R1 ;NUMBER OF WORDS TO R1 MICFIL ;CALL 2. RCRAM PERFORMS READ OF C-RAM FROM LOCATION SUPPLIED IN R0. ADDRESS OF STORAGE BLOCK RETURNED IN R0. USAGE: MOV LOC,R0 ;PUT CRAM LOC IN R0 RCRAM ;CALL DATA RETURNED IN SAME FORMAT AS SUPPLIED IN WCRAM CALL. 3. WWADR PERFORMS WRITE OF C-RAM ADDRESS REGISTER WITH DESIRED ADDRESS SUPPLIED IN R0. USAGE: MOV #CRADR,R0 ;PUT C-RAM ADR IN R0 WWADR ;CALL MICRO FORMAT 72 74 76 78 FOR ------------------------------------------------- WCRAM/RCRAM * VMA * * AD * * T00 * * T01 * * * SEL1* * CRY * * * * * * +0 ***************************************************** 64 66 68 70 ------------------------------------------------- * ARM * * ARM * * ARXM* * ARXM* * * SEL2* * SEL1* * SEL2* * SEL1* * +1 ***************************************************** 56 57 58 59 60 62 ------------------------------------------------- * ----FM ADR----- * COND*SCADB* * SCM * * * 4 * 2 * 1 * 5 * SEL1* * SEL2* * +2 ***************************************************** 48 49 50 51 52 53 54 55 ------------------------------------------------- * ---------MEM--------- * BR * COND* BRX * COND* * 0 * 1 * 2 * 3 * LOAD* 3 * LOAD* 4 * +3 ***************************************************** 40 41 42 43 44 45 46 47 ------------------------------------------------- *-SCADA SEL-*SCADB* MARK* VMA * ARM * -SH/ARMM- * * 2 * 1 * SEL2* * SEL2* SEL4* SEL2* SEL1* +4 ***************************************************** 32 33 34 35 36 37 38 39 ------------------------------------------------- * ADB * ----CRAM #----- * ARXM* ----CRAM #----- * * SEL1* 3 * 4 * 5 * SEL4* 6 * 7 * 8 * +5 ***************************************************** 24 25 26 27 28 29 30 31 ------------------------------------------------- * AD * ADA * -ADA SEL- * ADB * ----CRAM #----- * *BOOLE* DIS * 2 * 1 * SEL2* 0 * 1 * 2 * +6 ***************************************************** 16 17 18 19 20 21 22 23 ------------------------------------------------- * MQ * -----COND------ * -------AD SEL-------- * * SEL * 0 * 1 * 2 * 8 * 4 * 2 * 1 * +7 ***************************************************** 08 09 10 11 12 13 14 15 ------------------------------------------------- * ------------------J FIELD-------------------- * * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * +8 ***************************************************** 00 01 02 03 04 05 06 07 ------------------------------------------------- *SCADA* -----SCAD------ * FE * ---J FIELD----- * * DIS * 4 * 2 * 1 * LOAD* 0 * 1 * 2 * +9 ***************************************************** 0 1 2 3 4 ------------------------------------------------- * * * * -----------DISP/SPEC------- * * * * * 0 * 1 * 2 * 3 * 4 * +10 ***************************************************** DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 10.0 KL10 EXAMINE/DEPOSIT & RAM SUBROUTINES (CON'T) 3. WDRAM PERFORMS WRITE OF D-RAM AT LOCATION SUPPLIED IN R0 WITH DATA FROM ADDRESS SUPPLIED IN R1. THE WDRAM ROUTINE WRITES BOTH THE EVEN AND ODD PAIR OF LOCATIONS IN THE D-RAM AT ONE TIME. IF AN ODD ADDRESS IS SUPPLIED AS THE D-RAM LOCATION THIS IS A PROGRAM ERROR. USAGE: MOV LOC,R0 ;PUT D-RAM LOC IN R0 MOV ADR,R1 ;PUT DATA ADR IN R1 ADR: WDRAM ;CALL ADR+2 NEXT INST FORMAT OF DATA: ADR: EVEN ADR DATA BITS 13-00 ADR+2 ODD ADR DATA BITS 13-00 ADR+4 COMMON ADR DATA BITS 05-00 ALL RIGHT JUSTIFIED 4. RDRAM PERFORMS READ OF D-RAM FROM LOCATION SUPPLIED IN R0. ADDRESS OF STORAGE BLOCK RETURNED IN R0. USAGE: MOV LOC,R0 ;PUT D-RAM LOC IN R0 ADR: RDRAM ;CALL ADR+2 NEXT INST FORMAT OF RETURNED DATA: ADR: D-RAM A & B FIELD ADR+2 D-RAM J FIELD 5. DRAMAD PERFORMS SELECTION OF D-RAM ADDRESS. INTERNAL ROUTINE FOR D-RAM OPERATIONS DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- MICRO FORMAT FOR WDRAM 15 -/- 13---11 10----8 7 6 5 4 3 2 1 0 --------------------------------------------------------------- +0 * -- A -- * -- B -- * * * P * * ------ J FIELD ------ * EVEN * 1 2 3 * 1 2 3 * * * E * * 7 * 8 * 9 * 10 * *************************************************************** 15 -/- 13---11 10----8 7 6 5 4 3 2 1 0 --------------------------------------------------------------- +2 * -- A -- * -- B -- * * * P * * ------ J FIELD ------ * ODD * 1 2 3 * 1 2 3 * * * O * * 7 * 8 * 9 * 10 * *************************************************************** 15 -/- 3 2 1 0 ------------------------- +4 * ------ J FIELD ------ * COMMON * 1 * 2 * 3 * 4 * ************************* NOTE: J7 ALSO COMMON BIT WRITTEN BY ODD WORD J5 & J6 DO NOT EXIST MICRO FORMAT FOR RDRAM 15 -/- 13---11 10----8 7 6 5 4 3 2 1 0 --------------------------------------------------------------- +0 * -- A -- * -- B -- * * * P * P * ------ J FIELD ------ * EVEN * 1 2 3 * 1 2 3 * * * E * C * 7 * 8 * 9 * 10 * *************************************************************** 15 -/- 13---11 10----8 7 6 5 4 3 2 1 0 --------------------------------------------------------------- +2 * -- A -- * -- B -- * * * P * P * ------ J FIELD ------ * ODD * 1 2 3 * 1 2 3 * * * O * C * 7 * 8 * 9 * 10 * *************************************************************** 15 -/- 3 2 1 0 ------------------------- +4 * ------ J FIELD ------ * COMMON * 1 * 2 * 3 * 4 * ************************* NOTE: J7 ALSO COMMON BIT FROM ODD WORD J5 & J6 DO NOT EXIST PC = COMPUTED PARITY, ODD PARITY INDICATION DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 10.0 KL10 EXAMINE/DEPOSIT & RAM SUBROUTINES (CON'T) 6. LODAR PERFORMS LOADING OF AR REGISTER. INTERNAL ROUTINE FOR EXECUTE OPERATIONS. RETURNS C-BIT SET IF ERROR. 7. SETMPH SELECTS WHICH MBOX PHASE TO SYNC UP TO DURING THE "LODAR" PROCESS. R0 SELECTS ONE OF 4 PLACES TO SYNC. R0 = 0 ;A CHANGE COMING R0 = 1 ;HALFWAY TWIXT A AND B R0 = 2 ;B CHANGE COMING R0 = 3 ;HALFWAY TWIXT B AND A 8. BURST PERFORMS BURST OF M-BOX CLOCK, BURST COUNT SUPPLIED IN R0. 9. CLKPRM RETURNS ADDRESS OF CLOCK DEFAULT WORD IN R0 AS GIVEN IN 14.0 B.6 CLOCK PARAMETER 10. PNTCPU PRINTS PRESENTLY SELECTED C-RAM DATA AND INTERNAL E-BOX REGISTERS. DOES THE "ALL" PRINTOUT. 11. PNTCRM PRINTS THE C-RAM IN LOGICAL FIELD FORMAT USING THE C-RAM ADDRESS SUPPLIED IN R0 AND THE C-RAM DATA BLOCK ADDRESS SUPPLIED IN R1. C-RAM DATA BLOCK FORMAT AS SPECIFIED IN "WCRAM". USAGE: MOV LOC,R0 ;C-RAM ADDRESS IN R0 MOV ADR,R1 ;DATA BLOCK ADDRESS IN R1 PNTCRM ;CALL 12. PNTDRM PRINTS THE D-RAM IN LOGICAL FIELD FORMAT USING THE D-RAM ADDRESS SUPPLIED IN R0 AND THE D-RAM DATA BLOCK ADDRESS SUPPLIED IN R1. D-RAM DATA BLOCK FORMAT AS SPECIFIED IN "WDRAM". USAGE: MOV LOC,R0 ;D-RAM ADDRESS IN R0 MOV ADR,R1 ;DATA BLOCK ADDRESS IN R1 PNTDRM ;CALL DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 11.0 SPECIAL PROGRAM OPERATORS 1. PRGCMD THIS EMT PROVIDES A MEANS FOR A PROGRAM TO PERFORM OPERATOR TYPE CONSOLE COMMANDS. THE ADDRESS OF AN ASCIZ STRING CORRESPONDING TO THE DESIRED COMMANDS IS LOADED INTO R0, THEN THE EMT IS PERFORMED. IF R0 = 0, THEN THE CURRENT INPUT BUFFER IS USED. IF R0 = -1, THEN THE CURRENT OUTPUT BUFFER CONTENTS ARE USED, THE OUTPUT BUFFERS POINTERS ARE RESET TO PREVENT SUBSEQUENT PRINTING. THE ROUTINE WILL TAKE THE C-BIT CLEAR RETURN WHEN THE COMMANDS ARE COMPLETED. IF AN ERROR OCCURS THE CORRESPONDING ERROR MESSAGE WILL BE PRINTED AND THE C-BIT SET RETURN WILL BE TAKEN. USAGE: MOV #COMMAND,R0 PRGCMD ;CALL BCS ERROR ;FAILED NEXT INST ;PASSED 2. PRGNPT THIS EMT PERFORMS AS GIVEN IN THE "PRGCMD" COMMAND EXCEPT PREVENTS PRINTING OF OUTPUT FOR PRINT TYPE 'KLDCP' COMMANDS. THE OUTPUT POINTERS ARE LEFT IN PLACE SO THE DATA MAY BE PROCESSED BY THE CALLING PROGRAM. 3. TENSW THIS EMT COMBINES THE PDP-11 CONSOLE SWITCHES AND THE PDP-10 TYPED IN SWITCHES INTO A 36 BIT WORD AND DEPOSITS IT INTO THE DTE20 $DTSWR" COMMUNICATION AREA SWITCH REGISTER WORD. THE PDP-11 CONSOLE SWITCHES ARE SWITCHES 0 TO 15 OF THE PDP-10 SWITCH WORD. THE DEPOSIT IS DONE ON STD, STM, STL & DDT COMMANDS AND ON ANY PDP-11 CONSOLE SWITCH OR "SW" TYPED IN SWITCH CHANGE. C-BIT SET ERROR RETURN IF THE DEPOSIT & VERIFY FAILS. 4. TENSP THIS EMT PROVIDES A COMMON METHOD OF CLEARING THE PDP-10 RUN FLOP, THE TEN RUNNING CONTROL FLAG AND THE TEN CLOCK RUNNING CONTROLS. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES A.1 R50UPK THIS EMT CONVERTS RAD50 TO ASCII. CONVERTS ONE RAD50 WORD TO THREE ASCII BYTES. USAGE: R50UPK ;CALL RAD50 ;RAD50 WORD ADDRESS ASCII ;ASCII BYTE STORAGE ADDRESS BCS ERR ;C-BIT SET IF ERROR A.2 ASCR50 THIS EMT CONVERTS ASCII TO RAD50. CONVERTS NINE BYTES OF ASCII INPUT INTO THREE WORDS OF RAD50. USAGE: ASCR50 ;CALL ASCII ;ASCII ADDRESS RAD50 ;RAD50 STORAGE ADDRESS BCS ERR ;C-BIT SET IF ERROR B.1 DTINIT THIS EMT INITIALIZES THE DECTAPE. SETS THE FIRST UFD BLOCK AS THE FIRST WORD OF THE DEVICE BUFFER FOR SUBSEQUENT READ OPERATIONS. B.2 RXINIT THIS EMT INITIALIZES THE FLOPPY. SETS THE FIRST UFD BLOCK AS THE FIRST WORD OF THE DEVICE BUFFER FOR SUBSEQUENT READ OPERATIONS. B.3 RPINIT THIS EMT INITIALIZES THE RP04 HARDWARE BY SELECTING THE DRIVE AND DOING A READ-IN PRESET. RETURNS WITH C-BIT SET IF ERROR AND R0 CONTAINING AN ERROR CODE. B.4 RPLOAD THIS EMT INITIALIZES THE RP04 BY PERFORMING AN "RPINIT" AND THEN READING AND VERIFYING THE "HOME" BLOCK AND SETTING UP THE INDEX FILE AND FILE DIRECTORY INFORMATION. RETURNS WITH C-BIT SET IF ERROR. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) C.1 DTAFILE THIS EMT FINDS THE REQUESTED FILE IN THE DECTAPE DIRECTORY. C.2 RXFILE THIS EMT FINDS THE REQUESTED FILE IN THE FLOPPY DIRECTORY. D.1 DVDATA THIS EMT READS EITHER FROM THE DECTAPE/FLOPPY OR FROM THE RP04. READS FROM THE PROPER DEVICE USING THE INFORMATION SETUP BY THE CORRESPONDING "INIT" OR FROM THE FOLLOWING DATA BLOCKS AS THE FILE IS PROCESSED. RETURNS WITH R0 CONTAINING A POINTER TO AN INFORMATION BLOCK. INFO BLOCK/ BUFFER ADDRESS +2/ BYTE COUNT C-BIT SET ON END-OF-FILE RETURN. D.2 DVFRAM THIS EMT READS A DATA BYTE FROM THE DEVICE BUFFER. WHEN THE CURRENT BUFFER IS USED UP IT CALLS THE "DVDATA" ROUTINE TO READ THE NEXT DATA BLOCK AND THEN CONTINUES. THE DATA BYTE IS RETURNED IN R0. D.3 DVWRD THIS EMT READS TWO DATA BYTES AND COMBINES THEM INTO ONE DATA WORD WHICH IS RETURNED IN R0. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) E.1 DTRDFL AS "DVDATA" EXCEPT SPECIFICALLY READS DECTAPE. E.2 RXRDFL AS "DVDATA" EXCEPT SPECIFICALLY READS FLOPPY. E.3 DTWTFL THIS EMT WRITES THE DECTAPE DATA BLOCK. A DTRDFL MUST HAVE BEEN DONE TO READ THE FILE DATA BLOCK. THEN THE DATA IS REPLACED EXCEPT FOR THE LINK AND THE BLOCK RE-WRITTEN. E.4 RXWTFL THIS EMT WRITES THE FLOPPY DATA BLOCK. A RXRDFL MUST HAVE BEEN DONE TO READ THE FILE DATA BLOCK. THEN THE DATA IS REPLACED EXCEPT FOR THE LINK AND THE BLOCK RE-WRITTEN. F.1 DTREAD THIS EMT PERFORMS THE ACTUAL DATA BLOCK READ FROM THE DECTAPE. RETURNS WITH C-BIT SET IF ERROR. F.2 RXREAD THIS EMT PERFORMS THE ACTUAL DATA BLOCK READ FROM THE FLOPPY. RETURNS WITH C-BIT SET IF ERROR. F.3 DTWRT THIS EMT PERFORMS THE ACTUAL DATA BLOCK WRITE TO THE DECTAPE. RETURNS WITH C-BIT SET IF ERROR. F.4 RXWRT THIS EMT PERFORMS THE ACTUAL DATA BLOCK WRITE TO THE FLOPPY. RETURNS WITH C-BIT SET IF ERROR. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) G.1 DTBASE THIS EMT RETURNS THE DECTAPE PARAMETER BLOCK BASE ADDRESS. DECTAPE PARAMETER BLOCK ----------------------- 0. DTBLK ;DECTAPE REQUESTED BLOCK NUMBER 1. CASAV ;DECTAPE CURRENT BUFFER ADDRESS 2. WCSAV ;DECTAPE WORD COUNT G.2 RXBASE THIS EMT RETURNS THE FLOPPY PARAMETER BLOCK BASE ADDRESS. FLOPPY PARAMETER BLOCK ---------------------- 0. RXBLK ;REQUESTED BLOCK NUMBER 1. RXCMD ;COMMAND 2. RXWCMD ;WORKING COMMAND 3. RXBLKT ;BLOCK NUMBER 4. RXTADR ;TRACK ADDRESS 5. RXSADR ;SECTOR ADDRESS 6. $$ITS1 ;"$RXITS" COUNTER DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) H.1 RPFIND THIS EMT FINDS THE REQUESTED FILE IN THE RP04 DIRECTORY. CALL: R0 = POINTER TO FILE NAME IN RAD50 R1 = POINTER TO RETURN STORAGE BLOCK 1. CORE ADR OF FILE DESCRIPTOR IN DATA BLOCK 2. CYLINDER NUMBER 3. TRACK/SECTOR NUMBER IF ERROR, THE C-BIT IS SET ON RETURN WITH R0 CONTAINING AN ERROR CODE. H.2 RPLKUP THIS EMT LOOKS UP THE FILE IN THE RP04 DIRECTORY BY USING "RPFIND" THEN TRANSFERS THE INFORMATION PERTAINING TO THE FILE TO THE FILE DESCRIPTOR STORAGE BLOCK. CALL: R0 = POINTER TO FILE NAME IN RAD50 R1 = STORE ADDRESS FOR FILE DESCRIPTOR IF ERROR, THE C-BIT IS SET ON RETURN WITH R0 CONTAINING ERROR CODES AS GIVEN UNDER "RPFIND". H.3 RPRDFL THIS EMT READS A FILE DATA BLOCK FROM THE RP04. USED BY "DVDATA" WHEN READING FROM THE RP04. CALL: R0 = POINTER TO FILE DESCRIPTOR RETURN: R0 = POINTER TO INFO BLOCK 1. BUFFER ADDRESS 2. BYTE COUNT IF ERROR, THE C-BIT IS SET ON RETURN WITH R0 CONTAINING AN ERROR CODE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) H.4 RPWRFL THIS EMT WRITES A FILE DATA BLOCK TO THE RP04 DISK. ALSO REWRITES THE DIRECTORY BLOCK UPDATING WORDS WRITTEN IF RPEOF SELECTED. CALL: R0 = POINTER TO FILE DESCRIPTOR BUFADR = ADDRESS OF DATA BUFFER BUFSIZ = NUMBER OF WORDS TO BE WRITTEN RPEOF = BIT 15 = 1 IS WRITE EOF IF ERROR, C-BIT SET ON RETURN WITH R0 CONTAINING AN ERROR CODE. H.5 RPREAD THIS EMT PERFORMS THE ACTUAL DATA BLOCK READ FROM THE RP04. RETURNS WITH C-BIT SET IF ERROR. H.6 RPWRIT THIS EMT PERFORMS THE ACTUAL DATA BLOCK WRITE TO THE RP04. RETURNS WITH C-BIT SET IF ERROR. H.7 RPADDR THIS EMT COMPUTES THE RP04 PHYSICAL ADDRESS USING THE CURRENT POSITION AND THE BLOCK OFFSET TO THE REQUIRED DATA BLOCK. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) H.8 RPBASE THIS EMT RETURNS THE RP04 PARAMETER BLOCK BASE ADDRESS. RP04 PARAMETER BLOCK -------------------- 0. FILE DESCRIPTOR BLOCK 0/ FILENAME IN RAD50 1/ " 2/ FILE EXTENSION IN RAD50 3/ CREATION DATE 4/ PHYSICAL BLOCK NUMBER 5/ " 6/ NUMBER OF WORDS ALLOCATED 7/ " 8/ NUMBER OF WORDS WRITTEN 9/ " 10/ PDP-11 LOAD ADDRESS 11/ PDP-11 START ADDRESS 12/ FILE TYPE & FILE STATUS 13/ CHECKSUM 14/ 0 15/ 0 16/ CURRENT POSITION 17/ " 18. WRDCNT ;READ/WRITE WORD COUNT 19. BUFSIZ ;BUFFER SIZE 20. BUFADR ;BUFFER ADDRESS 21. OFFSET ;CURRENT OFFSET 22. TRKSCT ;CURRENT TRACK & SECTOR 23. CYLNDR ;CURRENT CYLINDER 24. RPLAST ;INDEX FILE LAST BLOCK 25. RPIXCB ;INDEX FILE CURRENT BLOCK 26. RPIXCY ;INDEX FILE CYLINDER NUMBER 27. RPIXTS ;INDEX FILE TRACK & SECTOR 28. RPIXNB ;INDEX FILE LENGTH IN BLOCKS 29. RPFDCY ;FILE DIRECTORY CYLINDER NUMBER 30. RPFDTS ;FILE DIRECTORY TRACK & SECTOR 31. RPFDNB ;FILE DIRECTORY LENGTH IN BLOCKS 32. NAMRAD ;RAD50 FILE NAME 33. ; " 34. ;RAD50 FILE EXTENSION 35. $RPINFO ;"DVDATA" POINTERS, BUFFER ADDRESS 36. ; , BYTE COUNT 37. WRTBAK ;CORE ADDRESS OF FILE DESCRIPTOR 38. ;CYLINDER NUMBER 39. ;TRACK & SECTOR NUMBER 40. RPEOF ;WRITE EOF FLAG, BIT15=1= EOF DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) H.9 RPERROR THIS EMT TRANSLATES THE RP04 ERROR CODE AND PRINTS THE APPROPRIATE ERROR MESSAGE. ON AN RP04 ERROR THE SUBROUTINES RETURN WITH THE C-BIT SET AND R0 CONTAINING AN ERROR CODE. THESE CODES ARE: -1 = UNIT NUMBER INCORRECT -2 = DRIVE UNAVAILABLE -3 = DRIVE INIT ERROR 1 -4 = DRIVE INIT ERROR 2 -5 = DRIVE INTI ERROR 3 -6 = HOME BLOCK READ ERROR -7 = NOT HOME BLOCK -10 = INCORRECT FILE SYSTEM NAME -11 = NO INDEX FILE -12 = NO DIRECTORY FILE -13 = READING PAST EOF -14 = BLKSIZ POSITION ERROR -15 = READ ERROR -16 = ATTEMPT TO CHANGE ALLOCATION -17 = BUFFER SIZE -20 = CURRENT POSITION -21 = INSUFFICIENT ALLOCATION FOR WRITE -22 = DIRECTORY REWRITE FAILURE -23 = DATA BLOCK WRITE FAILURE -24 = END OF FILE -25 = RAD50 CONVERSION ERROR H.10 RP04 INDEX BLOCK FORMAT WORD 0 ;BIT 15 = 1, LAST BLOCK OF INDEX FILE ;BIT 15 = 0, NOT LAST BLOCK ;BITS 14 TO 0, NUMBER OF LAST 3-WORD ENTRY ;IN USE IN THIS BLOCK. WORD 3I+1 ;FILE NAME IN RAD50 WORD 3I+2 ; " WORD 3I+3 ;FILE EXT IN RAD50 ;OF LAST FILE IN THE CORRESPONDING BLOCK OF THE DIRECTORY ;FILE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) H.11 RP04 HOME BLOCK FORMAT PDP-11 WORD CONTENTS ----------- -------- 98-103 "KLFEDDCS" IN ASCII. IT STANDS FOR "KL10 FRONT END DOUBLY DIRECTORIZED CONTIGUOUS STRUCTURE". 104 1 = SYSTEM PACK, CYLINDERS 406 TO 409 ONLY 3 = DIAGNOSTIC PACK, 0-399 & 406-409 105-106 PHYSICAL BLOCK NUMBER OF INDEX FILE 107 NUMBER OF CONSECUTIVE BLOCKS OF INDEX FILE 108-109 PHYSICAL BLOCK NUMBER OF DIRECTORY FILE 110 NUMBER OF CONSECUTIVE BLOCKS OF DIRECTORY FILE 111-112 PHYSICAL BLOCK NUMBER OF ALLOCATION FILE 113 NUMBER OF CONSECUTIVE BLOCKS OF ALLOCATION FILE 114-115 PHYSICAL BLOCK NUMBER OF BAD BLOCK FILE 116 NUMBER OF CONSECUTIVE BLOCKS OF BAD BLOCK FILE 117-118 PHYSICAL BLOCK NUMBER OF EXTENDED HOME BLOCK 119 NUMBER OF CONSEC BLOCKS OF EXTENDED HOME BLOCK 120-125 12 ASCII CHARACTERS GIVING FILE STRUCTURE FUNCTION . NORMALLY EITHER "SYSTEM PACK OR "DIAGNOSTICS". 126-131 12 ASCII CHARACTERS GIVING "ADMINISTRATOR" OF THE PDP-11 FILE STRUCTURE ON THIS PACK. 132-137 RESERVED, MUST BE ZERO. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) I.1 KLDCP/RXDP - RX01 DISKETTE FORMAT THE DIAGNOSTIC CONSOLE, KLDCP, AND RXDP, THE PDP-11 RX11 MONITOR, USES THE RX01 DISKETTE. THE DISKETTE CONTAINS 494 BLOCKS OF 256 WORDS EACH. THE ORGANIZATION OF THE RXDP DISKETTE IS AS GIVEN BELOW: EACH BLOCK IS 1 CYLINDER AND 8 SECTORS AWAY FROM THE PREVIOUS BLOCK. THIS IS DONE TO OBTAIN THE FASTEST ACCESS TIME ON THE RX01. --------------------------------- I BOOTSTRAP I BLOCK 0 --------------------------------- I MFD1 I BLOCK 1 I I --------------------------------- I MFD2 I BLOCK 2 I I --------------------------------- I UFD BLOCKS I BLOCKS 3 THRU 6 I (USER FILE DIRECTORY) I I I --------------------------------- I BIT MAP BLOCK I BLOCK 7 I I --------------------------------- I RXDP MONITOR I BLOCKS 10 THRU 47 I (CORE IMAGE) I I (UP TO 8K) I --------------------------------- I FREE BLOCKS I BLOCKS 50 THRU 7776 I FOR STORAGE I 454(10) BLOCKS FREE --------------------------------- DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) I.2 MFD #1 CONTENTS (MASTER FILE DIRECTORY) --------------------------------- I LINK TO MFD2 I --------------------------------- I INTERLEAVE FACTOR (1) I --------------------------------- I BIT MAP START BLOCK I --------------------------------- I POINTER TO BIT MAP 1 I --------------------------------- I POINTER TO BIT MAP 2 I --------------------------------- I POINTER TO BIT MAP 3 I --------------------------------- I POINTER TO BIT MAP 4 I --------------------------------- I POINTER TO BIT MAP 5 I --------------------------------- I 0 (ZERO) I --------------------------------- I UNUSED I I I --------------------------------- I.4 MFD #2 CONTENTS (MASTER FILE DIRECTORY) --------------------------------- I 0 (NO MORE MFD'S I --------------------------------- I UID 401 I --------------------------------- I POINTER TO UFD (3) I --------------------------------- I # OF WORDS IN EACH UFD I 11 (8) WORDS --------------------------------- I 0 I --------------------------------- I UNUSED, ONLY ONE USER I I ID ON DISKETTE I --------------------------------- DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) I.5 USER FILE DIRECTORY BLOCK (UFD) --------------------------------- I LINK TO NEXT UFD BLOCK I (OR 0 IF LAST BLOCK) --------------------------------- I FILE ENTRY # 1 I --------------------------------- I FILE ENTRY # 2 I --------------------------------- I I I I I I --------------------------------- I FILE ENTRY # 28 I I 28 FILE ENTRIES I I PER UFD BLOCK I --------------------------------- I.6 UFD FILE ENTRY FORMAT EACH UFD BLOCK HAS ROOM FOR 28 FILE ENTRIES. EACH UFD FILE ENTRY CONTAINS 9 WORDS AS FOLLOWS: WORD 1 AND 2 FILE NAME IN RAD50 CODE. WORD 3 FILE EXTENSION IN RAD50 CODE. WORD 4 FILE CREATION DATE WORD 5 PROGRAM'S LOGICAL END ADDRESS. WORD 6 FILE'S FIRST BLOCK ADDRESS. WORD 7 FILE LENGTH IN # OF 256 WORD BLOCKS. WORD 8 FILE'S LAST BLOCK ADDRESS. WORD 9 PROGRAM'S LOGICAL 52 VALUE. (ACT11 USE). DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 12.0 DEVICE ROUTINES (CON'T) I.7 BIT MAP BLOCK FORMAT --------------------------------- I LINK TO NEXT MAP BLOCK I (OR 0 IF LAST BLOCK) --------------------------------- I MAP # I --------------------------------- I NUMBER OF WORDS IN MAP I 74(8) --------------------------------- I LINK TO FIRST MAP I --------------------------------- I MAP FOR BLOCKS 0 - 17 I --------------------------------- I MAP FOR BLOCKS 20 - 37 I --------------------------------- I I I I I I --------------------------------- A BIT MAP BLOCK REPRESENTS 960(10) BLOCKS ON THE DISK. (60 WORDS X 16 BITS PER WORD = 960) I.8 DEFINITIONS 1. LINKED FILE BLOCKS OF DATA DO NOT HAVE TO BE CONTIGUOUS ON THE DEVICE. THE FIRST WORD OF THE DATA BLOCK IS USED AS THE LINK TO THE NEXT DATA BLOCK. USABLE DATA IS 255 WORDS (510) BYTES PER BLOCK. LAST BLOCK OF A LINKED FILE CONTAINS A LINK WORD OF 0 TO INDICATE THAT IT IS THE LAST FILE BLOCK. 2. CONTIGUOUS FILE BLOCKS OF DATA ARE PHYISICALLY CONTIGUOUS ON THE DEVICE. ALL DATA WORDS/BYTES CONTAIN DATA USED FOR STORAGE OF CORE IMAGES. THERE IS NO FORMATTING DATA. 3. DATA BLOCK SIZE THE STANDARD BLOCK SIZE IS 256 WORDS (512 BYTES). A DATA BLOCK MAY BE CONVERTED TO A SMALLER PHYSICAL DEVICE BLOCK SIZE AND IS DEVICE DEPENDENT. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 13.0 KL10 TO PDP-11 DTE20 COMMAND OPERATIONS THE INTER-COMPUTER COMMUNICATIONS IS PERFORMED THRU USE OF THE DTE20 COMMUNICATION AREA, COMPLETION FLAGS AND 10/11 DTE20 VECTORED INTERRUPTS. THE PDP-10 LOADS THE COMMAND WORD, SETS THE PDP-11 DOORBELL AND THEN WAITS IN A FLAG CHECK TILL THE COMPLETION FLAG IS SET. DATA FROM THE PDP-10 IS EITHER PASSED USING THE LOW BYTE OF THE COMMAND WORD OR BY THE PDP-11 EXAMINING "$DTT11". DATA FROM THE PDP-11 IS DEPOSITED INTO "$DTF11". A. PDP-10 OPERATION LOOP: MOVEI AC0,COMMAND GO $DTEXX ;GO TO DTE20 ROUTINE ...CONTINUE CODE ;RESPONSE IN AC0 B. PDP-10 DTE20 ROUTINE $DTEXX: SKIPE $DTFLG ;INTERRUPT FLAG SET ? HALT . ;YES, LAST OPER NEVER FINISHED SKIPE $DTOPR ;OPER IN PROGRESS FLAG SET ? HALT . ;YES, LAST OPER NEVER FINISHED SETOM $DTOPR ;SET OPER IN PROGRESS MOVEM AC0,$DTCMD ;PUT COMMAND IN EPT WORD SETZM $DTF11 ;CLEAR RESPONSE WORD IN EPT AOS $DTSEQ ;COUNT OPERATION CONO DTE,DOORBELL ;SET PDP-11 STATUS BIT SKIPN $DTFLG ;WAIT FOR PDP-11 TO SET FLAG JRST .-1 SETZM $DTFLG ;CLEAR INTERRUPT FLAG MOVE AC0,$DTF11 ;PUT RESPONSE IN AC0 SETZM $DTOPR ;CLEAR OPER IN PROGRESS RTN ;RETURN TO USER CODE DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 13.0 KL10 TO PDP-11 DTE20 COMMAND OPERATIONS (CON'T) C. PDP-10 DTE20 INTERRUPT ROUTINE: USED FOR PDP-11 POWER LINE CLOCK OPERATIONS. 144/ JSR $DTRPT ;VECTORED TO HERE $DTRPT/ 0 CONSO DTE,DOORBELL ;10 DOORBELL SET ? HALT . ;NO, HOW DID WE GET HERE THEN ? CONO DTE,CLEARBELL ;CLEAR DOORBELL SKIPE $DTCLK ;THIS DTE20 CLOCK INTERRUPT ? JRST $CLKDTE ;YES, DO CLOCK OPERATIONS HALT . ;NO, INTERRUPT WITH NO CAUSE $CLKDTE:SETZM $DTCLK ;CLEAR CLOCK FLAG SETOM CLOCKF ;SET DIAG CLOCK FLAG (OPTIONAL) SKIPE $DTCI ;ANY USERS INSTRUCTION ? XCT $DTCI ;YES, DO USERS REQUEST JEN @$DTRPT ;RESUME PROGRAM D. PDP-10 DTE20 INITIALIZATION ROUTINE: $DTEIN: MOVE AC0,[JSR $DTRPT] MOVEM AC0,144 ;SETUP DTE20 VECTOR INSTRUCTION SETZM $DTFLG SETZM $DTCLK ;CLEAR DTE20 EPT AREA SETZM $DTCI SETZM $DTT11 SETZM $DTF11 SETZM $DTCMD SETZM $DTSEQ SETZM $DTOPR SETZM $DTCHR RTN DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 13.0 KL10 TO PDP-11 DTE20 COMMAND OPERATIONS (CON'T) E. PDP-10 DTE20 EPT COMMUNICATIONS AREA $STD= 440 ;PDP-10 DIAGNOSTIC START ADDRESS $DDT= 441 ;PDP-10 DDT START ADDRESS $STL= 442 ;PDP-10 LOADER START ADDRESS $STM= 443 ;PDP-10 MONITOR START ADDRESS $DTFLG= 444 ;OPERATION COMPLETE FLAG $DTCLK= 445 ;CLOCK INTERRUPT FLAG $DTCI= 446 ;CLOCK INTERRUPT INSTRUCTION $DTT11= 447 ;PDP-10 TO PDP-11 ARGUMENT $DTF11= 450 ;PDP-10 FROM PDP-11 ARGUMENT $DTCMD= 451 ;PDP-10 TO PDP-11 COMMAND WORD $DTSEQ= 452 ;DTE20 OPERATION SEQUENCE NUMBER $DTOPR= 453 ;OPERATION IN PROGRESS FLAG $DTCHR= 454 ;LAST TYPED CHARACTER $DTMTD= 455 ;MONITOR TTY OUTPUT COMPLETE FLAG $DTMTI= 456 ;MONITOR TTY INPUT FLAG $DTSWR= 457 ;CONSOLE SWITCH REGISTER DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 14.0 KL10 DTE20 COMMAND CODES 1. DTE20 COMMAND WORD CMD CODE LOWER BYTE / 4 / 8 / /-------------------/ 2. COMMAND CODES 0 - TTY OUTPUT, LOW BYTE IS ASCII CHAR 1 - PROGRAM CONTROL 0 - HALT 1 - FATAL HALT 2 - ERROR HALT 3 - END OF PROGRAM 4 - END OF PASS 5 - CLOCK PARAMETER 6 - "DIAMON" FILE SELECTION 7 - "DIAMON" FILE READ 10 - PDP-10 PROGRAM COMMAND 2 - CLOCK CONTROL 0 - DISABLE 1 - ENABLE 2 - ENABLE & WAIT 3 - READ CLOCK COUNT 3 - SWITCHES 4 - TELETYPE OUTPUT, LOW BYTE IS ASCII CHAR 5 - TELETYPE INPUT, CHAR DEPOSITED INTO $DTF11 6 - PRINT CONTROL 0 - PRINT NORMAL 1 - PRINT FORCED 7 - DDT TTY INPUT MODE, CHAR BASED OPERATION 10 - MONITOR TTY OUTPUT, LOW BYTE IS ASCII CHAR 11 - MONITOR MODE CONTROL ON 12 - MONITOR MODE CONTROL OFF 13 - PASS TEN MONITOR MODE STATE 14 - 17 - RESERVED FOR EXPANSION DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 14.0 KL10 DTE20 COMMAND CODES (CON'T) A. TTY OUTPUT 1. THIS ROUTINE RESETS THE PDP-10 INPUT POINTERS, FLUSHES ANY EXTRA TYPEIN. 2. PICKS UP LOWER BYTE OF DTE20 COMMAND WORD, STRIPS TO 7 BITS AND CALLS THE "$LDBUF" ROUTINE TO PUT THE CHARACTER INTO THE OUTPUT BUFFER. THIS BUFFER GETS PRINTED UPON INSERTION OF A LINE FEED, A BELL, OR A NULL CHARACTER OR UPON EXCEEDING THE BUFFER CAPACITY OF 140 BYTES. 3. NOTIFIES PDP-10 TO CONTINUE B. PROGRAM CONTROL 1. HALT, CLEARS PDP-10 RUNNING FLAG AND REPORTS "KL10 HALTED PC/123456", THEN RETURNS TO CONSOLE MODE. 2. FATAL HALT, CLEARS PDP-10 CLOCK FLAG TO STOP CLOCK INTERRUPTS THEN NOTIFIES THE PDP-10 TO CONTINUE. THE PDP-10 SUBROUTINE PROGRAM WILL TRANSFER TO DDT IF LOADED OR HALT AT THE PROGRAM START ADDRESS. 3. ERROR HALT, CLEAR PDP-10 CLOCK FLAG AND PDP-10 RUNNING FLAG, THEN NOTIFIES PDP-10 TO CONTINUE. THE PDP-10 WILL THEN HALT. 4. END OF PROGRAM, PERFORMS THE "ERREOP" ROUTINE TO RETURN TO CONSOLE MODE IF RUNNING STAND-ALONE, OR TO PROCEED TO THE NEXT PROGRAM IF RUNNING UNDER SCRIPT OPERATION OR THE "J" INDIRECT COMMAND FILE OPERATION. 5. END OF PASS, PERFORMS THE "EOP" ROUTINE TO REPORT "END OF PASS #." AND DECREMENT THE PROGRAM ITERATION COUNT AND CHECK FOR COMPLETION. CONTINUE PROGRAM OPERATION IF ALL REQUESTED ITERATIONS ARE NOT YET COMPLETED. IF COMPLETED, PERFORMS THE "ERREOP" CALL AS ABOVE. NOTE: PDP-10 PROGRAMS ARE PRESENTLY SETUP TO REPORT COMPLETION OF THE FIRST PASS AND THEN EVERY HUNDRETH PASS. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 14.0 KL10 DTE20 COMMAND CODES (CON'T) B. PROGRAM CONTROL (CON'T) 6. CLOCK PARAMETER, DEPOSIT INTO $DTF11 THE CURRENT PROCESSOR CLOCK CONTROL PARAMETER WORD. THIS WORD CONTAINS THE CLOCK SOURCE, CLOCK RATE AND CACHE ENABLE PARAMETERS. FORMAT: CLOCK SOURCE, BITS 32 & 33 0 = NORMAL 1 = FAST 2 = EXTERNAL 3 = UNUSED CLOCK RATE, BITS 34 & 35 0 = FULL 1 = 1/2 2 = 1/4 3 = 1/8 CACHE ENABLE, BITS 0,1,2 & 3 BIT 0 = ENABLE CACHE 0 BIT 1 = ENABLE CACHE 1 BIT 2 = ENABLE CACHE 2 BIT 3 = ENABLE CACHE 3 DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 14.0 KL10 DTE20 COMMAND CODES (CON'T) B. PROGRAM CONTROL (CON'T) 7. "DIAMON" FILE SELECTION WHEN THIS COMMAND IS PERFORMED DIAMON MUST PREVIOUSLY HAVE LOADED INTO THE OUTPUT BUFFER THE REQUESTED FILE NAME AND EXTENSION. THIS COMMAND THEN TRANSFERS THE OUTPUT BUFFER TO THE INPUT BUFFER, PROCESSES THE NAME.EXT, SETS THE LOAD CONTROL TO HELP, SETS THE 'DIAFLG' TO CONTROL FILE PROCESSING AND PASSES CONTROL TO THE "DEVFIL" ROUTINE TO LOOKUP THE FILE. WHEN THE FILE IS FOUND "DEVFIL" RETURNS TO "DIAFND" WHICH SETS THE LOW 16 BITS OF THE $DTF11 WORD TO ZERO AND DOES A PDP-10 COMMAND CONTINUE. IF THE FILE IS NOT FOUND "DEVFIL" RETURNS TO "DIANF" WHICH SETS THE LOW 16 BITS OF THE $DTF11 WORD TO -1 AND DOES A PDP-10 COMMAND CONTINUE. 8. "DIAMON" FILE READ THIS COMMAND PROCESSES DATA FROM THE SELECTED FILE. UP TO FIVE ASCII CHARACTERS ARE READ FROM THE INPUT FILE LINE AND COMBINED INTO A 36 BIT PDP-10 WORD WHICH IS THEN DEPOSITED INTO THE $DTF11 WORD AND A PDP-10 COMMAND CONTINUE PERFORMED. DATA IS PROCESSED IN THIS MANNER WITH A NEW FILE DATA LINE REQUESTED WHEN REQUIRED. WHEN THE END-OF-FILE IS REACHED A 36 BIT MINUS ONE IS DEPOSITED INTO THE $DTF11 WORD, TO SIGNIFY EOF TO THE PDP-10, AND A PDP-10 COMMAND CONTINUE PERFORMED. THE "DIAMON" FILE SELECTION AND READ ROUTINES WILL OPERATE FROM WHATEVER DEVICE IS SELECTED. THIS INCLUDES THE RP04, DECTAPE AND THE ACT10 COMMUNICATIONS LINE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 14.0 KL10 DTE20 COMMAND CODES (CON'T) 9. PDP-10 PROGRAM COMMAND WHEN THIS COMMAND IS PERFORMED THE PDP-10 MUST PREVIOUSLY HAVE LOADED INTO THE OUTPUT BUFFER THE APPROPRIATE "KLDCP" COMMAND. THIS COMMAND IS THEN USED TO CAUSE A "PRGCMD" TO BE PERFORMED USING THE CONTENTS OF THE OUTPUT BUFFER. WHEN THE COMMAND IS COMPLETED SUCCESSFULLY THE LOW 16 BITS OF THE $DTF11 WORD ARE SET TO ZERO AND A PDP-10 COMMAND CONTINUE PERFORMED. IF THE COMMAND HAS AN ERROR THE LOW 16 BITS OF THE $DTF11 WORD ARE SET TO -1 AND A PDP-10 COMMAND CONTINUE PERFORMED. NOTE: EXTREME CARE MUST BE USED WHEN USING THIS OPERATION AS IT IS POSSIBLE TO DO ANY "KLDCP" COMMAND INCLUDING MASTER RESETTING THE KL10. ALSO, NOT ALL COMMANDS WILL RETURN TO CONTINUE THE PDP-10. C. CLOCK CONTROL 1. DISABLE CLOCK, TURNS OFF CLOCK INTERRUPTS OF THE PDP-10 BY THE PDP-11. 2. ENABLE, TURNS ON CLOCK INTERRUPTS OF THE PDP-10 BY THE PDP-11. ON EVERY CLOCK TICK THE PDP-11 WILL DEPOSIT -1 INTO THE "$DTCLK" LOCATION OF THE PDP-10. THE PDP-11 THEN DOORBELL INTERRUPTS THE PDP-10. 3. ENABLE & WAIT, EXAMINE $DTT11 TO GET THE CLOCK WAIT COUNT AND THEN AFTER WAITING THIS MANY CLOCK TICKS PERFORM AS GIVEN IN 2. ABOVE. ONLY THE LOWER 16 BITS OF THE CLOCK WAIT DATA FROM $DTT11 ARE USED. 4. READ CLOCK COUNT, DEPOSIT INTO $DTF11 THE CLOCK COUNT SINCE ENABLED BY EITHER OF THE CLOCK ENABLE COMMANDS. NOTE: EITHER OF THE CLOCK ENABLE COMMANDS ALSO SYNC'S THE PDP-10 PROGRAM TO THE CLOCK BY CLEARING THE CLOCK FLAG AND THEN WAITING FOR IT TO TICK BEFORE RETURNING CONTROL TO THE PDP-10 PROGRAM. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 14.0 KL10 DTE20 COMMAND CODES (CON'T) D. SWITCHES 1. READ SWITCHES, DEPOSIT CONTENTS OF WORD TYPED IN BY "SW" COMMAND INTO PDP-10 $DTF11. 2. THE PDP-10 CONSOLE SWITCHES ARE DEPOSITED INTO $DTSWR WHEN ANY OF THE START COMMANDS ARE PERFORMED AND ALSO WHEN THEY ARE CHANGED BY CHANGING THE PDP-11 CONSOLE SWITCHES OR WHEN THE "SW" COMMAND IS USED TO MODIFY THE LOWER 20 SWITCHES. E. TELETYPE INPUT 1. THIS ROUTINE CHECKS FOR AWAITING TYPEOUT, IF SO, PRINTS IT. 2. CHECKS PDP-10 INPUT BUFFER, IF CHARACTERS AVAILABLE, PASSES ONE TO THE PDP-10 THRU $DTF11. IF NONE AVAILABLE, CALLS THE "TTILIN" ROUTINE TO PROCESS A LINE OF TYPEIN. THE TYPED-IN LINE IS THEN TRANSFERED TO THE PDP-10 INPUT BUFFER & A CHAR PASSED TO THE TEN THRU $DTF11. USING THE "TTILIN" ROUTINE ALLOWS ALL OF THE FEATURES OF THIS ROUTINE TO BE USED TO PROVIDE RUBOUT & CONTROL U CAPABILITIES. 3. NOTIFIES THE PDP-10 TO CONTINUE WITH A CHARACTER IN $DTF11. F. DDT TTY INPUT MODE 1. THIS ROUTINE IS A CHARACTER BASED OPERATION AND PASSES TYPEIN FROM THE KEYBOARD DIRECTLY TO THE PDP-10 WITH NO PROCESSING AND NO ECHOING. 2. THE ROUTINE CHECKS FOR AWAITING TYPEOUT, IF SO, PRINTS IT. 3. PERFORMS THE "TTLOOK" ROUTINE TO PROCESS CHARACTERS DIRECTLY FROM THE KEYBOARD. 4. IF NO CHAR HAS BEEN TYPED, RETURNS ZERO IN $DTF11. 5. SETS THE CONSOLE COMMAND PROCESSOR INTO DDT INPUT MODE SO THAT ANY AND ALL TYPEINS ARE RESERVED FOR DDT. THIS MODE WILL STAY IN EFFECT FOR 5 SECONDS IF NO FURTHER DDT INPUT CALLS ARE PERFORMED. THE CONSOLE WILL THEN REVERT TO NORMAL COMMAND PROCESSING. 6. A CONTROL C (^C) TYPED IN WILL ABORT THE DDT INPUT MODE AND REVERT TO NORMAL COMMAND MODE. A DDT INPUT CALL MUST BE IN PROCESS FOR THIS TO BE SEEN HOWEVER, THERFORE THE TIMEOUT AS GIVEN ABOVE WILL RETURN TO CONSOLE MODE IF NO FURTHER DDT INPUT REQUESTS ARE PERFORMED. 7. DDT INPUT MODE WILL ALSO BE CLEARED BY DOING EITHER OF THE PRINT CONTROL COMMANDS. 8. A CONTROL X (^X) TYPED IN WILL CAUSE THE FOLLOWING CHARS TO BE USED AS A CONSOLE COMMAND. CONTROL IS THEN RETURNED BACK TO THE DDT TTY INPUT PROCESS. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 14.0 KL10 DTE20 COMMAND CODES (CON'T) G. MONITOR TTY OUTPUT THIS MODE IS A SPECIAL PDP-10 MONITOR SUPPORT MODE THAT ALLOWS THE CONSOLE TELETYPE TO FUNCTION AS A TIME-SHARING TERMINAL. WHEN THE CONSOLE IS OPERATING AS A USER TTY THE TELETYPE INPUT AND OUTPUT BELONG ENTIRELY TO THE PDP-10. THE PDP-10 USING THE MONITOR TTY OUTPUT COMMAND CODE SENDS CHARACTERS DIRECTLY TO THE TTY PRINTER AND THEN GETS A DTE20 DONE INTERRUPT WITH THE "$DTMTD" FLAG SET WHEN THE TTY IS READY TO ACCEPT ANOTHER CHARACTER. WHEN A CHARACTER IS TYPED ON THE KEYBOARD THE CHARACTER IS DEPOSITED IN THE "$DTF11" WORD, THE "$DTMTI" FLAG SET AND A DTE20 INTERRUPT PERFORMED. H. MONITOR MODE CONTROL ON THIS COMMAND PUTS THE CONSOLE IN MONITOR SUPPORT MODE TO SUPPORT TIME-SHARING TERMINAL OPERATION. THE CONSOLE MUST PREVIOUSLY HAVE BEEN IN THE PDP-10 RUN MODE SUPPORT OPERATION, ANY OF THE "START 10" COMMANDS SELECTS THIS MODE. I. MONITOR MODE CONTROL OFF THIS COMMAND RETURNS THE CONSOLE TO NORMAL PDP-10 RUN TIME SUPPORT. J. MONITOR MODE STATE THIS COMMAND PASSES TO THE TEN THE CURRENT STATE OF THE MONITOR MODE CONTROL FLAG. PASSED IN LOW 16 BITS OF "$DTF11". NOTE: ----- TO ABORT MONITOR SUPPORT MODE AND RETURN TO CONSOLE MODE THE OPERATOR MAY TYPE "CONTROL X". THIS RETURNS THE CONSOLE TO PDP-10 RUN TIME SUPPORT MODE. TO ABORT THIS MODE THE "CONTROL C" (^C) COMMAND MAY BE TYPED. IF CONTROL C HAS NOT BEEN TYPED THE "MC" MONITOR CONTINUE COMMAND WILL RETURN THE CONSOLE TO MONITOR SUPPORT MODE. IF CONTROL C HAS BEEN TYPED THE "RN" AND THEN THE "MC" COMMANDS MAY BE TYPED TO RETURN TO MONITOR SUPPORT MODE. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 15.0 FILE FORMATS ALL OF THE PROGRAM FILES FOR THE KL10 DECSYSTEM10 ARE CONVERTED INTO A COMPATIBLE FILE FORMAT WHICH ALLOWS FOR A COMMON HANDLING PROCEDURE. THIS FILE FORMAT IS LOADABLE FROM ANY STORAGE MEDIUM BOTH BY THE PDP-10 AND BY THE PDP-11. THE PROGRAM FILES CONSIST OF BINARY DATA WHICH HAS BEEN "ASCIIZED", THAT IS, MANIPULATED SUCH THAT 6 OR LESS BITS OF THE BINARY DATA ARE REPRESENTED BY A 7-BIT CHARACTER WHOSE VALUE RANGES FROM OCTAL 075 TO OCTAL 174. THIS PROCESS IS EMPLOYED TO AVOID THE PROBLEMS WHICH WOULD BE ENCOUNTERED IF CERTIAN 7-BIT COMBINATIONS WERE ALLOWED (E.G., OCTAL 003 WOULD BE INTERPRETED AS "CONTROL C"). "ASCIIZED" DATA IS PRODUCED FROM THE SOURCE BINARY DATA AS FOLLOWS: 1. DIVIDE THE BINARY DATA INTO 6-BIT FIELDS, STARTING WITH THE LEAST SIGNIFICANT 6 BITS. DEPENDING ON THE NUMBER OF BITS IN THE SOURCE DATA, THE MOST SIGNIFICANT FIELD MAY BE COMPOSED OF FROM 1 TO 6 BITS. 2. CONVERT EACH FIELD INTO A 7-BIT CHARACTER USING THE FOLLOWING PROCEDURE: 2A. IF THE FIELD HAS A VALUE LESS THAN OCTAL 75, ADD OCTAL 100 (PRODUCING 7-BIT VALUES RANGING FROM OCTAL 100 TO OCTAL 174). 2B. IF THE FIELD HAS VALUES OCTAL 75, 76, OR 77 USE THE FIELD DIRECTLY (PRODUCING 7-BIT VALUES 075, 076, OR 077). EXAMPLE: A 16 BIT WORD CONTAINING OCTAL 176076 IS DIVIDED INTO 3 FIELDS (ONE 4-BIT AND TWO 6-BIT): 17, 60, 76 THE FIELDS ARE CONVERTED INTO 7-BIT CHARACTERS: 117, 160, 076 WHICH ARE THE ASCII CODES FOR THE GRAPHICS: O, LOWER CASE P, > DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 16.0 PDP-11 FILE FORMATS PDP-11 PROGRAMS ARE ASSEMBLED WITH MACY11 ON A DECSYSTEM10 WHICH PRODUCES A PDP-11 BINARY FILE ON THE PDP-10 DISK OF THE FOLLOWING FORMAT: PDP-11 BINARY FILE FORMAT ------------------------- 11 BINARY ON 10 DISK - 36 BIT WORDS BYTE 2/BYTE 1,,BYTE 4/BYTE 3 6 5,, 8 7 10 9,, 12 11 ETC. ACTUAL FORMAT FRAME 0 001 ;START FRAME 1 000 ;NULL 2 XXX ;BYTE COUNT LOW 8 BITS 3 XXX ;BYTE COUNT HIGH 8 BITS 4 YYY ;LOAD ADDRESS LOW 8 BITS 5 YYY ;LOAD ADDRESS HIGH 8 BITS 6 NNN . . ;DATA BYTES . NNN ZZZ ;BLOCK CHECKSUM DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 16.0 PDP-11 FILE FORMATS (CON'T) PDP-11 ASCIIZED FILE FORMAT --------------------------- E WC,ADR,123,123,123, . . . . . .123,CKS, E WC,ADR,123,123,123, . . . . . .123,CKS, E 0,ADR,CKS E ;PDP-11 FILE IDENTIFIER ;SPACE, SIGNIFIES ASCIIZED FILE WC ;WORD COUNT ADR ;LOAD ADDRESS 123 ;UP TO 3 CHARS FOR EACH 16-BIT DATA WORD CKS ;FILE LINE CHECKSUM CR/LF ;END OF LINE AS MANY LINES OF THIS TYPE AS REQUIRED TO LOAD THE PDP-11 FILE, DEPENDS ON SIZE OF FILE. E ;PDP-11 IDENTIFIER ;SPACE, SIGNIFIES ASCIIZED FILE 0 ;WORD COUNT, WC OF ZERO SIGNIFIES TRANSFER BLOCK ADR ;PDP-11 STARTING ADDRESS CKS ;FILE LINE CHECKSUM CR/LF ;END OF LINE THERE IS A MAXIMUM OF 29 16 BIT DATA WORDS PER FILE LINE WHICH PRODUCES A MAXIMUM OF 131 CHARACTERS PER LINE COUNTING THE FILE IDENTIFIER, THE WORD COUNT, THE LOAD ADDRESS, THE DATA, THE LINE CHECKSUM AND THE FORMAT CHARACTERS. THE FILE LINE CHECKSUM IS THE 16 BIT NEGATED CHECKSUM THAT WHEN THE WORD COUNT, THE LOAD ADDRESS, THE DATA AND THE CHECKSUM ARE ADDED TOGETHER PRODUCES A 16 BIT ZERO SUM. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 17.0 PDP-10 FILE FORMATS PDP-10 PROGRAMS ARE ASSEMBLED, LOADED AND SAVED WHICH THEN CREATES A PDP-10 FILE IMAGE AS GIVEN IN THE FOLLOWING DESCRIPTION: PDP-10 SAVE FILE FORMAT ----------------------- -WC,,ADR ;-WC = NEGATIVE WORD COUNT OF THE DATA DATA ; WORDS FOLLOWING DATA DATA ;ADR = LOAD ADDRESS -1 FOR THE DATA DATA -WC,,ADR DATA . . JRST,,ADR ;START TRANSFER ADDRESS PDP-10 ASCIIZED FILE FORMAT --------------------------- PDP-10 ASCIIZED FILES ARE COMPOSED OF THREE TYPES OF FILE LOAD LINES. THEY ARE: A. CORE ZERO LINE THIS LOAD FILE LINE SPECIFIES WHERE AND HOW MUCH PDP-10 CORE TO BE ZEROED. THIS IS NECESSARY AS THE PDP-10 FILES ARE ZERO COMPRESSED WHICH MEANS THAT ZERO WORDS ARE NOT INCLUDED IN THE LOAD FILE TO CONSERVE FILE SPACE. CORE ZERO LINE Z WC,ADR,COUNT,...,CKSUM Z = PDP-10 CORE ZERO WORD COUNT = 1 TO 4 ADR = ZERO START ADDRESS DERIVED FROM C(JOBSA) COUNT = ZERO COUNT, 64K MAX DERIVED FROM C(JOBFF) IF THE ADDRESSES ARE GREATER THAN 64K THE HI 2-BITS OF THE 18 BIT PDP-10 ADDRESS ARE INCLUDED AS THE HI-BYTE OF THE WORD COUNT. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 17.0 PDP-10 FILE FORMATS (CON'T) B. LOAD FILE LINES AS MANY OF THESE TYPES OF LOAD FILE LINES ARE REQUIRED AS ARE NECESSARY TO REPRESENT THE BINARY SAVE FILE. LOAD FILE LINE T WC,ADR,DATA 20-35,DATA 4-19,DATA 0-3, - - - ,CKSUM T = PDP-10 TYPE FILE WC = PDP-10 DATA WORD COUNT TIMES 3, 3 PDP-11 WORDS PER PDP-10 WORD. ADR = PDP-10 ADDRESS FOR THIS LOAD FILE LINE LOW 16 BITS OF THE PDP-10 18 BIT ADDRESS, IF THE ADDRESS IS GREATER THAN 64K, THE HI 2-BITS OF THE ADDRESS ARE INCLUDED AS THE HI-BYTE OF THE WORD COUNT. UP TO 8 PDP-10 WORDS, OR UP TO 24 PDP-11 WORDS DATA 20-35 DATA 4-19 ;PDP-10 EQUIV DATA WORD BITS DATA 0-3 CKSUM = 16 BIT NEGATED CHECKSUM OF WC, ADR & DATA C. TRANSFER LINE THIS LOAD FILE LINE CONTAINS THE FILE STARTING ADDRESS. TRANSFER LINE T 0,ADR,CKSUM 0 = WC = SIGNIFIES TRANSFER, EOF ADR = PROGRAM START ADDRESS DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 18.0 KL10 MICRO CODE FILE FORMATS THE KL10 MICRO CODE FILE CONSISTS OF TWO DIFFERENT TYPES OF DATA. THE CONTROL RAM CONSISTS OF 80 BITS PLUS A 5 BIT SPECIAL FIELD PER CONTROL RAM LOCATION. THIS THEN REQUIRES SIX 16 BIT WORDS TO REPRESENT THE CONTROL RAM DATA. THE LOAD FILE IS ARRANGED SO AS FACILITATE LOADING OF THE C-RAM WITH THE "WCRAM" ROUTINE. THE DISPATCH RAM CONSISTS OF PAIRS OF LOCATIONS. THIS THEN REQUIRES THREE 16 BIT WORDS PER PAIR OF D-RAM LOCATIONS. THIS FILE IS ARRANGED TO FACILITATE LOADING OF THE D-RAM WITH THE "WDRAM" ROUTINE. BOTH THE C-RAM AND D-RAM DATA ARE COMBINED INTO A SINGLE LOAD FILE TO FACILITATE HANDLING AND TO KEEP THE ASSOCIATED VERSIONS TOGETHER. THE MICRO CODE LOAD FILE ALSO CONTAINS A C-RAM ZERO LINE USED TO ZERO THE CONTROL RAM BEFORE LOADING ANY DATA INTO IT. THE C-RAM IS ZEROED FROM LOCATION ZERO UP TO THE HIGHEST USED C-RAM LOCATION. EXAMPLE FILE: Z WC,ADR,CKS C WC,ADR,DATA,DATA,...,CKSUM C " C " C ,, D WC,ADR,DATA,DATA,...,CKSUM D " D " D ,, DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 18.0 KL10 MICRO CODE FILE FORMATS (CON'T) CONTROL RAM FORMAT ------------------ Z WC,ADR,COUNT,CKSUM Z ;C-RAM ZERO ;SPACE, ASCIIZED FORMAT WC ;WORD COUNT = 1 ADR ;ZERO START ADDRESS = 0 COUNT ;ZERO COUNT, DERIVED FROM HIGHEST USED ADDRESS C WC,ADR,64-79,48-63,32-47,16-31,00-15,0-4,.....,CKSUM C ;C-RAM FILE IDENTIFIER ;SPACE, ASCIIZED FILE TYPE WC ;WORD COUNT, C-RAM WORD COUNT TIMES 6, 6 PDP-11 ; WORDS PER C-RAM WORD ADR ;C-RAM ADDRESS FOR THIS LOAD FILE LINE 64-79 ;C-RAM BITS AS SPECIFIED UNDER "WCRAM" 48-63 ;C-RAM BITS AS SPECIFIED UNDER "WCRAM" 32-47 ;C-RAM BITS AS SPECIFIED UNDER "WCRAM" 16-31 ;C-RAM BITS AS SPECIFIED UNDER "WCRAM" 00-15 ;C-RAM BITS AS SPECIFIED UNDER "WCRAM" 0-4 ;C-RAM BITS AS SPECIFIED UNDER "WCRAM" CKSUM ;16 BIT NEGATED CHECKSUM OF WC, ADR & DATA C ,, C ;C-RAM FILE IDENTIFIER ;SPACE, ASCIIZED FILE FORMAT , ;WC = 0, END OF FILE , ;ADR = 0, NO START ADDRESS A C-RAM LOAD FILE LINE MAY CONTAIN UP TO 4 C-RAM LOCATIONS. THE FILE LINE CHECKSUM IS THE 16 BIT NEGATED CHECKSUM OF THE WORD COUNT, THE LOAD ADDRESS AND THE C-RAM DATA REPRESENTED IN 16 BIT FORMAT. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 18.0 KL10 MICRO CODE FILE FORMATS (CON'T) D-RAM FORMAT ------------ D WC,ADR,EVEN,ODD,COMMON,.......,CKSUM D ;D-RAM FILE IDENTIFIER ;SPACE, ASCIIZED FILE TYPE WC ;WORD COUNT, D-RAM LOCATION PAIRS TIMES 3, 3 PDP-11 ; 16 BIT WORDS PER PAIR OF LOCATIONS. EVEN ;D-RAM EVEN BITS AS SPECIFIES UNDER "WDRAM" ODD ;D-RAM ODD BITS AS SPECIFIED UNDER "WDRAM" COMMON ;D-RAM COMMON BITS AS SPECIFIED UNDER "WDRAM" CKSUM ;16 BIT NEGATED CHECKSUM OF WC, ADR & DATA D ,, D ;D-RAM FILE IDENTIFIER ;SPACE, ASCIIZED FILE FORMAT , ;WC = 0, END OF FILE , ;ADR = 0, NO START ADDRESS A D-RAM LOAD FILE LINE MAY CONSIST OF UP TO FOUR PAIRS OF D-RAM LOCATIONS. THE FILE LINE CHECKSUM IS THE 16 BIT NEGATED CHECKSUM OF THE WORD COUNT, THE LOAD ADDRESS AND THE D-RAM DATA REPRESENTED IN 16 BIT FORMAT. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 19.0 PDP-8 FILE FORMATS PDP-8 PROGRAMS ARE ASSEMBLED WITH PAL10 ON A DECSYSTEM10 WHICH PRODUCES A PDP-8 BINARY FILE ON THE PDP-10 DISK OF THE FOLLOWING FORMAT: PDP-8 BINARY FILE FORMAT ------------------------ DATA IS REPRESENTED AS IF IT WAS AN EIGHT CHANNEL PAPER TAPE. A. THE LEADER/TRAILER IS CHANNEL 8 ONLY. B. AN ADDRESS IS DESIGNATED BY A CHANNEL 7 PUNCH C. DATA FOLLOWS THE ADDRESS IN SEQUENTIAL ORDER PDP-8 ASCIIZED FILE FORMAT -------------------------- 8 WC,ADR,12,12,12, . . . . . .12,CKS, 8 WC,ADR,12,12,12, . . . . . .12,CKS, 8 0,ADR,CKS 8 ;PDP-8 FILE IDENTIFIER ;SPACE, SIGNIFIES ASCIIZED FILE WC ;WORD COUNT ADR ;LOAD ADDRESS 12 ;UP TO 2 CHARS FOR EACH 12-BIT DATA WORD CKS ;FILE LINE CHECKSUM CR/LF ;END OF LINE AS MANY LINES OF THIS TYPE AS REQUIRED TO LOAD THE PDP-8 FILE, DEPENDS ON SIZE OF FILE. 8 ;PDP-8 IDENTIFIER ;SPACE, SIGNIFIES ASCIIZED FILE 0 ;WORD COUNT, WC OF ZERO SIGNIFIES TRANSFER BLOCK ADR ;PDP-8 STARTING ADDRESS CKS ;FILE LINE CHECKSUM CR/LF ;END OF LINE THERE IS A MAXIMUM OF 32 12 BIT DATA WORDS PER FILE LINE WHICH PRODUCES A MAXIMUM OF 123 CHARACTERS PER LINE COUNTING THE FILE IDENTIFIER, THE WORD COUNT, THE LOAD ADDRESS, THE DATA, THE LINE CHECKSUM AND THE FORMAT CHARACTERS. THE FILE LINE CHECKSUM IS THE 12 BIT NEGATED CHECKSUM THAT WHEN THE WORD COUNT, THE LOAD ADDRESS, THE DATA AND THE CHECKSUM ARE ADDED TOGETHER PRODUCES A 12 BIT ZERO SUM. DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 20.0 OCTAL FILE FORMATS ANY OF THE PREVIOUSLY DESCRIBED FILE FORMATS MAY BE PATCHED, CREATED OR UPDATED BY USING THE OCTAL FILE FORMAT CAPABILITY. IN THE ASCIIZED FILE FORMAT THE SECOND CHARACTER ON A LINE (THE SPACE) SIGNIFIES THAT THIS LINE IS IN ASCIIZED FORMAT. TO CREATE A FILE LINE IN THE OCTAL FORMAT THE SECOND CHARACTER IS AN "O" AND THE DATA IS INSERTED IN OCTAL, THAT IS USING THE OCTAL CHARACTERS 0 THRU 7, THE FILE WHEN LOADED THEN USES ONLY THE THREE LEAST SIGNIFICANT BITS OF THE CORESPONDING CHARACTER. ALSO AN OCTAL FILE LINE DOES NOT INCLUDE THE CHECKSUM SO THAT ONE DOES NOT HAVE TO COMPUTE THIS WHEN CREATING THE FILE. ONE SHOULD LIMIT THE LINE LENGTH OF THE OCTAL FILE LINE TO 132 CHARACTERS. 21.0 SPECIFIED FILE EXTENSIONS THE KL10 DECSYTEM10 FILES HAVE THE FOLLOWING SPECIFIED FILE EXTENSIONS TO DESTINGUISH THE FILE TYPES. A. .BIN ;PDP-11 BINARY LOAD FILE B. .A11 ;PDP-11 ASCIIZED LOAD FILE C. .RAM ;KL10 MICRO CODE LOAD FILE D. .A10 ;PDP-10 ASCIIZED LOAD FILE E. .A8 ;PDP-8 ASCIIZED LOAD FILE DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 22.0 MICRO-CODE SPECIAL FILE CREATION 1. TO CREATE A SMALL SPECIAL MICRO-CODE FILE FOR DEBUG OF SPECIFIC PORTIONS OF THE KL10 USE THE APPROPRIATE EDITOR AND CREATE A ".RAM" FILE IN THE FOLLOWING FORMAT. B. EXAMPLE FILE: ZO CO6,0,42,0,0,0,0,0 CO6,1,100,0,0,21000,0,0 CO6,2,140,443,30000,35700,0,0 CO6,3,200,0,0,40,0,0 CO6,4,200,0,0,0,0,0 CO0 DO C. THE VARIOUS PORTIONS OF THIS FILE ARE: ZO ;ZERO C-RAM, NO LOCATIONS C ;FOR C-RAM CODE O ;FOR OCTAL FORMAT 6 ;WORD COUNT, 6 11 WORDS FOR THE 80 BIT C-RAM ;WORD AND THE 5 BIT SPEC FIELD , ;FIELD SEPARATORS 0 ;MICRO CODE ADDRESS 42 ;FIRST 16 BITS 0 ;2ND 16 BITS 0 ;3RD 16 BITS 0 ;4TH 16 BITS 0 ;5TH 16 BITS, FOR 80 BIT C-RAM 0 ;6TH 16 BITS, FOR 5 BIT SPEC FIELD CR/LF ;END OF LINE ;AS MANY LINES OF THIS FORM AS DESIRED C-RAM ;LOCATIONS TO BE BE LOADED CO0 ;C-RAM END OF FILE BLOCK DO ;D-RAM, NONE DECSYSTEM10 KL10 DIAGNOSTIC CONSOLE PROGRAM ------------------------------------------- 23.0 SUBROUTINE PACKAGE INSTRUCTIONS 23.1 SUBROUTINE SYMBOLIC TAGS ALL INTERNAL SUBROUTINE TAGS ARE PREFIXED WITH A DOLLAR SIGN ($) TO PRECLUDE INADVERTANT TAG DUPLICATION. USERS SHOULD REFER TO THE SUBROUTINE PACKAGE SYMBOL TABLE TO AVOID DUPLICATING THOSE TAGS USED IN THE SUBROUTINE PACKAGE. 23.2 SUBROUTINE PACKAGE DISTRIBUTION THIS PACKAGE OF SUBROUTINES IS SUPPLIED AS AN ASCII SOURCE FILE WHICH SHOULD BE ASSEMBLED WITH THE MAIN PROGRAM SOURCE FILES. THIS SUBROUTINE PACKAGE SHOULD BE USED AS A STANDARD SET AND ANY CORRECTIONS OR IMPROVEMENTS TO IT BE CLEARED WITH THE DIGITAL EQUIPMENT CORPORATION DIAGNOSTIC ENGINEERING GROUP. 24.0 MISCELLANEOUS 25.0 SOURCE FILE LISTINGS C