Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf

Richard Thomson
Richard ThomsonDirector à Computer Graphics Museum
What's in a Terminal?
An Architectural Comparison
Richard Thomson
https://ComputerGraphicsMuseum.org
A Brief History of Electrified Serial Communication
• Telegraph (~1840s)
• Teleprinter (~1900s)
• Teletype (~1930s)
• Dumb Glass TTY (~1960s)
• Discrete Logic Terminals (~1970s)
• Microprocessor Terminals (~1980s onward)
All dates are approximate for the purposes of discussion and not
meant to indicate historical firsts
Telegraph (~1840)
• From the Greek: "write at a distance"
• Two symbols (dot and dash, or dit and dah)
• Presence or absence of electric current
• Introduced the terminology of "mark" and "space"
• Symbols combined into groups to encode glyphs (characters)
• Morse Code character encoding
• Transmission speed limited by human operator
• Baudot (5-bit) character encoding established (~1870s)
Teleprinter (~1900)
• Receive the message electronically and print directly
• Eliminates the need for a human operator to interpret the signal
• Transition to encoding messages on paper tape
• Messages are transmitted and received in a machine friendly signal
• Operators key in messages into punched paper tape
• Keyboard message punch and message printer are separate machines
• Electricity provides the power, but mechanisms provide all the
interpretation of signals
• Baudot character encoding
Teletype (~1930)
• Teletype combines the keyboard, printer and paper tape
mechanisms into one machine
• Sometimes the paper tape mechanisms are omitted
• Many variations of mechanisms and combinations of equipment
tailored to the needs of different customers and scenarios
• Electric powered, but mechanically driven
• Baudot character encoding
Dumb Glass TTY (~1960s)
• Teletypes are reliable workhorse machines, but...
• They are noisy
• Long-running monitoring requires a constant supply of paper
• They aren't a best fit for interactive computing
• ASCII (7-bit) character encoding introduced in 1963
• First generation of CRT terminals
• Simple discrete control logic to manage the display of text on the screen
• Promoted as quieter replacements for noisy teletypes
• Baudot, ASCII, EBCDIC character encodings
Discrete Logic Terminals (~1970s)
• Users desire more control over the screen:
• Erase characters, lines; insert characters, lines; multiple "pages" of display
• Large batch systems require bulk transmission
• "Forms" are edited locally inside the terminal; contents are sent as a block
• Terminal becomes a state machine:
• Input from the keyboard or host transitions between states
• Edit operations become a sequence of states executed by the terminal
Microprocessor Terminals (~1980s+)
• Microprocessor increases local functionality
• Many chips of discrete logic replaced with a handful of chips
reduces cost
• Features are mostly a function of firmware
• Terminals become a commodity, more similar than different
Raster Video Terminal Architecture
• Video Refresh Control
• Display Memory
• Control Logic
• User Input
• Communication Logic
• Host Computer I/O
Video Refresh
• Vertical sync every frame
• Vertical blank between frames
• Horizontal sync every scanline
• Horizontal blank between
scanlines
• Read data from display memory
• Convert to glyphs
• Convert glyphs into pixels
• Supply pixels for scanline
Video Refresh is Synchronous
• Digital systems are synchronized with a clock
• Fastest changing signal in a system determines minimum clock rate
• Raster pixels are typically the fastest changing element in a terminal
• The "dot clock" determines the maximum screen resolution
• The scanline buffer avoids high frequency access to display memory for
video refresh
• Character/attribute generator may feed the scanline buffer,
different terminals have different configurations
• Typical to see the "dot clock" as the master clock,
divided down for the rest of the system (CPU, memory, etc.)
Beehive B100: Discrete Logic on Steroids
• Introduced 1976
• 12-inch display
• 80x24 character screen
• 5x7 characters in 7x9 matrix
• Advanced cursor control
• Protected fields
• Block transmission
B100
Logic
Board
Received ESC Codes
0
Aux Page
Send
I
Page
Send
[
Start
Field
A
Cursor
Up
J
Clear
EOS
]
End
Field
B
Cursor
Down
K
Clear
EOL
b
Keyboard
Enable
C
Cursor
Right
P
Delete
Char
c
Keyboard
Disable
D
Cursor
Left
Q
Insert
Mode On
i
Line
Send
E
Clear
Screen
R
Insert
Mode Off
l
Start
Blink
F
Cursor
Position
W
Format
Mode On
m
End
Blink
H
Cursor
Home
X
Format
Mode Off
0 1 2 3 4 5 6 7
0 NUL DLE SP 0 @ P ` p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAQ % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB ' 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
10 LF SUB * : J Z j z
11 VT ESC + ; K [ k {
12 FF IS4 , < L  l |
13 CR IS3 - = M ] m }
14 SO IS2 . > N ^ n ~
15 SI IS1 / ? O _ o DEL
Implied State Machine Functionality
• Cursor navigation implies cursor state position maintained
• Page/line send implies scanout of display memory to comm port
• Clear to EOS, EOL implies clear counters or clear start position
• Insert mode implies moving blocks of data in display memory
• Start/end blink implies blink attribute stored somewhere
• Start/end field implies protected attribute stored somewhere
• Control functions can be typed locally or received from host
B100
Block
Diagram
B100 Block Diagram
Clock Generation
Crystal
Oscillator
Dot Position
÷ 7 DPC
Char Position
÷ 96 CPC
Char Height
÷ 9 CHC
Char Line
÷ 29 CLC
Baud Clock
Selection
Baud Clock CK1
B100
Block
Diagram
Host
Comms
UART
Transmitter
Port
Selection
Circuit
UART
Receiver
Data Input
Buffer
B100
Block
Diagram
Display
Refresh
Blink/Low
Circuit
Video Shift
Register
Memory
Address
Manipulation
1920x1 Bit
Blink
1920x1 Bit
Protect
1920x7 Bits
Data Refresh
Memory
Character
Generator CHC
Composite
Video Driver
Video
Driver
B100 Block Diagram
Control Logic State Machine
PLA
Input
Selection
Mode
Programmable
Logic
Array
Command
Decoder
Operation
Mode
Mode
Sequence
Sequence Operation
Sequence
Counter
Operation
Register
Roll Counter
BCURL Buffered
Cursor Line
BCURP Buffered
Cursor Position
Roll
CURL Cursor Line Reg. CURP Cursor Position Reg.
Cursor Line
Cursor Position
Video
Cursor
"Off
Screen"
Circuit
BUS
BUS
State
Machine
Flow
Chart I
State
Machine
Flow
Chart II
State Machine Flow Chart Detail
Digital Equipment Corporation VT100
Microprocessor Control for ANSI Compliance
• Introduced 1978
• 12-inch display
• 80/132x24 character screen
• 7x9 character matrix
• Blink, bold, reverse, underline
• Intel 8080A CPU
• Supports many ANSI sequences
• Hardware expansion ports
VT100
Logic
Board
Received ANSI ESC Codes
0 1 2 3 4 5 6 7
0 NUL DLE SP 0 @ P ` p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAQ % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB ' 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
10 LF SUB * : J Z j z
11 VT ESC + ; K [ k {
12 FF IS4 , < L  l |
13 CR IS3 - = M ] m }
14 SO IS2 . > N ^ n ~
15 SI IS1 / ? O _ o DEL
A
Cursor
Up
K
Erase in
Line
m
Select
Rendition
B
Cursor
Down
c
Device
Attributes
n
Status
Report
C
Cursor
Right
f
Hor/Ver
Position
q
Load
LEDs
D
Cursor
Left
g
Tab
Clear
r
Set
Margins
H
Cursor
Position
h Set Mode x
Request
Params
J
Erase in
Display
l Reset Mode y
Confidence
Test
Commands can take one or more
parameters to define behavior.
Non-ANSI sequences not shown.
VT100 Components
VT100 Functional Block Diagram
VT100 Detailed Block Diagram
VT100
Microprocessor
Block Diagram
VT100
Microprocessor
Block Diagram
VT100 Video Processor Block Diagram
VT100 Hardware Expansion
• Advanced Video Option (AVO)
• Standard Terminal Port (STP)
• Graphics Connector
• Card Cage
VT100
Logic
Board
Expansion
Locations
Advanced Video Option
• Provides more display memory for 132x24 character mode
• Provides more attribute memory
• ROM sockets for overlay/expansion of program memory
• Daughter board attached to motherboard
Standard Terminal Port
• Options can intercept and change I/O between terminal and host
• Usually a daughter board attached to motherboard
• Allows an option to extend ESC sequences without modifying
VT100 ROMs
Graphics Connector
• Provides direct access to the digital video signal of the VT100
• Typically connected to an external card mounted in the card cage
• Can be used to capture the video output as a digital signal,
such as might be used by a screen grab style printer
Card Cage
• The VT100 main board is mounted in a card cage chassis
• Room is available for an additional card with rear panel connector
access
• Card edge provides power only, no direct communication with the
main board
Hewlett-Packard 264x
• Range of terminals 1975-1981
• 5-inch by 10-inch display
• 80x24 character display
• Microprocessor control
• Tape drives for local storage
• BASIC language variant for
local processing
• Graphics variants
Card Cage Chassis
Rich Set of
Received ESC Codes
0 1 2 3 4 5 6 7
0 NUL DLE SP 0 @ P ` p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAQ % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB ' 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
10 LF SUB * : J Z j z
11 VT ESC + ; K [ k {
12 FF IS4 , < L  l |
13 CR IS3 - = M ] m }
14 SO IS2 . > N ^ n ~
15 SI IS1 / ? O _ o DEL
• Subset of 2648A codes shown
• Text control
• Graphics primitives
• Graphics attributes
• Automatic plotting of user data
• Tape device control
• Most commands take parameters
• No ANSI support!
• Tektronix 401x emulation
HP 2648A System Architecture
Modular Design
• CPU card
• Memory card
• Display card
• Graphics display card
• Keyboard interface card
• Host communications card
• Tape interface card
• Additional slots open for expansion
• Reminds you of... a personal computer! (because it is)
Family of Terminals from a Single Design
• HP 2640A (1975): simple character terminal
• HP 2644A (1975): character terminal with tape drives
• HP 2641A (1976): APL character terminal
• HP 2645A (1976): replaced 2644A
• HP 2648A (1977): graphics terminal w/tape drives
• HP 2647A (1978): 2648A with BASIC in ROM
• HP 2642A (1980): 2645A w/external 5.25" floppy drive
• HP 2647F (1982): 2647A w/external 5.25" floppy drive
• 60,000 units shipped by 1981
Is it a Personal Computer or a Terminal?
Personal Computer
• Programmability expected
• Serial comms optional
• Local storage expected
• Character display expected
• Graphics display optional
• Expansion expected
Terminal
• Programmability optional
• Serial comms expected
• Local storage optional
• Character display expected
• Graphics display optional
• Expansion optional
Learn More About Terminals!
• https://Terminals-Wiki.org
• Your one-stop shop for terminal info!
• Browse by manufacturer
• Browse by year of introduction
• Find links to documentation
• Find pictures
• Contribute!
• Wiki edits and contributions welcome from everyone
1 sur 46

Recommandé

Microcontroller part 4 par
Microcontroller part 4Microcontroller part 4
Microcontroller part 4Keroles karam khalil
417 vues122 diapositives
2014 ii c08t-sbc pic para ecg par
2014 ii c08t-sbc pic para ecg 2014 ii c08t-sbc pic para ecg
2014 ii c08t-sbc pic para ecg Aland Bravo Vecorena
962 vues84 diapositives
Galil rio catalog par
Galil rio catalogGalil rio catalog
Galil rio catalogElectromate
391 vues5 diapositives
Galil dmc21x2x3 catalog par
Galil dmc21x2x3 catalogGalil dmc21x2x3 catalog
Galil dmc21x2x3 catalogElectromate
401 vues12 diapositives
Galil cds3310 catalog par
Galil cds3310 catalogGalil cds3310 catalog
Galil cds3310 catalogElectromate
374 vues5 diapositives

Contenu connexe

Similaire à Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf

Computer Hardware.ppt par
Computer Hardware.pptComputer Hardware.ppt
Computer Hardware.pptKalisettiJeevanaRao
8 vues83 diapositives
microcontroller 8051 17.07.2023.pdf par
microcontroller 8051 17.07.2023.pdfmicrocontroller 8051 17.07.2023.pdf
microcontroller 8051 17.07.2023.pdf818Farida
33 vues64 diapositives
Galil dmc3000 catalog par
Galil dmc3000 catalogGalil dmc3000 catalog
Galil dmc3000 catalogElectromate
367 vues5 diapositives
Input Output Interfaces par
Input Output InterfacesInput Output Interfaces
Input Output InterfacesDarling Jemima
462 vues29 diapositives
Galil multi axis motion controller brochure par
Galil multi axis motion controller brochureGalil multi axis motion controller brochure
Galil multi axis motion controller brochureElectromate
152 vues2 diapositives
DEF CON 23 - Rodringo Almeida - embedded system design from electronics par
DEF CON 23 - Rodringo Almeida - embedded system design from electronics DEF CON 23 - Rodringo Almeida - embedded system design from electronics
DEF CON 23 - Rodringo Almeida - embedded system design from electronics Felipe Prado
74 vues156 diapositives

Similaire à Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf(20)

microcontroller 8051 17.07.2023.pdf par 818Farida
microcontroller 8051 17.07.2023.pdfmicrocontroller 8051 17.07.2023.pdf
microcontroller 8051 17.07.2023.pdf
818Farida33 vues
Galil dmc3000 catalog par Electromate
Galil dmc3000 catalogGalil dmc3000 catalog
Galil dmc3000 catalog
Electromate367 vues
Galil multi axis motion controller brochure par Electromate
Galil multi axis motion controller brochureGalil multi axis motion controller brochure
Galil multi axis motion controller brochure
Electromate152 vues
DEF CON 23 - Rodringo Almeida - embedded system design from electronics par Felipe Prado
DEF CON 23 - Rodringo Almeida - embedded system design from electronics DEF CON 23 - Rodringo Almeida - embedded system design from electronics
DEF CON 23 - Rodringo Almeida - embedded system design from electronics
Felipe Prado74 vues
Galil dmc41x3 catalog par Electromate
Galil dmc41x3 catalogGalil dmc41x3 catalog
Galil dmc41x3 catalog
Electromate398 vues
combinational logic circuit and sequential logic circuit.pptx par AhmedLakhwera
combinational logic circuit and sequential logic circuit.pptxcombinational logic circuit and sequential logic circuit.pptx
combinational logic circuit and sequential logic circuit.pptx
AhmedLakhwera17 vues
An Overview of Arm-9 32-bit MCU TMPA910 Series par Premier Farnell
An Overview of Arm-9 32-bit MCU TMPA910 Series An Overview of Arm-9 32-bit MCU TMPA910 Series
An Overview of Arm-9 32-bit MCU TMPA910 Series
Premier Farnell699 vues
AVR Fundamentals par Vinit Vyas
AVR FundamentalsAVR Fundamentals
AVR Fundamentals
Vinit Vyas25.9K vues

Plus de Richard Thomson

Automated Testing with CMake, CTest and CDash par
Automated Testing with CMake, CTest and CDashAutomated Testing with CMake, CTest and CDash
Automated Testing with CMake, CTest and CDashRichard Thomson
339 vues33 diapositives
Feature and platform testing with CMake par
Feature and platform testing with CMakeFeature and platform testing with CMake
Feature and platform testing with CMakeRichard Thomson
99 vues33 diapositives
Consuming Libraries with CMake par
Consuming Libraries with CMakeConsuming Libraries with CMake
Consuming Libraries with CMakeRichard Thomson
157 vues40 diapositives
BEFLIX par
BEFLIXBEFLIX
BEFLIXRichard Thomson
3.1K vues35 diapositives
SIMD Processing Using Compiler Intrinsics par
SIMD Processing Using Compiler IntrinsicsSIMD Processing Using Compiler Intrinsics
SIMD Processing Using Compiler IntrinsicsRichard Thomson
612 vues12 diapositives
Modern C++ par
Modern C++Modern C++
Modern C++Richard Thomson
1.7K vues25 diapositives

Plus de Richard Thomson(10)

Dernier

Programmable Logic Devices : SPLD and CPLD par
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLDUsha Mehta
27 vues54 diapositives
unit 1.pptx par
unit 1.pptxunit 1.pptx
unit 1.pptxrrbornarecm
5 vues53 diapositives
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth par
BCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for GrowthBCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for Growth
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for GrowthInnomantra
22 vues4 diapositives
Robotics in construction enterprise par
Robotics in construction enterpriseRobotics in construction enterprise
Robotics in construction enterpriseKhalid Abdel Naser Abdel Rahim
5 vues1 diapositive
Integrating Sustainable Development Goals (SDGs) in School Education par
Integrating Sustainable Development Goals (SDGs) in School EducationIntegrating Sustainable Development Goals (SDGs) in School Education
Integrating Sustainable Development Goals (SDGs) in School EducationSheetalTank1
13 vues29 diapositives
Design_Discover_Develop_Campaign.pptx par
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptxShivanshSeth6
56 vues20 diapositives

Dernier(20)

Programmable Logic Devices : SPLD and CPLD par Usha Mehta
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLD
Usha Mehta27 vues
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth par Innomantra
BCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for GrowthBCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for Growth
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth
Innomantra 22 vues
Integrating Sustainable Development Goals (SDGs) in School Education par SheetalTank1
Integrating Sustainable Development Goals (SDGs) in School EducationIntegrating Sustainable Development Goals (SDGs) in School Education
Integrating Sustainable Development Goals (SDGs) in School Education
SheetalTank113 vues
Design_Discover_Develop_Campaign.pptx par ShivanshSeth6
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptx
ShivanshSeth656 vues
AWS Certified Solutions Architect Associate Exam Guide_published .pdf par Kiran Kumar Malik
AWS Certified Solutions Architect Associate Exam Guide_published .pdfAWS Certified Solutions Architect Associate Exam Guide_published .pdf
AWS Certified Solutions Architect Associate Exam Guide_published .pdf
Ansari: Practical experiences with an LLM-based Islamic Assistant par M Waleed Kadous
Ansari: Practical experiences with an LLM-based Islamic AssistantAnsari: Practical experiences with an LLM-based Islamic Assistant
Ansari: Practical experiences with an LLM-based Islamic Assistant
M Waleed Kadous12 vues
Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R... par IJCNCJournal
Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R...Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R...
Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R...
IJCNCJournal5 vues
GDSC Mikroskil Members Onboarding 2023.pdf par gdscmikroskil
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdf
gdscmikroskil72 vues
Créativité dans le design mécanique à l’aide de l’optimisation topologique par LIEGE CREATIVE
Créativité dans le design mécanique à l’aide de l’optimisation topologiqueCréativité dans le design mécanique à l’aide de l’optimisation topologique
Créativité dans le design mécanique à l’aide de l’optimisation topologique
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf par AlhamduKure
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdfASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
AlhamduKure10 vues
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx par lwang78
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
lwang78314 vues
REACTJS.pdf par ArthyR3
REACTJS.pdfREACTJS.pdf
REACTJS.pdf
ArthyR339 vues

Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf

  • 1. What's in a Terminal? An Architectural Comparison Richard Thomson https://ComputerGraphicsMuseum.org
  • 2. A Brief History of Electrified Serial Communication • Telegraph (~1840s) • Teleprinter (~1900s) • Teletype (~1930s) • Dumb Glass TTY (~1960s) • Discrete Logic Terminals (~1970s) • Microprocessor Terminals (~1980s onward) All dates are approximate for the purposes of discussion and not meant to indicate historical firsts
  • 3. Telegraph (~1840) • From the Greek: "write at a distance" • Two symbols (dot and dash, or dit and dah) • Presence or absence of electric current • Introduced the terminology of "mark" and "space" • Symbols combined into groups to encode glyphs (characters) • Morse Code character encoding • Transmission speed limited by human operator • Baudot (5-bit) character encoding established (~1870s)
  • 4. Teleprinter (~1900) • Receive the message electronically and print directly • Eliminates the need for a human operator to interpret the signal • Transition to encoding messages on paper tape • Messages are transmitted and received in a machine friendly signal • Operators key in messages into punched paper tape • Keyboard message punch and message printer are separate machines • Electricity provides the power, but mechanisms provide all the interpretation of signals • Baudot character encoding
  • 5. Teletype (~1930) • Teletype combines the keyboard, printer and paper tape mechanisms into one machine • Sometimes the paper tape mechanisms are omitted • Many variations of mechanisms and combinations of equipment tailored to the needs of different customers and scenarios • Electric powered, but mechanically driven • Baudot character encoding
  • 6. Dumb Glass TTY (~1960s) • Teletypes are reliable workhorse machines, but... • They are noisy • Long-running monitoring requires a constant supply of paper • They aren't a best fit for interactive computing • ASCII (7-bit) character encoding introduced in 1963 • First generation of CRT terminals • Simple discrete control logic to manage the display of text on the screen • Promoted as quieter replacements for noisy teletypes • Baudot, ASCII, EBCDIC character encodings
  • 7. Discrete Logic Terminals (~1970s) • Users desire more control over the screen: • Erase characters, lines; insert characters, lines; multiple "pages" of display • Large batch systems require bulk transmission • "Forms" are edited locally inside the terminal; contents are sent as a block • Terminal becomes a state machine: • Input from the keyboard or host transitions between states • Edit operations become a sequence of states executed by the terminal
  • 8. Microprocessor Terminals (~1980s+) • Microprocessor increases local functionality • Many chips of discrete logic replaced with a handful of chips reduces cost • Features are mostly a function of firmware • Terminals become a commodity, more similar than different
  • 9. Raster Video Terminal Architecture • Video Refresh Control • Display Memory • Control Logic • User Input • Communication Logic • Host Computer I/O
  • 10. Video Refresh • Vertical sync every frame • Vertical blank between frames • Horizontal sync every scanline • Horizontal blank between scanlines • Read data from display memory • Convert to glyphs • Convert glyphs into pixels • Supply pixels for scanline
  • 11. Video Refresh is Synchronous • Digital systems are synchronized with a clock • Fastest changing signal in a system determines minimum clock rate • Raster pixels are typically the fastest changing element in a terminal • The "dot clock" determines the maximum screen resolution • The scanline buffer avoids high frequency access to display memory for video refresh • Character/attribute generator may feed the scanline buffer, different terminals have different configurations • Typical to see the "dot clock" as the master clock, divided down for the rest of the system (CPU, memory, etc.)
  • 12. Beehive B100: Discrete Logic on Steroids • Introduced 1976 • 12-inch display • 80x24 character screen • 5x7 characters in 7x9 matrix • Advanced cursor control • Protected fields • Block transmission
  • 14. Received ESC Codes 0 Aux Page Send I Page Send [ Start Field A Cursor Up J Clear EOS ] End Field B Cursor Down K Clear EOL b Keyboard Enable C Cursor Right P Delete Char c Keyboard Disable D Cursor Left Q Insert Mode On i Line Send E Clear Screen R Insert Mode Off l Start Blink F Cursor Position W Format Mode On m End Blink H Cursor Home X Format Mode Off 0 1 2 3 4 5 6 7 0 NUL DLE SP 0 @ P ` p 1 SOH DC1 ! 1 A Q a q 2 STX DC2 " 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAQ % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB ' 7 G W g w 8 BS CAN ( 8 H X h x 9 HT EM ) 9 I Y i y 10 LF SUB * : J Z j z 11 VT ESC + ; K [ k { 12 FF IS4 , < L l | 13 CR IS3 - = M ] m } 14 SO IS2 . > N ^ n ~ 15 SI IS1 / ? O _ o DEL
  • 15. Implied State Machine Functionality • Cursor navigation implies cursor state position maintained • Page/line send implies scanout of display memory to comm port • Clear to EOS, EOL implies clear counters or clear start position • Insert mode implies moving blocks of data in display memory • Start/end blink implies blink attribute stored somewhere • Start/end field implies protected attribute stored somewhere • Control functions can be typed locally or received from host
  • 17. B100 Block Diagram Clock Generation Crystal Oscillator Dot Position ÷ 7 DPC Char Position ÷ 96 CPC Char Height ÷ 9 CHC Char Line ÷ 29 CLC Baud Clock Selection Baud Clock CK1
  • 19. B100 Block Diagram Display Refresh Blink/Low Circuit Video Shift Register Memory Address Manipulation 1920x1 Bit Blink 1920x1 Bit Protect 1920x7 Bits Data Refresh Memory Character Generator CHC Composite Video Driver Video Driver
  • 20. B100 Block Diagram Control Logic State Machine PLA Input Selection Mode Programmable Logic Array Command Decoder Operation Mode Mode Sequence Sequence Operation Sequence Counter Operation Register Roll Counter BCURL Buffered Cursor Line BCURP Buffered Cursor Position Roll CURL Cursor Line Reg. CURP Cursor Position Reg. Cursor Line Cursor Position Video Cursor "Off Screen" Circuit BUS BUS
  • 23. State Machine Flow Chart Detail
  • 24. Digital Equipment Corporation VT100 Microprocessor Control for ANSI Compliance • Introduced 1978 • 12-inch display • 80/132x24 character screen • 7x9 character matrix • Blink, bold, reverse, underline • Intel 8080A CPU • Supports many ANSI sequences • Hardware expansion ports
  • 26. Received ANSI ESC Codes 0 1 2 3 4 5 6 7 0 NUL DLE SP 0 @ P ` p 1 SOH DC1 ! 1 A Q a q 2 STX DC2 " 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAQ % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB ' 7 G W g w 8 BS CAN ( 8 H X h x 9 HT EM ) 9 I Y i y 10 LF SUB * : J Z j z 11 VT ESC + ; K [ k { 12 FF IS4 , < L l | 13 CR IS3 - = M ] m } 14 SO IS2 . > N ^ n ~ 15 SI IS1 / ? O _ o DEL A Cursor Up K Erase in Line m Select Rendition B Cursor Down c Device Attributes n Status Report C Cursor Right f Hor/Ver Position q Load LEDs D Cursor Left g Tab Clear r Set Margins H Cursor Position h Set Mode x Request Params J Erase in Display l Reset Mode y Confidence Test Commands can take one or more parameters to define behavior. Non-ANSI sequences not shown.
  • 32. VT100 Video Processor Block Diagram
  • 33. VT100 Hardware Expansion • Advanced Video Option (AVO) • Standard Terminal Port (STP) • Graphics Connector • Card Cage
  • 35. Advanced Video Option • Provides more display memory for 132x24 character mode • Provides more attribute memory • ROM sockets for overlay/expansion of program memory • Daughter board attached to motherboard
  • 36. Standard Terminal Port • Options can intercept and change I/O between terminal and host • Usually a daughter board attached to motherboard • Allows an option to extend ESC sequences without modifying VT100 ROMs
  • 37. Graphics Connector • Provides direct access to the digital video signal of the VT100 • Typically connected to an external card mounted in the card cage • Can be used to capture the video output as a digital signal, such as might be used by a screen grab style printer
  • 38. Card Cage • The VT100 main board is mounted in a card cage chassis • Room is available for an additional card with rear panel connector access • Card edge provides power only, no direct communication with the main board
  • 39. Hewlett-Packard 264x • Range of terminals 1975-1981 • 5-inch by 10-inch display • 80x24 character display • Microprocessor control • Tape drives for local storage • BASIC language variant for local processing • Graphics variants
  • 41. Rich Set of Received ESC Codes 0 1 2 3 4 5 6 7 0 NUL DLE SP 0 @ P ` p 1 SOH DC1 ! 1 A Q a q 2 STX DC2 " 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAQ % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB ' 7 G W g w 8 BS CAN ( 8 H X h x 9 HT EM ) 9 I Y i y 10 LF SUB * : J Z j z 11 VT ESC + ; K [ k { 12 FF IS4 , < L l | 13 CR IS3 - = M ] m } 14 SO IS2 . > N ^ n ~ 15 SI IS1 / ? O _ o DEL • Subset of 2648A codes shown • Text control • Graphics primitives • Graphics attributes • Automatic plotting of user data • Tape device control • Most commands take parameters • No ANSI support! • Tektronix 401x emulation
  • 42. HP 2648A System Architecture
  • 43. Modular Design • CPU card • Memory card • Display card • Graphics display card • Keyboard interface card • Host communications card • Tape interface card • Additional slots open for expansion • Reminds you of... a personal computer! (because it is)
  • 44. Family of Terminals from a Single Design • HP 2640A (1975): simple character terminal • HP 2644A (1975): character terminal with tape drives • HP 2641A (1976): APL character terminal • HP 2645A (1976): replaced 2644A • HP 2648A (1977): graphics terminal w/tape drives • HP 2647A (1978): 2648A with BASIC in ROM • HP 2642A (1980): 2645A w/external 5.25" floppy drive • HP 2647F (1982): 2647A w/external 5.25" floppy drive • 60,000 units shipped by 1981
  • 45. Is it a Personal Computer or a Terminal? Personal Computer • Programmability expected • Serial comms optional • Local storage expected • Character display expected • Graphics display optional • Expansion expected Terminal • Programmability optional • Serial comms expected • Local storage optional • Character display expected • Graphics display optional • Expansion optional
  • 46. Learn More About Terminals! • https://Terminals-Wiki.org • Your one-stop shop for terminal info! • Browse by manufacturer • Browse by year of introduction • Find links to documentation • Find pictures • Contribute! • Wiki edits and contributions welcome from everyone