cdc:nos2.source:opl871:0ct
Table of Contents
0CT
Table Of Contents
- [00007] 0CT - LOAD CTS/CCC CONTROLWARE
- [00009] LOAD CTS/CCC CONTROLWARE.
- [00059] MAIN PROGRAM.
- [00061] LCC - MAIN ROUTINE.
- [00162] ICF - ISSUE CCC/CTS FUNCTION.
- [00185] MCI - MODIFY CHANNEL INSTRUCTIONS.
Source Code
- 0CT.txt
- IDENT 0CT,/REL/LCCX
- PERIPH J
- BASE MIXED
- SST
- *COMMENT 0CT - LOAD CTS/CCC CONTROLWARE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE 0CT - LOAD CTS/CCC CONTROLWARE
- SPACE 4,10
- *** 0CT - LOAD CTS/CCC CONTROLWARE.
- *
- * P. C. SMITH. 92/04/21.
- SPACE 4,10
- *** *0CT* IS A LOCATION FREE ROUTINE CALLED BY *1MT*
- * TO LOAD CTS/CCC CONTROLWARE ON *MAGNET* INTITIATION, AND
- * DURING TAPE ERROR RECOVERY.
- SPACE 4,10
- *** ENTRY CONDITIONS.
- *
- * (CN) = CHANNEL NUMBER.
- * (CN+1) = ADDRESS OF 100B CM WORD BUFFER.
- *
- *
- * USES CM - CM+4, CN - CN+4, T1 - T1+4.
- SPACE 4,10
- *** EXIT CONDITIONS.
- *
- * (CN) = 0 IF NO ERROR.
- * (CN) = ERROR CODE IF ERROR.
- * (CN) = 7777 IF MICROCODE NOT FOUND.
- * (CN+1) = LAST FUNCTION ISSUED TO CCC.
- * (CN+2) = MICROCODE REVISION.
- SPACE 4,10
- **** DIRECT LOCATION ASSIGNMENTS.
- DS EQU 24 DEVICE STATUS
- CN EQU 62 - 66 CM BUFFER
- SPACE 4,10
- * ASSEMBLY CONSTANTS.
- CH EQU 13 CHANNEL NUMBER
- F0012 EQU 0012 GENERAL STATUS FUNCTION
- F0414 EQU 0414 AUTOLOAD FUNCTION
- ****
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPMAC
- QUAL MTX
- *CALL COMSMTX
- QUAL *
- *CALL COMSZOL
- REL$ SET 1 DEFINE FULL RELOCATION
- *CALL COMPRLI
- *CALL COMPCHM
- TITLE MAIN PROGRAM.
- LCC SPACE 4,10
- ** LCC - MAIN ROUTINE.
- LCC SUBR ENTRY/EXIT
- REL$ EQU 1 SET FULL RELOCATION
- RJM. REL,LA RELOCATE ADDRESSES
- RJM MCI MODIFY CHANNEL INSTRUCTIONS
- LDD CN+1 SET CONTROLWARE BUFFER ADDRESS
- STM LCCA
- STM LCCB
- LCC1 DELAY
- LDK PLDP CHECK PERIPHERAL DIRECTORY POINTER
- CRD CM
- LDD CM
- ADD CM+1
- ZJN LCC1 IF SYSEDIT IN PROGRESS
- * FIND CCC MICROCODE.
- LDN ZERL
- CRD CM
- LDD MA PUT CONTROLWARE ID IN MESSAGE BUFFER
- CWM LCCE,ON
- MONITOR SCDM SEARCH CENTRAL DIRECTORY
- LDD CM+3
- SHN 14
- LMD CM+4
- CRD CM READ *PST* ENTRY
- LDD CM+1
- SHN 21-12
- PJP LCC5 IF NOT CM RESIDENT
- LDD CM+3 GET ADDRESS OF *RCL* ENTRY
- SHN 14
- LMD CM+4
- ADN 1
- CRD CN READ 5200 RECORD HEADER
- ADN 6
- CRD T1
- SBN 5 SET FWA OF 5200 RECORD DATA
- STD CM+4
- SHN -14
- STD CM+3
- LCN 1 ADJUST WORD COUNT FOR HEADER
- RAD CN+4
- LDD T3
- STD CN+2 SAVE MICROCODE REVISION
- * LOAD CCC MICROCODE.
- LDC F0414 AUTOLOAD FUNCTION
- RJM ICF ISSUE CTS FUNCTION
- NJP LCC6 IF FUNCTION TIMEOUT
- ACN CH
- LDD CN+4
- LCC2 SBD HN
- MJN LCC3 IF LESS THAN 100B WORDS LEFT
- LDN 0
- LCC3 ADD HN
- STD T1
- LDD CM+3
- SHN 14
- LMD CM+4
- CRM. **,T1 READ FROM CM
- LCCA EQU *-1 (ADDRESS OF CONTROLWARE BUFFER)
- STD CM+4 UPDATE CM ADDRESS
- SHN -14
- STD CM+3
- LDD T1 SET BYTES TO TRANSFER
- SHN 2
- ADD T1
- OAM **,CH LOAD BLOCK OF CONTROLWARE TO CCC
- LCCB EQU *-1 (ADDRESS OF CONTROLWARE BUFFER)
- FJM *,CH IF TRANSFER NOT COMPLETE
- LCCC EQU *-1 (ADDRESS TO BE RELOCATED)
- NJN LCC4 IF INCOMPLETE TRANSFER
- LDD CN+4
- SBD T1
- STD CN+4
- NJN LCC2 IF MORE WORDS TO TRANSFER
- LDN F0012 GENERAL STATUS FUNCTION
- RJM ICF ISSUE FUNCTION
- NJN LCC6 IF FUNCTION TIMEOUT
- ACN CH
- LDN 1
- IAM DS,CH INPUT GENERAL STATUS
- NJN LCC4 IF WORD NOT RECEIVED
- SFM LCC4,CH IF ERROR FLAG SET
- LCCD EQU *-1 (ADDRESS TO BE RELOCATED)
- LDD DS
- SHN 0-13
- ZJN LCC6 IF NO ERROR
- LCC4 LDN /MTX/CMF CHANNEL MALFUNCTION
- UJN LCC6 SAVE ERROR CODE
- LCC5 LCN 0 INDICATE MICROCODE NOT FOUND
- LCC6 STD CN
- LJM LCCX RETURN
- LCCE VFD 30/0LMB468,30/0
- ICF SPACE 4,10
- ** ICF - ISSUE CCC/CTS FUNCTION.
- *
- * ENTRY (A) = FUNCTION.
- *
- * EXIT (A) = 0 IF NO ERROR.
- * (A) = ERROR CODE IF ERROR.
- * (CN+1) = FUNCTION THAT WAS ISSUED.
- ICF2 LDN 0
- ICF SUBR ENTRY/EXIT
- DCN CH ENSURE CHANNEL IS INACTIVE
- STD CN+1 SAVE FUNCTION
- FAN CH ISSUE THE FUNCTION
- LCN 0
- ICF1 IJM ICF2,CH IF FUNCTION REPLY RECEIVED
- ICFA EQU *-1 (ADDRESS TO BE RELOCATED)
- SBN 1
- NJN ICF1 IF TIMEOUT NOT EXPIRED
- LDN /MTX/FRJ FUNCTION REJECT
- UJN ICFX RETURN
- MCI SPACE 4,10
- ** MCI - MODIFY CHANNEL INSTRUCTIONS.
- *
- * ENTRY (CN) = CHANNEL NUMBER.
- * (LA) = LOAD ADDRESS.
- *
- * USES T3.
- MCI SUBR ENTRY/EXIT
- LDC. MCIA
- STD T3 ADDRESS OF CHANNEL TABLE
- MCI1 LDI T3 GET ADDRESS OF CHANNEL INSTRUCTION
- ZJN MCIX IF END OF CHANNEL TABLE
- ADD LA RELOCATE ADDRESS
- STD T0
- LDI T0
- SCN 37
- LMD CN SET CHANNEL NUMBER
- STI T0
- AOD T3
- UJN MCI1 CONTINUE MODIFYING CHANNEL INSTRUCTIONS
- LIST G
- MCIA CHTB CH CHANNEL TABLE
- SPACE 4,10
- * ASSEMBLE RELOCATION CODE.
- *
- * NOTE - DUE TO THE INTERACTION OF COMMON DECKS *COMPRLI* AND
- * *COMPCHM*, THE ADDRESS OF ANY INSTRUCTION WHICH
- * SPECIFIES BOTH A CHANNEL NUMBER AND A RELOCATABLE
- * ADDRESS MUST BE MANUALLY ADDED TO THE FOLLOWING TABLE.
- HERE
- CON LCCC
- CON LCCD
- CON ICFA
- CON 0
- SPACE 4,10
- * CHECK FOR OVERFLOW.
- ERRPL *-ZCTL *0CT* OVERFLOWS CALLING PROGRAM
- END
cdc/nos2.source/opl871/0ct.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator