Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/larsbrinkhoff/terminal-simulator

Simulation of VT52 and VT100 terminal hardware.
https://github.com/larsbrinkhoff/terminal-simulator

ddt simulation simulator terminal-emulator vt100 vt52

Last synced: 18 days ago
JSON representation

Simulation of VT52 and VT100 terminal hardware.

Awesome Lists containing this project

README

        

# Simulation of the VT52 and VT100 hardware

[![Build](https://github.com/larsbrinkhoff/terminal-simulator/actions/workflows/build.yml/badge.svg)](https://github.com/larsbrinkhoff/terminal-simulator/actions/workflows/build.yml)

### About

This is a software simulation of the VT100 hardware. (There is also a
VT52 simulation.) The original firmware ROM is built in and executed
by an 8080 emulator. Other components include video display with
character generator ROM, settings NVRAM, Intel 8251 USART, and a
keyboard matrix scanner. The Advanced Video Option is not included.

To build this, you need to have the SDL2 and SDL2_image libraries
installed.

### Usage

The command line syntax is `vt100 [-afgh2CDQ] [-c CUR] [-N DIV] [-R test] [program/device]`.

- `-a` set pixel color to amber.
- `-c CUR` screen curvature (0.0 - 0.5, requires OpenGL)
- `-f` enters full screen. Toggle with F11.
- `-g` set pixel color to green.
- `-h` give help message.
- `-2`magnify by 2; each additional `-2` adds 1 to multiplier.
- `-D` enters a PDP-10 style DDT for debugging the firmware.
- `-R test` runs a CP/M program; this is only for testing.
- `-C` turns capslock into control.
- `-N DIV` reduce recomputation of screen to 60/DIV Hz (may run faster).
- `-Q` disables use of OpenGL (may run faster).
- `program/device` is any command to run as a child process providing I/O,
or a character device assumed to be a serial port.

F9 is the SET-UP key. See a [VT100 User
Guide](https://vt100.net/docs/vt100-ug/chapter1.html) for instructions.
Control+F11 exits the simlator.

### 3D Printed Model

This simulator was inspired by Michael Gardi's 3D printed model, see his
[instructions](https://www.instructables.com/23-Scale-VT100-Terminal-Reproduction/)
and [GitHub files](https://github.com/kidmirage/2-3-Scale-VT100-Terminal-Reproduction).

This is my printing progress so far:
![VT100 3D print](https://retrocomputingforum.com/uploads/default/original/2X/c/c4f3cae595903887ff446df226e7f89e31eb5b14.jpeg)

Update! After much sanding and filling, here it is together with its larger twin.
![A Tale of Two VT100](https://github.com/larsbrinkhoff/terminal-simulator/assets/775050/29fb094a-eb13-4044-b9a1-62d60d31aaf3)