Y~MENU VMN.5VMENU14 OBJ?1|VMNUFUN DOC, The following examples should explain how my MENU.VMN file functions and hopefully give you some ideas of your own. The MENU.VMN file contains three operating menus and one master selection menu. The master selection menu is shown below with comments added. -x * Global option (x) allows the user to exit to ZCPR3 from * all menus. # * Denotes start of Menu Text. >>> MAIN MENU <<< 1 - Select File Utility Menu 2 - Select Directory Functions Menu 3 - Select Systems Function Menu ( '+' and '-' Scroll File Display ) # * Denotes end of Menu Text and start of commands. 1:2 * Selection (1) chains to the second menu in the MENU.VMN 2:3 * file. In this case it's the File Utility Menu. Selection 3:4 * (2) chains to the third menu and so on. This menu is primarily just a starting point to allow the user to decide which of the three menus they want to work with. The File Utility Menu will be shown next and its functions explained. The File Utility Menu makes use of most of the VMENU variables, which can be found in the VMENU.HLP file. # * Denotes start of Menu Text. >>> FILE UTILITY MENU <<< E - Edit Working File T - Type Working File D - Delete Working File A - Assemble Working File M - Mload Working File L - Load Working File C - Copy Working File Z - Run a COM file 1 - Select Directory Function Menu 2 - Select System Function Menu ( '+' and '-' Scroll File Display ) # * Denotes end of Menu Text and start of commands 1:3 * Chain to the Directory Function Menu. 2:4 * Chain to the System Function Menu. eedit $PF * The lower case (e) represents the (E) selection on * the menu. EDIT is actually VDO a small memory based * text editor. You can substitute the name of your * favorite text editor for EDIT. The $PF is a VMENU * variable that represents the filename and extention * of the file pointed to by VMENU. t!type $PF * The lower case (t) represents the (T) selection on * the menu. The (!) tells VMENU to pause after the * TYPE command has been executed. This gives the * user time to read the file before VMENU clears the * screen and refreshes the display. The TYPE command * can be either a resident command or transient * program. dera $PF I * This is the resident ERA command with the (I)nquire * option enabled (for those times when your fingers * take on a mind of their own). amac $PN $$szpz * The lower case (a) corrisponds to the (A) menu * choice. MAC is the Digital Research Macro Assembler * The $PN is another VMENU variable that represents * just the filename, minus the extention, of the * file VMENU is pointing to. The $$szpz are options * for the MAC assembler. m!mload $PN * Again the lower case (m) corrisponds to the (M) * menu choice. The (!) tells VMENU to pause upon * completion of the operation. MLOAD is a public * domain program, written by Ron Fowler, used to * load the various SYS files in the ZCPR3 system. * The $PN is a VMENU variable representing just the * filename of the current VMENU file. l!load $PN * This command is identical to the above except it * uses the LOAD program that was supplied with your * CP/M utilities. ccp "Enter Destination --> ":="Enter Source --> ":$PF * The lower case (c) is the menu choice. The CP * is the resident copy command. The items enclosed * in quotes will appear as prompts to the user. * Note the spacing, which is necessary in order for * the CP command to work properly, and the trailing * (:) colon. The $PF represents the filename and * extention of the file VMENU is pointing to. z!$PN * This option allows the user to run any .COM file * that VMENU is pointing to. This option could be * changed to allow the user access to the ZCPR3 * command prompt. For an example of how this is * done look at the System Function Menu. This menu program allows me to do most of the tasks that I normally do from the system prompt. The advantage of using VMENU is that it integrates these tasks and allows the user to concentrate on the job at hand instead of worrying about command syntax. If you haven't used VMENU before, I encourage you to try it. The MENU.VMN file that I've included in this library is just to demonstrate some of the ways that VMENU can be used. There are a lot of possible applications for this Z3 shell. Let your imagination guide you. Roger Suydam La Grande, OR (NOTE) In the remaining two menus the (cls) is a resident Clear Screen command. If you RCP does not have a clear screen command just remove it and the menu should work fine.  Screen command. If you RCP does not have a clear screen command just remove it and the menu should w-x # >>> MAIN MENU <<< 1 - Select File Utility Menu 2 - Select Drectory Functions Menu 3 - Select Systems Function Menu ( '+' and '-' Scroll File Display ) # 1:2 2:3 3:4 # >>> FILE UTILITY MENU <<< E - Edit Working File T - Type Working File D - Delete Working File A - Assemble Working File M - Mload Working File L - Load Working File C - Copy Working File Z - Run a COM File 1 - Select Directory Function Menu 2 - Select System Function Menu ( '+' and '-' Scroll Files Display ) # 1:3 2:4 eedit $PF t!type $PF dera $PF I amac $PN $$szpz m!mload $PN l!load $PN ccp "Enter Destination --> ":="Enter Source --> ":$PF z!$PN # >>> DIRECTORY FUNCTIONS <<< D - Display Current Directory P - Display Named Directories C - Change Logged Directory M - Add New Named Directory L - Load New Named Directory S - Run Cleandir 1 - Select File Utility Menu 2 - Select Systems Function Menu ( '+' and '-' Scroll Files Display ) # 1:2 2:4 d!cls;dir p!cls;pwd c"Enter New Directory --> ": mmkdir lldr "Enter New .NDR File --> " scleandir # >>> SYSTEM FUNCTIONS <<< M - Invoke MU3 Memory Utility D - Invoke DU3 Disk Utility P - Set New Search Path S - Show System Status C - Change Logged Directory Z - ZCPR3 Command 1 - Select File Utility Menu 2 - Select Directory Function Menu ( '+' and '-' Scroll Files Display ) # 1:2 2:3 m!mu3 p!cls;path "Enter New Path --> " c"Enter New Directory --> ": ddu3 sshow z!"ZCPR3:COMMAND>" ##  ) # 1:2 2:3 m!mu3 p!cls;path "Enter New Pa Z3ENV* ͂ͦ!9"F+C( #s!s v !} m !] !}  /!   >͑>͑ Shell Installed  Shell Stack Full Shell Entry SizeͧX|F >pͭ$$k $t$ ͍*gNo Shell StackNo Cmd LineVMENU> >a}O|Gq#p# #^#w~;ʙap[X#F[%> Ϳ>ͦ!"*""*8"ů2 ~ ~ >2 !"*"~(6 (886 *}oF8|!g$"~("!"*""*!> * ù Invld Cmd: x Ҧ>^ͦx@æͺx2y2j"6"""*~~#*"2:͎*!} ] * 6#""62h2|\/<=Ɓo&* "\< *"6*" "**  0 Nwy#* "* * ""* #G!~!~ȸ(####~#fo7 7 +k-! !"**("P"" **(!P3*(8P!"**(* ͞* * ͍*"* "ͳ** ͖*"*"**8 >*,*(-8+"*$"*,*(8͞*E!"*"*}(* "*"͕_6 # [0!(#7,:;<=>~(>.ͦ~ͦ# No File  #~#z{|g}o͟!VMENU, Version 1.4  [Z80 Code]!ͺxAͦy">:͕ͦ(~!8ͦ# Noname:!>[More Files]!"*" *"ͳ*}F0o"|!g"$!*(}( o"{9o%"!D*$|0"}!o"*"*" 9ͳZ *"*"- %Command (CR=Menu:w*~%ă:ġ) - , ^C=Z3, *=1st Menu, <=Prev Menu, >=Next Menu͍*"**ʍ> ͦ͹"ͳ*-->* Working ...>2!2!%Ͳ9!5Ͳ!!|͑Strike Any Key -- É*# ͕̀($ File *#͹ Not Foundl* $*| 0 TPA Full622l~w# ~ʽ # w#~#(ʽ ͨ (ʽ ͨ (ʽ l~-L #~_# (X½ >22#~#½ "6&.*|9 "#~_# (X½ :/2ͱ H2~#( ` ͱ "2~ʽ # #~#>2ͱ 9>2͉: *~%(x* *͑:(x.(> |<͑~%(x,(< |=͑*~_#ȸ(ͱ xͦ|͑#~:# ! |͑# DM>o|g}|_( ( "( w#6["( (ͦ>* [(# w#s#r6 2 " * ͕ ʝ ʉ < ʾ w f l D 6 w # [ w# 6* ~ ~ b b #N y ͣ l 6 #6 #: [ +~  ͣ +: >ͦ> ͦ>ͦ6 ># þ * z{>ͦG: x æ h>#ͦ[6yG>GO: > ͦ #R=29 :͑G*ͨ ʽ ͨ ʽ #~#ʽ +f [:(E~#((() ( (ͦ#:=2> ͦx Mxͱ ~#~#  Structure Error!6*~ #$ ~#$(_D(#U()F(?N(SP(yT(\#~ #*ͺxAͺy 08 0Gyx: )>.- : ) : >o|g- ~_F( N(T(( #*)>.- #*) #*- ~!~ File Name? *>*;! Gx( ~ (#~180#+#~~08 0 #OxGx*$.VMENU ???????????MENU VMN :> 2=xx2=*=T9"=:=2=@ !!@Ns#FrͦV#^#~#ͦMx*~!!V###~!'=*~!IV#uu~I'=*~!tuuu~t'=*~!ڢuuuu~ʢ'=*~!uuuuu~'*~!~2&##u~:&>=%-2$2%%-\%ͦͦdʽ2ʷ3ʞ.ʕ+ʀ>mrei]ͦ>2%>2$O|Gͦ:$2$ͦÊd 0ͦÊèd ì:$:%:%O:$ia0z0y!zͦ~:#\4~#ͦ'z>O_*~+~U>Gd Vld n~#\u#u"~""=4NŸ~ʜµ#~+µ##= ß2^1ѯ2_:*~#p*a:`2^>2a1\1a_:2`!ZjQ:2]"~J#?"\_l222ͺy2~2_:»2#:^ʒ&ʢ̓ʢ:^¢&:7ѯ2~2_:_ .# ::~!#=:* >?#?#!4.ʷ##G~AS@Ҁ2#~ %~ m%#V~ @O Ҁ2=͋Nʷ#ʷ©#žʺ Ó=22~# +~!=_.:,<>ȷ;ɯ~#%"Wy"""""Oy70 /?7ɯ7 > JͺyJ~#QCOM !VMgʾO~X6yʹ w#­ã>>_.~#>_~6_xK+xw+  _w#!>>>1###~>aa1w1###w1 xo|g~1 xo|gw|"^#V|~7*~^#V*~/F##x_*~.~*~$~#fo|*~*~R*~,~*~"~#fo*~-~*~^#V#~ѷgXG*~^#V#~#Fѷ"~!w ¨>騨â2" *#~#o|g6:~_w#+~#d: :0ͦD <_yQQ{y0ͦ{> ͦ> ͦ Ҧʦʦʦ ʦ ʦ>^ͦ@ͦ*. O*.  OG~_w#HWH Wr# x~#+>+~#+>/+O !VR#Hy  a{_*x}v$.z