Advanced C Programming for Displays

Character Display, Windows, and Keyboards for UNIX and MS-DOS Operating Systems

Marc J. Rochkind

Publisher: Prentice Hall, 1988, 331 pages

ISBN: 0-13-010240-7

Keywords: Programming

Last modified: May 11, 2021, 1:20 a.m.

This superb book is great for UNIX programmers, IBM PC programmers, students of C, readers who want to learn about windows, and for those with an interest in real-world display and keyboard code!

Rochkind aims to help readers design C programs that interact with a user via character displays and keyboards.

Advanced C Programming for Displays is designed around layers of abstraction and is best read systematically. Ideas are developed bottom-up, starting with those abstract objects that can be displayed: characters and their attributes. Following that comes the physical screen, the physical keyboard, the virtual keyboard, windows, and virtual screens. Everything is then tied together with a screen editor that is first programmed to use the physical screen, and then reworked to use windows and virtual screens.

  1. Basic Concepts
    1. A Quick Look at Computer Graphics
    2. A Concrete View of Workstation Hardware
      1. Output Devices
      2. Input Devices
    3. An Abstract View of Workstation Hardware
    4. User Interface Management Systems
    5. Summary
  2. Terminology and Programming Environment
    1. Introduction
    2. Characters
    3. Attributes
    4. Character Cells and Display Buffers
    5. Additional Definitions
    6. Rectangles
    7. Portability
    8. Memory Operations
    9. Error Handling
    10. Allocating Memory
    11. String Functions
    12. Summary
  3. The Physical Screen
    1. Introduction
    2. Physical Screen Interface
      1. Properties of the Physical Screen
      2. Physical Screen Interface Functions
      3. Example Program
    3. Terminal-Specific (Z-19) Implementation
      1. Z-19 Control Codes and Escape Sequences
      2. Z-19 Implementation of the Physical Screen Interface
      3. Generalization to Other Terminals
    4. UNIX Termcap
      1. Termcap Database
      2. Termcap Access Functions
      3. Termcap Implementation of the Physical Screen Interface
    5. UNIX Curses
      1. Curses Windows
      2. Curses Access Functions
      3. Curses Implementation of the Physical Screen Interface
      4. Efficiency Improvements
    6. IBM PC Basic I/O System (BIOS)
      1. BIOS Access Functions
      2. BIOS Implementation of the Physical Screen Interface
    7. IBM PC Memory-Mapped Video
      1. Accessing Display Memory
      2. Memory-Mapped Implementation of the Physical Screen Interface
    8. Choosing an Implementation
      1. Tests and Results
      2. Comparing UNIX Implementations
      3. Comparing IBM PC Implementations
    9. Summary
  4. Keyboards
    1. Reading the Keyboard
      1. Line Mode vs. Raw Mode
      2. Checking for and Reading Keystrokes on UNIX
      3. Checking for and Reading Keystrokes on MS-DOS
    2. Keyboard Interface and Implementation
    3. The Virtual Keyboard
    4. Hard-Coded Virtual Keyboard Mapping
    5. Table-Driven Virtual Keyboard Mapping
      1. Keyboard Definition Table
      2. Building and Running the Finite-State Machine
      3. Implementing the Finite-State Machine
    6. Summary
  5. A Simple Screen Editor
    1. Introduction
    2. Using the Editor
    3. Editor Implementation
      1. Header Files
      2. Main Programs
      3. Input/Output Module
      4. Text Module
      5. Screen Module
    4. Summary
  6. Windows
    1. Properties of Windows
    2. Window Interface
    3. Screen Editor Implementation Using Windows
    4. Window Implementation
      1. Window Description and Geometry
      2. Ordering of Windows
      3. Window Overlap
      4. Redrawing Windows
      5. Window Sizing
      6. Window Frames
      7. Module Initiation and Termination
      8. Window Creation and Elimination
      9. Remaining Window Operations
    5. Summary
  7. Virtual Screens
    1. Properties of Virtual Screens
    2. Virtual Screen Interface
    3. Hints on Using Virtual Screens
    4. Screen Editor Implementation Using Virtual Screens
    5. Virtual Screen Implementation
    6. Summary
  1. IBM PC BIOS Access Functions
  2. IBM PC Screen Access Functions
  3. Contents of Source Files
    1. Display Utilities Module
    2. Portability Module
    3. IBM PC BIOS Interface Module
    4. IBM PC Screen Access Module
    5. Physical Screen Module
    6. Keyboard Module
    7. Screen Editor Module
    8. Window Module
    9. Virtual Screen Module

Reviews

Advanced C Programming for Displays

Reviewed by Roland Buresund

Mediocre **** (4 out of 10)

Last modified: April 10, 2009, 11:54 p.m.

Tries to show differences with programming for UNIX versus MS-DOS. Of historical value only.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required