GitHub – DOS 1.0:Tim Paterson DOS 打印稿的转录
GitHub – DOS 1.0: Transcription of Tim Paterson's DOS Printouts

原始链接: https://github.com/DOS-History/Paterson-Listings

Tim Paterson最初期的DOS代码列表,包含86-DOS和PC-DOS早期版本的源代码,已被归档并在线提供。该系列包含十批纸质列表,时间跨度为1981-1982年,包括内核、EDLIN和CHKDSK等实用程序,以及Microsoft BASIC-86编译器运行时库。 大部分代码(来自1-8批)已被转录成可编译的源代码,可供浏览或汇编。第9和10批,包含库列表(LIBLST.LOG, BASLIB.PRT, PAINT.ASM, CIRCLE.ASM),目前正在由志愿者进行转录。 要使用这些代码,用户需要Seattle Computer Products ASM汇编器(版本2.24或更高版本)和HEX2BIN实用程序,用于将汇编后的文件转换为二进制文件。该档案提供了原始扫描件的链接以及参与转录工作的详细信息。([https://archive.org/details/paterson_listings](https://archive.org/details/paterson_listings))

GitHub上的一个项目发布了Tim Paterson最初DOS 1.0打印稿的转录文本,引发了Hacker News上的讨论。这次发布允许对早期操作系统的代码进行详细研究,可能解决长期存在的争论,例如MS-DOS包含CP/M代码的说法。 评论强调了用于OCR原始纸质文档以及利用校验和进行错误检查的令人印象深刻的技术。用户也在回忆个人电脑的早期时代,其中一人分享了一个关于潜在的重要西雅图Computer Gazelle机器的故事。 源代码的可用性允许任何人独立验证MS-DOS是否复制了CP/M代码——Paterson一再否认这一说法,他将DOS设计为与CP/M-86兼容的占位符。有趣的是,Digital Research后来发布了DR-DOS,它与MS-DOS的API兼容。
相关文章

原文

Tim Paterson's DOS listings, containing source code of 86-DOS 1.00 kernel, various PC-DOS 1.00 pre-release kernels and utilities, and the Microsoft BASIC-86 Compiler runtime library.

The DOS-related portions have been transcribed and turned into compilable source code.

If you just want to browse the source code or compile/assemble it, choose 3_source_code. The original scans, in PDF and PNG formats, are available at https://archive.org/details/paterson_listings.

Further details about these listings, including technical writeups, can be found at:

Paterson's stack of DOS listings contains 10 bundles of continuous-feed paper, from top to bottom:

  • Bundle 01 (86 pages):
  • Bundle 02 (62 pages):
    • 86DOS.A86 (created: 1981/07/07 17:06:59, printed: 1981/07/08 13:49:52)
  • Bundle 03 (18 pages):
    • EDLIN.DIF (created: 1981/07/28 14:21:18, printed: 1981/07/28 14:40:48)
    • CHKDSK.A86 (created: 1981/07/15 12:19:22, printed: 1981/07/28 14:41:25)
  • Bundle 04 (58 pages):
    • 86DOS.ASM (created: 1981/06/15 03:18:51, printed: 1981/06/16 15:17:17)
  • Bundle 05 (57 pages):
  • Bundle 06 (71 pages):
  • Bundle 07 (10 pages):
    • CHKDSK.A86 (created: 1981/06/15 04:10:28, printed: 1981/06/16 15:32:54)
  • Bundle 08 (32 pages):
    • 86DOS.DIF (created: 1981/06/16 15:11:47, printed: 1981/06/16 15:13:47)
  • Bundle 09 (459 pages):
    • LIBLST.LOG (created: 1981/11/13 01:10:16, printed: 1981/11/13 01:17:42)
    • BASLIB.PRT (created: 1981/11/13 01:09:35, printed: 1981/11/13 01:19:29)
  • Bundle 10 (20 pages):
    • PAINT.ASM (created: 1982/01/06 22:20:26, printed: 1982/02/06 20:58:03)
    • CIRCLE.ASM (created: 1982/02/04 11:51:32, printed: 1982/02/06 20:58:44)

Bundles 9 and 10 have not yet been transcribed. If you wish to help transcribe them, please submit a pull request. Only contributions that provide direct transcriptions of the listings or correct typos in existing transcriptions will be merged.

Most of the sources here target Seattle Computer Products' ASM assembler, so you will need a copy. It can be obtained from any release of 86-DOS or MS-DOS by Seattle Computer Products. You will also need the HEX2BIN utility from Seattle Computer Products to convert Intel HEX objects produced by the assembler into binaries.

The simplest way to assemble a source file is to run ASM <FILENAME-NO-EXTENSION>, followed by HEX2BIN <FILENAME-NO-EXTENSION>. For example, to assemble 86DOS.ASM into the binary 86DOS.COM, run:

A:ASM 86DOS

Seattle Computer Products 8086 Assembler Version 2.24
Copyright 1979,80,81 by Seattle Computer Products, Inc.



Error Count =    0

A:HEX2BIN 86DOS

A:
联系我们 contact @ memedata.com