中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-08-05 13:56
48,038 topics / 350,123 posts / today 1 new / 48,251 members
DOS汉化世界 & 中文系统 (中文化室) » Progressive Execution Menu Editor ConMenu.sys V2.12 Used in config.sys
Printable Version  89,928 / 270
Floor1 yaya Posted 2006-01-15 17:49
银牌会员 Posts 353 Credits 1,009
In config.sys, the menu editors used are BootCon.sys and Boot.sys. They are powerful but also large in size.

The menu editor ConMenu.sys compiled by me is only 1.78K.

Functions:
12 - line title and 4 - line endnote;
rem caption=
rem endnote=
16 items can display the menu (A, B, C... P);
rem cm0=

A
The labels must be arranged in the order of A, B, C...
9 items of implicit menu (1, 2, 3... 9);
rem cm0=(1
...
rem cm0=)1
The labels must be arranged in the order of 1, 2, 3...
The letters and numbers after =] and =) are not necessary, just for self - identification
The displayable menu and the implicit menu can be mixed in order;
that is, A, B, 1, C, 2...
Color attributes (background and foreground color, display mode of the selected menu item), if not input, the default is 07, F;
background and foreground color (00... FF) (the background flash bit is changed to highlight)
display mode of the selected menu item (f inverse color, g highlight)
Example: =07,g =07 =,g
rem color=
Default attributes (default menu item, display time), if not input, the default is A, 60;
rem default=
Example: =b,30 =b =,30
The displayable menu item can contain other menu items at the same level (displayable/implicit);
rem include0=
When include is used in the menu item containing the sub - menu, it should be placed after the end of the sub - menu and before the end of this menu item
rem cm0=



rem include0=...
...
rem cm0=]b
Check menu can select multiple items (use Enter key to select/clear);
rem cm0=

A
Sub - menu can be nested at multiple levels;
The first level is 0, the second level is 1...
cm0, cm1...
include0, include1...
Return parameters A, B... P by %cm0%, %cm1%...;
Program end mark rem cm0=;
Select the menu item by ↑↓ or corresponding letter; '?' is the check menu, press Enter to select/clear; in the single - choice menu press Enter to confirm
If the sub - menu does not contain title, endnote, background and foreground color, display mode of the selected menu item, time, it will inherit the content of the parent menu

Example 1: (In actual use, the Chinese font below needs to be replaced by 'Benshi' VTMagic.com)
device=config.exe (generated by 'Benshi' VTMagic.com)
device=ConMenu.sys

rem color=1e
rem default=a,30
rem caption= Chinese MSDOS 7.1 Boot Disk
rem caption=================================================
rem endnote=Press ↑↓ or corresponding letter to select the menu item; '?' is the check menu, press Enter to select/clear
rem endnote=Press Enter to confirm in the single - choice menu

rem cm0=



A

rem cm0=




B

rem cm0=


C

rem cm0=


D

rem cm0=
E

rem cm0=(1
devicehigh=vide - cdd.sys /d:ide - cd
devicehigh=aspicd.sys /d:scsi - cd
rem cm0=)1

rem cm0=(2
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
device=usbcd.sys /d:usb - cd
rem cm0=)2

dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256

rem cm0=Sample Text

[ Last edited by yaya on 2006 - 2 - 28 at 17:14 ]

Attachments
ConMenu1.jpg (40.95 KiB)
ConMenu212.rar (3.18 KiB)
Floor2 willsort Posted 2006-01-15 20:01
元老会员 Posts 1,512 Credits 4,432
Re yaya:

Quite a good original work!

I hope it can solve some problems I encounter when making boot disks in the future. Does the original poster have any plans to support multi-level menus and checkboxes menus?

That is, users can select sub-menus in one menu and select multiple driver programs to load at one time in the sub-menu.

In addition, it is suggested to first handle the full screen for the color of the menu interface; if necessary, then handle the single menu.
Floor3 coolboy163 Posted 2006-01-16 17:25
初级用户 Posts 74 Credits 176
GOOD, the landlord has a good heart.
Hope it can get better and better.
Floor4 本是 Posted 2006-01-17 14:46
银牌会员 Posts 790 Credits 2,227
Oh my goodness! That's really great. It also fulfilled my wish for CONFIG MENU programming. A few days ago, there was a problem with my machine and I couldn't get online! I fixed it today, and as soon as I got online, it was a surprise!!!
Floor5 brglng Posted 2006-01-17 15:31
银牌会员 Posts 466 Credits 1,200 From 上海
I think the interface should preferably be like the [menu] configuration in config.sys. Also, it's best to make it checkable.
Support the LZ to keep working hard!!!
Floor6 yaya Posted 2006-01-18 18:29
银牌会员 Posts 353 Credits 1,009
Plan to add multi-level menu and check menu functions. There are already ideas, just been busy these days.
Floor7 yaya Posted 2006-01-23 18:11
银牌会员 Posts 353 Credits 1,009
The ConMenu.sys with multi-level menu and check menu functions has been completed and is being further verified, and it will be released soon.
Floor8 passion Posted 2006-01-23 20:14
中级用户 Posts 51 Credits 281
After releasing the new version, please attach the parameter instructions.
Thanks!
Floor9 weilong888 Posted 2006-01-24 09:11
银牌会员 Posts 548 Credits 1,270
Thanks.

===============DOS★★★Always Accompanying Our DOS================
==================================================

==================================================
Floor10 yaya Posted 2006-01-25 12:34
银牌会员 Posts 353 Credits 1,009
ConMenu.sys V2.00 has been compiled and re-released on the first floor.

Example 2:
device=config.exe
device=ConMenu.sys

rem color=1e
rem default=e,30
rem caption= Chinese MSDOS 7.1 Boot Disk
rem caption=================================================
rem endnote=Press ↑↓ or corresponding letters to select menu items; for checkboxes, press ← to select and → to clear
rem endnote=Press Enter to confirm in radio menus

rem cm0=[A. Minimal mode
rem cm0=]

rem cm0=[B. Protected mode Load EMM386
device=himem.sys
device=emm386.sys noems
rem cm0=]

rem cm0=[C. Real mode Load UMBPCI
device=umbpci.sys
device=lowdma.sys
devicehigh=himem.sys
rem cm0=]

rem cm0=[?D. Load CD-ROM
devicehigh=vide-cdd.sys /d:ide-cd
devicehigh=aspicd.sys /d:scsi-cd
rem cm0=]

rem cm0=[?E. Load USB
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
device=usbcd.sys /d:usb-cd
rem cm0=]

dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256

rem cm0=[end]

Attachments
ConMenu2.jpg (36.28 KiB)
Floor11 yaya Posted 2006-01-25 12:36
银牌会员 Posts 353 Credits 1,009
Example 3:
device=config.exe
device=ConMenu.sys

rem color=1e
rem default=a,30
rem caption= Chinese MSDOS 7.1 Boot Disk
rem caption=================================================
rem endnote=Press ↑↓ or corresponding letters to select menu items; For check menus, press ← to select and → to clear
rem endnote=Press Enter to confirm in single-choice menus

rem cm0=[A. Real Mode Load UMBPCI
device=umbpci.sys
device=lowdma.sys
devicehigh=himem.sys

rem caption= Chinese MSDOS 7.1 Boot Disk
rem caption=================================================
rem endnote=Press ↑↓ or corresponding letters to select menu items; For check menus, press ← to select and → to clear
rem endnote=Press Enter to confirm in single-choice menus

rem cm1=[?A. Load CD-ROM
devicehigh=vide-cdd.sys /d:ide-cd
devicehigh=aspicd.sys /d:scsi-cd
rem cm1=]

rem cm1=[?B. Load USB
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
device=usbcd.sys /d:usb-cd
rem cm1=]

rem cm1=[C. OK
rem cm1=]

rem cm1=[end]
rem cm0=]

rem cm0=[B. Minimal Mode
rem cm0=]


dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256

rem cm0=[end]

Attachments
ConMenu31.jpg (21.92 KiB)
ConMenu32.jpg (24.25 KiB)
Floor12 yaya Posted 2006-01-26 11:02
银牌会员 Posts 353 Credits 1,009
Modified 1 error: returns an error when time is up.
v2.01 re-released on floor 1.
Everyone is welcome to test.
Floor13 willsort Posted 2006-01-26 21:41
元老会员 Posts 1,512 Credits 4,432
Re yaya:

Routine tests were conducted on the check menu and sub - menu functions of ConMenu, and no obvious problems were found. Here, some questions and suggestions regarding the interface details are put forward first.

1. Background color and foreground color: As I mentioned on the second floor, now I will explain in detail. Below the endnote of the menu is the original foreground color and background color, which doesn't look very beautiful. It is suggested that after setting the background color and foreground color, a refresh action similar to cls be carried out. For the menu being selected, it is suggested that the foreground and background be inverted, so as not to be indistinguishable in an interface with similar colors; for the selected check menu, the same inversion processing can also be considered.

2. Caption and endnote: I don't know what consideration you have, but each is set to four lines. In this way, when there are few menu items, the overall interface of the menu is too high, and the visual effect is not very good. It can be considered to have no limit on the number of lines, and display the endnote at the bottom of the screen.

3. rem cm0 = [?A: It's very strange that you use the left and right cursor keys to switch checks instead of the more commonly used space or enter.

4. default: The position of the second number of the countdown is very strange. Can it be considered to move it below the menu item? Of course, this may require the rem default setting item to be moved accordingly.

The other few problems are functional:

1. include: I don't know whether the included block supports or is going to support sub - menus to realize continuous menus at the same level. If it is affirmative, then the problems to be considered are more complicated, such as the return value problem of %cm1%. Also, does include support or is it going to support recursive nesting?

2. Jump of the menu: The realization of the jump of the menu can realize functions such as menu return, arbitrary multi - level menus, etc., but its realization algorithm is estimated to be far different from that currently used by ConMenu.sys.
Floor14 ddctczy Posted 2006-01-26 23:10
中级用户 Posts 43 Credits 245
The master is indeed a master!!

Admiration!! Admiration!!
Floor15 weilong888 Posted 2006-01-27 10:00
银牌会员 Posts 548 Credits 1,270
What a great expert.

===============DOS★★★Always Accompany Our DOS================
==================================================

==================================================
1 2 3 419  Next
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023