home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
ZSYS
/
SIMTEL20
/
ZCPR3
/
MENU.HLP
< prev
next >
Wrap
Text File
|
2000-06-30
|
32KB
|
893 lines
;
The ZCPR3 MENU Shell
-- ZCPR3 Utilities --
1 - MENU
2 - MENUCK
-- Using MENU -- -- Programming MENU --
U - Using MENU P - Programming *.MNU Files
S - Summary of User Cmds C - *.MNU Internal Commands
E - MENU Error Messages M - Programming Cmd Summary
Z - MENU and ZCPR3
:1
Command: MENU 3.2
Syntax:
MENU <-- run MENU.MNU
or
MENU ufn <-- run menu contained in file
Function:
MEN╒á i≤ thσ ZCPR│ men⌡ front-enΣ processor«á I⌠ i≤á ß ì
ZCPR│á Shel∞ whicΦ read≤ ß *.MN╒ filσ anΣ processe≤ command≤ ì
froφ it.
Options:
None
Comments:
MEN╒á i≤ ß truσ ZCPR│ Shell«á I⌠ i≤ describeΣ iεá thi≤ ì
HELP file.
Selected Error Messages:
"N∩á CommanΣ Lineó mean≤ tha⌠ thσ ZCPR│ Systeφ doe≤ no⌠ ì
suppor⌠á aε externa∞ CommanΣ Linσ Buffer«á MEN╒á mus⌠á havσ ì
thi≤ t∩ run.
"N∩á Shel∞ Stackó mean≤ tha⌠ thσ ZCPR│ Systeφ doe≤á no⌠ ì
support a Shell Stack. MENU must have this to run.
"Shel∞á Stacδ Fulló mean≤ tha⌠ thσ Shel∞ Stacδ i≤á ful∞ ì
and MENU cannot push itself onto the stack.
"Shel∞á Stacδá Entr∙ Sizeó mean≤ tha⌠ thσá Shel∞á Stacδ ì
elements are too short for MENU to store its parameters.
"TP┴á Fulló mean≤ tha⌠ therσ i≤ no⌠ enougΦ rooφ iεá thσ ì
TPA to load the *.MNU file.
Examples of Use:
See this HELP file
MEN╒á i≤ thσ ZCPR│ Menu-OrienteΣ CommanΣá Preprocessor« ì
I⌠á act≤ a≤ ß front-enΣ t∩ ZCPR3¼á providinτ ß menu-orienteΣ ì
use≥ interfacσ t∩ ZCPR3« It≤ functioε caε bσ representeΣ b∙ ì
thσ followinτ diagram:
------ ------ ------ ------
|M | |Z | |B | |P |
User | E | | C | | D | | g |
Menu ---->| N |--->| P |--->| O |--->| m |
Command | U| | R| | S| | s|
| | | 2| | | | |
------ ------ ------ ------
Thσá "Use≥ Men⌡ Commandó i≤ ß singlσ characte≥ tha⌠ thσ ì
use≥á strike≤á whicΦ instruct≤ MEN╒ t∩ perforφá ßá function« ì
Oncσá MEN╒á begin≤ processinτ thi≤á function¼á i⌠á build≤á ß ì
commanΣá linσá fo≥á ZCPR3¼á optionall∙ askinτ thσá use≥á fo≥ ì
furthe≥á inpu⌠ (sucΦ a≤ ß filσ name)¼á anΣ theεá passe≤á thσ ì
commanΣá linσ t∩ ZCPR│ viß thσ CommanΣ Linσá Buffer«á ZCPR│ ì
theε run≤ thσ commanΣ linσ return≤ t∩ MENU.
MEN╒á build≤á commanΣ line≤ baseΣ oε simplσ inpu⌠á froφ ì
thσ user«á Thσ use≥ neeΣ neve≥ kno≈ wha⌠ thσ actua∞ commanΣ ì
linσ is« Thσ commanΣ linσ itselµ i≤ alway≤ oµ thσ form:
<command> <optional user input>
A≤ aε example¼ ß commanΣ buil⌠ b∙ MEN╒ t∩ ruε XDI╥ witΦ ì
use≥á inpu⌠ fo≥ ß filσ namσ specification¼á coulΣ looδá likσ ì
thσ following:
XDIR <user input>
Wheεá MEN╒ i≤ executed¼á i⌠ look≤ fo≥ thσ filσ MENU.MN╒ ì
iε thσ curren⌠ directory«á Iµ i⌠ find≤ one¼ i⌠ load≤ i⌠ anΣ ì
begin≤á processing«á Iµá i⌠ doe≤ no⌠ finΣá one¼á i⌠á simpl∙ ì
exits«á ┴á filσ namσ ma∙ bσ specifieΣ iε thσá MEN╒á commanΣ ì
line to select a file other than MENU.MNU.
Thσá MENU.MN╒á filσ caε contaiε u≡ t∩ 25╡ menu≤á t∩á bσ ì
processeΣá b∙ MENU«á Thσ MEN╒ wil∞ begiε processinτ a⌠á thσ ì
firs⌠ men⌡ iε MENU.MNU.
MEN╒ itselµ i≤ ß CO═ file¼ likσ an∙ othe≥ prograφ unde≥ ì
ZCPR3«á Unlikσ mos⌠ othe≥ programs¼á however¼á i⌠ generate≤ ì
commanΣ line≤ t∩ bσ executeΣ b∙ ZCPR│ anΣ store≤ it≤á returε ì
commanΣ iε thσ Shel∞ Stack« Iε thi≤ wa∙ ß loo≡ i≤ se⌠ up:
-->--+->- MENU ->- ZCPR3 ->-+
^ v
| |
+-<- Command Line -<---+
Onl∙á MEN╒á itselµ caε terminatσ thi≤á loop«á Iµá thσá MEN╒ ì
programme≥á wishes¼á hσ caε se⌠ u≡ thσ MENU.MNU filσ s∩ tha⌠ thi≤ ì
loo≡á wil∞ neve≥ bσ exited¼á o≥ hσ caε se⌠ u≡ thσ filσá t∩á allo≈ ì
anyonσá t∩ exi⌠ a⌠ an∙ timσ o≥ jus⌠ ß specia∞ persoε wh∩ know≤á ß ì
passworΣá t∩á exi⌠á wheεá hσá wishe≤á to«á Therσá i≤á ßá lo⌠á oµ ì
flexibilit∙á designeΣ int∩ thσ system¼á anΣ i⌠ wil∞ bσá discusseΣ ì
later in the section on programming MENU.MNU files.
┴á MENU.MN╒á filσá caε bσ se⌠ u≡ t∩ executσá an∙á ZCPR│ ì
commanΣ o≥ sequencσ oµ commands« Thσ MENU.MN╒ filσ caε als∩ ì
bσ se⌠ u≡ t∩ no⌠ allo≈ thσ use≥ t∩ leavσ MENU¼á t∩ allo≈ hiφ ì
t∩ leavσ MEN╒ a⌠ will¼ o≥ t∩ allo≈ hiφ t∩ leavσ MEN╒ onl∙ iµ ì
hσ know≤ ß password.
Thi≤á HEL╨ filσ i≤ divideΣ int∩ tw∩ basiπá parts«á Thσ ì
inf∩ section≤ oε "Usinτ MENUó anΣ "Summar∙ oµ MEN╒ Commandsó ì
arσ designeΣ t∩ bσ reaΣ b∙ ß persoε wantinτ t∩ usσ MEN╒á bu⌠ ì
no⌠á wantinτá t∩ learε ho≈ MEN╒ work≤ o≥ ho≈ t∩ prograφá it« ì
Thesσá section≤á describσá ho≈á t∩ movσá froφá onσá men⌡á t∩ ì
another¼á ho≈ t∩ issuσ MEN╒ commands¼á anΣ ho≈ t∩ leavσ MEN╒ ì
iµ thσ optioε i≤ presenteΣ t∩ him.
Thσá othe≥á section≤á oµ thi≤ HEL╨á filσá describσá thσ ì
programminτá aspect≤ oµ MEN╒ anΣ arσ intendeΣ t∩ bσ useΣá a≤ ì
aεá onlinσá referencσ fo≥ thσá MEN╒á programmer«á Thσá MEN╒ ì
commanΣá programminτ summar∙ i≤ especiall∙ usefu∞ iε tha⌠ i⌠ ì
provide≤ ß summar∙ oµ thσ command≤ whicΦ thσ MEN╒ programme≥ ì
ma∙ issuσ t∩ MEN╒ withiε ß *.MNU file.
:U
Wheεá MEN╒ i≤ firs⌠ invoked¼á onσ oµ threσ thing≤á wil∞ ì
happen:
1⌐á ┴á MEN╒á wil∞ appea≥ anΣ bσ pageΣ u≡á t∩á fil∞á thσ
screen╗ ß commanΣ promp⌠ wil∞ appea≥ a⌠ thσ bottoφ
oµ thσ menu
2⌐á ┴ MEN╒ wil∞ appea≥ anΣ no⌠ bσ pageΣ u≡ t∩ fil∞á thσ
screen╗ ß commanΣ promp⌠ wil∞ appea≥ a⌠ thσ bottoφ
oµ thσ menu
3⌐á ┴ commanΣ promp⌠ wil∞ appea≥ witΦ n∩ men⌡ (thi≤á i≤
called the Expert Mode)
Iµá a⌠á an∙ timσ ß Men⌡ Displa∙ i≤ garbleΣ o≥ thσá use≥ ì
desire≤á t∩ seσ thσ curren⌠ Men⌡ (a≤ sometime≤ happen≤á wheε ì
yo⌡ arσ iε Exper⌠ Mode)¼á jus⌠ strikσ thσ RETUR╬á key«á Thσ ì
RETUR╬ ke∙ refreshe≤ thσ men⌡ a⌠ al∞ times.
Thσá promp⌠á whicΦ appear≤ a⌠ thσ bottoφ oµá you≥á Men⌡ ì
displa∙ ha≤ thσ followinτ genera∞ form:
Command (<CR>=Menu,^C=ZCPR3,*=1st Menu,<=Prev Menu,>=Next Menu) -
Therσ caε bσ u≡ t∩ 25╡ menu≤ iε onσ MENU.MN╒ file« Thσ ì
MEN╒ commanΣ promp⌠ varie≤ t∩ reflec⌠ this«á Fo≥á instance¼ ì
iµá onl∙ onσ Men⌡ wa≤ presen⌠ anΣ thσ optioε t∩ abor⌠ ou⌠ oµ ì
MEN╒á t∩á ZCPR│ wa≤ no⌠ available¼á theεá thσá Men⌡á CommanΣ ì
promp⌠ woulΣ takσ it≤ simples⌠ form¼ lookinτ like:
Command (<CR>=Menu) -
Strikσ thσ RETUR╬ ke∙ a⌠ thi≤ timσ t∩ refresΦ thσá Men⌡ ì
Displa∙ o≥ strikσ thσ characte≥ oµ ß Men⌡ Option« Thesσ arσ ì
thσ onl∙ choices¼á anΣ strikinτ ß characte≥ whicΦ i≤ no⌠ thσ ì
RETUR╬ ke∙ o≥ ß men⌡ optioε result≤ iε thσ bel∞ sounding.
Iµá thσ thσ optioε t∩ exi⌠ t∩ ZCPR│ wa≤á availablσá anΣ ì
therσá i≤á onl∙á onσ Men⌡ iε thσá MENU.MN╒á file¼á theεá thσ ì
commanΣ linσ wil∞ looδ likσ this:
Command (<CR>=Menu,^C=ZCPR3) -
Thσá optioε oµ abortinτ t∩ ZCPR│ b∙ strikinτá Control-├ ì
(holΣá dowεá oε thσ Control¼á o≥ CTRL¼á ke∙ anΣá strikσá thσ ì
lette≥á C⌐ i≤ no≈ available«á Thi≤ wil∞ returε t∩ ZCPR│ anΣ ì
exi⌠ MENU.
Onσ brieµ notσ oε optioε letter≤ beforσ goinτá on«á Iµ ì
onσá oµá you≥ option≤ i≤ ß lette≥ iε thσ rangσ froφ ┴ t∩á Z¼ ì
theε casσ i≤ no⌠ significant¼á anΣ yo⌡ caε invokσ thσ optioε ì
A¼ say¼ b∙ strikinτ aε upper- o≥ lower-casσ A.
Iµ therσ i≤ morσ thaε onσ men⌡ iε thσ *.MN╒á file¼á thσ ì
commanΣ linσ option≤ becomσ slightl∙ morσ complex¼á bu⌠ the∙ ì
arσ stil∞ quitσ eas∙ t∩ follow.
Iεá thσ followinτ examples¼á assumσ tha⌠ thσ optioεá t∩ ì
exi⌠á t∩á ZCPR│ i≤ off¼á s∩ thσ "^C=ZCPR3ó optioεá wil∞á NO╘ ì
appear.
Froφ thσ firs⌠ men⌡ iε thσ file¼á thσ commanΣ linσ wil∞ ì
looδ likσ thσ following:
Command (<CR>=Menu,>=Next Menu) -
T∩ advancσ t∩ thσ nex⌠ menu¼á strikσ thσ ">ó o≥ thσ ".ó ì
character«á Oε mos⌠ keyboards¼ ">ó i≤ thσ shif⌠ oµ thσ "."¼ ì
s∩á MEN╒ permit≤ eas∙ movemen⌠ withou⌠ havinτ t∩ worr∙ abou⌠ ì
shiftinτ thσ keyboarΣ al∞ thσ time.
Iµ a⌠ thσ las⌠ men⌡ iε thσ file¼á thσ commanΣ linσ wil∞ ì
looδ likσ thσ following:
Command (<CR>=Menu,*=1st Menu,<=Prev Menu) -
Thi≤á allow≤á thσ use≥ t∩ strikσ thσ "*óá characte≥á t∩ ì
jum≡á bacδ t∩ thσ firs⌠ men⌡ iε hi≤ *.MN╒ file«á Iµ "<óá o≥ ì
",ó i≤ stucδ ("<ó i≤ usuall∙ thσ shif⌠ oµ thσ ",")¼ theε thσ ì
use≥ wil∞ bacδ u≡ onσ men⌡ t∩ thσ previou≤ men⌡ iε thσ file.
Iµ thσ use≥ i≤ somewherσ iε thσ middlσ oµ thσá MENU.MN╒ ì
file¼ hi≤ commanΣ linσ wil∞ looδ likσ this:
Command (<CR>=Menu,*=1st Menu,<=Prev Menu,>=Next Menu) -
Again¼á "*ó wil∞ g∩ directl∙ t∩ thσ firs⌠ menu¼á "<ó o≥ ì
",ó wil∞ g∩ t∩ thσ previou≤ menu¼á anΣ ">ó o≥ ".ó wil∞ g∩ t∩ ì
thσá nex⌠á menu«á Strikinτ thσ RETUR╬ ke∙ wil∞ refresΦá thσ ì
men⌡ display.
Onσ las⌠ optioε thσ use≥ ha≤ unde≥ MEN╒ involve≤ acces≤ ì
t∩á ß Systeφ Menu«á Thi≤ men⌡ i≤ specia∞ iε tha⌠á therσá i≤ ì
onl∙ onσ wa∙ t∩ ge⌠ t∩ i⌠ -- viß thσ "$ó command.
Thσá Systeφá Men⌡ i≤ intendeΣ t∩ givσ privelegeΣá user≤ ì
acces≤ t∩ specia∞ command≤ tha⌠ thσ res⌠ oµ thσ user≤á can'⌠ ì
run«á Iµá ß Systeφ Men⌡ i≤ available¼á MEN╒ wil∞ responΣ t∩ ì
thσ "$ó commanΣ witΦ thσ prompt:
Pass?
Thσá use≥á i≤ giveε onσ chancσ t∩ typσ iεá thσá correc⌠ ì
passworΣá t∩ ente≥ thσ Systeφ Menu«á Iµ hσá i≤á wrong¼á thσ ì
messagσ "PassworΣ Erroró wil∞ appea≥ anΣ hσ wil∞ bσ returneΣ ì
t∩ thσ men⌡ hσ camσ from«á Iµ hσ i≤ correct¼á hσ wil∞ ente≥ ì
thσ Systeφ Menu«á Physically¼ thσ Systeφ Men⌡ i≤ alway≤ thσ ì
las⌠ men⌡ iε thσ file¼ anΣ it≤ commanΣ promp⌠ is:
Command (<CR>=Menu,*=1st Menu,<=Prev Menu) -
Iµ thσ use≥ i≤ a⌠ thσ men⌡ jus⌠ beforσ thσ Systeφ Menu¼ ì
thσ ">ó wil∞ no⌠ functioε t∩ allo≈ hiφ t∩ ente≥ it¼ eveε th∩ ì
therσá technicall∙ i≤ ß "Nex⌠ Menu"«á Thσ ">ó optioε iε thσ ì
commanΣá linσá wil∞ no⌠ appear«á Thσ onl∙ wa∙á t∩á ente≥á ß ì
Systeφ Men⌡ i≤ thr⌡ thσ "$ó command.
Iεá summary¼á movinτá abou⌠ withiε MEN╒ i≤ quitσá easy« ì
"*óá move≤ thσ use≥ t∩ thσ firs⌠ menu¼á "<ó t∩ thσá previou≤ ì
menu¼ ">ó t∩ thσ nex⌠ menu¼ anΣ "$ó t∩ thσ Systeφ Menu.
:S
The full Menu Command Line looks like the following:
Command (<CR>=Menu,^C=ZCPR3,*=1st Menu,<=Prev Menu,>=Last Menu) -
The Menu Commands are:
Command Function
<CR> Refresh Menu Display (RETURN Key)
^C Exit to ZCPR3 (Control-C)
* Jump to the First Menu
< or , Jump to the Previous Menu
> or . Jump to the Next Menu
$ Jump to the System Menu (Password Required)
other Menu Option or Invalid Command; letters are
automatically capitalized, so a=A
:P
Programming *.MNU Files
Thσá *.MN╒á filσá i≤ simpl∙ ß tex⌠ filσá whicΦá ma∙á bσ ì
createΣáá witΦá an∙á conventiona∞á CP/═á editor¼áá includinτ ì
WordStar«á MEN╒á ignore≤á thσ Mos⌠ Significan⌠ Bi⌠á oµá al∞ ì
bytes¼ s∩ editor≤ likσ WordStar¼ whicΦ occasionall∙ se⌠ thi≤ ì
bit¼ caε bσ used.
Al∞ *.MN╒ file≤ havσ thσ samσ genera∞á structure«á Thσ ì
firs⌠á linσ i≤ eithe≥ ß globa∞ optioε linσ o≥ thσá beginninτ ì
oµ ß men⌡ display«á Iµ ß globa∞ optioε line¼ i⌠ begin≤ witΦ ì
thσá characte≥á "-"¼áá anΣá thi≤á characte≥á i≤á immediatel∙ ì
followeΣá b∙á globa∞ optioε characters«á Thσ globa∞á optioε ì
line¼ theε look≤ likσ this:
-options
Afte≥ thσ globa∞ optioε line¼á iµ any¼á come≤ thσ firs⌠ ì
menu« EacΦ men⌡ i≤ structureΣ a≤ follows:
#options
<Text of Menu Display>
#
menu commands
The following are two sample Menu File structures:
-options #options
#options <Text>
<Text> #
# commands
commands ##
#options
<Text>
#
commands
##
Therσ arσ fou≥ optioε characters«á Iε usinτ them¼ casσ ì
i≤ no⌠ significant« Thesσ optioε character≤ are:
Option Function
C Display Command Line to User
D Display Menu to User
P Page Out Menu Display
X Allow User to Exit to ZCPR3
Thσ ├ optioε display≤ thσ commanΣ linσ buil⌠ b∙ MEN╒ t∩ ì
thσ user«á Thi≤ optioε i≤ primaril∙ intendeΣ fo≥á debugginτ ì
purposes¼á t∩á allo≈ thσ programme≥ t∩ seσ wha⌠ command≤ arσ ì
beinτ built«á I⌠ i≤ instructivσ t∩ thσ user¼á however¼á anΣ ì
ma∙ bσ employeΣ fo≥ tha⌠ purposσ a≤ well.
Thσá ─ optioε display≤ thσ men⌡ t∩ thσá user«á Iµá thσ ì
displa∙á functioε i≤ no⌠ turneΣ on¼á wσ arσ iε Exper⌠á Mode¼ ì
anΣá thσá command≤á arσ availablσ withou⌠á ßá men⌡á display« ì
RETURN¼á oµá course¼á caεá bσ useΣ t∩ invokσ thσ displa∙á iµ ì
necessary.
Thσ ╨ optioε page≤ ou⌠ thσ men⌡ display«á Iµ thσá pagσ ì
functioεá i≤ engaged¼á theε thσ MEN╒ prograφ output≤á <CRLF╛ ì
combination≤ unti∞ 2┤ line≤ havσ beeε printeΣ oε thσ screen« ì
Thi≤á i≤á somewha⌠ morσ attractivσ anΣ eliminate≤á olΣá tex⌠ ì
froφ previou≤ commands¼á allowinτ thσ use≥ t∩ concentratσ oε ì
hi≤ curren⌠ se⌠ oµ options«á However¼ i⌠ i≤ annoyinτ iµ thσ ì
use≥á i≤ accessinτ thσ system¼á say¼á a⌠ 30░ bauΣ viß ß dia∞ ì
up« I⌠ i≤ fo≥ thi≤ reasoε tha⌠ thσ MEN╒ programme≥ ha≤ thi≤ ì
option.
Finally¼á thσá ╪á optioεá enable≤á thσá facilit∙á whicΦ ì
permit≤ thσ use≥ t∩ typσ ^├ anΣ returε t∩ ZCPR3.
Wheε MEN╒ firs⌠ come≤ up¼ al∞ option≤ arσ turneΣ off:
C is OFF -- no command display to user
D is OFF -- no menu display to user
P is OFF -- no menu display paging
X is OFF -- user cannot exit to CP/M
Thσá globa∞ option≤ line¼á which¼á iµ present¼á i≤á thσ ì
firs⌠á linσá oµ thσ file¼á turn≤ oε thesσá option≤á fo≥á thσ ì
coursσá oµá thσ sessioε iε general«á Tha⌠ is¼á iµ ßá globa∞ ì
option≤ linσ like
-DPx
i≤ useΣ (casσ i≤ insignificant)¼á theε men⌡ display¼ paging¼ ì
anΣá exi⌠á t∩ ZCPR│ wil∞ bσ availablσ fo≥á al∞á menus«á Thσ ì
globa∞ option≤ linσ affect≤ al∞ menus.
Thσ globa∞ option≤ linσ turn≤ oε thσ indicateΣá option≤ ì
fo≥ al∞ menu≤ iε general«á However¼ thσ samσ option≤ ma∙ bσ ì
presenteΣá oε thσ firs⌠ linσ oµ eacΦ men⌡ immediatel∙á afte≥ ì
thσá "#óá characte≥á t∩ temporaril∙ complemen⌠á thσá curren⌠ ì
optioε fo≥ onl∙ tha⌠ menu.
Iµá aεá optioε i≤ NO╘ includeΣ iεá thσá globa∞á option≤ ì
line¼á i⌠á i≤á turneΣá OF╞ fo≥ al∞ menu≤á iεá general«á Thσ ì
default≤á selecteΣá b∙á usinτ thσ globa∞á option≤á linσá arσ ì
overriddeε oε ß per-men⌡ basi≤ b∙ thσ loca∞ men⌡ options.
Example:
-dpx
#x
This menu is displayed and paged, but no
exit to ZCPR3 is permitted
#
commands
#dx
This menu is not displayed and the user may not
exit to ZCPR3.
#
commands
#c
Thi≤ men⌡ i≤ displayed¼ paged¼ anΣ thσ use≥ ma∙
exit to ZCPR3. Additionally, the MENU-generated
commands are printed to the user.
#
commands
##
An∙á optioε tha⌠ ma∙ appea≥ oε thσ globa∞ option≤á linσ ì
ma∙á als∩ appea≥ oε thσ option≤ linσ fo≥ ß particula≥á menu« ì
Thσ men⌡ option≤ linσ support≤ onσ additiona∞á option¼á viz« ì
"$"« Thi≤ optioε declare≤ thσ followinτ men⌡ t∩ bσ ß Systeφ ì
Menu.
Iεá programminτ ß *.MN╒ file¼á thσ MEN╒ programme≥ MUS╘ ì
placσ thσ Systeφ Men⌡ a≤ thσ las⌠ men⌡ iε thσ filσ iµ i⌠á i≤ ì
goinτ t∩ havσ one«á T∩ d∩ otherwisσ i≤ flaggeΣ a≤ aε error« ì
Thσá followinτ illustrate≤ ß *.MN╒ filσ containinτ ßá Systeφ ì
Menu:
-dp
#
Thi≤ men⌡ i≤ displayeΣ anΣ paged¼ bu⌠ thσ use≥ ma∙
not exit to ZCPR3.
#
commands
#$x
This is a System Menu, and it is displayed, paged,
and the user may exit to ZCPR3.
##
Iµá ßá men⌡ i≤ ß Systeφ Menu¼á thσ "$óá characte≥á mus⌠ ì
immediatel∙á follo≈á thσá "#"«á Iε thσ casσ oµá thσá lette≥ ì
option≤ iε botΦ thσ globa∞ anΣ loca∞ cases¼ thσ orde≥ i≤ no⌠ ì
importan⌠ ("dpxó mean≤ thσ samσ a≤ "xpd").
Thσá passworΣ useΣ t∩ ente≥ ß Systeφ Men⌡ i≤ hard-codeΣ ì
in«á I⌠ ma∙ bσ altereΣ b∙ reassembl∙ o≥ usσ oµá DDT«á Notσ ì
tha⌠ thi≤ passworΣ caε bσ upper- anΣ lower-case¼ anΣ casσ i≤ ì
significant.
:C
*.MNU Commands
Thi≤áá sectioεá describe≤á thσá techniquσá anΣá option≤ ì
availablσá fo≥ creatinτ commanΣ line≤ iε *.MN╒á files«á Thσ ì
informatioεá hereiε i≤ organizeΣ int∩ thσ followinτá subjec⌠ ì
areas:
o Syntax of the command line
o :nn Option
o ! Option
o "text" prompts and input
o Variables ($D, $U, $Fn, $Nn, $Tn, $$)
o Highlighting (^A, ^B)
Syntax
Thσ command≤ iε ß *.MN╒ filσ follo≈ ß simplσ structure« ì
EacΦ commanΣ occupie≤ onl∙ onσ line¼á anΣ blanδ line≤ iε thσ ì
commanΣá grou≡á arσá no⌠ permitted«á Thσá commanΣá linσá i≤ ì
structureΣ a≤ follows:
l[o][command]
where:
l is the single character used to invoke the command
note that it may be upper- or lower-case
o is an opening option, which is one of:
:nn -- go to Menu nn
! -- have MENU wait when the command is finished
command is an optional ZCPR3 command; note that if
the option is ":nn", then a command here makes no
sense
:nn Opt
Thσ ":nnó optioε tell≤ MEN╒ t∩ movσ t∩ ß differen⌠ men⌡ ì
iε thσ *.MN╒ file« Thσ firs⌠ men⌡ i≤ numbe≥ 1« Example:
-dpx
#
1st Menu: A - Goto Menu 2 3 - Goto Menu 3
#
a:2
3:3
#
2nd Menu Command: 3 - Goto Menu 3
#
3:3
#x
3rd Menu Command: 2 - Goto Menu 2
#
2:2
##
:nn Opt
Iε thσ firs⌠ menu¼ thσ use≥ ma∙ strike:
"aó o≥ "Aó t∩ got∩ Men⌡ 2
"3ó t∩ got∩ Men⌡ 3
">óá o≥á ".ó t∩ got∩ thσ nex⌠ men⌡ (Men⌡ 2)
^├ t∩ got∩ ZCPR3
In the second menu, the user may strike:
"3" to goto Menu 3
"*" or "<" or "," to goto Menu 1
">" or "." to goto Menu 3
^C to goto ZCPR3
In the third menu, the user may strike:
"2" or "<" or "," to goto Menu 2
"*" to goto Menu 1
! Opt
Thσ "!ó optioε cause≤ MEN╒ t∩ pausσ anΣ asδ thσ use≥ t∩ ì
"Strikσá An∙ Keyó beforσ continuinτ afte≥ thσá commanΣá linσ ì
ha≤á beeε processed«á Iε thi≤ way¼á iµ ß commanΣá generate≤ ì
informatioεá t∩á bσ reaΣ b∙ thσ use≥ beforσ MEN╒ clear≤á hi≤ ì
screen¼á thσ "!ó optioε ma∙ bσ useΣ t∩ givσ thσ use≥ al∞ thσ ì
timσ hσ want≤ t∩ reaΣ thi≤ display.
"prompt"
EmbeddeΣá withiε an∙ commanΣ linσ ma∙ bσ ßá promp⌠á fo≥ ì
user input. This prompt takes the form of
"prompt to user"
Wheεá encountered¼á MEN╒á wil∞ advancσ t∩ thσ nex⌠ linσá anΣ ì
prin⌠ thσ tex⌠ containeΣ withiε thσ quotes«á MEN╒ wil∞ theε ì
wai⌠ fo≥ thσ use≥ t∩ inpu⌠ an∙ tex⌠ hσ desire≤ followeΣ b∙ ß ì
RETURN«áá A⌠á thi≤á point¼á thσá tex⌠á thσá use≥á inpu⌠á i≤ ì
capitalizeΣ anΣ placeΣ int∩ thσ commanΣ linσ a⌠ thσ poin⌠ oµ ì
the prompt.
Iµá thσá promp⌠á appear≤ a⌠ thσ enΣ oµ ßá MEN╒á commanΣ ì
line¼á thσ trailinτ quotσ i≤ no⌠ required«á A≤ man∙ prompt≤ ì
a≤ desireΣ ma∙ appea≥ withiε ß MEN╒ commanΣ line« Examples:
"prompt"
-dxp
#
A - Run XDIR without Pause or Input
B - Run XDIR and Pause before Returning to MENU
C - Run XDIR, Allow User Input, and Pause before
Returning to MENU
M - Run MCOPY, Allow User Input of Dest Dir, Allow
User Input of Source Dir and File, and Pause
before returning to MENU
Z - Run Any ZCPR3 Command and Pause before
Returning to MENU
#
m!mcopy "Destination Dir? "="Source DIR:AFN? "
z!"Enter Command Line --
axdir
b!xdir
c!xdir "Enter Ambiguous File Name --
##
"prompt"
Notσá thσ Spacσ righ⌠ beforσ thσ "Promp⌠ forφ iε thσá ├ ì
command«á Thi≤ spacσ i≤ significan⌠ t∩ kee≡ thσ commanΣ anΣ ì
use≥á inpu⌠ froφ runninτ together«á Thi≤ "ruε togetheróá i≤ ì
desireΣá fo≥ thσ ┌ command«á Als∩ notσ thσ dua∞ promp⌠á fo≥ ì
the M command.
WitΦ thσ ═ command¼á thσ followinτ prompt≤ wil∞á appea≥ ì
(and sample input):
Destination Dir? BACKUP:
Source DIR:AFN? *.TXT
and the following command line is built:
MCOPY BACKUP:=*.TXT
Variables
Thσ commanΣ tex⌠ whicΦ i≤ specifieΣ iε thσ MEN╒ commanΣ ì
linσá caε contaiε embeddeΣ variable≤ whicΦ MEN╒ wil∞á expanΣ ì
wheε thσ commanΣ linσ i≤ processed«á Thesσ variables¼ whicΦ ì
arσá denoteΣá b∙ ß dolla≥ sigε ($⌐ followeΣ b∙á onσá o≥á tw∩ ì
characters, are defined as follows:
Variable Expands as
-------- ----------
$D Current Disk
$U Current User Area
$Fn FILENAME.TYP for ZCPR3 System File n
$Nn FILENAME for ZCPR3 System File n
$Tn TYP for ZCPR3 System File n
$$ Place a single $ in command line
Thesσá variable≤á caε als∩ bσ useΣ iε thσ men⌡á displa∙ ì
itself¼á anΣá thei≥á value≤á wil∞ bσá substituteΣá wheεá thσ ì
display is generated. Example:
Variables
-dpx
#
Menu to Run M80 Assembler
Current File: $F1
Directory: $D$U
F - Define File
E - Edit $F1 P - Page $F1
A - Assemble $F1
#
fsetfile 1 "Filename? "
eedit $f1
azex m80 $n1
ppage $f1
##
Variables
Notes:
1« Thσ ZCPR│ utilit∙ SETFIL┼ i≤ useΣ t∩ definσ thσ namσ ì
oµá ßá ZCPR│á Systeφá File«á Therσ arσá fou≥á Systeφá File≤ ì
available¼á anΣ the∙ caε bσ referenceΣ b∙ $F▒ t∩ $F4¼ $N▒ t∩ ì
$N4, and $T1 to $T4.
2« Thσ ┴ commanΣ show≤ thσ executioε oµ ZEX« MEN╒ i≤ ß ì
truσ ZCPR│ Shell¼á and¼á a≤ such¼ ZE╪ command≤ caε bσ issueΣ ì
froφ i⌠ anΣ wil∞ ruε oε to≡ oµ it«á Thσ promp⌠ fo≥ thσá ZE╪ ì
command lines will be "Menu>".
3«á Assuminτ tha⌠ "MYFILE.MACó i≤ assigneΣ t∩ thσ ZCPR│ ì
Systeφ Filσ ▒ anΣ thσ use≥ i≤ loggeΣ int∩ disδ ┬ use≥ 1¼ thσ ì
followinτá screeεá show≤ ho≈ thσ displa∙ anΣá thσá resultinτ ì
commanΣ line≤ wil∞ bσ expandeΣ wheε executioε occurs:
Variables
Display
Menu to Run M80 Assembler
Current File: MYFILE.MAC
Directory: B1
F - Define File
E - Edit MYFILE.MAC P - Page MYFILE.MAC
A - Assemble MYFILE.MAC
Command Lines
Menu Command Expansion
fsetfile 1 "Filename? " SETFILE 1 "Filename? "
eedit $f1 EDIT MYFILE.MAC
azex m80 $n1 ZEX M80 MYFILE
ppage $f1 PAGE MYFILE.MAC
Highlighting
Jus⌠á likσá thσ HEL╨ utilit∙ caε takσ advantagσ oµá thσ ì
highlightinτ facilit∙ provideΣ iε thσ Z3TCAP¼á s∩ caεá MENU« ì
Fo≥ thosσ ZCPR│ System≤ witΦ ß properly-installeΣ TCAP¼ MEN╒ ì
wil∞á usσá thσá clea≥ screeε commanΣ t∩ refresΦá thσá user'≤ ì
screeεá anΣá highlightinτá caε bσ enableΣá anΣá disableΣá b∙ ì
embeddinτá ^┴ (t∩ turε oε highlighting⌐ anΣ ^┬ (t∩ turεá ofµ ì
highlighting⌐ int∩ thσ *.MN╒ file.
I⌠ i≤ recommendeΣ tha⌠ wheε highlightinτ i≤ turneΣá on¼ ì
i⌠á shoulΣá bσ turneΣ ofµ iε thσ samσ linσá fo≥á consistenc∙ ì
sake and appearance.
Example:
Highlighting
#
^AThis is highlighted^B and this is not
#
wil∞ appea≥ witΦ "Thi≤ i≤ highlightedó iε ß highlighteΣ modσ ì
likσ this:
This is highlighted and this is not
Closing
Closing Notes
A≤á man∙ command≤ a≤ thσ printablσ ASCI╔ characte≥á se⌠ ì
(withou⌠ lower-casσ letter≤ anΣ thσ MEN╒ commanΣ characters⌐ ì
wil∞ allo≈ arσ permitteΣ b∙ MENU«á Thσ text¼á however¼á fo≥ ì
eacΦá men⌡ mus⌠ bσ ablσ t∩ fi⌠ oε ß screeε witΦ thσá commanΣ ì
promp⌠á a⌠á thσá bottom«á Thi≤ mean≤ tha⌠ thσá tex⌠á canno⌠ ì
exceeΣ 2▓ lines.
MEN╒á fit≤ iε nicel∙ t∩ thσ ZCPR│ Systeφá oµá programs« ì
Thσ informatioε sectioε oε "MENU'≤ Relationshi≡ t∩ thσ ZCPR│ ì
Systemóá explain≤ ho≈ MEN╒ anΣ thσ othe≥ ZCPR│ program≤ worδ ì
together.
Thσá followinτá ASCI╔á character≤ ma∙ NO╘á bσá useΣá a≤ ì
command≤ sincσ the∙ arσ useΣ elsewhere:
<SPACE> # % , . < > * <DEL>
<Any Char Less than Space>
:M
MENU Programming Command Summary
EacΦá MEN╒ commanΣ occupie≤ onl∙ onσá line¼á anΣá blanδ ì
line≤á iε thσ commanΣ grou≡ arσ no⌠ permitted«á Thσ commanΣ ì
linσ i≤ structureΣ a≤ follows:
l[o][command]
where:
l is the single character used to invoke the command
note that it may be upper- or lower-case
o is an opening option, which is one of:
:nn -- go to Menu nn
! -- have MENU wait when the command is finished
command is an optional ZCPR3 command; note that if
the option is ":nn", then a command here makes no
sense
The MENU commands are:
Command Function
:nn Goto Menu nn, where the first menu is Menu 1
! Wait after command line is executed before
processing the menu
"Prompt" Prompt the user for input and accept it
The MENU variables are:
Variable Expands to
$D Current Disk
$U Current User
$Fn FILENAME.TYP for System File n
$Nn FILENAME for System File n
$Tn TYP for System File n
$$ $
Note║ Systeφ File≤ caε bσ defineΣ b∙ thσ SETFIL┼ command.
The Highlighting Embedded Characters are:
^A Turn ON Highlighting
^B Turn OFF Highlighting
Note║á I⌠ i≤ recommendeΣ tha⌠ iµ highlightinτ i≤ turneΣá on¼ ì
it should be turned off in the same line.
Thσá followinτ ASCI╔ character≤ ma∙ NO╘ bσ useΣ a≤á command≤ ì
sincσ the∙ arσ useΣ elsewhere:
<SPACE> # % , . < > * <DEL>
<Any Char Less than Space>
:Z
MENU's Relationship to the ZCPR3 System
MENU¼á likσ mos⌠ oµ thσ ZCPR│ utilities¼ interact≤ witΦ ì
thσ systeφ a≤ ß wholσ anΣ canno⌠ bσ useΣ witΦ system≤á othe≥ ì
thaε ZCPR3« Iε particular¼ MEN╒ require≤ thσ ZCPR│ Multiplσ ì
CommanΣá Linσá Buffe≥á anΣá Shel∞á Stacδá facilitie≤á t∩á bσ ì
availablσá t∩ i⌠ anΣ canno⌠ ruε withou⌠ them«á MEN╒ invoke≤ ì
commanΣá line≤á viß thσ CommanΣ Linσ Buffe≥ anΣá return≤á t∩ ì
itselµ thr⌡ thσ Shel∞ Stack«á I⌠ als∩ use≤ thσ ZCPR│ Systeφ ì
File≤ fo≥ somσ oµ it≤ variable≤ anΣ thσ Z3TCA╨ facilit∙á fo≥ ì
it≤ screeε manipulatioε (highlighting).
MENU is installed by Z3INS.
Also¼ C─ (Changσ Directory⌐ anΣ STARTU╨ (or¼ S╘ fo≥ CD⌐ ì
caεá comσá int∩ pla∙ witΦ MENU«á Wheε C─ log≤ int∩á t∩á ne≈ ì
directory¼á i⌠á look≤ fo≥ thσ filσ ST.CO═ anΣ execute≤ i⌠ iµ ì
therσá i≤ one«á S╘ i≤ simpl∙ STARTU╨ renamed¼á anΣá STARTU╨ ì
wil∞á loaΣ thσ Multiplσ CommanΣ Linσ Buffe≥ witΦá ßá commanΣ ì
linσ anΣ theε terminate.
Froφá thσ poin⌠ oµ vie≈ oµ MENU¼á thσ commanΣ loadeΣ b∙ ì
S╘á coulΣ bσ MENU«á Thσ effec⌠ oµ thi≤ i≤ t∩á automaticall∙ ì
ente≥á MEN╒á wheεá thσá use≥ employ≤ C─á t∩á ente≥á ßá giveε ì
directory.
Hence¼á b∙ usinτ CD¼á ß use≥ caε ente≥ ß director∙á anΣ ì
suddenl∙á finΣá himselµá iε ß men⌡ insteaΣ oµ a⌠á thσá ZCPR│ ì
commanΣá level«á Thi≤á i≤á gooΣ fo≥á application≤á wherσá ß ì
director∙á i≤á se⌠á asidσ fo≥ ß specifiπá purposσá anΣá onl∙ ì
certaiεá operation≤á arσá t∩ bσ performeΣá iεá it¼á sucΦá a≤ ì
cataloginτ disk≤ o≥ handlinτ accounts.
No≈á tha⌠á MEN╒ i≤ runninτ fo≥ thσá directory¼á ßá MEN╒ ì
commanΣá coulΣ bσ anothe≥ C─ t∩ anothe≥á directory«á O≥á i⌠ ì
coulΣ simpl∙ bσ ß DU║ form« Example:
#dp
A - Enter ZCPR Directory
B - Enter A0:
#
acd zcpr:
ba0:
#
Here¼á iµ ┴ i≤ issued¼ theε C─ wil∞ movσ int∩ ZCPR║ anΣ ì
executσ ST.CO═ iµ therσ i≤ onσ there«á Iµ ┬ i≤ issued¼á thσ ì
use≥á i≤ loggeΣ int∩ A0:«á MEN╒ i≤ thσ nex⌠ commanΣ iε botΦ ì
case≤ (commanΣ line≤ arσ "C─ ZCPR;MENUó anΣ "A0:;MENU")¼á s∩ ì
MEN╒ automaticall∙ reinvoke≤ anΣ look≤ fo≥ MENU.MNU«á Iµ i⌠ ì
find≤ it¼ wσ arσ iε anothe≥ MEN╒ system¼ and¼ iµ i⌠ doesn't¼ ì
wσ arσ bacδ t∩ ZCPR│ commanΣ level.
Unde≥ thσ ┴ option¼ iµ C─ find≤ ST.COM¼ S╘ wil∞ executσ ì
it≤ functioε and¼á unles≤ thi≤ functioε pop≤ thσ Shel∞ Stacδ ì
(SHPO╨ command)¼ MEN╒ wil∞ reinvokσ afte≥ i⌠ i≤ complete.
Unde≥á thσ ┬ option¼á wσ wil∞ ruε MEN╒ nex⌠ anΣá simpl∙ ì
exi⌠ iµ ß MENU.MN╒ filσ i≤ no⌠ found.
:E
MENU Error Messages
Iε orde≥ t∩ makσ MEN╒ a≤ smal∞ a≤ possible¼á thσá erro≥ ì
message≤á havσ beeε reduceΣ t∩ ß minimum«á MEN╒ provide≤á ß ì
minimuφ indicatioε tha⌠ somethinτ i≤ wronτ anΣ aborts.
Thσá prograφá MENUC╦á i≤á designeΣá t∩á tel∞á yo⌡á morσ ì
specificall∙á wha⌠á i≤á wrong«á MENUC╦ i≤á ßá *.MN╒á Synta° ì
Checker¼ anΣ i⌠ look≤ fo≥ al∞ sort≤ oµ erro≥ condition≤ tha⌠ ì
caε occu≥ iε ß *.MN╒ file.
MEN╒ provide≤ thσ followinτ minima∞ erro≥ messages:
Message Meaning
No Shell Stack Shell Stack Not Available
No Command Line Command Line Buffer Not Avail
Shell Stack Full Shell Stack is Full
Shell Stack Entry
Size Shell Stack Entries are too
short for MENU cmd line
File x.typ Not
Found Menu File Not Found
TPA Full Memory is Full
<Bell> User Command is in Error
Password Error Invalid Password Given
Structure Error *.MNU File Structure Error
:2
Command: MENUCK 1.0
Syntax:
MENUCK dir:ufn <-- default file type is MNU
Function:
MENUC╦á i≤ useΣ t∩ checδ thσ synta° oµ ß *.MN╒ filσ fo≥ ì
thσ ZCPR│ Men⌡ Shell¼á MENU« MEN╒ i≤ optimizeΣ fo≥ sizσ anΣ ì
speed¼á and¼á iε deepinτ i⌠ small¼ built-iε diagnostic≤ werσ ì
reduceΣá t∩ thσ minimum«á MENUC╦ i≤ intendeΣ t∩ bσ useΣá t∩ ì
analyzσá *.MN╒ file≤ anΣ providσ informativσ diagnostic≤á oε ì
any syntactical errors with them.
Options:
None
Comments:
MENUC╦á check≤ t∩ seσ iµ thσ sizσ oµ thσ *.MN╒ filσá i≤ ì
to∩ largσ fo≥ thσ TP┴ availablσ t∩ thσ MEN╒á command«á Thi≤ ì
is an additional check beyond the normal syntax check.
MENUC╦á identifie≤á thσá locatioεá oµá error≤á b∙á linσ ì
number. The first line in the file is line number 1.
Selected Error Messages:
Self-Explanatory.
Examples of Use:
MENUCK MYMENU
-- perform check on MYMENU.MNU