scnsrf

Order Number: XX-4CEC6-3C

This document describes the SCNSRF (Scanner and Console Teletype Service Routine), a comprehensive low-level software component designed for managing input/output (I/O) operations for teletype (TTY) and scanner devices within a Digital Equipment Corporation (DEC) system, dating back to 1969.

The routine is structured into the following key areas:

  1. System Initialization (SCNINI): Sets up the operating environment, clears I/O flags, and initializes Device Data Blocks (DDBs) for all TTYs and scanners.
  2. Device Management: Includes routines for attaching and detaching TTYs to specific jobs, placing TTYs into user or monitor modes, and releasing or "killing" TTY devices, along with handling "talk ring" configurations.
  3. Buffer Management: Implements ring buffers for both input and output. This involves a sophisticated system of pointers and counters (e.g., PUTR, TAKR, PCTR, FCTR) to manage character storage, retrieval, and track available buffer space efficiently.
  4. Character I/O Processing:
    • Input (DOTIN, GETCHR, TTEDIT): Routines to get characters from input buffers, handle various special characters (e.g., control codes like Control-C, rubout, line breaks) and their corresponding actions, perform keyboard editing (like backspace and line deletion), and manage echoes to the console.
    • Output (DDTOUT, PUTCHO, OUTCHR): Routines to place characters into output buffers, handle device-specific output actions (e.g., carriage return, line feed, tab, form feed), and manage special character outputs that might trigger specific device behaviors.
  5. Interrupt Handling (CTYINT, RECINT, XMTINT): Dedicated interrupt service routines manage asynchronous I/O events for console TTYs, general keyboard receivers, and data transmitters. These routines are critical for real-time processing of input, echoes, and managing the state of the system during I/O.
  6. Configuration & Data Structures:
    • The system heavily relies on a Device Data Block (DDB) for each TTY (whether a physical device or a "pseudo-TTY"), which stores crucial information like device status, buffer parameters, line characteristics (e.g., half-duplex, remote, console type), and job-related data.
    • A Special Character Table (SPCTAB) defines system-wide actions for a wide range of ASCII control characters, dictating how the routine responds to various inputs.
    • Translator Tables map logical TTY properties to their physical characteristics and associated job numbers.

The SCNSRF provides a UUO (User Unimplemented Operation) interface, allowing higher-level system components to invoke complex I/O functions through a dispatch table. The document details the low-level implementation, including memory addresses and specific instruction sequences, making it a technical specification likely intended for system programmers and device driver developers.

XX-4CEC6-3C
2001
82 pages
Quality

Original
2.6MB

Site structure and layout ©2025 Majenko Technologies