一些四通打字机的资料存档,供后人有需要时使用。
打字机相关的资料全部都在 software-archive 站中可获取: https://software-archive.tifan.la/Stone-Chinese-TypeWriter/
电子书
因为 Internet Archive 在中国被封,因此在 software-archive 站点中也提供了镜像。
打字机软件
四通打字机 MS-2401H 型的 BIOS 文件在这里:
https://software-archive.tifan.la/Stone-Chinese-TypeWriter/MS-2401H/
注意 MS-2401H 的 firmware 里已经包含了整个字处理软件,因此无需软盘即可启动使用编辑功能。
四通 MS-2401 I/O 表
目前靠猜测以及找资料,确认了 MS-2401 机型的已知 I/O 端口的对应设备。但是不幸的是仍然有很多端口还没有确认用途。
MS-2401 和 MS-2401H 的 I/O 设备略有不同,但是还没确定 MS-2401H 究竟多出来了什么。已知 MS-2401H 机使用两块新的 ASIC。
ASIC 型号为 uPD91260GD-5BD (ISH8) 以及 uPD91261PD-5BB (ISH9)。从名字上看,应为 NEC 公司设计。
Port | Device |
---|---|
0x00 | Programmable Timer Counter uPD71054C, 8MHz |
0x01 | Programmable Timer Counter uPD71054C, 8MHz |
0x02 | Programmable Timer Counter uPD71054C, 8MHz |
0x03 | Programmable Timer Counter uPD71054C, 8MHz |
0x04 | LCD MSM6255 |
0x05 | LCD MSM6255 |
0x08 | FDD uPD72067GC |
0x09 | FDD uPD72067GC |
0x0C | RS232 uPD71051 (8251 compatible) |
0x0D | RS232 uPD71051 (8251 compatible) |
0x20 | RTC RP5C15 |
0x21 | RTC RP5C15 |
0x22 | RTC RP5C15 |
0x23 | RTC RP5C15 |
0x24 | RTC RP5C15 |
0x25 | RTC RP5C15 |
0x26 | RTC RP5C15 |
0x27 | RTC RP5C15 |
0x28 | RTC RP5C15 |
0x29 | RTC RP5C15 |
0x2A | RTC RP5C15 |
0x2B | RTC RP5C15 |
0x2C | RTC RP5C15 |
0x2D | RTC RP5C15 |
0x2E | RTC RP5C15 |
0x2F | RTC RP5C15 |
0x30 | Bank Switching Calligraphic Page (0x6000), 16 dot |
0x34 | STATS SIO Status |
0x38 | LED 0 |
0x39 | LED 1 |
0x3A | LED 2 |
0x3B | CMT MOTOR (MS-2402 only) |
0x46 | CG Bank Switching (0xA0000), 24 dot |
0x4B | unknown (called by NMI) |
0x5E | unknown |
0x60 | INT MASK VECTOR |
0x62 | KB INT Timer |
0x66 | KBD Y |
0x68 | KBD X |
0x6A | MOTOR_6A Head Data 0 |
0x6C | MOTOR_6C Head Data 1 |
0x6E | MOTOR_6E Head Data 2 |
0x70 | PRINTER MOTOR / STATUS |
0x72 | COMMAND |
0x74 | STATUS |
0x76 | Bank Switching 24/8 DOTS CG |
0x78 | Bank Switching 16 DOTS CG |
0x7A | SIO RXCLK |
0x7C | SIO TXCLK |
0x7E | MODE SET |
0x84 | unknown |
0x3B4 | Video adapter? |
四通 MS-2401 I/O 表详细情况
Port | Direction | Comments |
---|---|---|
0x60 | out | bit 3: keyboard (0=unmask) |
四通 MS-2401H BIOS 各中断对应的地址
注意地址为 https://software-archive.tifan.la/Stone-Chinese-TypeWriter/MS-2401H/ALPS_BIOS-ST-M27C256B.BIN 中对应的
没写地址的表示这个 interrupt 直接调用了 IRET (也就是说没实现)。
没写用途的是因为还没猜出来是什么用途。
Int | Address | Function |
---|---|---|
0h | 0x010a | Divide Error |
1h | Single Step | |
2h | 0x33af | NMI (printer, power) |
3h | 0x0000 | Debug |
4h | Overflow | |
5h | Sys Reserved | |
10h | 0x4fd0 | |
11h | 0x500d | ax=0x4041 |
12h | 0x5011 | ax=0x0100 |
13h | 0x5015 | |
16h | 0x5189 | |
17h | 0x51c5 | ah=0 |
19h | 0x51c3 | run int 3h |
1ah | 0x51c8 | Clear ax, cx, dx |
1eh | 0x51d2 | (I/O with IO port 0x18 to 0x1F) |
43h | 0x2051 | Keyboard |
50h | 0x2d40 | (related with timer) |
51h | 0x2cb1 | |
52h | 0x2440 | LCD I/O; al=0: CLS |
54h | 0x1f20 | Keyboard |
56h | 0x5670 | |
5ah | 0x4990 | Serial Port I/O |
5bh | 0x4cc0 | Serial Port Control |
5ch | 0x2940 | |
5eh | 0x2900 | LED |
60h | 0x4780 | Show error message |
61h | 0x484c | Display text on LED |
62h | 0x1220 | 软盘 |
63h | 0x1170 | |
64h | 0x117d | |
65h | 0x0130 | |
66h | 0x1360 | |
67h | 0x14b0 | |
68h | 0x1f10 | al=2 |
6ah | 0x4910 | |
6bh | 0x563f | Display Power failure |
70h | 0x51e0 | 此处代码与 INT 1eh 重合,51e0 处看起来不像正常代码 |
72h | 0x5240 | |
73h | 0x5394 | |
76h | 0x5646 | Display Low Power |
77h | 0x564e | Display Power Empty |
78h | 0x5664 | 清屏 |
79h | 0x54c0 |
四通 MS-2401H 的内存地址
BIOS 工作区
0000:0000 to 0000:4000
With battery backup
5000:0000 to 5000:000f -- BIOS data
打印修正 (0)
RS232C 线路说明 (1, 2)
01h
- BAUD RATE [7, 6, 5, 4]
- STOP BIT [3 ,2]
- PARITY BIT [1] (0 - odd, 1 - even)
- PARITY ENABLE [0] (0 - disable, 1 - enable)
02h
Unused [7, 6, 5, 4, 3, 2]
Length [1, 0]
- 00: 5 bit
- 01: 6 bit
- 10: 7 bit
- 11: 8 bit
打印修正 (3)
空白 (4 ~ 8)
日期 (9 ~ D)
Checksum (E ~ F)
5000:0010 to 5000:1fff -- WP data
Comments