cdc:nos2.source:opl871:1lc
Table of Contents
1LC
Table Of Contents
- [00005] 1LC - LOAD BUFFER CONTROLWARE.
- [00150] MAIN PROGRAM.
- [00153] LCW - LOAD BUFFER CONTROLWARE MAIN PROGRAM.
- [00217] SUBROUTINES.
- [00219] CCS - CHECK CONTROLLER STATUS.
- [00250] DCH - DROP CHANNEL ASSIGNMENT.
- [00269] DCT - DUMP CONTROLLER MEMORY.
- [00370] D7C - DUMP 7165 CONTROLLER MEMORY.
- [00427] FNC - ISSUE FUNCTION.
- [00453] GDA - GET DUMP FET ADDRESS.
- [00471] GLA - GET LOAD FET ADDRESS.
- [00487] ICE - INTERLOCK CONTROLWARE LOAD BITS.
- [00521] ILF - ISSUE LOAD FUNCTION.
- [00556] LCT - LOAD CONTROLWARE TO CONTROLLER.
- [00620] RCT - READ CHANNEL TABLE.
- [00653] SDR - SET DUMP FET RESPONSE.
- [00682] WBC - WRITE DUMP BUFFER TO CM.
- [00710] BUFFERS.
- [00746] PRESET.
- [00748] PRS - PRESET LOAD CONTROLWARE.
- [00985] SCI - SET CHANNEL INSTRUCTIONS.
- [01006] RSC - RESERVE AND STATUS CHANNEL.
- [01061] SCC - SET CONTROL MODULE CHANNEL.
- [01144] VFP - VALIDATE FET PARAMETERS.
Source Code
- 1LC.txt
- IDENT 1LC,LCW
- PERIPH
- BASE MIXED
- SST
- TITLE 1LC - LOAD BUFFER CONTROLWARE.
- *COMMENT 1LC - LOAD BUFFER CONTROLWARE ROUTINE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- 1LC SPACE 4,10
- ***** 1LC - LOAD BUFFER CONTROLWARE.
- *
- * W. J. SMITH. 79/07/21.
- * J. L. LARSON. 83/06/14.
- *
- * DOWNLOAD DISK CONTROLWARE ON SPECIFIED CHANNEL.
- 1LC SPACE 4,10
- *** *1LC*, IN CONJUNCTION WITH THE CPU PROGRAM *LOADBC, WILL
- * DOWNLOAD CONTROLWARE TO THE REQUESTED CHANNEL AND
- * CONTROLLER.
- *
- * CALL -
- *
- *T,IR 18/ *1LC*,6/ 0,18/ DADDR,18/ LADDR
- * DADDR FET ADDRESS FOR CONTROLWARE DUMP.
- * = 0 IF CONTROLWARE NOT TO BE DUMPED BEFORE RELOAD.
- * LADDR FET ADDRESS OF CONTROLWARE TO LOAD.
- *
- * *LOADBC* USES RECALL MACRO WHEN CALLING *1LC*.
- 1LC SPACE 4,20
- *** *1LC* IS A PP PROGRAM CALLED BY THE CPU PROGRAM *LOADBC*
- * TO DOWNLOAD DISK CONTROLWARE ON A SPECIFIED CHANNEL OR TO
- * DOWNLOAD CONTROL MODULE CONTROLWARE TO A SPECIFIED CONTROL
- * MODULE. THE CONTROLWORD AT FET+8 IN *LOADBC* FL CONTAINS
- * EITHER THE CHANNEL NUMBER OR THE CONTROL MODULE EST ORDINAL
- * (IN WHICH CASE BIT 2**11 IS SET).
- * THE CONTROLWARE IS CHECKED FOR ITS VALIDITY, READ FROM FIELD
- * LENGTH OF *LOADBC* IN SEGMENTS AND DOWNLOADED. CONTROLLER
- * IS STATUSED FOR ITS FUNCTIONALITY (GENERAL STATUS OF ZERO
- * INDICATES CORRECT CHECKSUM) AND A RESPONSE CODE OF ZERO IS
- * RETURNED IN FET+0 ON A SUCCESSFUL LOAD. A NON-ZERO RESPONSE
- * CODE IS RETURNED FOR UNSUCCESSFUL LOADS.
- * IF A NONZERO DUMP CONTROLWARE FET ADDRESS IS ALSO SPECIFIED,
- * THE CONTENTS OF THE 7255 ADAPTOR, THE 7155 CONTROLLER (FMD OR
- * DEMA) OR THE 7165 CONTROLLER WILL BE DUMPED TO THE BUFFER
- * BEFORE THE RELOAD IS ATTEMPTED. A ZERO RESPONSE CODE IS
- * RETURNED TO THE DUMP FET+0 ON A SUCCESSFUL DUMP.
- * A NON-ZERO RESPONSE CODE IS RETURNED FOR BUFFER ERROR
- * CONDITIONS, UNSUCCESSFUL DUMPS, AND FOR DUMP REQUESTS OF
- * CONTROLLERS/ADAPTORS NOT LISTED ABOVE. THE NUMBER OF THE
- * CHANNEL THAT WAS USED TO LOAD CONTROLWARE IS RETURNED IN
- * FET+8, BYTE 0.
- 1LC SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- * * FET ADDRESS OUT OF RANGE.* - THE CONTROLWARE DUMP OR
- * LOAD FET ADDRESS IS .LE. 1 OR EXTENDS PAST FL.
- SPACE 4,10
- * MACROS.
- *CALL COMPMAC
- *CALL COMSCPS
- *CALL COMPCHM
- *CALL COMSDSL
- *CALL COMSPIM
- *CALL COMSSSD
- SPACE 4,10
- * ASSEMBLY CONSTANTS.
- BUFL EQU 1000 LENGTH OF CONTROLWARE BLOCK
- FCDC EQU 701 DUMP 7165 CONTROLLER MEMORY
- FCLA EQU 500 LOAD ADDRESS AND LENGTH (7165 DUMP)
- FCAL EQU 414 AUTOLOAD FUNCTION CODE
- FCLC EQU 71 CONTROL MODULE LOAD FROM PP FUNCTION
- FCAR EQU 67 AUTOLOAD WITH NO DROP OF DRIVE RESERVES
- FCDM EQU 63 DUMP CONTROLLER MEMORY FUNCTION CODE
- FCMP EQU 62 MANIPULATE PROCESSOR FUNCTION CODE
- FCST EQU 12 GENERAL STATUS FUNCTION CODE
- FCOC EQU 10 OPERATION COMPLETE CODE
- FCCN EQU 0 CONNECT FUNCTION CODE
- SPACE 4,10
- * 7155 CONTROLLER DUMP ASSEMBLY CONSTANTS.
- CTSZ EQU 8192D 7155 CONTROLLER MEMORY SIZE (16 BIT WORDS)
- CWDB EQU 32D CONTROLLER WORDS PER MEMORY DUMP BLOCK
- PBDB EQU CWDB*2 PP BYTES PER DUMP BLOCK
- NCBD EQU CTSZ/CWDB NUMBER OF CONTROLLER BLOCKS TO DUMP
- SPACE 4,10
- * RESPONSE CODES RETURNED TO LOAD FET+0.
- RC0 EQU 0 CONTROLWARE LOAD COMPLETE
- RC1 EQU 1 * USER NOT SYSTEM ORIGIN.*
- RC2 EQU 2 * SPECIFIED CHANNEL IS IN USE.*
- RC3 EQU 3 RESERVED BY CPU ROUTINE *LOADBC*
- RC4 EQU 4 RESERVED BY CPU ROUTINE *LOADBC*
- RC5 EQU 5 RESERVED BY CPU ROUTINE *LOADBC*
- RC6 EQU 6 RESERVED BY CPU ROUTINE *LOADBC*
- RC7 EQU 7 RESERVED BY CPU ROUTINE *LOADBC*
- RC10 EQU 10 RESERVED BY CPU ROUTINE *LOADBC*
- RC11 EQU 11 * SYSTEM NOT IN ENGR MODE.*
- RC12 EQU 12 * BUFFER ARGUMENT ERROR.*
- RC13 EQU 13 CDC RESERVED
- RC14 EQU 14 * CONTROLWARE LOAD ALREADY IN PROGRESS.*
- RC15 EQU 15 * NO 77 TABLE IN CONTROLWARE RECORD.*
- RC16 EQU 16 * NO 52 TABLE IN CONTROLWARE RECORD.*
- RC17 EQU 17 * LENGTH IN 52 TABLE .NE. FET.*
- RC20 EQU 20 RESERVED BY CPU ROUTINE *LOADBC*
- RC21 EQU 21 * NOT CONTROL MODULE EST ORDINAL.*
- RC22 EQU 22 CDC RESERVED
- RC23 EQU 23 CDC RESERVED
- RC24 EQU 24 CDC RESERVED
- RC25 EQU 25 CDC RESERVED
- RC26 EQU 26 CDC RESERVED
- RC27 EQU 27 CDC RESERVED
- RC30 EQU 30 * CONTROLLER DID NOT TAKE ALL CONTROLWARE*
- RC31 EQU 31 * GENERAL STATUS = NNNN.*
- RC32 EQU 32 * FUNCTION TIMED OUT=NNNN.*
- RC33 EQU 33 * NO GENERAL STATUS RECEIVED.*
- RC34 EQU 34 * CHXX, CONTROLLER RESERVED.*
- SPACE 4,10
- * DUMP CONTROLWARE RESPONSE CODES RETURNED TO DUMP FET+0.
- DR0 EQU 0 * CONTROLLER DUMP COMPLETE.*
- DR1 EQU 1 * DUMP BUFFER ARGUMENT ERROR.*
- DR2 EQU 2 * INSUFFICIENT DUMP BUFFER SPACE.*
- DR3 EQU 3 * NOT CORRECT CONTROLLER TYPE FOR DUMP.*
- DR4 EQU 4 * CONTROLLER DUMP UNSUCCESSFUL.*
- SPACE 4,10
- * DIRECT CORE ASSIGNMENTS.
- BC EQU 20 BUFFER CONTROLLER CHANNEL NUMBER
- ST EQU 21 CONTROLLER GENERAL STATUS
- WC EQU 22 CONTROLWARE CM WORD COUNT
- FN EQU 23 LAST FUNCTION ISSUED TO CONTROLLER
- RC EQU 26 RESPONSE CODE
- DR EQU 27 DUMP FET RESPONSE CODE
- DP EQU 30 - 34 DATA POINTERS (5 LOCATIONS)
- CT EQU 35 CONTROLWARE TYPE
- CE EQU 36 - 37 CHANNEL CONTROLWARE ENTRY
- DB EQU 40 - 44 DUMP FET BUFFER POINTERS
- CS EQU 47 CHANNEL SPECIFIED ON CALL STATUS
- CN EQU 60 - 64 CM WORD BUFFER
- CO EQU 65 CONTROL MODULE EST ORDINAL
- EQ EQU 66 CONTROL MODULE EQUIPMENT NUMBER
- CF EQU 67 CHANNEL RESERVED BY *1LC* FLAG
- TITLE MAIN PROGRAM.
- ORG PPFW
- LCW SPACE 4,10
- ** LCW - LOAD BUFFER CONTROLWARE MAIN PROGRAM.
- LCW BSS 0 ENTRY
- RJM PRS PRESET LOAD CONTROLWARE
- STD RC
- LMK RC14
- ZJP LCW5 IF RELOAD ALREADY IN PROGRESS
- LMK RC14
- NJN LCW2.1 IF OTHER ERROR
- LDD CO
- NJN LCW0 IF CONTROL MODULE SPECIFIED
- RJM DCT DUMP CONTROLLER
- LCW0 RJM LCT LOAD CONTROLWARE
- NJN LCW2 IF ERROR RESPONSE
- LDD CS
- ZJN LCW1 IF DRIVER CALL
- LDN FCOC
- RJM FNC
- NJN LCW2 IF FUNCTION TIMEOUT
- LCW1 LDD ST CHECK STATUS
- ERRNZ RC0 CODE DEPENDS ON VALUE
- ZJN LCW2 IF NO ERROR
- LDN RC31 * GENERAL STATUS = NNNN.*
- LCW2 STD RC
- LCW2.1 LDD CS
- ZJN LCW3 IF DRIVER CALL
- RJM DCH DROP CHANNEL ASSIGNMENT
- UJN LCW4 CLEAR CHANNEL ENTRY INTERLOCK
- LCW3 AOM CHTI+1*5 CLEAR SYSTEM REQUEST FLAG
- AOM LCWA INCREMENT CONTROLLER LOADED COUNT
- LCW4 LDM CHTI+4
- LCWA ADN 0
- * ADN 1 (DRIVER CALL)
- STM CHTI+1*5+4
- RJM ICE CLEAR CHANNEL ENTRY INTERLOCK
- LDD CM+1
- NJN LCW4 IF VERIFY OF LOAD COUNT FAILED
- LCW5 RJM SDR SET DUMP FET RESPONSE
- RJM GLA FET LOAD FET ADDRESS
- CRD CM READ LOAD FET+0
- LDN ZERL
- CRD CN
- LDD RC GET REPLY CODE
- SHN 1
- LMN 1 SET COMPLETE BIT
- STD CM+4
- LMN RC32*2+1
- NJN LCW6 IF NOT FUNCTION TIME OUT ERROR
- LDD FN
- UJN LCW7 RETURN LAST FUNCTION TO FET
- LCW6 LDD ST RETURN GENERAL STATUS TO FET
- LCW7 STD CN+4
- LDD BC RETURN CHANNEL NUMBER
- STD CN
- RJM GLA GET LOAD FET ADDRESS
- ADN 8D
- CWD CN WRITE FET+8 RESPONSE DATA
- SBN 8D
- CWD CM WRITE FET+0 COMPLETION STATUS
- MONITOR DPPM DROP PP
- LJM PPR EXIT TO PP RESIDENT
- TITLE SUBROUTINES.
- CCS SPACE 4,10
- ** CCS - CHECK CONTROLLER STATUS.
- *
- * EXIT (A) = 0 IF STATUS RECEIVED.
- * (A) = *RC22* IF STATUS FUNCTION TIMEOUT.
- * (A) = *RC23* IF STATUS NOT RECEIVED.
- * (ST) = STATUS.
- *
- * CALLS FNC.
- CSS3 EJM CSS1,CH IF DATA NOT PRESENT
- LDN 1
- IAM ST,CH
- DCN CH
- NJN CSS2 IF NO STATUS RECEIVED
- CCS SUBR ENTRY/EXIT
- LDN FCST CHECK STATUS
- RJM FNC
- NJN CCSX IF FUNCTION TIMEOUT
- ACN CH
- LDD HN
- STD T0
- CSS1 ADN 1
- NJN CSS3 IF NOT TIMEOUT
- SOD T0
- NJN CSS3 IF NOT TIMEOUT
- CSS2 DCN CH
- LDN RC33 * NO GENERAL STATUS RECEIVED.*
- UJN CCSX RETURN
- DCH SPACE 4,10
- ** DCH - DROP CHANNEL ASSIGNMENT.
- *
- * ENTRY (BC) = CHANNEL NUMBER.
- * (CF) = 0 IF CHANNEL NOT RESERVED BY *1LC*.
- *
- * EXIT (CF) = 0.
- *
- * MACROS DCHAN.
- DCH SUBR ENTRY/EXIT
- LDD CF
- ZJN DCHX IF CHANNEL NOT RESERVED BY *1LC*
- LDD BC
- DCHAN
- * LDN 0
- STD CF
- UJN DCHX RETURN
- DCT SPACE 4,15
- ** DCT - DUMP CONTROLLER MEMORY.
- *
- * ENTRY (CT) = CHANNEL CONTROLWARE ENTRY.
- * (DB - DB+4) = DUMP FET *IN* POINTER (SET TO *FIRST*).
- * (DR) = *DR4* (CONTROLLER DUMP UNSUCCESSFUL) STATUS.
- *
- * EXIT (DR) = DUMP FET RESPONSE CODE.
- *
- * USES T1, T2, T3, T4, CM - CM+4.
- *
- * CALLS D7C, FNC, GDA, SDR, WBC.
- DCT8 RJM D7C DUMP 7165 CONTROLLER MEMORY
- NJN DCTX IF DUMP NOT SUCCESSFUL
- DCT9 RJM GDA GET DUMP FET ADDRESS
- ADN 2 UPDATE DUMP FET *IN* POINTER
- CWD DB
- LDN DR0
- DCT10 STD DR SAVE DUMP FET RESPONSE CODE
- DCT SUBR ENTRY/EXIT
- RJM GDA GET DUMP FET ADDRESS
- ZJN DCTX IF NO DUMP REQUESTED
- LDN ZERL CLEAR MANIPULATE PROCESSOR PARAMETERS
- CRD CM
- LDN 2 SET TO DUMP CONTROLLER MEMORY
- STD CM
- STD T4 PRESET 8K CONTROLLER TYPE INDEX
- LDD CT CHECK CONTROLWARE TYPE
- LPN 37
- LMN FMCW
- ZJN DCT1 IF MA721 CONTROLWARE FOR 7155 FMD
- LMN PHCW&FMCW
- ZJN DCT1 IF MA722 CONTROLWARE FOR 7155 DEMA
- LMN CCCW&PHCW
- ZJN DCT8 IF 7165 CONTROLLER
- LMN IDCW&CCCW
- ZJN DCT0 IF 7255 ADAPTOR
- LDN DR3 * NOT CORRECT CONTROLLER TYPE FOR DUMP.*
- UJN DCT10 SAVE RESPONSE CODE
- DCT0 LDN 40 SET 7255 ADAPTOR MEMORY ADDRESS
- STD CM+1
- SHN 1 SET MEMORY ADDRESS INCREMENT
- STM DCTB
- LDN 1 SET 7255 CONTROLLER TYPE INDEX
- STD T4
- DCT1 LDK NFBT SET NUMBER OF FULL BUFFERS
- STD T2
- LDK CWFB SET CM WORDS IN FULL BUFFER
- STD T3
- DCT2 LDK MXDB SET NUMBER OF BLOCKS IN FULL BUFFER
- STD T1
- DCT3 LDC DBUF RESET PP DUMP BUFFER ADDRESS
- STM DCTA
- DCT4 LDN FCMP INITIATE MANIPULATE PROCESSOR FUNCTION
- RJM FNC
- DCT5 NJP DCTX IF FUNCTION TIMEOUT
- ACN CH
- LDN 5 TRANSFER PARAMETERS
- OAM CM,CH
- FJM *,CH IF CHANNEL FULL
- DCN CH
- NJN DCT5 IF NOT ALL PARAMETERS TAKEN
- LDN FCDM DUMP CONTROLLER MEMORY
- RJM FNC
- NJN DCT5 IF FUNCTION TIMEOUT
- ACN CH
- LDD HN
- ERRNZ PBDB-100B CODE DEPENDS ON VALUE
- IAM DBUF,CH READ CONTROLLER MEMORY DUMP BLOCK
- DCTA EQU *-1
- NJN DCT5 IF NOT ALL DATA TRANSFERRED
- LDD HN ADVANCE PP DUMP BUFFER ADDRESS
- RAM DCTA
- LDC CWDB ADVANCE CONTROLLER MEMORY ADDRESS
- DCTB EQU *-1
- * LDC 100 (ADVANCE 7255 ADAPTOR ADDRESS)
- RAD CM+2
- SHN 21-10
- PJN DCT6 IF NOT 8 BIT OVERFLOW
- STD CM+2 CLEAR LOWER 8 BITS OF CONTROLLER ADDRESS
- AOD CM+1 INCREMENT UPPER 8 BITS OF ADDRESS
- DCT6 SOD T1
- NJP DCT4 IF MORE BLOCKS TO TRANSFER TO BUFFER
- RJM WBC WRITE BUFFER TO CM
- SOD T2
- MJN DCT7 IF DUMP COMPLETE
- NJP DCT2 IF MORE FULL BUFFERS TO DUMP
- LDK RPBB SET REMAINING PARTIAL BUFFER BLOCKS
- ZJN DCT7 IF NO PARTIAL BUFFER
- STD T1
- LDK CWPB SET CM WORDS IN LAST PARTIAL BUFFER
- STD T3
- LDN ZERL CLEAR LAST CM WORD
- CRM DBUF+RPBB*PBDB,ON
- LJM DCT3 TRANSFER LAST PARTIAL BUFFER
- DCT7 LJM DCT9 UPDATE FET
- D7C SPACE 4,10
- ** D7C - DUMP 7165 CONTROLLER MEMORY.
- *
- * ENTRY (CM+1) = 0.
- *
- * EXIT (A) = 0 IF DUMP SUCCESSFUL.
- *
- * USES CM+1, T1, T2, T3, T4.
- *
- * CALLS FNC, WBC.
- D7C SUBR ENTRY/EXIT
- LDN 4 SET 7165 CONTROLLER TYPE INDEX
- STD T4
- LDN NBBD SET NUMBER OF CONTROLLER BLOCKS TO DUMP
- STD T2
- LDK CMWF SET NUMBER OF CM WORDS IN FULL BUFFER
- STD T3
- LDK CTDB SET NUMBER OF CONTROLLER WORDS IN BLOCK
- STD T1
- D7C1 LDC FCLA LOAD ADDRESS AND LENGTH
- D7CA EQU *-1
- RJM FNC
- D7C2 NJN D7CX IF FUNCTION TIMEOUT
- ACN CH
- LDD CM+1 SEND BOTTOM 12 BITS OF ADDRESS
- OAN CH
- LDD T1 SEND LENGTH
- OAN CH
- FJM *,CH
- DCN CH
- LDC FCDC ISSUE DIAGNOSTIC READ
- RJM FNC
- NJN D7CX IF FUNCTION TIMEOUT
- ACN CH
- LDD T1
- SHN 1
- IAM DBUF,CH READ CONTROLLER MEMORY BLOCK
- NJN D7C2 IF NOT ALL DATA TRANSFERRED
- RJM WBC WRITE BUFFER TO CM
- SOD T2
- PJN D7C3 IF DUMP NOT COMPLETE
- LDN 0
- LJM D7CX RETURN
- D7C3 LDC CTDB UPDATE CONTROLLER MEMORY ADDRESS
- RAD CM+1
- SHN -14
- RAM D7CA
- LDD T2
- NJN D7C4 IF MORE FULL BLOCKS TO DUMP
- LDK CMWP SET NUMBER OF CM WORDS IN PARTIAL BLOCK
- STD T3
- LDK CTPB SET NUMBER OF PP BYTES IN PARTIAL BLOCK
- STD T1
- D7C4 LJM D7C1 DUMP PARTIAL BLOCK
- FNC SPACE 4,10
- ** FNC - ISSUE FUNCTION.
- *
- * ENTRY (A) = FUNCTION CODE.
- *
- * EXIT (A) = 0 IF FUNCTION ACCEPTED.
- * (A) = *RC22* IF FUNCTION TIMEOUT.
- FNC3 LDN 0
- FNC SUBR ENTRY/EXIT
- STD FN SAVE FUNCTION ISSUED
- IJM FNC1,CH IF CONTROLLER READY
- DCN CH
- FNC1 FAN CH
- LDD HN FUNCTION TIMEOUT OUTER DELAY
- STD T0
- FNC2 ADD ON
- IJM FNC3,CH IF FUNCTION ACCEPTED
- NJN FNC2 IF NOT FUNCTION TIMEOUT
- SOD T0
- NJN FNC2 IF NOT FUNCTION TIMEOUT
- DCN CH
- LDN RC32 * FUNCTION TIMED OUT=NNNN.*
- UJN FNCX EXIT
- GDA SPACE 4,10
- ** GDA - GET DUMP FET ADDRESS.
- *
- * ENTRY (IR+2 - IR+3) = DUMP FET ADDRESS.
- *
- * EXIT (A) = ABSOLUTE DUMP FET ADDRESS.
- * (A) = 0 IF NO DUMP REQUESTED.
- GDA SUBR ENTRY/EXIT
- LDD IR+3 GET DUMP FET ADDRESS
- SCN 77
- SHN 6
- ADD IR+2
- ZJN GDAX IF NO DUMP REQUESTED
- ADD RA
- SHN 6
- UJN GDAX RETURN
- GLA SPACE 4,10
- ** GLA - GET LOAD FET ADDRESS.
- *
- * ENTRY (IR+3 - IR+4) = LOAD FET ADDRESS.
- *
- * EXIT (A) = ABSOLUTE LOAD FET ADDRESS.
- GLA SUBR ENTRY/EXIT
- LDD IR+3 GET LOAD FET ADDRESS
- LPN 37
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- UJN GLAX RETURN
- ICE SPACE 4,10
- ** ICE - INTERLOCK CONTROLWARE LOAD BITS.
- *
- * ENTRY (CE - CE+1) = CONTROLWARE LOAD BIT ADDRESS.
- * (CHTI) = CONTROLWARE INTERLOCK *UTEM* PARAMETERS.
- *
- * EXIT (CM+1) = *UTEM* RETURN STATUS.
- *
- * USES CM+1, CM+3, CM+4, T1.
- *
- * MACROS MONITOR.
- ICE SUBR ENTRY/EXIT
- LDN 2
- STD CM+1 SET NUMBER OF *UTEM* PARAMETER WORDS
- STD T1
- LDD CE SET CONROLWARE LOAD BIT ADDRESS
- STD CM+3
- LDD CE+1
- STD CM+4
- LDD MA
- CWM CHTI,T1 SET/CLEAR CONTROLWARE LOAD INTERLOCK
- MONITOR UTEM
- LDD MA GET NEW VALUES
- CRM CHTI,T1
- UJN ICEX RETURN
- CHTI VFD 1/1,5/0,6/2,6/34D,42/0 VERIFY INTERLOCKS
- * VFD 1/1,5/0,6/4,6/30D,42/0 VERIFY RELOAD COUNT/DRIVER BIT
- VFD 1/0,5/0,6/1,6/34D,42/1 SET LOAD IN PROGRESS
- * VFD 1/0,5/0,6/5,6/30D,42/0 CLEAR INTERLOCK/SET LOAD COUNT
- ILF SPACE 4,10
- ** ILF - ISSUE LOAD FUNCTION.
- *
- * ENTRY (CO) = 0 IF NOT CONTROL MODULE RELOAD.
- * (CS) = 0 IF DRIVER CALL.
- * (EQ) = CONTROL MODULE EQUIPMENT NUMBER.
- *
- * CALLS CCS, FNC.
- ILF2 LDD CS
- ILFA ZJN ILF3 IF DRIVER CALL
- * PSN (*FCAR* FUNCTION NOT SUPPORTED)
- LDC FCAL&FCAR
- ILF3 LMN FCAR
- ILF4 RJM FNC ISSUE FUNCTION
- ILF SUBR ENTRY/EXIT
- LDD CO
- ZJN ILF2 IF NOT CONTROL MODULE RELOAD
- ILF1 LDN FCCN
- RJM FNC ISSUE CONNECT FUNCTION
- NJN ILFX IF FUNCTION TIMEOUT
- ACN CH
- LDD EQ OUTPUT CONTROL MODULE EQUIPMENT NUMBER
- SHN 3
- OAN CH
- FJM *,CH IF CHANNEL FULL
- DCN CH
- RJM CCS STATUS CONTROLLER
- NJN ILFX IF ERROR
- LDD ST
- NJN ILF1 IF GENERAL STATUS NOT ZERO
- LDN FCLC
- UJN ILF4 ISSUE CONTROLWARE LOAD FROM PP FUNCTION
- LCT SPACE 4,15
- ** LCT - LOAD CONTROLWARE TO CONTROLLER.
- *
- * ENTRY (CS) = CHANNEL SPECIFIED ON CALL STATUS.
- * (DP+3 - DP+4) = FWA CONTROLWARE RECORD (77 TABLE).
- * (EQ) = CONTROL MODULE EQUIPMENT NUMBER IF SPECIFIED.
- * (WC) = CM WORD COUNT OF CONTROLWARE RECORD.
- *
- * EXIT (A) = 0 IF LOAD COMPLETE.
- * (A) = *RC30* IF CONTROLLER DID NOT TAKE ALL
- * CONTROLWARE.
- * (A) = *RC22* IF FUNCTION TIMEOUT.
- * (A) = *RC23* IF STATUS NOT RECEIVED.
- *
- * USES T1, WC, DP+3 - DP+4.
- *
- * CALLS CCS, ILF.
- LCT4 FJM *,CH IF LAST WORD STILL ON CHANNEL
- DCN CH
- LCT5 DELAY
- RJM CCS CHECK STATUS
- NJN LCTX IF ERROR
- LDD ST
- SBN 2
- ZJN LCT5 IF CONTROLLER BUSY
- LDN 0
- LCT SUBR ENTRY/EXIT
- RJM ILF ISSUE LOAD FUNCTION
- NJN LCTX IF FUNCTION TIMEOUT
- LDD RA
- SHN 6
- RAD DP+4
- SHN -14
- RAD DP+3
- LDD TH
- ERRNZ BUFL-1000 CODE DEPENDS ON VALUE
- STD T1
- ACN CH ACTIVATE CHANNEL FOR OUTPUT
- LCT2 LDD WC SET BLOCK WORD COUNT
- ZJN LCT4 IF END OF CONTROLWARE
- SBD T1
- PJN LCT3 IF DATA OVERFLOWS BUFFER
- LDD WC
- STD T1
- LDN 0
- LCT3 STD WC
- LDD DP+3 SET CONTROLWARE DATA ADDRESS
- SHN 14
- ADD DP+4
- CRM BUF,T1 READ BLOCK OF CONTROLWARE
- STD DP+4 SAVE NEXT CM ADDRESS FOR CONTROLWARE READ
- SHN -14
- STD DP+3
- LDD T1 OUTPUT BLOCK TO CONTROLLER
- SHN 2
- ADD T1
- OAM BUF,CH
- FJM *,CH IF CHANNEL FULL
- ZJN LCT2 IF ALL DATA TAKEN
- LDN RC30 * CONTROLLER DID NOT TAKE ALL CONTROLWARE*
- LJM LCTX RETURN
- RCT SPACE 4,10
- ** RCT - READ CHANNEL TABLE.
- *
- * ENTRY (A) = CHANNEL NUMBER.
- *
- * EXIT (A) = ADDRESS OF CHANNEL RESERVATION TABLE WORD.
- * (BC) = CHANNEL NUMBER.
- * (T6) = BYTE ADDRESS OF CHANNEL RESERVATION STATUS.
- * (CM - CM+4) = CHANNEL RESERVATION TABLE WORD.
- *
- * USES T0.
- RCT SUBR ENTRY/EXIT
- LPN 77
- STD BC
- STD T6
- LCN 0
- STD T0
- LDK CHTP GET CHANNEL TABLE ADDRESS
- CRD CM
- RCT1 AOD T0
- LCN 5
- RAD T6
- PJN RCT1 IF CHANNEL WORD NOT REACHED
- ADN CM+5
- STD T6
- LDD CM+2 READ CHANNEL RESERVATION TABLE
- SHN 14
- LMD CM+3
- ADD T0
- CRD CM
- UJN RCTX RETURN
- SDR SPACE 4,10
- ** SDR - SET DUMP FET RESPONSE.
- *
- * ENTRY (DR) = DUMP FET RESPONSE CODE.
- * (IR+2 - IR+3) = DUMP FET ADDRESS.
- *
- * EXIT (IR+2 - IR+3) = DUMP FET ADDRESS CLEARED.
- *
- * USES CM - CM+4.
- *
- * CALLS GDA.
- SDR SUBR ENTRY/EXIT
- RJM GDA GET DUMP FET ADDRESS
- ZJN SDRX IF NO DUMP REQUESTED
- CRD CM
- LDD DR RETURN RESPONSE CODE
- SHN 1
- LMN 1 SET COMPLETE BIT
- STD CM+4
- RJM GDA
- CWD CM
- LDN 0 CLEAR DUMP FET ADDRESS
- STD IR+2
- LDD IR+3
- LPN 77
- STD IR+3
- UJN SDRX RETURN
- WBC SPACE 4,10
- ** WBC - WRITE DUMP BUFFER TO CM.
- *
- * ENTRY (T3) = NUMBER OF CM WORDS IN BUFFER BLOCK.
- * (T4) = CONTROLLER TYPE INDEX IF FIRST BLOCK.
- * = 0 IF FIRST BLOCK ALREADY WRITTEN.
- * (DB+3 - DB+4) = DUMP FET *IN* POINTER.
- *
- * EXIT BUFFER BLOCK WRITTEN TO CM.
- * DUMP FET *IN* POINTER UPDATED.
- WBC SUBR ENTRY/EXIT
- LDD T4 SET CONTROLLER TYPE INDEX IN BYTE 0
- ZJN WBC1 IF NOT FIRST BLOCK
- STM BUF
- LDN 0 SET FIRST BLOCK WRITTEN
- STD T4
- WBC1 LDD DB+3 WRITE BUFFER TO CM
- SHN 6
- ADD RA
- SHN 6
- ADD DB+4
- CWM DBUF,T3
- LDD T3 ADVANCE DUMP FET *IN* POINTER
- RAD DB+4
- SHN -14
- RAD DB+3
- UJN WBCX RETURN
- TITLE BUFFERS.
- USE BUFFERS
- USE *
- BUF EQU * CONTROLWARE LOAD BUFFER
- ERRNG EPFW-BUF-BUFL PPU MEMORY OVERFLOW
- DBUF EQU * CONTROLLER DUMP BUFFER
- DBUFL EQU EPFW-DBUF-5 MAXIMUM BUFFER SIZE
- * 7155 DUMP BUFFER ASSEMBLY CONSTANTS.
- MXDB EQU DBUFL/PBDB/5*5 MAXIMUM 7155 DUMP BLOCKS IN PP BUFFER
- NFBT EQU NCBD/MXDB NUMBER OF FULL BUFFERS TO TRANSFER
- RPBB EQU NCBD-NFBT*MXDB REMAINING PARTIAL BUFFER BLOCKS
- CWFB EQU MXDB*PBDB/5 CM WORDS IN FULL BUFFER
- PBPB EQU RPBB*PBDB+4 PP BYTES IN LAST PARTIAL BUFFER (ROUNDED)
- CWPB EQU PBPB/5 CM WORDS IN LAST PARTIAL BUFFER
- * 7165 DUMP BUFFER ASSEMBLY CONSTANTS.
- PPDB EQU DBUFL/12*12 PP BYTES PER FULL DUMP BLOCK
- CCSZ EQU 40000 7165 CONTROLLER MEMORY SIZE (16 BIT WORDS)
- CTDB EQU PPDB/2 CONTROLLER WORDS PER FULL DUMP BLOCK
- NBBD EQU CCSZ/CTDB NUMBER OF CONTROLLER BLOCKS TO DUMP
- CTPB EQU CCSZ-NBBD*CTDB CONTROLLER WORDS IN PARTIAL DUMP BLOCK
- CMWF EQU PPDB/5 NUMBER OF CM WORDS PER FULL BLOCK
- CPPB EQU CTPB*2+4 PP BYTES PER PARTIAL BLOCK (ROUNDED)
- CMWP EQU CPPB/5 NUMBER OF CM WORDS PER PARTIAL BLOCK
- DBSZ EQU CMWF*NBBD+CMWP CM DUMP BUFFER SIZE
- OVERFLOW
- TITLE PRESET.
- PRS SPACE 4,20
- ** PRS - PRESET LOAD CONTROLWARE.
- *
- * ENTRY (IR+2 - IR+3) = DUMP FET ADDRESS.
- * (IR+3 - IR+4) = LOAD FET ADDRESS.
- * (LOAD FET+8) BIT 2**11 = 1 IF BOTTOM 9 BITS =
- * CONTROL MODULE EST ORDINAL.
- * BIT 2**10 = 0 IF DRIVER CALL.
- *
- * EXIT (A) = ERROR RESPONSE.
- * (BC) = CHANNEL NUMBER.
- * (CS) = 0 IF DRIVER CALL.
- * (CT) = CHANNEL CONTROLWARE TYPE.
- * (CE - CE+1) = CONTROLWARE LOAD BITS POINTER.
- * (CHTI) SET FOR CLEAR OF CONTROLWARE TABLE INTERLOCK.
- * (DB - DB+4) = *IN* POINTER FOR DUMP FET.
- * (DP+3 - DP+4) = FWA OF CONTROLWARE RECORD (77 TABLE).
- * (DR) = INITIAL DUMP FET RESPONSE.
- * (WC) = CM WORD COUNT OF CONTROLWARE RECORD.
- * IF A CHANNEL WAS SPECIFIED ON THE CALL -
- * (CF) = 0.
- * (CO) = 0.
- * IF A CONTROL MODULE WAS SPECIFIED ON THE CALL -
- * (CO) = CONTROL MODULE EST ORDINAL.
- * (CF) = 1 (CHANNEL RESERVED).
- * (EQ) = CONTROL MODULE EQUIPMENT NUMBER.
- *
- * USES T6, T7, CM - CM+4, CN - CN+4, DB-2 - DB+7, T0 - T4.
- *
- * CALLS DCH, GDA, GLA, ICE, RCT, RSC, SCC, SDR, VFP.
- PRS18 LDN RC1 * USER NOT SYSTEM ORIGIN.*
- PRS SUBR ENTRY/EXIT
- LDN DR4 PRESET CONTROLLER DUMP UNSUCCESSFUL STATUS
- STD DR
- LDN 0 INITIALIZE NO CONTROL MODULE EST ORDINAL
- STD CO
- STD CF INITIALIZE NO CHANNEL RESERVED
- LDD IR+3 VALIDATE CONTROLWARE LOAD FET
- LPN 77
- SHN 14
- ADD IR+4
- RJM VFP
- NJN PRS1 IF INVALID BUFFER PARAMETERS
- LDD CP
- ADK JOTW
- CRD CM
- LDD CM+3
- LMK SYOT
- NJN PRS18 IF NOT SYSTEM ORIGIN
- LDD MA GET LOAD FET PARAMETERS
- ADN 2
- CRD DP *IN* AND *OUT* POINTERS
- ADN 1
- CRD CM GET FET LENGTH
- LDD CM
- LPN 77
- SBN 4
- PJN PRS2 IF LOAD FET LONG ENOUGH
- PRS1 LDN RC12 * BUFFER ARGUMENT ERROR.*
- UJN PRSX RETURN
- PRS2 LDD IR+3 VALIDATE CONTROLWARE DUMP FET
- SCN 77
- SHN 6
- LMD IR+2
- SHN 6
- ZJN PRS4 IF NO CONTROLLER DUMP REQUESTED
- RJM VFP
- NJN PRS3 IF INVALID BUFFER PARAMETERS
- LDD MA GET DUMP FET PARAMETERS
- ADN 3
- CRD DB+2 *FIRST* AND *LIMIT* POINTERS
- LDN ZERL
- CRD DB-2
- RJM GDA GET DUMP FET ADDRESS
- ADN 2 REWIND FET (SET *IN* = *OUT* = *FIRST*)
- CWD DB
- ADN 1
- CWD DB
- LDD DB+2+3 VERIFY DUMP BUFFER SIZE
- SBD DB+2+1
- SHN 14
- ADD DB+2+4
- SBD DB+2+2
- SBK DBSZ+1 REQUIRED CM DUMP BUFFER SIZE
- PJN PRS4 IF DUMP BUFFER LARGE ENOUGH
- LDN DR2 * INSUFFICIENT DUMP BUFFER SPACE.*
- PRS3 STD DR
- RJM SDR SET DUMP FET RESPONSE
- PRS4 LDD DP+3 LOAD FET *OUT* POINTER
- SHN 6
- ADD RA
- SHN 6
- ADD DP+4
- CRD CM
- LDD CM
- LMC 7700
- ZJN PRS5 IF 77 TABLE PRESENT
- LDN RC15 * NO 77 TABLE IN CONTROLWARE RECORD.*
- UJN PRS6 RETURN
- PRS5 LDD DP+3
- SHN 6
- ADD RA
- SHN 6
- ADD DP+4
- ADD CM+1 ADD 77 TABLE LENGTH
- ADN 1
- CRD CN READ EXPECTED 52 TABLE
- LDD CN
- LMC 5200
- ZJN PRS7 IF 52 TABLE PRESENT
- LDN RC16 * NO 52 TABLE IN CONTROLWARE RECORD.*
- PRS6 LJM PRSX RETURN
- PRS7 STD CE+1 CLEAR CHANNEL ENTRY POINTER
- LDD DP+3
- SHN 14
- ADD DP+4
- ADD CM+1 ADD 77 TABLE LENGTH - 1
- ADN 2 52 TABLE ADDRESS + LENGTH
- STD DP+4 RESET *OUT* POINTER TO FWA CONTROLWARE
- SHN -14
- STD DP+3
- LDD CN+4 LENGTH OF CONTROLWARE
- SBN 1 ADJUST FOR 52 TABLE
- STD WC CM WORD COUNT OF CONTROLWARE
- LDD DP+1 CHECK *IN* - *OUT*
- SBD DP+3
- SHN 14
- ADD DP+2
- SBD DP+4
- SBD WC
- ZJN PRS8 IF CORRECT CONTROLWARE LENGTH
- LDN RC17 * LENGTH IN 52 TABLE .NE. FET.*
- UJN PRS6 RETURN
- PRS8 STD CO INITIALIZE CONTROL MODULE INDICATOR
- RJM GLA GET LOAD FET ADDRESS
- ADN 10 READ FET+8
- CRD CM
- LDD CM+4 SET CALL STATUS
- SHN 0-12
- LPN 1
- STD CS
- ZJN PRS9 IF DRIVER CALL
- LDN SSTL
- CRD T0
- LDD T0+3
- LPN 4
- ZJN PRS9 IF ENGINEERING MODE ENABLED
- LDD CP
- ADN JCIW
- CRD T0 CHECK FOR *MSE* SUBSYSTEM
- LDD T0+2 GET SUBSYSTEM ID
- LMC ASSI
- ZJN PRS9 IF CALLER IS *MSE* SUBSYSTEM
- LDN RC11 * SYSTEM NOT IN ENGR MODE.*
- UJN PRS10 RETURN
- PRS9 LDD CM+4
- SHN 21-13
- PJN PRS11 IF CHANNEL SPECIFIED
- SHN 13-21
- LPC 777
- STD CO SET CONTROL MODULE EST ORDINAL
- RJM SCC SET CONTROL MODULE CHANNEL
- ZJN PRS12 IF NO ERROR
- PRS10 LJM PRSX RETURN
- PRS11 SHN 13-21
- RJM RCT READ CHANNEL TABLE
- ADN 2*CTALL READ CHANNEL CONTROLWARE TABLE
- CRD CM
- STD CE+1 SAVE CONTROLWARE ENTRY ADDRESS
- SHN -14
- STD CE
- LDI T6
- STD CT SAVE CHANNEL CONTROLWARE ENTRY
- LDM PRSA-CM,T6 SET *UTEM* PARAMETERS FOR CHANNEL TABLE
- STM CHTI+1
- STM CHTI+1*5+1
- PRS12 LDD CT
- SHN 0-12
- STM CHTI+4
- SHN 21-0
- MJN PRS13 IF LOAD ALREADY IN PROGRESS
- RJM ICE INTERLOCK CONTROLWARE LOAD BITS
- LDD CM+1
- ZJN PRS14 IF INTERLOCK SET CORRECTLY
- PRS13 RJM DCH DROP CHANNEL ASSIGNMENT
- LDN RC14 * CONTROLWARE LOAD ALREADY IN PROGRESS.*
- LJM PRSX RETURN
- PRS14 LDD CT SET PARAMETERS TO CLEAR CHANNEL INTERLOCK
- SHN -6
- LPN 17
- STM CHTI+4
- LDC 4004
- STM CHTI
- LDN 5
- STM CHTI+1*5
- LDC -400
- RAM CHTI+1
- STM CHTI+1*5+1
- LDD CO
- NJN PRS15 IF CONTROL MODULE RELOAD
- RJM RSC RESERVE AND STATUS CHANNEL
- NJN PRS17 IF ERROR
- PRS15 LDD CT CHECK CONTROLWARE TYPE
- LPN 37
- SBN FMCW
- ZJN PRS17 IF MA721 (SUPPORTS *FCAR* FUNCTION)
- SBN PHCW-FMCW
- ZJN PRS17 IF MA722 (SUPPORTS *FCAR* FUNCTION)
- SBN IDCW-PHCW
- ZJN PRS17 IF MA462 (SUPPORTS *FCAR* FUNCTION)
- LDN PSNI
- STM ILFA
- LDN 0
- PRS17 LJM PRSX RETURN
- PRSA BSS 0 TABLE OF RELOAD FLAG BIT POSITIONS
- CON 58DS6
- CON 46DS6
- CON 34DS6
- CON 22DS6
- CON 10DS6
- SPACE 4,10
- * CHANNEL TABLE.
- CHTB CH
- SCI SPACE 4,10
- ** SCI - SET CHANNEL INSTRUCTIONS.
- *
- * USES T1, T2, T3.
- SCI SUBR ENTRY/EXIT
- LDC CTCH INITIALIZE CHANNEL TABLE ADDRESS
- STD T1
- LDD BC CLEAR POSSIBLE CCH FLAG
- LPN 37
- STD T3
- SCI1 LDI T1
- ZJN SCIX IF END OF CHANNEL INSTRUCTIONS
- STD T2
- LDI T2 GET NEXT CHANNEL INSTRUCTION
- SCN 37
- LMD T3
- STI T2 INITIALIZE CHANNEL INSTRUCTION
- AOD T1
- UJN SCI1 LOOP TO CHECK FOR NEXT INSTRUCTION
- RSC SPACE 4,15
- ** RSC - RESERVE AND STATUS CHANNEL.
- *
- * ENTRY (BC) = CHANNEL NUMBER.
- * = *RC2* IF DOWN CHANNEL IN USE.
- * = *RC34* IF CONTROLLER RESERVED.
- * (CS) = CHANNEL SPECIFIED ON CALL STATUS.
- *
- * EXIT (A) = 0.
- * (A) = *RC24* IF CONTROLLER RESERVED THROUGH
- * ALTERNATE ACCESS OR *RC22* IF FUNCTION
- * TIMEOUT OCCURED.
- * CHANNEL RESERVED IF NOT SYSTEM REQUEST.
- *
- * USES CM - CM+4.
- *
- * CALLS CCS, FNC, RCT, SCI.
- *
- * MACROS MONITOR, RCHAN.
- RSC2 LDD BC
- RCHAN RESERVE CHANNEL
- RSC3 AOD CF SET CHANNEL RESERVED BY *1LC* FLAG
- RSC4 RJM SCI SET CHANNEL INSTRUCTIONS
- LDD BC
- LPN 40
- ZJN RSC5 IF NOT A CIO CHANNEL
- LDC 100000 MASTER CLEAR THE CHANNEL
- RJM FNC
- NJN RSCX IF ERROR OCCURRED
- RSC5 RJM CCS CHECK CONTROLLER STATUS
- NJN RSC6 IF STATUS TIMEOUT OR STATUS NOT RECEIVED
- LDD ST
- RSC6 LPC 2000
- ZJN RSCX IF CONTROLLER NOT ALREADY RESERVED
- LDN RC34 * CHXX, CONTROLLER RESERVED.*
- RSC SUBR ENTRY/EXIT
- LDD CS
- ZJN RSC4 IF DRIVER CALL
- LDD BC
- RJM RCT READ CHANNEL TABLE
- LDI T6
- LPN 40
- ZJP RSC2 IF CHANNEL UP
- LDN 0
- STD CM+2
- LDD BC ASSIGN DOWNED CHANNEL
- STD CM+1
- MONITOR CCHM
- LDD CM+2
- NJP RSC3 IF CHANNEL ASSIGNED
- LDN RC2 * SPECIFIED CHANNEL IS IN USE.*
- UJN RSCX RETURN
- SCC SPACE 4,15
- ** SCC - SET CONTROL MODULE CHANNEL.
- *
- * ENTRY (CO) = CONTROL MODULE EST ORDINAL.
- * (CS) = 0 IF DRIVER CALL.
- *
- * EXIT (A) = ERROR RESPONSE (0 IF NO ERROR).
- * (BC) = CHANNEL NUMBER.
- * (CF) .NE. 0 IF CHANNEL RESERVED.
- * (CT) = CONTROLWARE TYPE.
- * (EQ) = CONTROL MODULE EQUIPMENT NUMBER.
- * (CE - CE+1) = ABSOLUTE ADDRESS OF *CM* EST ENTRY.
- *
- * USES BC, CF, CT, EQ, T1, CE - CE+1, CM - CM+4, CN - CN+4.
- *
- * CALLS SCI.
- *
- * MACROS MONITOR, RCHAN, SFA.
- SCC10 LDN RC21 * NOT CONTROL MODULE EST ORDINAL.*
- SCC SUBR ENTRY/EXIT
- SFA EST,CO GET EST ENTRY
- ADK EQDE
- CRD CN
- ADN EQAE-EQDE
- CRD CM
- STD CE+1
- SHN -14
- STD CE
- LDD CN+3
- LMC 2RCM
- NJN SCC10 IF NOT CONTROL MODULE
- LDD CN+4 SAVE CONTROL MODULE EQUIPMENT NUMBER
- SHN -11
- STD EQ
- LDD CM+2
- STD CT
- SHN 0-11
- LPN 1
- LMN 1
- RAM SCCA
- LDD CS
- NJN SCC6 IF NOT DRIVER CALL
- LDD CN+1 SET CHANNEL NUMBER
- * LDD CN+2 (CHANNEL ACCESS BIT CLEAR)
- SCCA EQU *-1
- LPN 37
- SCC2 STD BC
- LDN 0
- SCC3 LJM SCCX RETURN
- SCC4 LDI T1
- RCHAN RESERVE CHANNEL
- SCC5 RJM SCI SET CHANNEL INSTRUCTIONS
- AOD CF SET CHANNEL RESERVED BY *1LC* FLAG
- LDD CM+1
- UJN SCC2 SET CHANNEL NUMBER
- SCC6 LDN CN+1
- STD T1
- SCC7 LDI T1
- SHN 0-12
- LMN 2
- ZJN SCC4 IF CHANNEL ENABLED AND UP
- AOD T1
- LMN CN+3
- NJN SCC7 IF ANOTHER CHANNEL BYTE TO CHECK
- SCC8 SOD T1
- LMN CN
- NJN SCC9 IF ANOTHER CHANNEL TO CHECK
- LDN RC2 * SPECIFIED CHANNEL IS IN USE.*
- UJN SCC3 RETURN
- SCC9 LDI T1
- STD CM+1
- SHN 21-13
- PJN SCC8 IF CHANNEL NOT ENABLED
- MONITOR CCHM ASSIGN DOWNED CHANNEL
- LDD CM+2
- ZJN SCC8 IF CHANNEL NOT ASSIGNED
- UJP SCC5 SET CHANNEL ASSIGNED AND RETURN
- VFP SPACE 4,20
- ** VFP - VALIDATE FET PARAMETERS.
- *
- * ENTRY (A) = FET ADDRESS.
- *
- * EXIT (A) = 0 IF FET ADDRESS AND BUFFER PARAMETERS VALID.
- * (A) = *DR1* IF BUFFER PARAMETERS INVALID.
- * (MB+2) = 12/0, 24/*IN*, 24/*OUT*.
- * (MB+3) = 1/RANDOM FILE FLAG, 5/0, 6/FET LENGTH,
- * 24/*FIRST*, 24/*LIMIT*.
- *
- * ERROR TO *PPR* AFTER JOB ABORT IF FET ADDRESS INVALID.
- *
- * USES CM+1, CM+3, CM+4.
- *
- * CALLS DFM.
- *
- * MACROS MONITOR.
- VFP1 LDN DR1 * DUMP BUFFER ARGUMENT ERROR.*
- VFP SUBR ENTRY/EXIT
- STD CM+4
- SHN -14
- STD CM+3
- LDN 3 VALIDATE *FIRST*, *IN*, *OUT*, AND *LIMIT*
- STD CM+1
- MONITOR VFPM
- LDD CM+1
- ZJN VFPX IF FET ADDRESS AND BUFFER PATAMETERS VALID
- SBN 1
- NJN VFP1 IF NOT INVALID FET ADDRESS
- LDC VFPA * FET ADDRESS OUT OF RANGE.*
- RJM DFM
- MONITOR ABTM ABORT CONTROL POINT
- LJM PPR EXIT TO PP RESIDENT
- VFPA DATA C* FET ADDRESS OUT OF RANGE.*
- SPACE 4,10
- END
cdc/nos2.source/opl871/1lc.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator