Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ADDS Regent emulation #255

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft

ADDS Regent emulation #255

wants to merge 6 commits into from

Conversation

davidrg
Copy link
Owner

@davidrg davidrg commented Jun 30, 2024

This is an initial attempt at emulating ADDS Regent terminals. At this time the implementation will be based on documented behaviour only as I have no access to physical examples of these terminals to check actual behaviour. Where the documentation is vague on detail, features may be left out until I can get someone with a real terminal to confirm actual behaviour.

Regent 25

Documentation: On Bitsavers

Implemented:

  • Basic escape sequences and control characters
  • Basic Keyboard map
  • Numeric key pad map: numeric keys as function keys. Perhaps use "set terminal keypad-mode" to toggle this keymap.

Not implemented:

  • DC2/DC4 AUX port on/off: documentation is unclear on what the expected behaviour should be
  • International character sets: no documentation available on what these are
  • No Regent-specific monitor mode is enabled - instead use CKWs existing debug mode (set terminal debug on)
  • Audible key feedback - instead use a mechanical keyboard

Known implementation differences vs a real terminal:

  • Both types of keyboard lock (ADDS Consul 580 and Normal) are supported at all times (the real terminal has a switch to select between the two)

Relevant settings:

  • auto scroll on/off - set terminal autoscroll
  • auto line feed - set terminal newline-mode on
  • cursor: set terminal cursor block/underline blink/noblink

Regent 200

This is largely a superset of the Regent 25.

Documentation: On Bitsavers

Implemented:

  • Function keys
  • Page Mode: ESC U
  • Message Mode: ESC u
  • Local Mode: ESC t
  • Online Mode: ESC T
  • Form Generation Mode: ESC R
  • Set Line Drawing Mode: ESC 1
  • Exit Line Drawing Mode: ESC 2
  • Tab - move to first position in next unprotected field: HT
  • Back Tab: ESC 0
  • Status Message: ESC ENQ
  • Transmit: ESC DC1
  • Reset terminal: ESC s
  • Print Local (variable and Null): ESC X
  • Print Local (All): ESC x
  • Underline Video: ESC NULL `
  • Reverse Video: ESC NULL P
  • Blink: ESC NULL B
  • Half Intensity: ESC NULL A
  • Set Video Attribute: ESC NULL
  • Erase Variable Data: ESC G
  • Erase Field: ESC K
  • Set Aux Port Baud Rate: ESC A X - this should be consumed and ignored

Option Package:

  • Delete Character (inline): ESC E
  • Delete Character (Page): ESC e
  • Insert Character (Inline): ESC F
  • Insert Character (Page): ESC f
  • Delete Line: ESC 1
  • Insert Line: ESC M

Not Implemented;

  • Nothing in particular so far

Known implementation differences vs a real terminal:

  • Nothing in particular so far

Relevant settings:

  • None so far

An initial attempt at ADDS Regent 25 emulation based on documented behaviour. It seems to work OK against linux, but hasn't been compared to a real terminal yet so may have bugs/differences in behaviour that affect software written specifically for a Regent 25.
@davidrg davidrg added feature terminal-emulation Updates to existing emulations, or addition of new ones labels Jun 30, 2024
@davidrg davidrg linked an issue Jul 2, 2024 that may be closed by this pull request
@davidrg davidrg changed the title ADDS Regent 25 emulation ADDS Regent emulation Jul 4, 2024
@davidrg davidrg marked this pull request as draft September 22, 2024 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature terminal-emulation Updates to existing emulations, or addition of new ones
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ADDS Regent emulation
1 participant