文章摘要
该文章介绍了MS-DOS开发的资源,重点推荐了DJGPP和OpenWatcom两款编译器。DJGPP是一个完整的32位C/C++开发系统,适用于运行DOS的Intel 80386及以上PC,包含许多GNU开发工具,生成的程序可商业销售。OpenWatcom也是推荐的开发工具之一。文章还提供了相关项目的链接,如DJGPP的项目页面、Linux上的交叉编译器创建指南以及RHIDE集成开发环境。
文章总结
MS-DOS开发资源概览
本文介绍了一系列用于MS-DOS开发的资源,涵盖了编译器、解释器/框架、库、模拟器、操作系统以及其他工具和文档。以下为主要内容:
编译器
- DJGPP:一个完整的32位C/C++开发系统,适用于运行DOS的Intel 80386及以上PC。生成的程序通常可以商业销售,无需许可证或版税。
- OpenWatcom:开源的Watcom C/C++和FORTRAN 77编译器,支持生成16/32位DOS和Windows的EXE文件。
- FreeBASIC:免费开源的BASIC编译器,支持Windows、DOS和Linux。
- BCC:生成8086汇编的C编译器,适用于小型模型。
- GCC-IA16:针对Intel 16位x86的GNU编译器移植。
解释器/框架
- DOjS:基于JavaScript的MS-DOS创意编码IDE/平台。
- LoveDOS:用于在Lua中制作2D DOS游戏的框架,基于LÖVE API的子集。
- QBASIC:微软开发的编程语言,适用于MS-DOS操作系统。
库
- lib16:用于OpenWatcom的小型16位DOS库。
- AllegroXC:Allegro 4.2.2的分支,用于DOS游戏开发的交叉编译。
- PCTIMER:提供毫秒级精度的计时功能,适用于DJGPP V2和DPMI。
- GLIDE3:3Dfx Glide的源代码,适用于Voodoo图形加速器。
- Watt-32:TCP/IP库及示例。
- mTCP:用于PC-DOS、MS-DOS、FreeDOS等的TCP/IP应用程序集。
- AllegroPNG:用于在Allegro多媒体库中显示PNG图像的库。
- DZCOMM:用于DOS、Linux和SunOS的串行I/O API。
- perlin-noise:Perlin噪声的各种实现(C和C++)。
- kuba zip:用C编写的便携式简单zip库。
- zlib:通用的无损数据压缩库。
- libjpeg:JPEG压缩/解压缩库。
- micromod:用于MOD、S3M和XM格式的音乐播放库。
- ini:用于加载.ini配置文件的微型ANSI C库。
模拟器
- DOSBox-staging:DOSBox的现代延续,支持现有配置和许多高级功能。
- DOSBox-X:开源的DOS模拟器,用于运行DOS应用程序和游戏。
- 86Box:低级别的x86模拟器,支持从1981年到基于PCI总线设计的旧操作系统和软件。
- PCEm:PC硬件模拟器。
操作系统
- FreeDOS:开源的DOS兼容操作系统,支持运行经典DOS游戏、遗留商业软件或编写新的DOS程序。
- Win98 Quick install:快速安装Windows 98的框架和安装程序。
其他工具
- Fontána:位图字体编辑器,支持从某些矢量格式导入字体。
- Doszip:支持长文件名的TUI文件管理器,内置Zip和UnZip功能。
文档
- ctyme:Ralf Brown中断列表的HTML版本,包含所有已知的中断调用。
- HelpPC Reference Library:David Jurgens的DOS超文本程序的HTML版本。
- FreeVGA:硬件级别的VGA和SVGA视频编程信息页面。
- SoundBlaster guide:Sound Blaster系列硬件编程指南。
- Basic Gravis UltraSound Programming:Gravis Ultrasound硬件编程参考。
- Glide 3.0 Programming Guide:3Dfx Glide™ 3.0编程指南。
这些资源为MS-DOS开发者提供了丰富的工具和参考资料,涵盖了从编译器到模拟器的各个方面。
评论总结
评论主要围绕MS-DOS生态系统及其开发工具展开,观点多样且涉及多个方面。以下是总结:
对MS-DOS工具的兴趣与认可
- 评论1提到对MS-DOS生态系统的工具感到兴奋,特别是开源的Watcom编译器和16位库。
"I really enjoyed seeing the tools that provide an MS-DOS ecosystem." - 评论3指出Free Pascal编译器也能生成DOS可执行文件。
"The Free Pascal compiler can produce DOS executables as well."
- 评论1提到对MS-DOS生态系统的工具感到兴奋,特别是开源的Watcom编译器和16位库。
对模拟器和开发工具的补充
- 评论2提到pcjs.org网站可以模拟多种机器,但存在配置困难。
"it is confusing and presents some difficulty when trying getting it to work." - 评论13提到HX DOS Extender允许使用Win32 PE工具开发DOS软件。
"one may use any tooling that lets you produce Win32 PE exe files."
- 评论2提到pcjs.org网站可以模拟多种机器,但存在配置困难。
对开源与闭源工具的讨论
- 评论12认为开源工具并非唯一选择,Borland C++ 3.1和Pascal 7.0等闭源工具同样优秀。
"Seems a bit obsessed with open source when abandonware like Borland C++ 3.1 and Pascal 7.0 are amazing." - 评论8提到微软在MS-DOS仓库中提供了1988年的工具链,虽然无源代码但可自由使用。
"Microsoft included almost a full 1988 toolchain... The license makes it free to use and redistribute."
- 评论12认为开源工具并非唯一选择,Borland C++ 3.1和Pascal 7.0等闭源工具同样优秀。
对复古计算和硬件的兴趣
- 评论11提到DOS系统的商业软件丰富,内存模型复杂但有趣。
"The sheer volume of commercial software... The memory model is quixotic and interesting." - 评论12强调真实硬件的重要性,认为模拟器无法完全替代。
"Emulators are no substitute for the real thing... If something can't work on real hardware, then it's probably make believe."
- 评论11提到DOS系统的商业软件丰富,内存模型复杂但有趣。
对资源和活动的推荐
- 评论4提到DOSember游戏开发活动,鼓励参与。
"a DOS game jam was announced recently for a streaming event called DOSember." - 评论14推荐PC Games Programming Encyclopedia作为学习资源。
"Someone needs to add the PC Games Programming Encyclopedia to this list."
- 评论4提到DOSember游戏开发活动,鼓励参与。
总结:评论者对MS-DOS生态系统及其开发工具表现出浓厚兴趣,既有对开源工具的认可,也有对闭源工具的推崇。同时,模拟器、真实硬件和复古计算也成为讨论焦点,并推荐了相关资源和活动。