#terminal #emulation #ram #rom #io #back-end #dmd

dmd_core

AT&T / Teletype DMD 5620 终端仿真器 - 核心库

7 个不稳定版本 (3 个破坏性更新)

0.6.3 2018年12月31日
0.6.2 2018年12月30日
0.4.0 2018年12月20日
0.3.1 2018年12月19日
0.2.1 2018年12月10日

#148模拟

每月21次下载

MIT 许可证

1MB
10K SLoC

AT&T DMD5620 核心

Build Status

AT&T / Teletype DMD 5620 终端仿真器的核心逻辑

描述

AT&T / Teletype DMD 5620 终端是一款20世纪80年代初生产的可编程、窗口式显示终端。它源于AT&T Bell Labs的Rob Pike和Bart Locanthi Jr.的研究。

DMD 5620 Terminal

该项目实现了仿真DMD 5620终端所需的核心逻辑,包括

  • 只读存储器
  • 随机存取存储器
  • WE32100 CPU
  • I/O

注意,没有用户界面:这是一个后端库。然而,它可以作为组件构建一个完整的仿真器。

变更日志

0.6.3:错误修复:视频RAM的起始地址未正确更新,以进行视频RAM读取;为DUART实现 read_word(用于运行 gebaca

0.6.2:修复UART字符延迟时间。

0.6.1:修复失败的测试。

0.6.0:破坏性变更。重构DMD,将函数 read 重命名为 read_word,并添加了 read_byte 函数。还重构了CPU助记符查找,以更高效地使用查找表而不是HashMap。最后,修复了DUART中的错误,该错误设置了一个错误的延迟,用于一个波特率。

0.5.0:非破坏性但重大变更。 dmd_core 现在提供了一个与C兼容的API,使得与C和C++代码交互更容易,无需编写完整的存根库。

0.4.0:破坏性变更。终端到键盘的TX现在支持,这样客户端就可以用它来检测是否已发送了铃音 (^G) 请求。

0.3.1:添加了对内存错误的异常处理,以及一个 run 函数,用于在给定步数内自由运行CPU。

0.3.0:破坏性变更。现在由内部队列处理来自RS-232和键盘的字符RX,并且在失败时不再返回 DuartError

0.2.1:初始发布。

仿真器参考实现

两个DMD 5620仿真器的实现使用了这个核心库。

正在开发Windows本地应用程序。

依赖项