1. 阅读四通 MS-2401H 图纸得到的一些 hints

    Mon 15 February 2021

    阅读 MS-2401H 图纸,配合设计文档,可以知道下面的一些结论:

    • MS-2401H 设计时,所有的 IO 设备都是通过 in / out 来进行的,而不是通过访问内存地址进行的。原因:没有为访问硬件设备留出专用的地址空间(8088 本来的地址空间就很稀缺了),而且 8088 原本就支持用 AD line 访问设备。
    • ISH8 芯片负责内部设备的片选、页切换等,ISH9 芯片负责外部设备的片选。但是一个例外:ISH9 的键盘中断接回了 ISH8。

    ISH8 负责下面设备中断(输入):

    • 串口 (RXRDY)
    • Option board (OPINT, EXPRQ)
    • 键盘 (KBINT) 接到了 ISH-9 KBINT 输出
    • 软驱 (FDCINT …

    More...



  2. 四通打字机模拟器的一些挑战

    Sun 27 September 2020

    下面简单记录一下目前逆向工程 MS-2401 系列打字机并开发模拟器的一些挑战。

    MS-2401H

    目前手里能比较正常启动的机器都是 MS-2401H 型。此型机器有下面的特点:

    • 无需软盘即可启动进入字处理系统
    • CPU 运行在最大模式下
    • 系统集成度极高(通过两片 NEC 公司制造的 ASIC)

    三条都是机器本身的很大优点,但是后两条对开发模拟器来说有极大的挑战。

    I/O 端口

    上一篇里已经大概摸索出了部分 IO 端口连接了什么设备,但是对于某个特定端口,目前无法确认读写后应有什么预期结果。

    因此,很难将 BIOS 作为一个黑盒,直接模拟 IO 端口的行为(毕竟你也不知道)。

    硬件

    显然,硬件本身会发起中断,但是由于不知道硬件的具体行为,因此无法知道硬件内部状态机,更无法模拟这一部分。

    实际上,上面两条已经让模拟器的开发停滞了一段时间:有一小段程序是在执行 WP 之前初始化硬件的,但是这段程序始终无法运行成功(会一直等某个内存置为某个特定值,但是并不能确定要运行什么才可以)。

    缺少 ASIC …

    More...


Page 1 / 11 »