H1:在 Atari 8 位文件系统细节挖掘中的发现
- 先前帖子提及:在之前的帖子中提到挖掘 Atari 8 位文件系统细节时发现一些奇特之处,阅读在线规格并在模拟器中运行实际代码以验证和发现不明或错误的细节,有一些令人惊讶的发现。
- 研究的文件系统:Atari DOS 1.0、2.0s、2.0d、2.5、MyDOS 4.5、3、4(原型未发布)、DOS XE、LiteDOS、Sparta DOS。
- DOS 1.0 特点及后续版本变化:1979 年开始,支持单面带单密度磁盘,每个扇区 128 字节共 720 个扇区,有一些 bug 和实现限制,很快 DOS 2.0s 取代它并做了关键更改,后续其他版本出现,有的保持向后兼容,有的尝试新方法。
- 文件编号及相关设计决策:Atari 在每个扇区末尾用 6 位存储文件编号,用于“note”和“point”命令,DOS 1 最后字节是扇区序列号,高位清除,DOS 2 改为总是存储扇区数据字节数,以支持文件追加和部分填充扇区。
- 不同版本 DOS 的特点:一些不太流行的 DOS 版本不支持零长度文件;只有 DOS XE 和 Sparta DOS 支持文件时间戳;多个版本支持子目录;Atari DOS 的一个奇特之处是将目录和空闲扇区位图表放在磁盘中间的磁道上,DOS 4 中目录位置随磁盘格式变化;官方 Atari DOS 版本从未预期未来需求,DOS 3 是灾难,Atari 1450XLD 计算机需新 DOS,而成功的是 MyDOS 和 SpartaDOS,能扩展到任何驱动器。
- 重要教训:要总是为未来做计划,倾听当前产品需求,假设未来会扩展需求进行设计,否则代码发布后用户可能会抱怨,但如果做得好,40 年后人们可能仍在使用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。