法国CII的Mitra-15在SIMH中,正在进行中
https://ajovomultja.hu/mitra-15 Mitra-15的SIMH模拟器 这是一个初步版本。目前,我的代码可以编译,但它还不是一个真正的Mitra-15模拟器;相反,它是一个试探性的努力。非常感谢Pascal Chour提供的非常有用的文档,网址为:https://www.pascalchour.fr/ressources/cii/mitra15.htm。由于我的C语言有些生疏(双关语),我从一个现有的SDS 940模拟器开始,并慢慢地将其修改为Mitra-15的特性。Mitra-15是一种微型计算机,具有一些有趣的概念,例如使用微代码编程输入/输出外设,而不是使用DMA等外部机制。https://en.wikipedia.org/wiki/Mitra_15 Mitra-15是一款由CII(国际计算机公司)在1970年代初期开发的16位小型计算机,广泛应用于工业自动化、科学计算、教育和军事应用。我从未在Mitra-15上编程过,但我是在CII 10070上学习计算机科学的,后来我在法国电信工作,该公司使用Mitra系列的电话交换机。尽管它曾在法国广泛使用,但很少有软件和文档存留下来。该项目有助于保护计算机历史这一重要部分。这个Mitra-15模拟器的最终目标是包括:- 系统和可选指令 - 广泛的评论,描述原始硬件的行为 - SIMH控制台支持 - 内存管理 - 中断、快速中断、挂起和陷阱系统 * 打印机 * 模拟接口 * 穿孔带 * DRI固定磁盘 * SAGEM固定磁盘 * 读卡器 * 磁带读写机 - 各种I/O设备,但我缺乏许多外设的文档: * 异步通道 * 同步通道 * 快速通道多路复用 * 快速通道ADM(我不知道这是什么) * IOPs(如果与异步通道不同)。 直到今天,我进行了:搜索并分析了剩余的少数文档(见/doc文件夹)。创建了SIMH的工作环境(存储/检查/运行/停止等)为每个指令和寻址模式创建了完整的指令解码器为Mitra和CII设备创建了代码为主流设备(如ASR33或行式打印机)之间的简单通信创建了合理的(未测试)RD和WD指令代码。创建了合理的(未测试)DRI磁盘(英国的数据记录仪)代码,使用悬挂系统,这是CII的发明,目标与现代DMA类似。创建了测试程序。在RP(现代术语中的立即)寻址模式中测试了分支指令,因此至少这一部分应该是正确的。我还着手从PDF文件中的十六进制转储重建CII的MTR(实时监控器);然而,由于OCR输出极差,我必须逐字视觉验证每个字节。这可能是我模拟器测试的唯一一段原始CII代码,因为其他所有内容都必须根据文档推断。因此,这项测试的成功至关重要。虽然这没有用,但我也创建了一个简单的汇编程序(未测试)。从长远来看,我计划将RSX280(RSX-11克隆)移植到Mitra。Z80的BC和DE类似于L和G寄存器,IX是索引寄存器,类似于Mitra的X,A和HL类似于A和E。主要问题:Mitra的寄存器比Z80少、寻址模式也较少,并且缺乏堆栈的概念,这使得管理重入变得复杂。要求GCC或Clang Make Linux(已测试)最新版本的openSIMH。在SIMH监视器中,您可以加载内存、检查寄存器并执行Mitra-15程序。致谢非常感谢:SIMH开发者们为创建和维护模拟器而辛勤工作的每一个人对传播法国计算机历史做出贡献的人,但主要是Pascal Chour https://www.pascalchour.fr/ressources/cii/mitra15.htm
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡