一种新颖的技术:Delphi for do S!(0分)

  • 主题发起人 主题发起人 Phoenix2000
  • 开始时间 开始时间
P

Phoenix2000

Unregistered / Unconfirmed
GUEST, unregistred user!
看看题目,是不是觉得很怪?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字节)。欢迎大家与我共同探讨这个
问题。:)
 
一团熊熊燃烧的火焰? 听起来有点像happy99.exe
 
不管是不是happy99,先来一份看看吧! wjiachun@263.net
看完之后才知道是否感兴趣啊
 
me2 ,hzywing@163.net
 
我也要:)<a href="mailto:zhanglizhuo@263.net">zhanglizhuo@263.net</a>!
 
shuozhang@szskzj.com, Thanks.
 
pls email:kinglaw@21cn.com,Thanks.
 
; 往这里发一个吧:doxpix@yeah.net.
让俺也尝尝鲜!
感谢的紧!
 
lgl204@163.net
 
没兴趣,
 
谢谢啦!zhaojiancheng@263.net
 
多谢,给我一个,hustmouse@sina.com
 
来吧,来一份吧。smelless@china.com 谢谢!!!
数据都丢了,现大又要回到以前那种资料积累阶段了:-(
 
我也要!
mikedeakins@etang.com
 
A copy for me
joe_michael@263.net

Thanks anyway
 
现在已经到了WINDOWS2000的时代,基于Dos的编程还有多少能力得以继续生存?我只是一个菜鸟.
对操作系统了解的不多,我总是感觉,MICROSOFT总有一天(不会太久)会完全抛弃.不知我的想法
是否有错.还请各位大虾指教
不过我依然对这个东东有兴趣,发一个给我好吗?lbsong@sina.com
 
可以看看玩,<a href="mailto:crab2000@yeah.net">请给俺发一个</a>
 
给我也来一个完完。
ccweifen@263.net
 
给俺来一个,WXNET@263.NET
 
我也要一个
fengsi@21cn.com
呵呵
 
后退
顶部