# Typing Tutor IV 千年虫问题 不知大家是否还记得这个 DOS 下的小软件?它是我见过的可以说是最好的打字练习软件,由 Kriya Systems 公司在 1987 年发布。 它实在太古老了,设计者可能没想到会用到 2000 年以后,因而有严重的千年虫问题,具体表现是:获取系统时间时显示混乱,以及各种死机和闪退。 用十六进制编辑器打开 `TT.EXE`, 在地址 `C31E` 处的三个字节是 `05 94 F8`, 反汇编后的指令是 `ADD AX, 0F894H`, 其实就是将年份减去 `1900`, 因此 `2000` 就成了 `100`. 将这三个字节改成 `05 30 F8`, 也就是 `ADD AX, 0F830H`, 年份减去 `2000`, 一切就 OK 了。只是 `2000` 年以前的年份会变成负数。 另外两个文件 `TTD.EXE`(Dvorak 布局)和 `TTJ.EXE` 也是一样的,只不过修改的地址不同,分别是 `1004` 处和 `0FC0` 处。 可以从 下载 Typing Tutor IV, 其中 `TT-y2k.zip` 是有千年虫问题的原版,`TT.zip` 是修改过的版本。 :::{include} /_files/frags/copyright_warn.txt ::: 推荐用 [DOSBox](project:dosbox.md) 运行,兼容各种系统。