Type ASSEMBLE
Source Lines : 2,416
Fixes Applied : 25
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [HRC370DK]
Module
DMKCNS - SLOW-SPEED TERMINAL INTERRUPT HANDLER
Function
SECOND LEVEL INTERRUPT HANDLER FOR 3210, 3215, 1052, 2150, 7412 SYSTEM CONSOLES, AND 2741, 1050, TTY TERMINALS. PERFORMS I/O INTERRUPT HANDLING INCLUDING ERROR RECOVERY FOR THESE DEVICES.
Attributes
RE-ENTRANT, RESIDENT, ENTERED VIA INTERRUPT OR CPEXBLOK
Operation
IN AP-MODE DMKCNSIC IS ENTERED VIA CPEXBLOK WHENEVER DMKQCN HAS ADDED A CONTASK TO AN EMPTY CONTASK STACK, OR WHEN A PRIORITY TASK HAS BEEN STACKED. THE CCW STRING IS BUILT IN THE CONTASK CREATED BY DMKQCN, AS FOLLOWS: 1. WRITE CONTASK'S: 3210, 3215, 1052, ETC.: WRITE CCW FOR THE EBCDIC DATA, WITH OR WITHOUT CARRIAGE RETURN AS SPECIFIED BY 'NOAUTO', FOLLOWED BY EITHER A NO-OP OR AN ALARM CCW, AS SPECIFIED BY 'ALARM'. 2741, 1050: WRITE CCW FOR THE DATA, FOLLOWED BY READ ACKNOWLEDGMENT FOR 1050 ONLY. A CARRIAGE RETURN CHARACTER (X'5B') IS ADDED TO THE END OF THE DATA UNLESS 'NOAUTO' IS SPECIFIED, AND THE NECESSARY IDLE CHARACTERS (1 IDLE PER 10 DATA CHARS) ARE INSERTED AFTER THE CARRIAGE RETURN. AN EOB IS ALSO SET FOR A 1050. CPT-TWX: WRITE CCW FOR THE DATA, FOLLOWED BY A WRITE FOR THE BELL IF 'ALARM' WAS SPECIFIED. THE SEQUENCE 'CR,LF,XOFF,RUBOUT' IS ADDED AT THE END OF THE DATA UNLESS 'NOAUTO' IS SET. 2. READ CONTASK'S: 3210, 3215, 1052, ETC.: READ CCW FOR THE SPECIFIED LENGTH, FOLLOWED BY A NO-OP. 2741, 1050: WRITE OF ADDRESSING CHARACTERS (CIRCLE-C FOR 2741, CIRCLE-C, COMMON POLL FOR 1050), FOLLOWED BY PREPARE, FOLLOWED BY READ OF SPECIFIED LENGTH, DATA-CHAINED TO A DUMMY READ-SKIP FOR 4096 BYTES (TO IGNORE EXECSS DATA). CPT-TWX: WRITE FOR '., XON' PROMPTING SEQUENCE, FOLLOWED BY READ OF SPECIFIED LENGTH, DATA-CHAINED TO DUMMY READ-SKIP (4K). IF THE 'INHIBIT' PARMATER IS SET IN THE READ CONTASK, EITHER THE 2741, 1050 PRINT SUPPRESS FEATURE IS ENABLED TO PREVENT DATA TYPEOUT, OR A MASKING STRING IS WRITTEN TO OBSCURE THE INPUT DATA. A NULL LINE OR ATTENTION FOR AN INHIBIT READ WILL FORCE THE MASKING STRING TO BE TYPED, AND FOR THE PRINT SUPPRESS FEATURE TO BE DISABLED.
Calls to Other Routines
DMKBLDVM - TO BUILD A VMBLOK FOR A NEW USER DMKCFMBK - TO PLACE A USER IN CP CONSOLE FUNCTION MODE DMKCFMAT - TO SIMULATE A VIRTUAL CONSOLE ATTENTION DMKQCNCL - TO CLEAR THE CONTASK STACK DMKQCNET - TO PROCESS SPOOLING, ETC. OF FINISHED CONTASK'S DMKQCNTO - TO DISCONNECT A USER IN CASE OF LINE FAILURE DMKCVTBH - TO CONVERT A BINARY DEVICE ADDRESS TO EBCDIC DMKSCNRU - TO LOCATE A REAL DEVICE BLOCK (RDEVBLOK) DMKIOSQR - TO INITIATE A START I/O DMKTRMID - TO IDENTIFY THE TRANSLATE TABLE TO BE USED DMKIOERR - TO RECORD PERMENANT I/O ERRORS DMKMSWR - TO SEND I/O ERROR MESSAGE TO THE OPERATOR DMKSCNRD - TO GET THE REAL ADDRESS FROM AN RDEVBLOK DMKCPIEM - RE-ENTRY TO DMKCPI FOR ALTERNATE CONSOLE DMKERMSG - TO SEND ERROR MESSAGES TO THE OPERATOR DMKIOEST - TO CAUSE THE UPDATE OF STATISTICAL DATA COUNTERS DMKLOKSW - SWITCH TO ANOTHER VMBLOK IF SYSTEM IS AP-MODE DMKPTRAN - TO BRING IN THE TRANSLATE TABLE