pcjs/_posts/2016-08-03-the-vt100-terminal.md
2016-08-09 11:27:57 -07:00

36 lines
1.9 KiB
Markdown

---
layout: post
title: The VT100 Terminal
date: 2016-08-03 18:00:00
permalink: /blog/2016/08/03/
machines:
- type: pc8080
id: vt100
debugger: true
config: /devices/pc8080/machine/vt100/debugger/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.
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
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 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.
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
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.
{% include machine.html id="vt100" %}
*[@jeffpar](http://twitter.com/jeffpar)*
*Aug 3, 2016*