Table of Contents

DMKCNS Abstract

Statistics

Type ASSEMBLE
Source Lines : 2,416
Fixes Applied : 25
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [HRC370DK]

Synopsis

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