多谢“笑天”不辞辛劳的把帖子找出来。由于内容太多,太长,我没有每一行都仔细的看,大致看了一下。我的理解是大家无非要在配置菜单中实现多重选择功能。我看了下 BOOT.SYS 1.42版为 MS-DOS 提供启动菜单选择系统配置的功能,并和 MS-DOS 自带的多重配置选择功能进行比较:
√ * 支持单层菜单,连续菜单,多层嵌套菜单 (不清楚什么叫连续菜单)
√ * 每个菜单最多可有9个菜单项(每个1行),上面可定制提示区 (和MS-DOS提供的相同)
* 共可拥有25个连续菜单,各有不同系统配置
√ * 子菜单共可嵌套25层 (没试过 MS-DOS 最多允许嵌套几层)
√ * 菜单选择可通过输入数字键或用箭头移动 (同 MS-DOS )
√ * 每个菜单可定制倒计时间和默认选项 (同 MS-DOS )
√ * 完全支持MS/PC-DOS 5.00起的 DOS= 和其它新命令 (不用说了)
* 支持LCD笔记本切换到外接监视器 (这个应该是笔记本本身要有这个功能才行吧,和软件没什么关系吧)
* 支持启动时现场编辑 CONFIG.SYS 行内容 (这个好象任何DOS都没有这个功能)
* 驻留占用DOS内存不到200字节(DOS 6.0及以上中不占内存!) (不用说了,不占任何内存)
打勾的地方即是 MS-DOS 也同样支持的功能,其它的一些功能,如超时自动选择某一项和菜单颜色选择都是支持的。我看唯一的 MS-DOS 多重配置的不足就是不能显示中文,但这一点我看无关紧要,并不是说本人的英文怎么好,而是一般而言计算机英语都是一些很简单的,没必要汉化。除非要作为一个实用软件提供给初学者使用。还有一点就是不支持复选(可能连续菜单指的就是这个),但是通过多重配置同样也可以实现这个功能,只不过烦琐了点。下面的 CONFIG.SYS 内容是我很多年以前在基于 MS-DOS 6.22 的基础上制作的启动盘,其中的显示的“中文”其实是西文制表符。该 CONFIG.SYS 启动后主要可以实现以下选择:
1、选择什么作为内存管理程序
2、选择什么作为命令解释器
3、选择内存使用的方式,即XMS,EMS
4、如果是选择 QEMM386 作为内存管理器还可以选择是否使用普通的UMB使用方式还是使用特有的 Stealth 方式
5、如果是使用特有的 Stealth 方式,再选择 Stealth 的方式是 MAP 方式还是 FRAME 方式
在进入每一个子菜单后都可以有菜单选择返回上一级菜单。其实 MS-DOS 也提供了一键返回功能,之不过要返回的话是一下子返回到根菜单。只要这样改动一下就可以实现逐级返回。
现在看起来这个启动盘很“土”,不支持很多新的功能,如USB,长文件名,NTFS的支持。我也一直想做一个新的启动盘,但一直没找到满意的“材料”,而且还在比较各个“材料”的优缺点。我把这个 CONFIG.SYS 的内容发出来只是想供大家评论一下,起抛砖引玉的作用。另外就是讨论一下是否有必要使用另外的软件来实现DOS启动菜单的扩展。(除了特殊情况外要用到启动时现场编辑 CONFIG.SYS 行内容)
SUBMENU=QUARTERDECK,Memory Managed by Quarterdeck QEMM386.SYS Version 8.0
SUBMENU=MICROSOFT,Memory Managed by Microsoft HIMEM.SYS V3.10 + EMM386.EXE V4.49
MENUDEFAULT=QUARTERDECK,5
MENUCOLOR=3,0
REM ============================================================================
SUBMENU=QEMM-NDOS,NDOS.COM command interpreter Version 8.0
SUBMENU=QEMM-COMMAND,COMMAND.COM command interpreter Version 6.22
SUBMENU=MENU,Return to main MENU
MENUDEFAULT=QEMM-NDOS,5
MENUCOLOR=0,2
SUBMENU=Q-X&E-N,XMS & EMS
MENUITEM=Q-X-N,XMS Only (No EMS)
SUBMENU=QUARTERDECK,Return to upper menu
MENUDEFAULT=Q-X&E-N,5
MENUCOLOR=15,2
SUBMENU=Q-X&E-C,XMS & EMS
MENUITEM=Q-X-C,XMS Only (No EMS)
SUBMENU=QUARTERDECK,Return to upper menu
MENUCOLOR=14,2
MENUITEM=QnEMS&N,Normal EMS
SUBMENU=ST&N,StealthROM
SUBMENU=QEMM-NDOS,Return to upper menu
MENUITEM=STM&N,StealthROM Mapping Method
MENUITEM=STF&N,StealthROM Frame Method
SUBMENU=Q-X&E-N,Return to upper menu
MENUITEM=QnEMS&C,Normal EMS
SUBMENU=ST&C,StealthROM
SUBMENU=QEMM-COMMAND,Return to upper menu
MENUITEM=STM&C,StealthROM Mapping Method
MENUITEM=STF&C,StealthROM Frame Method
SUBMENU=Q-X&E-C,Return to upper menu
INCLUDE=Q_XMS&EMS
INCLUDE=QEMM_COMMON
INCLUDE=NDOS
INCLUDE=STEALTH_M
INCLUDE=QEMM_COMMON
INCLUDE=NDOS
INCLUDE=STEALTH_F
INCLUDE=QEMM_COMMON
INCLUDE=NDOS
INCLUDE=Q_XMS
INCLUDE=QEMM_COMMON
INCLUDE=NDOS
INCLUDE=Q_XMS&EMS
INCLUDE=QEMM_COMMON
INCLUDE=COMMAND
INCLUDE=STEALTH_M
INCLUDE=QEMM_COMMON
INCLUDE=COMMAND
INCLUDE=STEALTH_F
INCLUDE=QEMM_COMMON
INCLUDE=COMMAND
INCLUDE=Q_XMS
INCLUDE=QEMM_COMMON
INCLUDE=COMMAND
REM ============================================================================
SUBMENU=HIMEMM-NDOS,NDOS.COM command interpreter Version 8.0
SUBMENU=HIMEMM-COMMAND,COMMAND.COM command interpreter Version 6.22
SUBMENU=MENU,Return to main MENU
MENUCOLOR=10,1
MENUITEM=MS-X&E-N,XMS & EMS
MENUITEM=MS-X-N,XMS Only (No EMS)
SUBMENU=MICROSOFT,Return to upper menu
MENUCOLOR=15,1
MENUITEM=MS-X&E-C,XMS & EMS
MENUITEM=MS-X-C,XMS Only (No EMS)
SUBMENU=MICROSOFT,Return to upper menu
MENUCOLOR=14,1
INCLUDE=HIMEMM-X&E
INCLUDE=NDOS
INCLUDE=HIMEMM-X
INCLUDE=NDOS
INCLUDE=HIMEMM-X&E
INCLUDE=COMMAND
INCLUDE=HIMEMM-X
INCLUDE=COMMAND
REM ============================================================================
REM 赏屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯突
REM ? The following paragraph is configuration modules ?
REM 韧屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯图
DEVICE=A:\QEMM\DOS-UP.SYS REPORT
DEVICEHIGH=A:\QEMM\QDPMI.SYS VMOFF
Rem 谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
Rem ?The following section is QEMM module ?
Rem 滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
Rem The first line is utility parameters of QEMM386.SYS device driver
;DEVICE=A:\QEMM\QEMM386.SYS BK RAM NW3 ST:M|F BE:N BF:N SORT DBF=2 EMS:N SUS=N FILL:N XBDA:H USEXMS:N
DEVICE=A:\QEMM\DOSDATA.SYS REPORT
DEVICE=A:\QEMM\QEMM386.SYS RAM BF:N BTO:30
DEVICE=A:\QEMM\DOSDATA.SYS REPORT
DEVICE=A:\QEMM\QEMM386.SYS RAM ST:M BF:N BTO:30
DEVICE=A:\QEMM\DOSDATA.SYS REPORT
DEVICE=A:\QEMM\QEMM386.SYS RAM ST:F BF:N BTO:30
DEVICE=A:\QEMM\DOSDATA.SYS REPORT
DEVICE=A:\QEMM\QEMM386.SYS RAM BF:N BTO:30 EMS:N
Rem 谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
Rem ?The following section is HIEMM+EMM386 module ?
Rem 滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
DEVICE=A:\DOS\HIMEM.SYS /V
DEVICE=A:\DOS\EMM386.EXE RAM M3 HIGHSCAN I=B000-B7FF /V
DEVICE=A:\DOS\HIMEM.SYS /V
DEVICE=A:\DOS\EMM386.EXE NOEMS HIGHSCAN I=B000-B7FF /V
DEVICEHIGH/L:1=A:\DOS\TRICDVD.SYS /D
ISC0000
DEVICEHIGH/L:1=A:\DOS\ANSI.SYS/X/R
DEVICEHIGH?=A:\DOS\RAMDRIVE.SYS 1536 /E
DEVICEHIGH?=A:\DOS\RAMDRIVE.SYS 1536 /A
DEVICEHIGH?=A:\DOS\RAMDRIVE.SYS 4096 /E
DEVICEHIGH?=A:\DOS\RAMDRIVE.SYS 4096 /A
DEVICEHIGH?=A:\DOS\RAMDRIVE.SYS 16384 /E
DEVICEHIGH?=A:\DOS\RAMDRIVE.SYS 16384 /A
DEVICEHIGH?=A:\DOS\RAMDRIVE.SYS 32767 /E
DEVICEHIGH?=A:\DOS\RAMDRIVE.SYS 32767 /A
BUFFERS=45,0
FILES=20
DOS=UMB
LASTDRIVE=Z
FCBS=1,1
DOS=HIGH
;STACKS?=0,0
STACKS=9,256
SWITCHES=/F
NUMLOCK=ON
DRIVPARM?=/D:0/S:18/T:82
SHELL = A:\COMMAND.COM/P/E:512/MSG
REM
REM The following section was added by Norton Utilities Install
REM
SHELL = A:\NDOS.COM @A:\NDOS.INI /P