Crates.io | dmd_core |
lib.rs | dmd_core |
version | 0.6.3 |
source | src |
created_at | 2018-12-10 02:40:42.174332 |
updated_at | 2018-12-31 00:50:39.589667 |
description | AT&T / Teletype DMD 5620 Terminal Emulator - Core Library |
homepage | https://github.com/sethm/dmd_core |
repository | https://github.com/sethm/dmd_core |
max_upload_size | |
id | 101039 |
size | 979,268 |
Core logic for an AT&T / Teletype DMD 5620 terminal emulator
The AT&T / Teletype DMD 5620 terminal was a portrait display, programmable, windowing terminal produced in the early 1980s. It came out of research pioneered by Rob Pike and Bart Locanthi Jr., of AT&T Bell Labs.
This project implements the core logic needed to emulate a DMD 5620 terminal, including:
Note that there is no user interface: This is a back-end library only. It may be used as a component to build a fully-fledged emulator, however.
0.6.3: Bug fixes: Video Ram starting address was not being
updated correctly for video ram read; Implement
read_word
for DUART (needed to run gebaca
)
0.6.2: Fix UART character delay timing.
0.6.1: Fix failing tets.
0.6.0: Breaking change. Refactor DMD a bit to rename the function
read
to read_word
, and added a read_byte
function
as well. Also refactored the CPU mnemonic lookup to be
more efficient using a lookup table instead of a HashMap.
Lastly, fixed a bug in the DUART that set the wrong
delay for one baud rate.
0.5.0: Non-breaking but major change. dmd_core
now presents a
C compatible API to make interacting with C and C++ code
easier, without needed to write a full stub library.
0.4.0: Breaking change. TX to the keyboard from the terminal is now supported, so that clients can use it to detect when a bell (^G) request has been sent.
0.3.1: Added exception handling for memory errors, and a run
function
to free-run the CPU for a given number of steps.
0.3.0: Breaking change. Charater RX from RS-232 and keyboard are now
handled by internal queues, and no longer return DuartError
on failure.
0.2.1: Initial release.
Two implementations of DMD 5620 emulator use this core library.
The Linux native GTK application dmd5620
: https://github.com/sethm/dmd_gtk
The Macintosh native Cocoa application DMD 5620
: https://github.com/sethm/dmd_mac
A Windows native application is in the works.