分享
 
 
 

一种新颖的技术:Delphi for DOS!!!

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

看看题目,是不是觉得很怪?Delphi 从诞生起就是 for Windows 的,那里有 for DOS 的?

如果你过去曾用过 Borland 的 Turbo Pascal 系列编写软件,那么你应当对 Turbo Pascal

的特点了解一些。Turbo Pascal 直到 6.0 版都不支持 DOS 下的保护模式编程(DPMI)。直

到 Borland Pascal 7.0 出世,然而令人遗憾的是, BP7 仅支持 16 位的保护模式编程,而

真正意义上的 32 位 DPMI 模式却不支持。而且 BP7 是 Borland Pascal 的 DOS 终结版。

所以,那个时代很多的游戏都只能打上 DOS4GW 的烙印(由 Watcom C++ 开发)。

其实,在 1996 年,Delphi 2.0 已经是一个真正的 32 位保护模式编译器了,只不过她不能

产生 DOS MZ 格式的程序,仅能产生 Win32 PE 程序文件。而这个时候,一个名为 WDOSX 的

32 位 DOS 扩展器已经悄然出现了。这个扩展器的最大特点就是专门为 Delphi 2 度身定做,

能够将 Delphi 2 编译的“控制台应用程序”(也就是 Console Application)直接复合成为

一个真正的 32 位 DOS 保护模式程序,其效果与 Watcom C++ 编译产生的 32 位 DOS DPMI

程序(运行时依赖 DOS4GW 扩展器)是一样的!而它产生的程序已经自带扩展器,不需要运行

时的扩展服务程序(比如 DOS4GW)。WDOSX 采用 Borland 的 Turbo Assembler 5.0 开发,

为 Delphi 2 专门提供了用于保护模式下的 CRT、DOS 等单元,与过去的 Turbo Pascal 提供的

单元十分相似。WDOSX 采用 Win32 API 仿真库以便支持在 32 位 DOS DPMI 环境下的系统功能

调用,所以经过复合后的 Delphi 2 控制台程序是运行在一个 Win32 模拟环境中的,Win32 的

特点被保留,而实际确实运行在真正的 32 位 DOS DPMI 环境下。这就是 WDOSX 的奇妙之处。

现在 WDOSX 的最新版本为 0.96,已经能够很好的支持 Delphi 2/3/4/5 各种版本了,它甚至为

Delphi 提供了完备的快速图形处理函数库(包含 DirectX 支持),用来编写 DOS 游戏真是变

得异乎寻常的简便了,而效果却是惊人的:真正的 32 位保护模式 DOS 环境、直接对显示硬件

编程处理图像、方便的 DOS 中断调用支持。Watcom C++ 和 DJGPP 的优点她都能够让 Delphi 具

备!这得益于 Delphi 32 位编译器的强大能力和 WDOSX 的神奇力量。那些在 Win32 环境下的

诸多限制彻底不存在了,你用 Delphi 2/3/4/5 编译的“控制台应用程序(Console Application)”

经过 WDOSX 复合以后产生的 32-bit DOS DPMI 程序能够自由地对内存进行访问,而内存则是真正的

32 位线性 Flat Modal !再也没有老的按照“段”来划分的概念了。理论上程序能够使用的内存空间

将是 4GB !WDOSX 的复合原理是将自己的一个保护模式功能服务器及一个微型运行模块加在正常的

Win32 PE 文件的头部,并修改文件头为 32 位 DOS DPMI MZP 文件头,同时将原来的运行代码作适当

的压缩处理,并加入一个很小的 Win32 环境模拟器。由此可见 WDOSX 的作者公里是相当深厚的!目前

WDOSX 除了对 Delphi 2/3/4/5 和 Turbo Assembler 提供最完善的支持外,还支持 C++Builder、

Visual C++。

毕竟,DOS 还不可能从我们的世界中彻底消失,有一些程序设计运行在 DOS 下也许会获得更出色的效果。

而编写 DOS 环境下的程序令人感到十分自由,没有什么限制。并且采用性能卓越的 32 位保护模式将更能

发挥程序的威力。有了 WDOSX ,有了 Delphi ,一切都变得那么容易和轻松了,何乐而不为?

WDOSX 这个东西还真不好找,我好不容易从网上弄下来了。我这里有一个用 Delphi 5 + WDOSX 编写的一个

很有趣的 32-bit DOS DPMI 程序,效果是模拟一团熊熊燃烧的火焰,效果十分惊人,会令你意想不到(姑且

让我这么说吧)!!!我可以将完整的WDOSX 软件包和部分演示程序寄给对此感兴趣的朋友(很小,才几百K字

节)。欢迎大家与我共同探讨这个问题。:)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有