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
/
VMENU.HLP
< prev
next >
Wrap
Text File
|
2000-06-30
|
32KB
|
903 lines
;
The ZCPR3 VMENU Shell
-- ZCPR3 Utilities --
1 - VMENU
2 - VMENUCK
-- Using VMENU -- -- Programming VMENU --
U - Using VMENU P - Programming *.VMN Files
S - Summary of User Cmds C - *.VMN Internal Commands
E - VMENU Error Messages M - Programming Cmd Summary
Z - VMENU and ZCPR3
:1
Command: VMENU 1.0
Syntax:
VMENU <-- run MENU.VMN on all files in dir
or
VMENU afn <-- run MENU.VMN on files selected by afn
or
VMEN╒ afε ufε <-- ruε men⌡ (ufn⌐ on selecteΣ files
Function:
VMEN╒á i≤ thσ ZCPR│ men⌡ front-enΣ processor«á I⌠ i≤ ß ì
ZCPR│ Shel∞ whicΦ read≤ ß *.VM╬ filσ anΣ processe≤á command≤ ì
froφ it.
Options: None
Comments:
VMEN╒á i≤ ß truσ ZCPR│ Shell«á I⌠ i≤ describeΣ iε thi≤ ì
HEL╨ file.
Selected Error Messages:
"N∩ CommanΣ Lineó mean≤ tha⌠ thσ ZCPR│ Systeφ doe≤á no⌠ ì
suppor⌠á aε externa∞ CommanΣ Linσ Buffer«á VMEN╒ mus⌠á havσ ì
thi≤ t∩ run.
"N∩á Shel∞ Stackó mean≤ tha⌠ thσ ZCPR│ Systeφ doe≤á no⌠ ì
suppor⌠ ß Shel∞ Stack« VMEN╒ mus⌠ havσ thi≤ t∩ run.
"Shel∞á Stacδ Fulló mean≤ tha⌠ thσ Shel∞ Stacδ i≤á ful∞ ì
anΣ VMEN╒ canno⌠ pusΦ itselµ ont∩ thσ stack.
"Shel∞á Stacδ Sizeó mean≤ tha⌠ thσ Shel∞ Stacδ element≤ ì
arσ to∩ shor⌠ fo≥ VMEN╒ t∩ storσ it≤ parameters.
"TP┴á Fulló mean≤ tha⌠ therσ i≤ no⌠ enougΦ rooφ iεá thσ ì
TP┴ t∩ loaΣ thσ *.VM╬ file.
Examples of Use:
See this HELP file
VMEN╒ 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:
------- ------- ------- -------
|V | |Z | |B | |P |
User | M | | C | | D | | g |
Menu ---->| E |--->| P |--->| O |--->| m |
Command | N | | R | | S | | s |
| U| | 3| | | | |
------- ------- ------- -------
Thσ "Use≥ Men⌡ Commandó i≤ ß singlσ characte≥ tha⌠á thσ ì
use≥á strike≤á whicΦ instruct≤ VMEN╒ t∩ perforφ ßá function« ì
Oncσá VMEN╒á 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∩ VMENU.
VMEN╒á 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∙ VMEN╒ t∩á ruεá XDI╥ ì
witΦá use≥ inpu⌠ fo≥ ß filσ namσ specification¼á coulΣá looδ ì
likσ thσ following:
XDIR <user input>
Wheε VMEN╒ i≤ executed¼á i⌠ look≤ fo≥ thσ filσ MENU.VM╬ ì
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σ VMEN╒á commanΣ ì
linσ t∩ selec⌠ ß filσ othe≥ thaε MENU.VMN.
Thσá MENU.VM╬á filσ caε contaiε u≡ t∩ 25╡ menu≤á t∩á bσ ì
processeΣ b∙ VMENU«á Thσ VMEN╒ wil∞ begiε processinτ a⌠ thσ ì
firs⌠ men⌡ iε MENU.VMN.
VMEN╒á 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:
-->--+->- VMENU ->- ZCPR3 ->-+
^ v
| |
+-<- Command Line -<----+
Onl∙á VMEN╒á itselµá o≥ ß ZCPR│ too∞á likσá SHCTR╠á caε ì
terminatσ thi≤ loop« Iµ thσ VMEN╒ programme≥ wishes¼ hσ caε ì
se⌠á u≡á thσ MENU.VM╬ 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Σ late≥ iε ì
thσ sectioε oε programminτ MENU.VM╬ files.
┴á MENU.VM╬á filσ caε bσ se⌠ u≡ t∩á executσá an∙á ZCPR│ ì
commanΣ o≥ sequencσ oµ commands« Thσ MENU.VM╬ filσ caε als∩ ì
bσ se⌠ u≡ t∩ no⌠ allo≈ thσ use≥ t∩ leavσ VMENU¼ t∩ allo≈ hiφ ì
t∩ leavσ VMEN╒ a⌠ will¼á o≥ t∩ allo≈ hiφ t∩ leavσ VMEN╒ onl∙ ì
iµ hσ know≤ ß password.
Thi≤á HEL╨ filσ i≤ divideΣ int∩ tw∩ basiπá parts«á Thσ ì
inf∩á section≤á oεá "Usinτá VMENUóá anΣá "Summar∙á oµá VMEN╒ ì
Commandsó arσ designeΣ t∩ bσ reaΣ b∙ ß persoε wantinτ t∩ usσ ì
VMEN╒á bu⌠á no⌠ wantinτ t∩ learε ho≈ VMEN╒ work≤ o≥á ho≈á t∩ ì
prograφá it«á Thesσ section≤ describσ ho≈ t∩ movσ froφá onσ ì
men⌡á t∩ another¼á ho≈ t∩ issuσ VMEN╒ commands¼á anΣ ho≈á t∩ ì
leavσ VMEN╒ iµ thσ optioε i≤ presenteΣ t∩ him.
Thσá othe≥á section≤á oµ thi≤ HEL╨á filσá describσá thσ ì
programminτá aspect≤ oµ VMEN╒ anΣ arσ intendeΣ t∩ bσ useΣ a≤ ì
aεá onlinσ referencσ fo≥ thσ VMEN╒á programmer«á Thσá VMEN╒ ì
commanΣá programminτ summar∙ i≤ especiall∙ usefu∞ iε tha⌠ i⌠ ì
provide≤áá ßá summar∙á oµá thσá command≤á whicΦá thσáá VMEN╒ ì
programme≥ ma∙ issuσ t∩ VMEN╒ withiε ß *.VM╬ file.
:U
Wheε VMEN╒ i≤ firs⌠ invoked¼á i⌠ wil∞ bσ installeΣ a≤ ß ì
Shell¼áá anΣá contro∞á wil∞á returεá t∩á thσá ZCPR│á commanΣ ì
processo≥á fo≥á thσá nex⌠ commanΣ iεá thσá line«á Wheεá thσ ì
commanΣá linσ i≤ exhausted¼á ZCPR│ wil∞ realizσ tha⌠ ß shel∞ ì
has been installed and invoke VMENU as a shell.
VMEN╒ wil∞ theε comσ up¼ loaΣ thσ name≤ oµ thσ file≤ iε ì
thσ curren⌠ disδ directory¼á loaΣ thσ men⌡ file¼ anΣ displa∙ ì
u≡á t∩ sixteeε file≤ anΣ thσ firs⌠ men⌡ iε thσ men⌡ filσá t∩ ì
the user. The user will then be prompted for a command.
Iµá a⌠ an∙ timσ ß Men⌡ Displa∙ i≤ garbled¼á jus⌠ strikσ ì
thσ ^╥ key« ^╥ refreshe≤ thσ men⌡ a⌠ al∞ times.
Thσá promp⌠á whicΦ appear≤ a⌠ thσ bottoφá oµá thσá Men⌡ ì
displa∙ ha≤ thσ followinτ genera∞ form:
Command (<CR>=Menu,^C=Z3,*=1st Menu,<=Prev Menu,>=Next Menu) -
Therσá caεá bσ u≡ t∩ 25╡ menu≤ iε onσá VMENU.VM╬á file« ì
Thσá VMEN╒á commanΣá promp⌠ varie≤á t∩á reflec⌠á this«á Fo≥ ì
instance¼á iµá onl∙á onσ Men⌡ wa≤ presen⌠ anΣ thσ optioεá t∩ ì
abor⌠ ou⌠ oµ VMEN╒ t∩ ZCPR│ wa≤ no⌠ available¼ theε thσ Men⌡ ì
CommanΣ promp⌠ woulΣ takσ it≤ simples⌠ form¼ lookinτ like:
Command (<CR>=Menu) -
Strikσá ^╥ 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.VM╬á file¼á theεá thσ ì
commanΣ linσ wil∞ looδ likσ this:
Command (<CR>=Menu,^C=Z3) -
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⌠ VMENU.
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σ *.VM╬ 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=Z3ó 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∩ VMEN╒ 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≤ *.VM╬ file«á Iµ "<óá o≥ ì
",óá i≤ strucδ ("<ó 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.VM╬ ì
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.
Iεá summary¼á movinτ abou⌠ withiε VMEN╒ i≤ quitσá easy« ì
"*óá move≤ thσ use≥ t∩ thσ firs⌠ menu¼á "<ó t∩ thσá previou≤ ì
menu¼ ">ó t∩ thσ nex⌠ menu.
:S
The full Menu Command Line looks like the following:
Command (<CR>=Menu,^C=Z3,*=1st Menu,<=Prev Menu,>=Last Menu) -
The Menu Commands are:
Command Function
^R 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
other Menu Option or Invalid Command; letters are
automatically capitalized, so a=A
:P
Programming *.VMN Files
Thσá *.VM╬á filσá i≤ simpl∙ ß tex⌠ filσá whicΦá ma∙á bσ ì
createΣá witΦá an∙á conventiona∞á CP/═áá editor¼áá includinτ ì
WordStar«á VMEN╒á ignore≤á thσ Mos⌠ Significan⌠ Bi⌠ oµá al∞ ì
bytes¼ s∩ editor≤ likσ WordStar¼ whicΦ occasionall∙ se⌠ thi≤ ì
bit¼ caε bσ used.
Al∞ *.VM╬ 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:
-option
Afte≥ thσ globa∞ optioε line¼á iµ any¼á come≤ thσ firs⌠ ì
menu« EacΦ men⌡ i≤ structureΣ a≤ follows:
#option
<Text of Menu Display>
#
menu commands
The following are two sample Menu File structures:
-option #option
#option <Text>
<Text> #
# commands
commands ##
#option
<Text>
#
commands
##
Therσ i≤ onσ optioε character«á Iε usinτ it¼á casσá i≤ ì
no⌠ significant«á Thi≤ optioε characte≥ i≤ "X"¼ whicΦ tell≤ ì
VMEN╒ t∩ allo≈ thσ use≥ t∩ exi⌠ t∩ ZCPR3.
Thσá ╪á optioε enable≤ thσ facilit∙ whicΦá permit≤á thσ ì
use≥ t∩ typσ ^├ anΣ returε t∩ ZCPR3.
Wheε VMEN╒ firs⌠ come≤ up¼á thσ ╪ optioε i≤ turneΣ off« ì
Thσ use≥ canno⌠ exi⌠ t∩ ZCPR3.
Thσá globa∞ option≤ line¼á which¼á iµ present¼á i≤á thσ ì
firs⌠ linσ oµ thσ file¼á turn≤ oε thi≤ optioε fo≥ thσ coursσ ì
oµá thσ sessioε iε general«á Tha⌠ is¼á iµ ß globa∞á option≤ ì
linσ like
-x
i≤ useΣ (casσ i≤ insignificant)¼ theε thσ abilit∙ t∩ exi⌠ t∩ ì
ZCPR3 is enabled for all menus.
Thσá globa∞ option≤ linσ turn≤ oε thσ ╪ optioε fo≥á al∞ ì
menu≤ iε general« However¼ thσ ╪ optioε ma∙ bσ presenteΣ oε ì
thσá firs⌠á linσá oµ eacΦ men⌡á immediatel∙á afte≥á thσá "#ó ì
characte≥á t∩á temporaril∙ complemen⌠ thσ settinτ fo≥ thσá ╪ ì
optioε fo≥ onl∙ tha⌠ menu.
Iµá thσ ╪ optioε i≤ NO╘ includeΣ iε thσ globa∞á option≤ ì
line¼á i⌠á i≤á turneΣ OF╞ fo≥ al∞á menu≤á iεá general«á Thσ ì
defaul⌠á selecteΣá b∙á usinτá thσá globa∞á option≤á linσá i≤ ì
overriddeε oε ß per-men⌡ basi≤ b∙ thσ loca∞ men⌡ options.
Example:
-x
#x
No exit to ZCPR3 is permitted
#
commands
#x
No exit to ZCPR3.
#
commands
#
Thσ use≥ ma∙ exit to ZCPR3.
#
commands
##
:C
*.VMN Commands
Thi≤áá sectioεá describe≤á thσá techniquσá anΣá option≤ ì
availablσá fo≥ creatinτ commanΣ line≤ iε *.VM╬á 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, $Pp, $$)
o Highlighting (^A, ^B)
Syntax
Thσ command≤ iε ß *.VM╬ 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 VMENU 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≤ VMEN╒ t∩ movσ t∩á ßá differen⌠ ì
men⌡á iεá thσá *.VM╬ file«á Thσ firs⌠á men⌡á i≤á numbe≥á 1« ì
Example:
-x
#
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≤ VMEN╒ 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σ VMEN╒ 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≥ ì
use≥ input« Thi≤ promp⌠ take≤ thσ forφ of
"prompt to user"
Wheεá encountered¼á VMEN╒ wil∞ advancσ t∩ thσ nex⌠ linσá anΣ ì
prin⌠ thσ tex⌠ containeΣ withiε thσ quotes« VMEN╒ 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µ ì
thσ prompt.
Iµá thσá promp⌠ appear≤ a⌠ thσ enΣ oµ ßá VMEN╒á commanΣ ì
line¼á thσ trailinτ quotσ i≤ no⌠ required«á A≤ man∙ prompt≤ ì
a≤áá desireΣá ma∙á appea≥á withiεá ßá VMEN╒á commanΣáá line« ì
Examples:
"prompt"
-x
#
A - Run XDIR without Pause or Input
B - Run XDIR and Pause before Returning to VMENU
C - Run XDIR, Allow User Input, and Pause before
Returning to VMENU
M - Run MCOPY, Allow User Input of Dest Dir, Allow
User Input of Source Dir and File, and Pause
before returning to VMENU
Z - Run Any ZCPR3 Command and Pause before
Returning to VMENU
#
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≥ ì
thσ ═ command.
WitΦ thσ ═ command¼á thσ followinτ prompt≤ wil∞á appea≥ ì
(anΣ samplσ input):
Destination Dir? BACKUP:
Source DIR:AFN? *.TXT
anΣ thσ followinτ commanΣ linσ i≤ built:
MCOPY BACKUP:=*.TXT
Variables
Thσá commanΣá tex⌠á whicΦá i≤ specifieΣá iεá thσá VMEN╒ ì
commanΣ linσ caε contaiε embeddeΣ variable≤ whicΦ VMEN╒ wil∞ ì
expanΣ wheε thσ commanΣ linσ i≤ processed« Thesσ variables¼ ì
whicΦá arσ denoteΣ b∙ ß dolla≥ sigε ($⌐ followeΣ b∙á onσá o≥ ì
tw∩ characters¼ arσ defineΣ a≤ 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
$Pp Name of File being Pointed to
$$ 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σ ì
displa∙ i≤ generated« Example:
Variables
-x
#
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¼ anΣ $T▒ t∩ $T4.
2«á Thσ ┴ commanΣ show≤ thσ executioε oµ ZEX« VMEN╒ 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╪ ì
commanΣ line≤ wil∞ bσ "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ε VMENU« ì
Fo≥á thosσá ZCPR│á System≤ witΦ ßá properly-installeΣá TCAP¼ ì
VMEN╒á 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σ *.VM╬ file.
I⌠á i≤ recommendeΣ tha⌠ wheε highlightinτ i≤ turneΣ on¼ ì
i⌠á shoulΣá bσ turneΣ ofµ iε thσ samσ linσá fo≥á consistenc∙ ì
sakσ anΣ 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
Variables
Thσá $P≡á variablσ i≤ als∩ availablσ t∩ thσ use≥á unde≥ ì
VMENU«á $P≡ return≤ informatioε oε thσ filσ currentl∙ beinτ ì
pointeΣ t∩ b∙ thσ use≥ oε thσ screen« Thi≤ variablσ ha≤ thσ ì
following forms:
Form Expands Into
$PF FILENAME.TYP of the pointed-to file
$PN FILENAME of the pointed-to file
$PT TYP of the pointed-to file
Fo≥ instance¼ iµ thσ filσ currentl∙ beinτ pointeΣ t∩ i≤ ì
named MYFILE.TXT, then the command line:
ECHO FILENAME.TYP=$PF FILENAME=$PN TYP=$PT
will output:
FILENAME.TYP=MYFILE.TXT FILENAME=MYFILE TYP=TXT
Variables
Example:
-x
#
Menu to Run M80 Assembler
Directory: $D$U
┼ - Edi⌠ Pointed-t∩ Filσ
╨ - Pagσ Pointed-t∩ File
A - Assemble Pointed-to File
#
eedit $pf
azex m80 $pn
ppage $pf
##
Variables
Notes:
1« Thσ ┼ anΣ ╨ command≤ builΣ commanΣ line≤ containinτ ì
the full file name and type of the file being pointed to.
2«á Thσ ┴ commanΣ show≤ thσ executioε oµ ZEX« VMEN╒ 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╪ ì
commanΣ line≤ wil∞ bσ "VMenu>".
3« Assuminτ tha⌠ MYFILE.MA├ i≤ beinτ pointeΣ t∩ b∙ thσ ì
user¼ thσ followinτ show≤ thσ expansioε oµ thσ commanΣ line≤ ì
for this example:
Menu Command Expansion
eedit $pf EDIT MYFILE.MAC
azex m80 $pn ZEX M80 MYFILE
ppage $pf PAGE MYFILE.MAC
Variables
Thσá firs⌠ entr∙ iε an∙ VMEN╒ filσ displa∙ i≤ nameΣ "N∩ ì
File"¼á anΣá thi≤á entry¼á wheε pointeΣ t∩ b∙ thσá use≥á anΣ ì
expandeΣ int∩ thσ commanΣ line¼á i≤ translateΣ int∩ ß promp⌠ ì
fo≥ thσ use≥ t∩ inpu⌠ thσ namσ oµ ß file«á Thi≤ featurσá i≤ ì
provideΣá a≤ ß conveniencσ t∩ thσ use≥ s∩ tha⌠ hσ wil∞á havσ ì
thσá abilit∙á t∩ easil∙ specif∙ ne≈ file≤ whicΦ d∩á no⌠á ye⌠ ì
exis⌠á t∩ thσ VMEN╒ command≤ (sucΦ a≤ fo≥ aε edito≥á commanΣ ì
in which the user wants to create a new file).
Iµá thσá pointe≥ i≤ a⌠ "N∩ Fileó anΣ thσá commanΣá linσ ì
use≤á severa∞á reference≤á t∩ thσ pointe≥ (a≤á iεá thσá ECH╧ ì
commanΣ examplσ above)¼á theε thσ use≥ i≤ prompteΣ onl∙ oncσ ì
fo≥á thσá namσ oµ thσ file¼á anΣ eacΦ referencσ derive≤á it≤ ì
information from this name.
Closing
Closing Notes
A≤á man∙ command≤ a≤ thσ printablσ ASCI╔ characte≥á se⌠ ì
(withou⌠áá lower-casσáá letter≤áá anΣá thσáá VMEN╒áá commanΣ ì
characters⌐á wil∞ allo≈ arσ permitteΣ b∙ VMENU«á Thσá text¼ ì
however¼á fo≥ eacΦ men⌡ mus⌠ bσ ablσ t∩ fi⌠ oε ß screeε witΦ ì
thσ filσ director∙ displa∙ a⌠ thσ to≡ anΣ thσ commanΣ promp⌠ ì
a⌠á thσ bottom«á Thi≤ mean≤ tha⌠ thσ tex⌠ canno⌠ exceeΣá 1╢ ì
lines.
VMEN╒á fit≤ iε nicel∙ t∩ thσ ZCPR│ Systeφ oµá programs« ì
Thσá informatioεá sectioε oε "VMENU'≤á Relationshi≡á t∩á thσ ì
ZCPR│á Systemóá explain≤á ho≈á VMEN╒á 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
VMENU Programming Command Summary
EacΦá VMEN╒ 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 VMENU 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 VMENU 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 VMENU 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
$PF FILENAME.TYP for Pointed-to File
$PN FILENAME for Pointed-to File
$PT TYP for Pointed-to File
$$ $
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
VMENU's Relationship to the ZCPR3 System
VMENU¼ likσ mos⌠ oµ thσ ZCPR│ utilities¼ interact≤ witΦ ì
thσ systeφ a≤ ß wholσ anΣ canno⌠ bσ useΣ witΦ system≤á othe≥ ì
thaεá ZCPR3«áá Iεá particular¼á VMEN╒á require≤á thσá ZCPR│ ì
Multiplσá CommanΣ Linσ Buffe≥ anΣ Shel∞ Stacδ facilitie≤á t∩ ì
bσá availablσá t∩á i⌠ anΣ canno⌠ ruεá withou⌠á them«á VMEN╒ ì
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).
VMENU is installed by Z3INS.
Also¼ C─ (Changσ Directory⌐ anΣ STARTU╨ (or¼ S╘ fo≥ CD⌐ ì
caεá comσ int∩ pla∙ witΦ VMENU«á 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µ VMENU¼á thσ commanΣ loadeΣ b∙ ì
S╘á coulΣ bσ VMENU«á Thσ effec⌠ oµ thi≤ i≤ t∩ automaticall∙ ì
ente≥á VMEN╒á 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⌠ VMEN╒ i≤ runninτ fo≥ thσ directory¼á ßá VMEN╒ ì
commanΣá coulΣá bσ anothe≥ C─ t∩ anothe≥ directory«á O≥á i⌠ ì
coulΣ simpl∙ bσ ß DU║ form« Example:
#
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:«á VMEN╒ i≤ thσ nex⌠ commanΣ iε botΦ ì
case≤ (invokeΣ a≤ ß Shell)¼ s∩ VMEN╒ automaticall∙ reinvoke≤ ì
anΣ look≤ fo≥ MENU.VMN«á Iµ i⌠ find≤ it¼á wσ arσ iε anothe≥ ì
VMEN╒á 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δ ì
(SHCTR╠á PO╨á command)¼á VMEN╒á wil∞ reinvokσá afte≥á i⌠á i≤ ì
complete.
Unde≥á thσ ┬ option¼á wσ wil∞ ruε VMEN╒ nex⌠ anΣ simpl∙ ì
exi⌠ iµ ß MENU.VM╬ filσ i≤ no⌠ found.
VMEN╒á interact≤á heavil∙ witΦ thσ ZCPR│á Systeφá File≤ ì
whicΦá arσá defineΣá a≤á ß par⌠á oµá thσá ZCPR│á Environmen⌠ ì
Descriptor«á Therσ arσ fou≥ Systeφ Files¼ anΣ threσ oµ theφ ì
are used by VMENU for various purposes:
File Purpose
2 Name of Current File
3 Name of Menu File
4 Name (containing wild cards) used to
Select Files for VMENU File Display
Systeφá Filσá ▓ contain≤ thσ namσ oµ thσ curren⌠á VMEN╒ ì
file«á B∙á changinτ thi≤ name¼á ß transien⌠ caεá causσá thσ ì
pointe≥á oµ VMEN╒ t∩ poin⌠ t∩ somσ othe≥ filσ wheε VMEN╒á i≤ ì
reinvoked.
Systeφá Filσ │ contain≤ thσ namσ oµ thσ men⌡ filσ whicΦ ì
VMEN╒ i≤ usinτ t∩ derivσ men⌡ display≤ anΣ commanΣ from« B∙ ì
changinτ thi≤ entry¼á ß transien⌠ caε selec⌠ differen⌠á men⌡ ì
files dynamically.
Systeφá Filσ ┤ i≤ useΣ t∩ indicatσ whicΦ file≤ (sucΦ a≤ ì
*.TX╘á o≥ *.*⌐ arσ selecteΣ fo≥ displa∙ b∙ VMEN╒ wheε i⌠á i≤ ì
invoked«á B∙á changinτ thi≤ entry¼á thσ naturσ oµ thσá filσ ì
display can be changed dynamically.
:E
VMENU Error Messages
Iε orde≥ t∩ makσ VMEN╒ a≤ smal∞ a≤ possible¼á thσ erro≥ ì
message≤ havσ beeε reduceΣ t∩ ß minimum«á VMEN╒ provide≤á ß ì
minimuφ indicatioε tha⌠ somethinτ i≤ wronτ anΣ aborts.
Thσá prograφá VMENUC╦á i≤á designeΣ t∩á tel∞á yo⌡á morσ ì
specificall∙á wha⌠á i≤ wrong«á VMENUC╦ i≤á ßá *.VM╬á Synta° ì
Checker¼ anΣ i⌠ look≤ fo≥ al∞ sort≤ oµ erro≥ condition≤ tha⌠ ì
caε occu≥ iε ß *.VM╬ file.
VMEN╒ 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 Size Shell Stack Entries are too
short for VMENU cmd line
File x.typ Not
Found Menu File Not Found
TPA Full Memory is Full
<Bell> User Command is in Error
Structure Error *.VMN File Structure Error
:2
Command: VMENUCK 1.0
Syntax:
VMENUCK dir:ufn <-- default file type is VMN
Function:
VMENUC╦ i≤ useΣ t∩ checδ thσ synta° oµ ß *.VM╬ filσ fo≥ ì
thσá ZCPR│ Men⌡ Shell¼á VMENU«á VMEN╒ i≤ optimizeΣ fo≥ sizσ ì
anΣ speed¼á and¼á iε deepinτ i⌠ small¼á built-iε diagnostic≤ ì
werσ reduceΣ t∩ thσ minimum« VMENUC╦ i≤ intendeΣ t∩ bσ useΣ ì
t∩á analyzσ *.VM╬ file≤ anΣ providσ informativσá diagnostic≤ ì
oε an∙ syntactica∞ error≤ witΦ them.
Options:
None
Comments:
VMENUC╦ check≤ t∩ seσ iµ thσ sizσ oµ thσ *.VM╬ filσá i≤ ì
to∩ largσ fo≥ thσ TP┴ availablσ t∩ thσ VMEN╒ command«á Thi≤ ì
i≤ aε additiona∞ checδ beyonΣ thσ norma∞ synta° check.
VMENUC╦á identifie≤á thσá locatioε oµá error≤á b∙á linσ ì
number« Thσ firs⌠ linσ iε thσ filσ i≤ linσ numbe≥ 1.
Selected Error Messages:
Self-Explanatory.
Examples of Use:
VMENUCK MYMENU
-- perform check on MYMENU.VMN