![]() |
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-26 09:43 |
47,812 topics / 349,910 posts / today 0 new / 48,264 members |
| DOS汉化世界 & 中文系统 (中文化室) » Please ask yaya to solve the problem (bug) of the hierarchical execution menu editor ConMenu.sys |
| Printable Version 5,772 / 19 |
| Floor1 xsaxy | Posted 2009-11-12 01:17 |
| 初级用户 Posts 15 Credits 32 | |
|
Using version: ConMenu.sys V2.12
After repeated testing, when there are too many menus in ConMenu.sys in config.sys, it will report the error: without "cmn=[end]", "cmn=[", "cmn=]" or "cmn=)" "cmn=[" or "cmn=(" >16. But the actual situation is that the editing is correct. For example, the following test configuration file runs correctly now, but it is no longer possible to add items, menus, etc. Please everyone test. config.sys ------------------------------------------------ device=himem.sys device=acios.exe device=ConfigS.Mnu /s ; cm0=[a. Test Menu 0 a... ; color=03,f ; default=a,60 ; initial=14 ; caption= ; caption= ; caption= DOS Tool Disk Chinese Menu ; caption= =================================================== ; endnote= Press ↑↓ or corresponding letters to select menu items; '-/+' are check menus, press Enter to select/clear ; endnote= Press Enter to confirm in single-choice menu; press E^sc to return to level 0 menu ; endnote= ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[j. ; cm1=]1j ; cm1=[k. ; cm1=]1k ; cm1=[l. ; cm1=]1l ; cm1=[m. ; cm1=]1m ; cm1=[end] ; cm0=]a ; cm0=[b. Test Menu 0 b... ; cm1=[a. Test Menu 1 a ; cm1=]1a ; cm1=[b. Test Menu 1 b... ; cm2=[a. Test Menu 1 a ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[c. ; cm2=]2c ; cm2=[d. ; cm2=]2d ; cm2=[e. ; cm2=]2e ; cm2=[f. ; cm2=]2f ; cm2=[g. ; cm2=]2g ; cm2=[h. ; cm2=]2h ; cm2=[end] ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]b ; cm0=[c. Test Menu 0 c... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]c ; cm0=[d. Test Menu 0 d... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[end] ; cm0=]d ; cm0=[e. Test Menu 0 e... ; cm1=[a. Test Menu 1 a... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[end] ; cm0=]e ; cm0=[f. Test Menu 0 f... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]f ; cm0=[g. Test Menu 0 g... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[end] ; cm0=]g ; cm0=[h. Test Menu 0 h... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[end] ; cm0=]h ; cm0=[i. Test Menu 0 i... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]i ; cm0=[j. Test Menu 0 j... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]j ; cm0=[k. Test Menu 0 k... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[end] ; cm0=]k ; cm0=[l. Test Menu 0 l... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[end] ; cm0=]l ; cm0=[m. Test Menu 0 m... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[end] ; cm0=]m ; cm0=[n. Test Menu 0 n... ; cm1=[a. Test Menu 1 a... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1a ; cm1=[b. Test Menu 1 b... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1b ; cm1=[c. Test Menu 1 c... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1c ; cm1=[d. Test Menu 1 d... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[c. ; cm2=]2c ; cm2=[d. ; cm2=]2d ; cm2=[e. ; cm2=]2e ; cm2=[f. ; cm2=] ; cm2=[end] ; cm1=]1d ; cm1=[e. Test Menu 1 e... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1e ; cm1=[f. Test Menu 1 f ; cm1=]1f ; cm1=[end] ; cm0=]n ; cm0=[o. Test Menu 0 o... ; cm0=]0o ; cm0=[p. Test Menu 0 p... ; cm0=]0p rem -------------------- rem Implicit menu (block configuration) rem -------------------- ; cm1=(1 ; cm1=)EMM ; cm1=(2 ; cm1=)NOEMM ; cm1=(3 ; cm1=)HIMEM1 ; cm1=(4 ; cm1=)HIMEM2 ; cm1=(5 ; cm1=) ; cm1=(6 ; cm1=) ; cm1=(7 ; cm1=) ; cm1=(8 ; cm1=) ; cm1=(9 ; cm1=) ; cm1=[end] ; cm0=[end] device=ConfigS.Mnu /u |
|
| Floor2 yaya | Posted 2009-11-12 09:52 |
| 银牌会员 Posts 353 Credits 1,009 | |
|
Download ConfigS.rar from http://e.ys168.com/?yaya20077777
|
|
| Floor3 xsaxy | Posted 2009-11-12 11:58 |
| 初级用户 Posts 15 Credits 32 | |
Originally posted by yaya at 2009-11-12 09:52 AM: I downloaded it from here, but it still doesn't work. |
|
| Floor4 yaya | Posted 2009-11-12 15:42 |
| 银牌会员 Posts 353 Credits 1,009 | |
|
The maximum 16 items of displayable menu, a-p; the maximum 9 items of implicit menu. This limit is described in the instruction file, not a bug.
[ Last edited by yaya on 2009-11-13 at 09:22 ] |
|
| Floor5 xsaxy | Posted 2009-11-12 16:05 |
| 初级用户 Posts 15 Credits 32 | |
Originally posted by yaya at 2009-11-12 03:42 PM: First of all, thank you for your reply, but my settings did not exceed the limit. In the configuration above ; cm0= 1a ; cm1= 1b ; cm1= 1c ; cm1= 1d ; cm1= 1e ; cm1= 1f ------------------------------------------------------------------------------------------------ ; cm1= 1g Please use my test menu and try adding the remaining menus to see for yourself. ........ ------------------------------------------------------------------------------------------------- ; cm1= ; cm0=]c |
|
| Floor6 xsaxy | Posted 2009-11-12 16:29 |
| 初级用户 Posts 15 Credits 32 | |
|
I checked
http://www.cn-dos.net/forum/viewthread.php?tid=18763&fpage=2&highlight=&page=3 Post No. 36 Logical way of option arrangement 1 Way 1: ├─A ├─B │ ├─A │ │ ├─A │ │ └─B │ ├─B │ ├─C │ └─D │ ├─1 │ ├─2 ├─C └─D └─1 └─2 My reply is Post No. 37 Way 1 This is how I understand it, that is, cm0,a-p;cm1,a-p;cm2,a-p;.... Implicitly, each level of the menu has a maximum of 9 items, 1-9. The second level also has a maximum of 9 items, 1-9... If that's the case, then what I did above is correct. Otherwise it's Way 2 Way 2: ├─A ├─B │ ├─C │ │ ├─D │ │ └─E │ ├─F │ ├─G │ └─1 │ └─2 ├─I └─J └─3 └─4 I wonder if my understanding is correct. |
|
| Floor7 xsaxy | Posted 2009-11-12 16:38 |
| 初级用户 Posts 15 Credits 32 | |
|
From the test configuration above, it can be seen that the logical relationship should be 1. But in actual testing, it doesn't work when reaching a certain level.
[ Last edited by xsaxy on 2009-11-12 at 16:39 ] |
|
| Floor8 yaya | Posted 2009-11-13 09:44 |
| 银牌会员 Posts 353 Credits 1,009 | |
|
It is mode 1.
You said on the first floor 'Now it runs correctly, but you can no longer add items or menus to it'. At this time, the maximum number of 0-level visible menus used is p, and no more 0-level menus can be added. The maximum number of implicit menus used is 9, and no more of this level of implicit menus can be added. The implicit menu should use cm0=(, not cm1=(, because it is in the 0-level visible menu. [ Last edited by yaya on 2009-11-13 at 09:45 ] |
|
| Floor9 xsaxy | Posted 2009-11-13 12:19 |
| 初级用户 Posts 15 Credits 32 | |
Originally posted by yaya at 2009-11-13 09:44 AM: After testing: I deleted the implicit menu, added sub-menus to it, and started to report errors after adding several items. |
|
| Floor10 xsaxy | Posted 2009-11-13 12:21 |
| 初级用户 Posts 15 Credits 32 | |
|
I repeatedly tested, my operation did not exceed the limit, but it just didn't work.
|
|
| Floor11 xsaxy | Posted 2009-11-13 15:32 |
| 初级用户 Posts 15 Credits 32 | |
Originally posted by yaya at 2009-11-13 09:44 AM: But my configuration on the first floor can run normally. Original menu form: ; cm0= 0a ...... ...... ; cm0=]p ; cm0=]0p ...... ...... ; cm1=(1 ; cm1=)Implicit 1 ....... ....... ; cm1=(9 ; cm1=)Implicit 9 ; cm1= Here the first-level implicit menu ends ; cm0= Here the level 0 menu ends According to your statement, the structure is as follows: ; cm0= 0a ...... ...... ; cm0= 0o ; cm1=(1 ; cm1=)Implicit 1 ....... ....... ; cm1=(9 ; cm1=)Implicit 9 ; cm1= Here the first-level implicit menu ends ; cm0=]p (Then if I don't have the level 0 p menu and there is a level 1 implicit menu, I need to put it anywhere above the last level 0 menu, such as cm0= or cm1= does not play a role in limiting the level.) ; cm0= Here the level 0 menu ends I feel strange to use cm1= for the end of the implicit menu. It would be better if it were cm1=(end). |
|
| Floor12 yaya | Posted 2009-11-14 14:38 |
| 银牌会员 Posts 353 Credits 1,009 | |
|
Implicit menus are components that can be displayed in menus. In the first floor:
; cm0= 0p ; cm1=(1 ; cm1=)EMM ; cm1=(2 ; cm1=)NOEMM ; cm1=(3 ; cm1=)HIMEM1 ; cm1=(4 ; cm1=)HIMEM2 ; cm1=(5 ; cm1=) ; cm1=(6 ; cm1=) ; cm1=(7 ; cm1=) ; cm1=(8 ; cm1=) ; cm1=(9 ; cm1=) ; cm1= ; cm0= If an implicit menu is used for a level 0 displayable menu, it should be cm0=(. If it is for a certain level 1 menu, it should be located between the end symbol cm0=] of the upper level menu. Your level 1 implicit menu does not belong to any level 0 menu. "The end of the implicit menu is also ended with cm1=, which feels strange. It would be better if it were cm1=(end)." Because most level 1 menus have displayable menus, so only cm1= is used to end. And you have no displayable menu but have an implicit menu, so you can only end with cm1=. Then if you select this level 1 menu from the level 0 menu, what will be displayed on the screen? [ Last edited by yaya on 2009-11-14 at 14:57 ] |
|
| Floor13 xsaxy | Posted 2009-11-14 15:55 |
| 初级用户 Posts 15 Credits 32 | |
|
yaya, thank you for your reply!
I have basically understood your explanation. I will test it later, and I think I can solve and understand this. The meaning of using the implicit menu is to call the configurations in the implicit menu mutually in the sub - menu. That is, I want the implicit menu to play the role of a block. Now the main problem is that I can't continue to add sub - menus without the implicit menu. If I delete the implicit menu and add sub - menus to it, and add more than a few items (each item of the first - floor menu adds no more than 5 - 7 sub - menus), it will start to report an error. The error content is the same as the first floor, exceeding the limit. So I can't continue. Thank you again. |
|
| Floor14 xsaxy | Posted 2009-11-14 17:06 |
| 初级用户 Posts 15 Credits 32 | |
|
Post another configuration with an error. Note that under cm=[d. Test Menu 0 d... , the cm1=[j. Submenu addition has an error, deletion is normal, which is the problem I mentioned.
---------------------------------------------------------- device=himem.sys device=acios.exe device=ConfigS.Mnu /s ; cm0=[a. Test Menu 0 a... ; color=03,f ; default=a,60 ; initial=14 ; caption= ; caption= ; caption= Chinese Menu for DOS Tools Disk ; caption= =================================================== ; endnote= Press ↑↓ or corresponding letters to select menu items; '-/+' are check menus, press Enter to select/clear ; endnote= Press Enter to confirm in single-choice menu; press E^sc to return to level 0 menu ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[j. ; cm1=]1j ; cm1=[k. ; cm1=]1k ; cm1=[l. ; cm1=]1l ; cm1=[m. ; cm1=]1m ; cm1=[end] ; cm0=]a ; cm0=[b. Test Menu 0 b... ; cm1=[a. Test Menu 1 a ; cm1=]1a ; cm1=[b. Test Menu 1 b... ; cm2=[a. Test Menu 1 a ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[c. ; cm2=]2c ; cm2=[d. ; cm2=]2d ; cm2=[e. ; cm2=]2e ; cm2=[f. ; cm2=]2f ; cm2=[g. ; cm2=]2g ; cm2=[h. ; cm2=]2h ; cm2=[end] ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]b ; cm0=[c. Test Menu 0 c... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[j. ; cm1=]1j ; cm1=[k. ; cm1=]1k ; cm1=[l. ; cm1=]1l ; cm1=[m. ; cm1=]1m ; cm1=[n. ; cm1=]1n ; cm1=[o. ; cm1=]1o ; cm1=[p. ; cm1=]1p ; cm1=[end] ; cm0=]c ; cm0=[d. Test Menu 0 d... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[j. ; cm1=]1j ; cm1=[end] ; cm0=]d ; cm0=[e. Test Menu 0 e... ; cm1=[a. Test Menu 1 a... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[end] ; cm0=]e ; cm0=[f. Test Menu 0 f... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]f ; cm0=[g. Test Menu 0 g... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[i. ; cm1=]1i ; cm1=[end] ; cm0=]g ; cm0=[h. Test Menu 0 h... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[g. ; cm1=]1g ; cm1=[h. ; cm1=]1h ; cm1=[end] ; cm0=]h ; cm0=[i. Test Menu 0 i... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]i ; cm0=[j. Test Menu 0 j... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[f. ; cm1=]1f ; cm1=[end] ; cm0=]j ; cm0=[k. Test Menu 0 k... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[end] ; cm0=]k ; cm0=[l. Test Menu 0 l... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[e. ; cm1=]1e ; cm1=[end] ; cm0=]l ; cm0=[m. Test Menu 0 m... ; cm1=[a. ; cm1=]1a ; cm1=[b. ; cm1=]1b ; cm1=[c. ; cm1=]1c ; cm1=[d. ; cm1=]1d ; cm1=[end] ; cm0=]m ; cm0=[n. Test Menu 0 n... ; cm1=[a. Test Menu 1 a... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1a ; cm1=[b. Test Menu 1 b... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1b ; cm1=[c. Test Menu 1 c... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1c ; cm1=[d. Test Menu 1 d... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[c. ; cm2=]2c ; cm2=[d. ; cm2=]2d ; cm2=[e. ; cm2=]2e ; cm2=[f. ; cm2=] ; cm2=[end] ; cm1=]1d ; cm1=[e. Test Menu 1 e... ; cm2=[a. ; cm2=]2a ; cm2=[b. ; cm2=]2b ; cm2=[end] ; cm1=]1e ; cm1=[f. Test Menu 1 f ; cm1=]1f ; cm1=[end] ; cm0=]n ; cm0=[o. Test Menu 0 o... ; cm0=]0o ; cm0=[p. Test Menu 0 p... ; cm0=]0p ; cm0=[end] device=ConfigS.Mnu /u |
|
| Floor15 yaya | Posted 2009-11-15 09:25 |
| 银牌会员 Posts 353 Credits 1,009 | |
|
Maybe your file is large. The original program only searches 0x1000 bytes. Please use WinHex or other 16-bit editors, open ConfigS.Mnu, change '10' at 0x1202 to '20', and then give it a try.
|
|
| 1 2 Next |
|
[ Contact the Union admin team -
中国DOS联盟 -
Standard version ] Sponsored by ifanr Inc | © 2001–2023 |