Updated VT100 blog post

This commit is contained in:
Jeff Parsons 2016-08-15 15:12:27 -07:00
commit 517c9215c7

View file

@ -6,24 +6,24 @@ permalink: /blog/2016/08/03/
machines:
- type: pc8080
id: vt100
debugger: true
config: /devices/pc8080/machine/vt100/debugger/machine.xml
config: /devices/pc8080/machine/vt100/machine.xml
---
Summer has been filled with distractions, but I've finally begun making headway on a
[DEC VT100 Terminal](/devices/pc8080/machine/vt100/debugger/) simulation.
[DEC VT100 Terminal](/devices/pc8080/machine/vt100/) simulation.
Unlike other VT100 emulators, this isn't simply an emulation of VT100 protocols. It's a simulation of the VT100's
8080 CPU, running the original [VT100 Firmware](/devices/pc8080/rom/vt100/) inside the [PC8080](/modules/pc8080/)
CPU emulator, along with other key components that the CPU interacts with to drive the display, keyboard, and serial port.
It's not operational yet, but as you can see below, pieces are starting to fall into place, including a test screen that
It's not fully operational yet, but as you can see below, major pieces are falling into place, including a test screen that
displays most of the VT100 font variations, built on-the-fly from the original VT100 Character Generator ROM, and LEDs that
respond to the firmware's commands. When you click "Run" to start the simulation, it briefly displays a "WAIT" message
as it processes the VT100's Non-Volatile RAM (NVR), and then it spins, awaiting further stimulus.
respond to the firmware's commands. When the VT100 "powers on", it briefly displays a "WAIT" message as it processes the
VT100's Non-Volatile RAM (NVR), and then it spins, awaiting further stimulus.
The VT100 KEYMAP table in [keyboard.js](/modules/pc8080/lib/keyboard.js) maps modern keys to VT100 key addresses,
and most of the mappings are 1-1. Function keys are mapped as follows:
{% include machine.html id="vt100" %}
Function keys are mapped as follows:
- F1: PF1
- F2: PF2
@ -34,15 +34,30 @@ and most of the mappings are 1-1. Function keys are mapped as follows:
- F8: NO SCROLL
- F9: SET-UP
From the SET-UP screen, you can press **4** to switch to LOCAL mode and verify local operation of most VT100
keys. The following keys have special meaning inside SET-UP Mode:
- 0: RESET
- 2: SET/CLEAR TAB
- 3: CLEAR ALL TABS
- 4: ONLINE/LOCAL
- 5: SET-UP A/B
- 6: TOGGLE FEATURE
- 7: TRANSMIT SPEED
- 8: RECEIVE SPEED
- 9: 80/132 COLUMNS
- SHIFT-S: Save SET-UP Features
- SHIFT-R: Restore SET-UP Features
The initial goal for the simulation is to provide a virtual terminal that can communicate with other PCjs machines
and provide a realistic serial communication experience, all from the comfort of your web browser.
In the interim, there's still a lot of debugging to do, because while DEC's Technical Manuals were excellent, they were
There's still plenty of debugging to do, because while DEC's Technical Manuals were excellent, they were
not comprehensive; there are no commented source-code listings, for example, like those that IBM used to provide in their
early Technical Reference manuals. Check out the [VT100 Debugger Configuration](/devices/pc8080/machine/vt100/debugger/)
for additional information about VT100 internals and links to other technical resources.
early Technical Reference manuals, so we have to [create our own](/devices/pc8080/rom/vt100/).
{% include machine.html id="vt100" %}
Check out the [VT100 Debugger Configuration](/devices/pc8080/machine/vt100/debugger/) for additional information about
VT100 internals and links to other technical resources.
*[@jeffpar](http://twitter.com/jeffpar)*
*Aug 3, 2016*