我在 20 世纪 70 年代和 80 年代长大。我的父母希望我和我的兄弟从小就接触电脑,所以他们买了一台 Apple II 克隆机,叫做 Franklin Ace 1000。我确信我们首先用它来玩游戏。但没过多久我们就问:“它是如何工作的?” 我们的父母给我们买了一本关于如何用 Applesoft BASIC 编程的书,我们自学了。
我记得我的第一个程序都是相当标准的。最终,我培养了对创建模拟和回合制游戏的爱好。例如,我的朋友和我在业余时间玩《龙与地下城》,我编写了几款《龙与地下城》风格的游戏。我最喜欢的爱好是重新创建电视节目和电影中的电脑屏幕显示。我最大的努力可能是一个基于 1983 年电影《战争游戏》的程序,它可以让你“玩”全球热核战争。
后来,我们用 IBM PC 替换了 Apple。DOS 上的 BASIC 环境与 Applesoft BASIC 不同,但我很容易就弄明白了。在整个初中和高中时期,我继续在上面编写程序。
1990 年,我成为了威斯康星大学河瀑分校的物理学本科生。即使我的专业是物理学,我仍然继续编写程序。我学习了 C 编程语言,并获得了一个 C 编译器。我编写了许多实用程序来帮助我分析实验室数据或向 MS-DOS 命令行添加新功能。像当时的许多其他人一样,我也创建了实用程序来替换和增强 MS-DOS 命令行。
大学有一个计算机实验室,我在 VAX 和 Unix 系统上获得了帐户。我非常喜欢 Unix。命令行与 MS-DOS 类似,但功能更强大。我在计算机实验室学习使用 Unix,但我仍然在我的个人电脑上使用 MS-DOS。通过运行 MS-DOS,我可以使用我最喜欢的程序来撰写论文和帮助分析实验室数据。
我发现了“共享软件”程序的概念,它让你免费试用程序。如果你觉得程序有用,你可以通过给程序的作者寄一张支票来注册它。我认为共享软件是一个非常棒的主意,我找到了满足我需求的 MS-DOS 共享软件程序。例如,我从 WordPerfect 切换到共享软件 GalaxyWrite 文字处理器来撰写论文。我使用 AsEasyAs 进行电子表格分析,并使用 Telix 拨号进入大学的计算机实验室,以便在我需要使用 Unix 系统时使用。
1993 年,我了解到一个可以在我的家用电脑上免费运行的 Unix 系统。这个“Linux”系统看起来和大学的 Unix 系统一样强大,但现在我可以在我的家用电脑上运行所有东西了。我在我的 PC 上安装了 Linux,与 MS-DOS 双启动。我认为 Linux 很棒,我经常使用它,但仍然大部分时间都在 MS-DOS 中度过。因为让我们面对现实:在 1993 年,MS-DOS 上的应用程序和游戏比 Linux 上多得多。
FreeDOS 如何开始
因为 MS-DOS 是我最喜欢的操作系统,所以我建立了这个我编写的实用程序库,以向 MS-DOS 添加新功能。我只是认为 DOS 是一个很棒的操作系统。我用过 Windows——但如果你记得那个时代,你就知道 Windows 3.1 不是一个很棒的平台。我更喜欢在命令行而不是用鼠标来完成我的工作。
在 1994 年初,我开始在科技杂志上看到许多微软高管的采访,他们说下一版本的 Windows 将完全取消 MS-DOS。我看了看 Windows 3.1,然后说:“如果 Windows 3.2 或 Windows 4.0 像 Windows 3.1 一样,我不想和它有任何关系。”
有了 Linux 的经验,我想,“如果开发者可以通过互联网走到一起编写一个完整的 Unix 操作系统,我们当然也可以用 DOS 做同样的事情。” 毕竟,与 Unix 相比,DOS 是一个相当简单的操作系统。DOS 一次运行一个任务(又名单任务),并且具有更简单的内存模型。我已经编写了许多扩展 MS-DOS 命令行的实用程序,所以我已经有了一个良好的开端。
我在 Usenet 上的 comp.os.msdos.apps 讨论组中询问了一下。虽然其他人对免费 DOS 感兴趣,但没有人想启动这样一个项目。所以,我自愿去做。
1994 年 6 月 29 日,我将此发布到 comp.os.msdos.apps
PD-DOS 项目公告
几个月前,我发布了关于启动公共领域 DOS 版本的文章。当时对此的普遍支持很强烈,许多人同意“开始编写!”的说法。所以,我已经开始了...
宣布首次努力制作 PD-DOS。我已经写了一份“宣言”,描述了这样一个项目的目标和工作大纲,以及一个“任务清单”,其中准确地显示了需要编写的内容。我将在此处发布这些内容,并进行后续讨论。
如果您正在考虑开发,或者对 PD-DOS 有想法或建议,我将不胜感激直接发邮件给我。如果您只是想讨论编写 PD-DOS 的优点或道德,我将把它留给网络。我会不时查看讨论的进展情况,并可能为这场有望成为非常两极分化的辩论贡献一点力量!
我对 PD-DOS 感到兴奋,我希望我可以启动一个小组!
—James Hall
PS—当然,如果这已经存在,请将我指向组长,以便我至少可以做出贡献!
开发者几乎立即联系了我。我们都编写了自己的 MS-DOS 扩展,这些强大的工具扩展了您可以在 MS-DOS 命令行上执行的操作。我们汇集了我们的实用程序,并在公共 FTP 站点上查找公共领域源代码,以查找复制 MS-DOS 功能的其他程序。
关于名称的说明:当我启动这个项目时,我并没有完全理解“自由软件”和“公共领域”之间的细微差别。我以为它们是相同的。当然,我们在 FTP 站点上找到的许多免费工具都是发布到公共领域的。我采用了 PD-DOS 这个名称,代表公共领域 DOS。只过了几周,我就意识到我们想要 GNU 通用公共许可证的保护,这将使我们的 DOS 项目成为一个“自由软件”项目。到 7 月底,我们将名称更改为 Free-DOS。后来,我们去掉了连字符,变成了 FreeDOS。今天 FreeDOS 如何使用
多年来,开发者们与我分享了他们如何使用 FreeDOS 来运行嵌入式系统。我最喜欢的例子是一位开发者使用 FreeDOS 来驱动一台弹球机。FreeDOS 运行一个应用程序,该应用程序控制电路板,统计分数并更新背光显示器。我不知道它是如何构建的,但这种系统工作的一种方式是让每个保险杠在键盘总线上注册一个“键”,而应用程序只需从该输入读取即可。我认为这很酷。
人们有时会忘记遗留软件,但它会在意想不到的地方弹出。我曾经是一所小型大学的校园 CIO,有一次一位教员带来了一些软盘,里面装有旧的研究数据。数据没有存储在纯文本文件中,而是作为 DOS 应用程序数据。我们的现代系统都无法读取旧的数据文件,所以我们用 FreeDOS 启动了一台备用 PC,下载了一个可以读取应用程序数据的共享软件 DOS 程序,并将数据导出为纯文本。
还有其他在 DOS 上运行的遗留软件的例子。我最喜欢的是 迈凯伦 F1 超级跑车,它只能用一台古老的 DOS 笔记本电脑进行维修。而《权力的游戏》作者乔治·R·R·马丁用 DOS 来写他的书。
他们可能使用 MS-DOS,但我相信还有一大堆其他遗留系统运行在 FreeDOS 上。
几年前,我们进行了一项调查,以了解人们如何使用 FreeDOS,结果出现了三种不同的用途
- 玩经典 DOS 游戏: 你可以在 FreeDOS 上玩你最喜欢的 DOS 游戏。有很多很棒的经典游戏可以玩:德军总部 3D、毁灭战士、指挥官基恩、崛起:喋血街头、丛林之姬吉尔、毁灭公爵以及许多其他游戏。
- 运行遗留软件: 需要从旧的商业程序中恢复数据?或者您可能需要从旧的财务系统中运行报告?只需在 FreeDOS 下安装您的遗留软件,您就可以开始了。
- 开发嵌入式系统: 许多嵌入式系统在 DOS 上运行,尽管现代系统更可能在 Linux 上运行。如果您支持较旧的嵌入式系统,您可能正在运行 DOS,而 FreeDOS 可以很好地适应。
您可能可以为这些 FreeDOS 用例添加第四类:更新 BIOS。我收到了很多来自人们的电子邮件和评论,他们仍然启动 FreeDOS 来更新他们计算机系统中的 BIOS。DOS 仍然是一种安全的方式来做到这一点。
确实,您今天在开发的嵌入式系统中看不到太多 DOS。我认为 树莓派 和其他低成本、低功耗设备使 Linux 在嵌入式设备中非常有吸引力,因此大多数开发人员的兴趣都转移到了那里。但是你仍然有时会看到 FreeDOS,这证明了开源开发的持久力。
9 条评论