标题: 打造32位dos,中国聪明的DOSer们,别走开,全进来!!!!!!!!
[打印本页]
作者: poor
时间: 2006-12-25 11:41
标题: 打造32位dos,中国聪明的DOSer们,别走开,全进来!!!!!!!!
我想说说我的想法,比较幼稚!
在我们的手里,现在有两件神兵利器,一件是倚天剑,一件是屠龙刀:它们就是MS-DOS7.10和Djgpp编译器。
现在网路上有dos源码可供下载,不管是几版,反正据说是Dos的16位source。
拿着Djgpp,我就琢磨,它>>>>Djgpp>>>>>>保护模式下的32位dos程序C compiler,Well,那么我们:
在DOS7.10操作系统下,用djgpp把down来的Dos源码重新编译一遍,出来的程序不就变成保护模式下32位了吗??
再用这个新造出来的"New DOS"去format硬盘,再把Dos——>>>>>sys进去,这种状况下,是不是就造出32bit Dos来了?
天啊,别告诉我,你没想到过,至少,我这样的笨蛋都想到了!!!
(不过,我估计网上的那些源码根本编译不撩) 即便这样,网上也有开源的什么Pc-dos之类嘛?采用这些open source的Dos源码来编译,不是具有同样的效果吗?
你是什么看法呢?回帖是一种美德 ^_^
*****************************
参考资料:
一、
http://www.cn-dos.net/forum/viewthread.php?tid=22574&fpage=1
请问DJGPP 编译的程序是16位还是32位
二、
http://www.xiaofan21.net/soft/2669.htm
Djgpp (32位编译器)
djgpp 是一个编译器以及一组相关的工具,它们能使你在 MS-DOS/MS-Windows 下编写 32 位保护模式的程序。
所有使用 djgpp 编译的程序,以及随 djgpp 发布的开发工具看上去都像一个标准 DOS 程序。他们依靠 MS-DOS 和 BIOS 进行文件 I/O 以及其他基本功能,如:键盘输入、屏幕光标位置等等。但是一个 djgpp 程序的内核是真正的 32 位保护模式代码;djgpp 程序使用“DPMI”(DOS 保护模式接口,DOS Protected Mode Interface)以便在保护模式下对 DOS/BIOS 功能进行调用。因此,任何一个可以运行 DOS 程序并且提供 DPMI 支持的环境都可以运行 djgpp 程序。已知的与 djgpp 兼容的环境包括:MS-DOS、Caldera's DR-DOS(
http://www.lineo.com/products/drdos.html)、NWDOS、FreeDOS(
http://www.freedos.org/)、Windows 3.X/9X/NT、OS/2 以及 Linux DOSEmu。当 djgpp 程序运行在 Windows 9x 和 Caldera's DR-DOS 下时,它们支持长文件名。
djgpp 的核心是移植到 MS-DOS 的 GNU C/C++ 编译器、GCC 以及辅助工具,例如汇编程序、连接程序、Make 和一个超文本文档浏览器。djgpp C 库是为 djgpp 特别重写的,主要由 DJ Delorie 一人完成,当然还离不开一小部分志愿者的帮助。核心工具和库仍然在开发和维护当中。
djgpp 提供了一系列与 ANSI 和 Posix 完全兼容的工具。GCC 兼容 ANSI/ISO 标准 C;djgpp C 库则同时兼容 ANSI 和 Posix(但一小部分 Posix 特性没有实现,例如“fork”系统调用);并且 C++ 库也与最新的标准兼容;djgpp 使用的 GNU 开发工具也全部兼容 Posix。因此,djgpp 工具在微软操作系统上提供了完整一致的 Posix 层,甚至对于用户和开发人员来说,那些不为人知的 DOS 限制和 DOS/Windows 与 Unix 之间的不兼容之处也几乎被完全隐藏了起来。
djgpp 可以被用来:
C/C++ 编程教学
在 MS-DOS 和 MS-Windows 上学习使用 Linux/Unix 开发工具
编写游戏和图形程序(Quake 的 DOS 版本就是使用 djgpp 编译的)
建立一个 Unix 和 MS-DOS 通用的开发环境
编写可移植的 DOS/Unix 程序
将 Unix 程序移植到微软操作系统下
从 2.0 版开始,djgpp 程序不再需要一个独立的 DOS 扩展器,只需要一个 DPMI 服务器就可以运行;djgpp 包括一个免费的 32 位 DPMI 服务器,可以在一个缺少 DPMI 服务器的纯 DOS 环境中支持 32 位、4G 线性地址空间以及最大 512M 的虚拟内存。
*****************************
[
Last edited by poor on 2006-12-24 at 10:45 PM ]
作者: poor
时间: 2006-12-25 11:49
這是繁體字版:
=========================
『樓 主』: 打造32位dos,中國聰明的DOSer們,別走開,全進來!!!!!!!!
我想說說我的想法,比較幼稚!
在我們的手裏,現在有兩件神兵利器,一件是倚天劍,一件是屠龍刀:它們就是MS-DOS7.10和Djgpp編譯器。
現在網路上有dos源碼可供下載,不管是幾版,反正據說是Dos的16位source。
拿著Djgpp,我就琢磨,它>>>>Djgpp>>>>>>保護模式下的32位dos程序C compiler,Well,那麽我們:
在DOS7.10作業系統下,用djgpp把down來的Dos源碼重新編譯一遍,出來的程式不就變成保護模式下32位了嗎??
再用這個新造出來的"New DOS"去format硬碟,再把Dos——>>>>>sys進去,這種狀況下,是不是就造出32bit Dos來了?
天啊,別告訴我,你沒想到過,至少,我這樣的笨蛋都想到了!!!
(不過,我估計網上的那些源碼根本編譯不撩) 即便這樣,網上也有開源的什麽Pc-dos之類嘛?采用這些open source的Dos源碼來編譯,不是具有同樣的效果嗎?
你是什麽看法呢?回帖是一種美德 ^_^
*****************************
參考資料:
一、
http://www.cn-dos.net/forum/viewthread.php?tid=22574&fpage=1
請問DJGPP 編譯的程式是16位還是32位
二、
http://www.xiaofan21.net/soft/2669.htm
Djgpp (32位編譯器)
djgpp 是一個編譯器以及一組相關的工具,它們能使你在 MS-DOS/MS-Windows 下編寫 32 位保護模式的程式。
所有使用 djgpp 編譯的程序,以及隨 djgpp 發布的開發工具看上去都像一個標准 DOS 程序。他們依靠 MS-DOS 和 BIOS 進行文件 I/O 以及其他基本功能,如:鍵盤輸入、屏幕光標位置等等。但是一個 djgpp 程序的內核是真正的 32 位保護模式代碼;djgpp 程序使用“DPMI”(DOS 保護模式接口,DOS Protected Mode Interface)以便在保護模式下對 DOS/BIOS 功能進行調用。因此,任何一個可以運行 DOS 程序並且提供 DPMI 支持的環境都可以運行 djgpp 程序。已知的與 djgpp 兼容的環境包括:MS-DOS、Caldera's DR-DOS(
http://www.lineo.com/products/drdos.html)、NWDOS、FreeDOS(
http://www.freedos.org/)、Windows 3.X/9X/NT、OS/2 以及 Linux DOSEmu。當 djgpp 程序運行在 Windows 9x 和 Caldera's DR-DOS 下時,它們支持長文件名。
djgpp 的核心是移植到 MS-DOS 的 GNU C/C++ 編譯器、GCC 以及輔助工具,例如彙編程序、連接程序、Make 和一個超文本文檔浏覽器。djgpp C 庫是爲 djgpp 特別重寫的,主要由 DJ Delorie 一人完成,當然還離不開一小部分志願者的幫助。核心工具和庫仍然在開發和維護當中。
djgpp 提供了一系列與 ANSI 和 Posix 完全兼容的工具。GCC 兼容 ANSI/ISO 標准 C;djgpp C 庫則同時兼容 ANSI 和 Posix(但一小部分 Posix 特性沒有實現,例如“fork”系統調用);並且 C++ 庫也與最新的標准兼容;djgpp 使用的 GNU 開發工具也全部兼容 Posix。因此,djgpp 工具在微軟操作系統上提供了完整一致的 Posix 層,甚至對于用戶和開發人員來說,那些不爲人知的 DOS 限制和 DOS/Windows 與 Unix 之間的不兼容之處也幾乎被完全隱藏了起來。
djgpp 可以被用來:
C/C++ 編程教學
在 MS-DOS 和 MS-Windows 上學習使用 Linux/Unix 開發工具
編寫遊戲和圖形程序(Quake 的 DOS 版本就是使用 djgpp 編譯的)
建立一個 Unix 和 MS-DOS 通用的開發環境
編寫可移植的 DOS/Unix 程序
將 Unix 程序移植到微軟操作系統下
從 2.0 版開始,djgpp 程序不再需要一個獨立的 DOS 擴展器,只需要一個 DPMI 伺服器就可以運行;djgpp 包括一個免費的 32 位 DPMI 伺服器,可以在一個缺少 DPMI 伺服器的純 DOS 環境中支持 32 位、4G 線性地址空間以及最大 512M 的虛擬記憶體。
*****************************
[ Last edited by poor on 2006-12-24 at 10:45 PM ]
[
Last edited by poor on 2006-12-24 at 10:51 PM ]
作者: electronixtar
时间: 2006-12-25 12:15
不是我打击你哈,32位的DOS不就是cmd/WinPE/FreeDOS么?
[
Last edited by electronixtar on 2006-12-25 at 12:17 PM ]
作者: Michael
时间: 2006-12-26 07:42
DOS的产生完全是因为那个时代的机器性能不强,可它又带给我们那么多的快乐。