标题: 如何制作A盘的PDOS
[打印本页]
作者: crshen
时间: 2005-1-27 00:00
标题: 如何制作A盘的PDOS
近来又有人问起如何制作A盘的PDOS,这个东东我以前没用过,这两天正好空闲,分析了一下,见下:
1. PDOS最主要的5个文件是pdos.def、pbios.exe(或pbios.sys)、font16.exe、hzvio.exe、chs16.fon,缺一不可;
2. C盘中的运行过程:启动pbios.exe,即中文内核,它要搜索C盘根目录下的pdos.def,如果没有就不运行;运行font16.exe,根据pdos.def中的配置,找到font16.exe;运行hzvio.exe汉字输入输出系统。
3. 很显然,如果将系统移植到A盘,就要使pbios.exe到A盘查找pdos.def文件,对其反汇编发现:
mov ah,19h
int 21h ; DOS Services ah=function 19h
; get default drive al (0=a:)
mov al,43h ; 'C'
mov byte ptr cs:data_293,al ; (3644:006F='A:\PDOS.DEF')
mov ax,3D00h
mov dx,offset data_293 ; (3644:006F='A:\PDOS.DEF')
int 21h ; DOS Services ah=function 3Dh
; open file, al=mode,name@ds:dx
jnc loc_437 ; Jump if carry=0
在pbios.exe中首先定义了'A:\PDOS.DEF'这个路径,而后用int 21中断的19号功能,得到默认盘符,却没有使用,接下来把'A:\PDOS.DEF'改成了了'C:\PDOS.DEF',问题就在这儿,在任何时候,程序总是到C:\查找PDOS.DEF文件,要改就方便了,把上面的43h改成41h就成A盘啦。当然也可以更进一步,改为任意盘都行。
4. 对pdos.def的修改,很多地方都有介绍,这里简单说一下,用二进制编辑器打开文件,发现有C:\WINDOWS\COMMAND这个路径,改成A:\PDOS等,随你便,后面用00填满就行。
对于已制作好的软盘,请到以下链接下载,这里不再上传,节约论坛空间:
http://dos.e-stone.cn/dosbbs/dis ... 4916&page=1
[此贴子已经被作者于2005-2-2 12:48:57编辑过]
作者: crshen
时间: 2005-1-27 00:00
PDOS6 任意盘移植补丁程序,无硬盘也可运行!
请下载并运行包内的patch.exe文件。
打开附件
http://www.cn-dos.net/forum/UploadFile/2005-1/200512717439315.rar
作者: 小灰狼
时间: 2005-1-29 00:00
谢谢,长知识拉!
作者: crshen
时间: 2005-1-29 00:00
Quote: |
以下是引用小灰狼在2005-1-29 7:02:54的发言:
谢谢,长知识拉! |
|
不要光长知识,还要学会思考!我在上面说过,“也可以更进一步,改为任意盘都行”,下面的附件就是可以放在“任意盘的任意目录中”运行的pdos基本模块,其实看懂了上面的分析,修改很简单,建议有兴趣的,DIY一下,所以下面的链接规定要回复才能下载。
[replyview]
打开附件[/replyview]
作者: blue777
时间: 2005-1-30 00:00
支持!能提供PDOS最小体积单字拼音输入法么?或天汇3.2去logo精简版么?
作者: jssyq
时间: 2005-1-30 00:00
太感谢楼主大虾了。正在为这个头痛呢。谢谢
作者: crshen
时间: 2005-1-30 00:00
Quote: |
以下是引用blue777在2005-1-30 0:50:34的发言:
支持!能提供PDOS最小体积单字拼音输入法么?或天汇3.2去logo精简版么? |
|
最小体积的单字拼音输入字典供下载,28.0K,适合软盘中使用。
打开附件
顺便做了个五笔单字字典,但因为比拼音重码率低n倍,所以字典体积仍很大,有118K,除非不会拼音,否则不推荐使用。
打开附件
http://www.cn-dos.net/forum/UploadFile/2005-1/200513021413542.rar
作者: jssyq
时间: 2005-1-30 00:00
请问pdos95输入法翻页找字是不是用page up和page down键.我怎么按下去没反应,就一页字可选
作者: crshen
时间: 2005-1-31 00:00
不会吧,从来没看到用这两个键翻页的,大部分是“-”和“=”,或者“,”和“.”,或者“[”和“]”。
作者: jssyq
时间: 2005-1-31 00:00
明白了.谢谢大虾 ,大虾方便的话能不能帮我再修改一下[俺自己死活搞不定[em04][em03][em06]].就是pdos95所有文件直接在A:\根目录下执行,.不要再建pdos目录了,.多个目录麻烦
作者: blue777
时间: 2005-1-31 00:00
软盘里汉字系统就是为了追求体积小,XZL退出后会同时将在其后加载的TSR内存驻留程序也一并释放掉,所以不合适.而pdos压缩后才比天汇体积小,问题是压缩pdos后,怎样使其在内存盘里能够运行?如果此点解决不了,加上pdos兼容性不是太好,那么就没有任何理由选择它而不用天汇了,crshen你觉得呢?
作者: blue777
时间: 2005-1-31 00:00
还是十分感谢crshen提供热心解答和分享,不知您能否提供Wengier的天汇3.2去logo精简版?谢谢
作者: crshen
时间: 2005-2-1 00:00
Quote: |
以下是引用jssyq在2005-1-31 13:56:59的发言:
明白了.谢谢大虾 ,大虾方便的话能不能帮我再修改一下[俺自己死活搞不定[em04][em03][em06]].就是pdos95所有文件直接在A:\根目录下执行,.不要再建pdos目录了,.多个目录麻烦 |
|
大哥~~~~!麻烦你先试用一下上面回复后再下载的文件好不好,把包内所有文件放在同一个目录下就行了,当然包括根目录。
作者: chujiafu
时间: 2005-2-1 00:00
Re: crshen 好呀,我早就想要了。
但又出现了一个新问题:我想把Pdos.def刻在光盘上,把Pbios,font16,hzvio等几个文件放在光盘的一个固定目录下。光盘的盘符是用Findcd命令赋给变量%cdrom%的。也就是说,光驱的盘符是不固定的。这种情况该怎样改Pdos呢?
[此贴子已经被作者于2005-2-1 19:38:21编辑过]
作者: jssyq
时间: 2005-2-1 00:00
Quote: |
以下是引用crshen在2005-2-1 8:47:51的发言:
烦
大哥~~~~!麻烦你先试用一下上面回复后再下载的文件好不好,把包内所有文件放在同一个目录下就行了,当然包括根目录。 |
|
大虾俺完全搞定了。对你的敬仰之情如滔滔。。。。。哈哈,高兴之余俺又心有不甘,为啥俺的等级业余侠客,居然比不上等級新手上路的大虾你呢?唉,此恨幽幽[em13] 。再次感谢
[em01]
作者: blue777
时间: 2005-2-1 00:00
内核是MSDOS6.22/7.00才行,7.10下无法用.
作者: crshen
时间: 2005-2-1 00:00
Quote: |
以下是引用blue777在2005-2-1 14:51:22的发言:
内核是MSDOS6.22/7.00才行,7.10下无法用. |
|
不会吧,W版主的msdos7.1启动盘算不算经典?下面是在该盘中测试的结果:
作者: wlm33
时间: 2005-2-1 00:00
不错
作者: defrag
时间: 2005-2-1 00:00
hjg
作者: blue777
时间: 2005-2-1 00:00
你直接用可以,但压缩为cab或zip等再用用,提示内核错误拒绝执行.
作者: crshen
时间: 2005-2-1 00:00
不管压缩成什么格式,释放后与原来的一模一样,怎么会不能运行呢,我就是用pkunzip释放到虚拟盘运行的,没有问题啊!估计出现你的错误是因为用错了软件,如果用我制作的补丁程序,pdos.def文件必须放在规定的盘“根目录”下,而另一个无限制版本,则要求crspdos.def与其他文件在同一个目录下即可。
作者: crshen
时间: 2005-2-2 00:00
Quote: |
以下是引用chujiafu在2005-2-1 10:11:47的发言:
Re: crshen 好呀,我早就想要了。
但又出现了一个新问题:我想把Pdos.def刻在光盘上,把Pbios,font16,hzvio等几个文件放在光盘的一个固定目录下。光盘的盘符是用Findcd命令赋给变量%cdrom%的。也就是说,光驱的盘符是不固定的。这种情况该怎样改Pdos呢? |
|
回复后下载的包内有crspdos.def文件,所有文件放在同一个任意目录中即可,不需要pdos.def。
作者: brglng
时间: 2005-2-2 00:00
居然会有人把DOS软件做成只有放在某一个固定目录中才能运行的……
作者: blue777
时间: 2005-2-2 00:00
crshen,你亲自试试,不压缩可以运行,压缩了,在内存盘运行就提示内核错.再说了,pdos要消耗60多K的内存,没任何使用价值.
作者: Wqxbc
时间: 2005-2-5 00:00
楼主弓虽,长了不少知识,没白混
作者: Wqxbc
时间: 2005-2-5 00:00
楼主弓虽,长了不少知识,没白混
作者: donpel
时间: 2005-2-5 00:00
好啊
作者: citylyz
时间: 2005-2-6 00:00
又学到新知识!!
作者: netcom
时间: 2005-2-7 00:00
好!谢谢!
作者: sunsisi
时间: 2005-2-9 00:00
dgfsdgh
作者: MAX超必SA
时间: 2005-2-14 00:00
谢谢楼主的pbios.
作者: chujiafu
时间: 2005-2-16 00:00
我试试看。果真可以用,我把C:盘根目录下的Pdos.def删掉了试的。
谢谢Crshen。
[此贴子已经被作者于2005-2-16 11:06:16编辑过]
作者: 扑勒蛾子
时间: 2005-2-16 00:00
ding
作者: hbjlzjlgz
时间: 2005-5-19 00:00
来晚了,顶一下先!
作者: cdcd
时间: 2005-5-19 00:00
[em02]下啊。我想要个。
作者: kotuifei
时间: 2005-6-4 00:00
支持crshen兄……我下一个
作者: yaya
时间: 2005-6-4 00:00
长知识
作者: hsdfh
时间: 2006-1-15 08:36
来晚了,找不到啦
作者: chujiafu
时间: 2006-1-15 19:28
其它的帖子里有。
作者: ygpsfec
时间: 2006-2-8 13:20
标题: 好象不能下
大哥,好象每次下载的都是1K的不知什么东西,无法打开啊
作者: Jneny
时间: 2006-2-8 14:06
楼主所说的正是,但是更改PDOS。DEF中的路径从而移到A:其中 CHS16。FON文件必须在A:盘如果加载输入法的话每输入一个字PDOS系统就会在找CHS16。FON中的对应字编码必定会影响到输入速度并对软盘有损伤所以建议将PDOS打包运行时释放到内存盘也可以节省软盘空间,如果不能确定内存盘的盘符可以用XMSdsk.exe将盘符定义到Z:或固定的盘(要确定此盘符末分配给硬盘)
前面有人提到压缩后用解压到内存盘出现错误可能是因为版本不兼容等原因,比如用PKUNZIP。EXE的低版容易出现此问题
作者: ygp2sfec
时间: 2006-2-10 12:33
标题: 哪位大侠救救我
我下载的Winger的MS DOS7.10超级通用启动盘,稍加修改后用Easyboot做成了多重启动的引导光盘,在虚拟机运行一切正常,但用光盘启动真正的机器后,再想启动应用程序,如PCTOOLS 9.0等,总是说程序太大,无法装入内存,我的内存是512M,Config.sys仅仅注释掉部分菜单,仅留下MenuItem 4,并将MenuDefault项改为MenuDefault=M4,0,Autoexec.bat修改后的内容如下:
@ECHO OFF
KPUSH 27 27
KPUSH>NUL
REM Made by Wengier. China DOS Union.
REM All rights reserved. 2002-2003.
TM /F
LH KILLER
LH DOSKEY
LH CTMOUSE
CALL TW.BAT
::注意: 以下指令是为了保持与部分系统的兼容性:
LH CTMOUSE>NUL
IF %CONFIG%#==M6# GOTO SHUT
IF NOT %CONFIG%#==M5# GOTO BOOT
ECHO.
ECHO 正在打开带中文支持的ReadMe文件...
XMSDSK 80 /Y>NUL
FINDRAMD>NUL
IF %RAMDRIVE%#==# ECHO 无法创建虚拟驱动器!
IF %RAMDRIVE%#==# GOTO SHUT
EXTRACT /E /L %RAMDRIVE%\ DOSET.CAB EDIT.COM>NUL
XZL
%RAMDRIVE%\EDIT README.TXT
CLS
XZL /Q
:SHUT
CLS
WBAT BOX "请输入选择:",关机,重新启动
IF NOT ERRORLEVEL 3 GOTO ANS
WBAT BOX (RED ON YELLOW) "注意:请做出选择!",确定
GOTO SHUT
:ANS
IF ERRORLEVEL 2 GOTO RES
ECHO 正在试图关机...
ECHO.
SHUTDOWN S
ECHO.
ECHO 关机失败,您的计算机可能未安装ATX电源.
:RES
ECHO 正在重新启动计算机...
ECHO.
SHUTDOWN R
GOTO END
:BOOT
SET SM=
DREADY C:
IF ERRORLEVEL 1 ECHO 警告:未能找到有效的硬盘驱动器!
IF ERRORLEVEL 1 GOTO NOHD
ECHO Y|LOCK C:>NUL
ECHO.
ECHO 正在加载硬盘缓存以加快驱动器存取速度...
WBAT BOX "请在8秒内选择硬盘缓存类型:",PC-CACHE,SMARTDRV,Cancel #1,8
IF ERRORLEVEL 3 ECHO 已取消.
IF NOT ERRORLEVEL 2 PCCACHE /SIZEXT:4096 /WRITE:OFF /WIN /MINI
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 SET SM=Y
:NOHD
XMSDSK 25600 /Y /T
LH SHSUCDX /D:?IDE-CD /D:?USB-CD
ECHO 正在设置虚拟驱动器...
FINDRAMD>NUL
IF %RAMDRIVE%#==# GOTO NORAM
IF NOT EXIST %RAMDRIVE%\TEMP\NUL MD %RAMDRIVE%\TEMP
SET TMP=%RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
IF NOT EXIST %RAMDRIVE%\SYSTEM\NUL MD %RAMDRIVE%\SYSTEM
COPY COMMAND.COM %RAMDRIVE%\SYSTEM>NUL
IF NOT EXIST %RAMDRIVE%\SYSTEM\COMMAND.COM ECHO 警告:文件复制失败!
IF NOT EXIST %RAMDRIVE%\SYSTEM\COMMAND.COM GOTO COPYERR
SET COMSPEC=%RAMDRIVE%\SYSTEM\COMMAND.COM
EXTRACT /E /Y /L %RAMDRIVE%\SYSTEM DOSET.CAB>NUL
EXTRACT /E /Y /L %RAMDRIVE%\SYSTEM VC.CAB>NUL
IF NOT EXIST %RAMDRIVE%\PDOS95\NUL MD %RAMDRIVE%\PDOS95
EXTRACT /E /Y /L %RAMDRIVE%\PDOS95 PDOS95.CAB>NUL
COPY %RAMDRIVE%\PDOS95\PDOS.DEF %RAMDRIVE%\
ECHO 必须的DOS工具已成功加载到驱动器 %RAMDRIVE%.
:COPYERR
PATH=%RAMDRIVE%.;%RAMDRIVE%\SYSTEM
IF %SM%#==Y# LH SMARTDRV 4096 2048 /X
GOTO NEXT
:NORAM
ECHO 警告: 无法创建RAM虚拟驱动器!
IF %SM%#==Y# ECHO 无法加载SMARTDRV!
SET COMSPEC=A:\COMMAND.COM
:NEXT
SET SM=
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
PATH=%PATH%;C:.;A:.;..
LH ZENO /Q
LH MOUSCLIP /M
WBAT BOX "请选择您想使用的长文件名(LFNS)代码页:",E-英语(CP437),C-简体中文(CP936),D-不支持 #2,8
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 LH DOSLFN /C- /Z:CP437UNI.TBL
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 LH DOSLFN /C- /Z:CP936UNI.TBL
IF %CONFIG%#==M3# IF %RAMDRIVE%#==# ECHO 警告: 无法加载NTFS分区支持!
IF %CONFIG%#==M4# IF %RAMDRIVE%#==# ECHO 警告: 无法加载NTFS分区支持!
IF %CONFIG%#==M3# IF NOT %RAMDRIVE%#==# NTFSDOS /U
IF %CONFIG%#==M4# IF NOT %RAMDRIVE%#==# NTFSDOS /U
LH ESCAPE
FINDCD /Q
CLS
WRITEXT 1 1 -f15 注意:
ECHO.
ECHO.
IF NOT %RAMDRIVE%#==# WRITEXT 0+ 1 请使用盘符 -f15 %RAMDRIVE% -f7 访问RAM虚拟驱动器.
ECHO.
IF NOT %CDROM%#==# WRITEXT 1+ 1 请使用盘符 -f15 %CDROM% -f7 访问第一个 -f15 CD/DVD -f7 驱动器.
IF NOT %CONFIG%#==M3# IF NOT %CONFIG%#==M4# WRITEXT 1+ 1 若需要访问 -f15 NTFS -f7 驱动器,请在命令行输入 -f15 NTFSDOS -f7 .
ECHO.
BREAK ON
LFNFOR ON
IF %RAMDRIVE%#==# GOTO END
path=%PATH%;%CDROM%:\;%CDROM%:\DM955;%CDROM%:\PCTOOLS9;%CDROM%:\TOOLS;%CDROM%:\UCDOS733
path=%path%;%CDROM%:\TOOLS\DGen20;%CDROM%:\TOOLS\DOS71;%CDROM%:\TOOLS\Ghost82
path=%path%;%CDROM%:\TOOLS\NDD2004;%CDROM%:\TOOLS\NU8;%CDROM%:\TOOLS\PCTOOLS;%CDROM%:\TOOLS\PQ8
path=%path%;%CDROM%:\TOOLS\DOS71\GVFM;%CDROM%:\UCDOS;%CDROM%:\TOOLS\HWINFO
ECHO.
WRITEXT 0+ 1 -f12 "现已进入DOS提示符环境中. [中国DOS联盟 Wengier制作, " -f14 易国平 -f12 修改汉化] -f7
ECHO.
ECHO.
WRITEXT 0+ 1 若需了解更多信息,请参阅本驱动器中的 -f15 README.TXT -f7 文件.
ECHO.
WRITEXT 1+ 1 若需要使用 -f15 天汇汉字输入提示行 -f7 ,请按 -f15 右shift -f7 键
ECHO.
ECHO.
WRITEXT 0+ 1 若需要进入 -f15 袖珍龙中文系统 -f7 ,请在命令行输入 -f15 XZL -f7
ECHO.
WRITEXT 1+ 1 若需要进入 -f15 "Vloko Commandder V4.99.08" -f7 ,请在命令行输入 -f15 VC -f7
ECHO.
WRITEXT 2+ 1 "若需要进一步信息,可访问 " -f15
http://dosbbs.2ya.com/ -f7
ECHO.
rem IF %VC%#==# GOTO END
rem SET VC=
rem ECHO.
rem ECHO 正在启动Volko Commander...
ECHO.
REM SET DIF=
REM STRINGS UMB=UMBLARGE >NUL
REM STRINGS DIF=SUB %UMB%,30720 >NUL
REM SET UMB=
REM IF NOT %DIF%#==# GOTO LH
REM VC
REM GOTO END
REM :LH
REM SET DIF=
REM LH VC
:END
ECHO.
%RAMDRIVE%
作者: ygp2sfec
时间: 2006-2-10 15:18
标题: 我下载到了,果然好用
我在本论坛别的帖子中下载到了,一试用,终于出现了困扰多时的PDOS中文提示了,我也自己尝试过修改目录,却没成功,怎么就没想到把PBios.EXE和PDOS.DEF中的目录路径全部清零呢,Wengier真是天才!
作者: ygp2sfec
时间: 2006-2-10 15:50
标题: 对不起,错把冯京当马谅了
对不起,我因为这段时间一直在使用Wengier的MS DOS7.10超级通用启动盘,错把楼主当Wengier了,这里郑重道歉。另外楼主的链接好象已经没法下载了,我把刚下载下来的文件重新传上,也好方便其他需要的朋友。由于附件大小的限制,只上传了修改后的Pbios.exe和crpdos.def,解压后拷入PDOS95所在目录取代原文件即可使用了。
附件
1:
pbios.cab (2006-2-10 15:50, 9.04 K, 下载附件所需积分 1点
,下载次数: 62)
作者: zhaohuiyingxue
时间: 2006-2-28 15:36
标题: 厉害
能不能把下面的黄色的字也去掉?
作者: ygp2sfec
时间: 2006-2-28 22:03
不错,PDOS推退出以后,右下角的的黄色标志依然存在,不同的是汉字变成了乱码
作者: Jneny
时间: 2006-3-2 14:30
用EDIT打开二进制 PBIOS。EXE中那字为空格,,
作者: wwzzll2005
时间: 2006-3-13 13:00
学习一下.
作者: wwzzll2005
时间: 2006-3-18 16:15
xuexue.
作者: ygwilliam
时间: 2006-4-4 17:39
学习学习
作者: zds1210
时间: 2007-4-14 08:11
我要也下载一个。
作者: dean
时间: 2007-5-16 09:27
我将修改后的crspdos.def和pbios.exe连同其他几个文件打包并刻盘,启动后解压缩在虚拟盘C:上,可是只有在C:下可以输入中文,在其他盘符下能显示中文系统,但即使在拼音的状态下输入的也是英文。
请教高手如何解决?
作者: panda
时间: 2007-5-17 10:06
标题: 我现在可以下载了
谢谢第45楼的ygp2sfec的再次上传。在使用中感觉还好
[
Last edited by panda on 2007-5-17 at 10:27 AM ]
作者: zqx530
时间: 2007-9-4 10:37
标题: dos都忘光了
debug参数全忘了
作者: aslim
时间: 2007-9-15 19:13
怎么所有的都不能下载
作者: tjdai
时间: 2007-11-29 20:53
我下一个试试
作者: ddos2008
时间: 2008-2-16 15:06
路过