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
/
CPM
/
CCP
/
EPEX11.ARK
/
EPEX.MAN
< prev
next >
Wrap
Text File
|
1986-04-29
|
83KB
|
3,361 lines
EPEX v1.1 (c) 1986 James H. Whorton
##############################################################
# #
# EEEEEEEEEEE EEEEEEEEEEE EEEEEEEEEEE EEE EEE #
# EEE EEE EE EEE EEE EEE #
# EEE EEE EE EEE EEE EEE #
# EEE EEE EE EEE EEE EEE #
# EEEEEEE EEEEEEEEEEE EEEEEEE EEEEE #
# EEE EEE EEE EEE EEE #
# EEE EEE EEE EEE EEE #
# EEE EEE EEE EEE EEE #
# EEEEEEEEEEE EEE EEEEEEEEEEE EEE EEE #
# #
##############################################################
Environmental Processing EXecutive
Revision 1.1
Copyright (c) 1986 James H. Whorton
All rights reserved
1
EPEX v1.1 (c) 1986 James H. Whorton
[Disclaimer]
Thi≤á manua∞á anΣá accompanyinτá softwarσá i≤á provideΣáá withou⌠ ì
warrant∙ oµ an∙ kind« Thσ author¼ Jame≤ H« Whorton¼ disclaim≤ an∙ ì
implieΣáá warrantie≤á oµá merchantabilit∙á o≥á fitnes≤á fo≥áá an∙ ì
particula≥ purpose«á Jame≤ H«á Whortoε furthe≥ reserve≤ thσ righ⌠ ì
t∩á makσá change≤ t∩ thi≤ documen⌠ anΣ thσ accompanyinτá softwarσ ì
withou⌠á obligatioεá t∩á notif∙ an∙ persoε o≥á busines≤á oµá sucΦ ì
revision«á Iεá n∩ even⌠ wil∞ Jame≤ H«á Whortoε bσ liablσ fo≥á an∙ ì
damage≤ resultinτ froφ usσ oµ thi≤ software.
[Licensinτ/Distribution Agreement]
Thσ use≥ oµ thi≤ software¼ o≥ an∙ persoε o≥ busines≤ possessinτ ß ì
cop∙ thereof¼ i≤ authorizeΣ t∩ utilizσ i⌠ iε an∙ compute≥ tha⌠ hσ ì
own≤ o≥ tha⌠ i≤ unde≥ hi≤ control«
Thi≤á softwarσá ma∙á bσá distributeΣá onl∙á unde≥á thσá followinτ ì
conditions:
1.á Thσ entirσ distributioε packagσ (a≤ outlineΣ below⌐ mus⌠á bσ ì
ááááásupplied¼ eithe≥ iε .LB╥ filσ format¼ o≥ a≤ discretσ files.
Thσ distributioε se⌠ shoulΣ contaiε thσ followinτ file≤ (no⌠ ì
ááááánecessaril∙ iε thi≤ order):
EPEX.OBJ
EPEX.MAN
EPEXAD.TXT
CHECKENV.OBJ
EPEXSH1.DAT
EPEXSH2.DAT
*README.NOT
ALIAS.OBJ
CLS.OBJ
CMD.OBJ
CP.OBJ
DIR.OBJ
ERA.OBJ
LIST.OBJ
MKALIAS.OBJ
MKDIR.OBJ
MKMENU.OBJ
PWD.OBJ
QUIET.OBJ
REN.OBJ
SECURE.OBJ
TYPE.OBJ
2
EPEX v1.1 (c) 1986 James H. Whorton
(Notσ tha⌠ somσ oµ thesσ file≤ ma∙ bσ SQueezeΣ anΣ wil∞ neeΣ t∩ ì
bσ UNSQueezeΣ usinτ somethinτ oikσ SWEE╨ o≥ LSWEE╨ o≥ USQ« JHW)
2.ááThi≤á distributioε packagσ ma∙ no⌠ bσ distributeΣá witΦá an∙ ì
ááááácommercia∞áá software¼áá hardwarσá o≥á an∙á othe≥á ShareWarσ ì
ááááápackage¼á o≥á fo≥ profi⌠ oµ an∙ kind¼á withou⌠á thσá expres≤ ì
áááááwritteε consen⌠ oµ Jame≤ H« Whorton.
3. N∩á copyrigh⌠á o≥á othe≥ ownershi≡ noticσá ma∙á bσá altered¼ ì
ááááádeleted or caused not to be displayed.
4. Thi≤á distributioε packagσ ma∙ NO╘ bσ distributeΣ iε altereΣ ì
áááááo≥ modifieΣ form¼ exceptinτ ne≈ release≤ madσ b∙ thσ author¼ ì
áááááJame≤ H« Whorton.
Thσ use≥ oµ thi≤ software¼ o≥ an∙ persoε o≥ busines≤ possessinτ ß ì
cop∙ thereof¼ i≤ furthe≥ authorizeΣ t∩ makσ a≤ man∙ backu≡ copie≤ ì
oµ thi≤ softwarσ a≤ desired¼á provideΣ tha⌠ thσ abovσá condition≤ ì
arσ no⌠ violated.
Installatioεá and/o≥ usagσ oµ thi≤ softwarσ implie≤ tha⌠ thσ use≥ ì
o≥ possesso≥ agree≤ t∩ thσ term≤ anΣ condition≤ stateΣ herein.
3
EPEX v1.1 (c) 1986 James H. Whorton
[Contributions]
Thi≤ softwarσ i≤ beinτ distributeΣ unde≥ thσ ShareWarσ concept« ì
Iµá yo⌡á finΣá thi≤á softwarσ useful¼á ßá 15.0░á contributioεá i≤ ì
requested¼á t∩á hel≡á suppor⌠á furthe≥ worδá oεá thi≤á anΣá othe≥ ì
softwarσ tha⌠ ╔ currentl∙ havσ unde≥ development«á Upoε receivinτ ì
you≥á contribution¼á yo⌡á wil∞ becomσ ß RegistereΣ Use≥á oµá thi≤ ì
software«á Yo⌡ wil∞ theε bσ entitleΣ t∩ receivσ direc⌠ notice≤ oµ ì
majo≥á revisions/release≤á oµ thi≤ software¼á a≤ wel∞á a≤á direc⌠ ì
phonσ support¼ iε casσ yo⌡ ruε int∩ problems.
Iµ yo⌡ wisΦ t∩ makσ ß contribution¼á enclosσ 15.0░ iε checδá o≥ ì
mone∙ orde≥ anΣ senΣ i⌠ to:
James H. Whorton
715 N. Mt. Carmel
Wichita, KS 67203
Yo⌡á wil∞á bσá sen⌠á ßá notificatioεá oµá you≥á registratioεá anΣ ì
thereafte≥á wil∞ receivσ notice≤ wheneve≥ majo≥ revisions/update≤ ì
are released.
[Copyrights]
CP/M is a trademark of Digital Research
Z80 is a trademark of Zilog
8080 and 8085 are trademarks of Intel
Wordstar is a trademark of MicroPro
4
EPEX v1.1 (c) 1986 James H. Whorton
TABLE OF CONTENTS
Section Page
1. Introduction.................................. 6
2. Installation.................................. 7
3. Starting up................................... 9
4. Usage......................................... 10
5. Command Descriptions.......................... 11
6. Programming................................... 43
Appendix A: Suggestions/Comments................. 47
Appendix B: Command Reference Chart.............. 49
Appendix C: Contacting the Author................ 50
Appendix D: Index................................ 51
5
EPEX v1.1 (c) 1986 James H. Whorton
1. Introduction
Aεá environmen⌠á i≤ ß se⌠ oµ externa∞ condition≤á tha⌠á certaiε ì
object≤á arσ surroundeΣ anΣ affecteΣ by«á Thσ object≤ ma∙á diffe≥ ì
greatl∙á iε size¼á purposσ anΣ composition«á Thσ designinτ oµá aε ì
environment¼á therefore¼á depend≤á t∩ ß grea⌠ exten⌠ oε wha⌠á thσ ì
environmen⌠ i≤ beinτ designeΣ around«á Often¼ however¼ therσ i≤ ß ì
neeΣ fo≥ flexibility« Thi≤ i≤ particularl∙ truσ wheε dealinτ witΦ ì
computers¼ anΣ especiall∙ software« N∩ tw∩ program≤ arσ precisel∙ ì
alikσá (iµ the∙ are¼á theε the∙ arσ onl∙ onσ prograφ duplicated!⌐ ì
anΣá n∩á tw∩á user≤á o≥ programmer≤á arσá either«á S∩á thσá idea∞ ì
environmen⌠ woulΣ bσ onσ tha⌠ caε bσ easil∙ modifieΣ t∩ sui⌠á thσ ì
user≤á preference≤ anΣ needs¼á whilσ providinτ enougΦ powe≥ t∩ bσ ì
useful«á Portabilit∙ i≤ als∩ important« Iµ ß use≥ ha≤ tw∩ o≥ morσ ì
system≤ tha⌠ hσ work≤ on¼ thσ degreσ oµ portabilit∙ caε determinσ ì
ho≈á mucΦá timσ i≤ spen⌠ iε compensatinτ fo≥ thσá difference≤á iε ì
eacΦ environment«á Ho≈ mucΦ bette≥ t∩ havσ thσ samσá capabilitie≤ ì
implementeΣá oε eacΦ system«á Theε i⌠ i≤ u≡ t∩ thσ use≥ t∩á shapσ ì
thσ resultinτ system« Thσ use≥ control≤ hi≤ environment¼ no⌠ vicσ ì
versa.
EPE╪á (Environmenta∞á Processinτá EXecutive⌐á i≤á jus⌠á sucΦá ß ì
system«á I⌠ i≤ designeΣ t∩ bσ ß powerful¼ flexiblσ enhancemen⌠ t∩ ì
ß CP/═ 2.▓ computer«á Al∞ thσ softwarσ tha⌠ comprise≤ thσ systeφ ì
i≤ writteε iε 808░ code«á Thi≤ mean≤ tha⌠ EPE╪ caε bσ useΣ oε an∙ ì
compute≥á (runninτá CP/═á 2.2⌐ tha⌠ ha≤á aεá 8080¼á 808╡á o≥á Z8░ ì
processor.
EPE╪á feature≤ extendeΣ batcΦ processinτ includinτ IF/ELSE/END¼ ì
GOTO¼á secure/opeε operatinτ modes¼ nameΣ directorie≤ (drive/use≥ ì
areas)¼á multiplσ command-lineÉ input/execution¼á aliases¼á systeφ ì
contro∞á froφ user-writteε men⌡ files¼á environmenta∞ strinτá anΣ ì
numeriπá variables¼á ful∞ compatibilit∙ witΦ CP/═á 2.▓á software¼ ì
uncomplicateΣáá acces≤á t∩á environmen⌠á function≤á anΣáá contro∞ ì
structures¼ etc.
Oεá mos⌠ systems¼á EPE╪ caε bσ ruε "ou⌠ oµ thσ boxó withou⌠ an∙ ì
installatioε required«á AnΣ an∙ prograφ writteε iε 808░ code¼á o≥ ì
b∙á ß compile≥ tha⌠ produce≤ 808░ code¼á tha⌠ use≤ EPE╪á service≤ ì
anΣá contro∞ structure≤ wil∞ ruε exactl∙ thσ samσá regardles≤á oµ ì
thσá compute≥á (excludinτá hardwarσá specifiπá functions)«áá Truσ ì
portabilit∙ i≤ achieved.
╔ hopσ tha⌠ yo⌡ enjo∙ usinτ thi≤ softwarσ anΣ tha⌠ i⌠ prove≤ oµ ì
benefi⌠ t∩ you«á Suggestion≤ anΣ comment≤ arσ encouraged«á ╔ wan⌠ ì
you≥á inputíá Appendi° ┴ contain≤ ß Suggestion/Commen⌠ forφá tha⌠ ì
ma∙ bσ used¼ o≥ yo⌡ caε contac⌠ mσ viß modem.
Al∞á inpu⌠á wil∞ bσ carefull∙ reaΣ anΣ considered«á Replie≤á t∩ ì
problems¼á questions¼á etc«á wil∞ bσ madσ a≤ quickl∙ a≤ possible« ì
Suggestion≤á tha⌠ arσ considereΣ worthwhilσ anΣ feasiblσ wil∞á bσ ì
includeΣ iε futurσ versions.
6
EPEX v1.1 (c) 1986 James H. Whorton
2. Installation
Thσá licensinτ agreemen⌠ fo≥ thi≤ softwarσ specificall∙á state≤ ì
tha⌠á thσ use≥ ma∙ makσ backu≡ copies«á D╧ SO!íá Thi≤á canno⌠á bσ ì
stresseΣá enough«á Magnetiπ storagσ device≤ caε anΣ d∩ fail«á Thσ ì
pruden⌠á use≥ make≤ provisioε s∩ tha⌠ iµ thi≤ occur≤ i⌠ i≤ no⌠á ß ì
catastrophiπ event.
S∩ thσ firs⌠ ste≡ shoulΣ bσ t∩ placσ thσ distributioε .LB╥ filσ ì
oε ß diskettσ anΣ pu⌠ i⌠ away¼á iε casσ yo⌡ neeΣ i⌠á again«á Als∩ ì
placσá ßá cop∙á oεá ß worδ diskette«á Thi≤ i≤á wha⌠á wσá wil∞á bσ ì
referring to from here on.
Thσá distributioε se⌠ shoulΣ contaiε thσ followinτá file≤á (no⌠ ì
necessaril∙ iε thi≤ order):
EPEX.OBJ
EPEX.MAN
EPEXAD.TXT
CHECKENV.OBJ
EPEXSH1.DAT
EPEXSH2.DAT
*README.NOT
ALIAS.OBJ
CLS.OBJ
CMD.OBJ
CP.OBJ
DIR.OBJ
ERA.OBJ
LIST.OBJ
MKALIAS.OBJ
MKDIR.OBJ
MKMENU.OBJ
PWD.OBJ
QUIET.OBJ
REN.OBJ
SECURE.OBJ
TYPE.OBJ
(Notσ tha⌠ somσ oµ thesσ file≤ ma∙ bσ SQueezeΣ anΣ wil∞ neeΣ t∩ ì
bσ UNSQueezeΣ usinτ somethinτ likσ SWEE╨ o≥ LSWEE╨ o≥ USQ« JHW)
Thσá filσá README.NO╘á wil∞á contaiεá an∙á addendßá iµá needed¼ ì
otherwisσá i⌠á wil∞ sa∙ nothing«á Iµ an∙ oµ thesσ file≤á arσá no⌠ ì
presen⌠á iε thσ distributioε package¼á pleasσ contac⌠ thσá autho≥ ì
vißá onσ oµ thσ method≤ describeΣ a⌠ thσ enΣ oµ thi≤á manual¼á a≤ ì
yo⌡ havσ gotteε aholΣ oµ aε unauthorizeΣ distributioε package.
No≈ wσ neeΣ t∩ construc⌠ ß workinτ systeφ disk« Extrac⌠ al∞ thσ ì
file≤á froφ thσ librar∙ file¼á iµ necassary¼á anΣ placσ theφ ont∩ ì
thσá flopp∙ o≥ harΣ disδ tha⌠ yo⌡ wil∞ bσ workinτá with«á Renamσ ì
al∞á thσ .OB╩ file≤ t∩ .CO═ files«á Iµ usinτ ß flopp∙ disδá baseΣ ì
system¼á placσ ß cop∙ oµ thσ CP/═ operatinτ systeφ oεá it¼á usinτ ì
SYSGE╬áá o≥á othe≥á supplieΣá utilities«áá You≥á compute≥á systeφ ì
documentatioεá shoulΣá bσ referreΣ t∩ fo≥á instruction≤á oεá thi≤ ìè
7
EPEX v1.1 (c) 1986 James H. Whorton
procedure«á Oncσ CP/═ ha≤ beeε placeΣ oε it¼ thσ disδ i≤ read∙ t∩ ì
boot.
NOTE║á Wheneve≥á EPE╪á i≤ t∩ bσ ruε up¼á therσ mus⌠ bσá N╧á othe≥ ì
enhancement≤ residinτ iε thσ system¼á othe≥ thaε thosσá furnisheΣ ì
b∙ you≥ compute≥ manufacturer« Program≤ sucΦ a≤ QWIKKEY¼ UNSPOOL¼ ì
etc«á mus⌠ bσ ruε u≡ AFTE╥ EPE╪ i≤ resident« No⌠ al∞ oµ thesσ anΣ ì
othe≥ enhancemen⌠ program≤ wil∞ ruε properl∙ witΦ EPE╪ installed« ì
Iεá thesσá case≤ i⌠ ma∙ bσ necessar∙ t∩ EXI╘á EPEX¼á d∩á whateve≥ ì
processinτá i≤á needeΣ usinτ thσ enhancement¼á theε reboo⌠á EPEX« ì
Thi≤á caε bσ easil∙ donσ usinτ ß .SU┬ file«á Seσ thσá Programminτ ì
sectioε fo≥ details.
T∩á initializσá thσ EPE╪á environment¼á simpl∙á ruεá EPEX«á Thσ ì
environmen⌠á wil∞ instal∞ itself«á Wheε ruε up¼á thσá environmen⌠ ì
trie≤ t∩ executσ ß prograφ calleΣ ESTART.COM«á Thi≤ i≤ normall∙ ß ì
use≥á createΣá alia≤á filσá tha⌠á doe≤á an∙á use≥á initializatioε ì
desired« AnΣ tha⌠ i≤ jus⌠ abou⌠ al∞ therσ i≤ t∩ installinτ EPEX.
Fou≥ oµ thσ utilitie≤ supplied¼á CLS.COM¼á DIR.COM¼ ERA.CO═ anΣ ì
PWD.COM¼áá havσáá provision≤áá fo≥á customizinτá t∩áá thσáá user≤ ì
environment«á Thσá detail≤ oε ho≈ t∩ d∩ thi≤ ma∙ bσ founΣ oεá thσ ì
appropriatσ CommanΣ Descriptioε page.
IF...fo≥á somσá reasoε EPE╪ wil∞ no⌠ ruεá up¼á g∩á througΦá thσ ì
followinτ checklist.
1«á D∩á yo⌡á havσ EPEXSH1.DA╘ anΣ EPEXSH2.DA╘ iεá you≥á defaul⌠ ì
drive/use≥ area┐ Iµ not¼ placσ theφ therσ anΣ tr∙ again.
2«á I≤ you≥ CC╨ oµ ß non-standarΣ size┐ Thσ norma∞ CP/═ 2.▓ CC╨ ì
sizσ i≤ 1╢ sector≤ (2k)«á Ruε CHECKENV.COM«á Iµ i⌠ tell≤ yo⌡ tha⌠ ì
yo⌡á havσá ß non-standarΣ systeφ anΣ tha⌠ EPE╪ wil∞á no⌠á instal∞ ì
properly¼ senΣ thσ result≤ o≥ ß cop∙ thereoµ t∩ thσ author¼ usinτ ì
thσá Suggestion/Commen⌠ Forφ iµ possible«á Bσ surσ t∩ includσ al∞ ì
thσá detail≤ tha⌠ yo⌡ can«á (Yo⌡ caε als∩ contac⌠ thσ autho≥á viß ì
modem¼ seσ Appendi° ├ fo≥ details)
8
EPEX v1.1 (c) 1986 James H. Whorton
3. Starting up
EPE╪ i≤ aε easy-to-use¼á ye⌠ powerfu∞ operatinτ environment« A≤ ì
distributed¼ tw∩ command≤ arσ immediatel∙ executeΣ eacΦ timσ EPE╪ ì
i≤á ruεá up«á First¼á PAT╚ A0║á i≤ executeΣ t∩á se⌠á thσá defaul⌠ ì
command-searcΦ path«á Thi≤ patΦ ma∙ bσ changeΣ a⌠ an∙ timσ b∙ thσ ì
user«á Theε thσ commanΣ processo≥ attempt≤ t∩ executσ ESTART.COM« ì
Thi≤ i≤ donσ s∩ tha⌠ thσ use≥ caε creatσ ß filσ calleΣ ESTART.CO═ ì
tha⌠á wil∞á perforφá an∙á customized¼áá requireΣá initialization« ì
ESTART.CO═á i≤á normall∙á aε alia≤ file¼á tha⌠ is¼á ßá filσá tha⌠ ì
contain≤á onσá o≥ morσ command≤ t∩ bσá executed«á (Seσá ALIA╙á iε ì
CommanΣ Descriptioε section)
Thi≤ manua∞ shoulΣ bσ consulteΣ firs⌠ wheneve≥ question≤ arise« ì
Iεá addition¼á mos⌠á oµá thσ externa∞ (.CO═ file⌐á command≤á havσ ì
built-iεá hel≡ tha⌠ caε bσ displayeΣ b∙ typinτá command-name<CR>« ì
Thσá Programminτá sectioε contain≤ informatioεá oµá interes⌠á anΣ ì
usefulnes≤á t∩ al∞ users¼á no⌠ jus⌠ programmers«á Iε fact¼á ever∙ ì
timσá tha⌠á yo⌡á typσ ß command-linσá anΣá hi⌠á RETURN¼á yo⌡á arσ ì
programminτ thσ environmen⌠ t∩ executσ ß se⌠ oµ task≤ fo≥ you« Iε ì
thi≤ sense¼á ever∙ use≥ oµ thi≤ systeφ i≤ ß programmer«á Note≤ oε ì
genera∞ usagσ arσ giveε iε thσ followinτ section.
9
EPEX v1.1 (c) 1986 James H. Whorton
4. Usage
Thi≤ sectioε i≤ designeΣ t∩ cove≥ usagσ oµ thσ EPE╪ systeφ froφ ì
ßá genera∞ application≤ standpoint«á Fo≥ informatioε oε thσá morσ ì
technica∞ aspects¼ refe≥ t∩ thσ Programminτ section.
Disδá storagσ unde≥ CP/═ i≤ organizeΣ b∙ drivσ anΣ use≥á areas« ì
Unde≥á EPEX¼á eacΦ drive/use≥ areß i≤ referreΣ t∩ a≤ ß directory« ì
Somσ example≤ oµ directorie≤ arσ A0║ (drivσ ┴ use≥ 0)¼ B7║ (drivσ ì
┬ use≥ 7⌐ anΣ C14║á (drivσ ├ use≥ 14)«á Directorie≤ ma∙ bσá nameΣ ì
fo≥á ßá morσ coheren⌠ atmosphere«á ┴ director∙ ma∙ bσ assigneΣá ß ì
namσ u≡ t∩ ╕ alphanumeriπ character≤ long«á Wheε EPE╪ i≤á booted¼ ì
thσá onl∙á director∙ nameΣ i≤ A0:¼á whicΦ i≤ nameΣá ROOT:«á Note║ ì
Director∙ reference≤ arσ normall∙ showε a≤ NAME:.
Wheneve≥á ß commanΣ refer≤ t∩ ß filespeπá (filσá specification⌐ ì
tha⌠áá filespeπá ma∙á includσá ßá director∙áá reference¼áá eithe≥ ì
drive/use≥ o≥ b∙ name«á S∩ A0║á i≤ thσ samσ a≤ ROOT:«á Thσ memor∙ ì
residen⌠á director∙ definition≤ ma∙ bσ replaceΣ a⌠ an∙ timσ usinτ ì
thσ MKDI╥ command« Seσ CommanΣ Description≤ fo≥ details.
Multiplσá command-line≤á ma∙á bσá entereΣá b∙á separatinτá eacΦ ì
logica∞ command-lineÉ witΦ ß semicoloε (;).
Example║ ECH╧ LOGGIN╟ DIRECTOR┘ B0:;B0:;DIR
Thi≤ examplσ command-linσ woulΣ firs⌠ tel∞ thσ use≥ tha⌠ i⌠ wa≤ ì
logginτ iε ß ne≈ directory¼á theε i⌠ woulΣ loτ thσ directory¼ anΣ ì
finall∙ displa∙ ß lis⌠ oµ file≤ iε thσ directory.
Eveεá thougΦ mos⌠ CP/═ softwarσ tha⌠ yo⌡ ruε unde≥ thi≤á systeφ ì
doe≤á no⌠ "knowó abou⌠ thσ environment¼á somσ program≤ caεá stil∞ ì
utilizσá i⌠ iε ß limited¼á unknowinτ way«á Aε examplσ oµ thi≤á i≤ ì
director∙ references«á Wheε EPE╪ parse≤ ß director∙ reference¼ i⌠ ì
construct≤á thσ defaul⌠ FCB'≤ (Filσ Contro∞ Blocks⌐ a⌠á 05CΦá anΣ ì
06CΦá thσá samσá a≤ vanillß CP/M«á ┴ lo⌠ oµá CP/═á softwarσá tha⌠ ì
require≤á command-linσ filenamσ reference≤ look≤ fo≥ thσ filenamσ ì
alread∙á parseΣ int∩ thσ FCB'≤ anΣ doesn'⌠ looδ a⌠á thσá command-ì
linσ itself«á Wheε thi≤ i≤ thσ case¼ thσ prograφ doesn'⌠ carσ ho≈ ì
yo⌡ specif∙ thσ filename¼ a≤ lonτ a≤ i⌠ come≤ ou⌠ t∩ somethinτ i⌠ ì
caε recognize« S∩ iµ yo⌡ havσ ß generiπ utilit∙ tha⌠ compresse≤ ß ì
CP/═á tex⌠á filσá anΣá thσá forma⌠ fo≥á it'≤á usagσá i≤á COMPRES╙ ì
filename¼á unde≥á EPE╪á yo⌡ coulΣ usσ i⌠ iεá thσá followinτá way≤ ì
(assuminτ tha⌠ yo⌡ arσ currentl∙ loggeΣ int∩ director∙ A0:ROOT):
COMPRESS TEST.TXT
COMPRESS A0:TEST.TXT
COMPRESS ROOT:TEST.TXT
Any of these forms would have the same results.
10
EPEX v1.1 (c) 1986 James H. Whorton
5. Command Descriptions
Thi≤á sectioε consist≤ oµ detaileΣ description≤ oµ eacΦá systeφ ì
command«á Name¼ type¼ format¼ purposσ anΣ example≤ arσ given« Thσ ì
description≤ arσ listeΣ iε alphabetica∞ order.
The descriptions begin on the next page.
11
EPEX v1.1 (c) 1986 James H. Whorton
Command : ALIAS
Type : External
Format : ALIAS <filespec>
Purposeááá:áThi≤ utilit∙ allow≤ thσ creatioε oµ aliases¼ o≥ batcΦ ì
ááááááááááááproces≤ files« <filespec╛ i≤ ß non-ambiguou≤ filenamσ ì
áááááááááááátha⌠á wil∞ bσ thσ alia≤ file«á ┴ filσ oµ typσ .CO═ i≤ ì
ááááááááááááassumed«á Iµá thσá alia≤ filσá alread∙á exists¼á it'≤ ì
áááááááááááácontent≤ arσ shown«á Thσ use≥ i≤ prompteΣ fo≥ thσ ne≈ ì
ááááááááááááalia≤ commanΣ line«á Thi≤ ma∙ consis⌠ oµ onσ o≥á morσ ì
áááááááááááácommands¼á separateΣ b∙ semicolons«á Iε addition¼ thσ ì
ááááááááááááuse≥á ma∙á specif∙á u≡ t∩ ╣á command-lineÉá arguments« ì
ááááááááááááThesσá arguments¼á specifieΣá a≤á $▒á - $9¼á wil∞á bσ ì
ááááááááááááreplaceΣ a⌠ run-timσ witΦ thσ actua∞ argument≤á typeΣ ì
ááááááááááááwitΦ thσ alia≤ name.
ááááááááááááWheε created¼ thσ alia≤ filσ caε bσ ruε b∙ typinτ thσ ì
ááááááááááááaliasnamσ plu≤ an∙ argument≤ needed.
Examples : ALIAS ROOT:TEST
ááááááááááááCreate≤ aε alia≤ nameΣ TEST.CO═ iε director∙ ROOT:.
ááááááááááááALIA╙ RUN
ááááááááááááCreate≤áá aεá alia≤á nameΣá RUN.CO═á iεá thσá curren⌠ ì
áááááááááááádirectory.
12
EPEX v1.1 (c) 1986 James H. Whorton
Command : CLRIF
Type : Internal
Format : CLRIF
Purposeá : Thi≤ commanΣ cancel≤ an∙ anΣ al∞ I╞ state≤á currentl∙ ì
ááááááááááááactive« Flo≈ i≤ se⌠ t∩ TRUE.
Examples : :LOOP; label
ááááááááááááCLRIF; clear dangling IF state
ááááááááááááIF NOT REG1=20; if register is not equal to 20...
ááááááááááááINR REG1; increment and...
ááááááááááááGOTO LOOP; loop back
ááááááááááááEND; endif
áááááááááááá(The above example is in MKALIAS format)
13
EPEX v1.1 (c) 1986 James H. Whorton
Command : CLS
Type : External
Format : CLS
Purpose : Thi≤á simplσ utilit∙ send≤ ß sequencσ oµ code≤ t∩ thσ ì
ááááááááááááCR╘á t∩ clea≥ it«á Thσ utilit∙ filσ CLS.CO═á mus⌠á bσ ì
áááááááááááápatcheΣá b∙á thσá user«á Thσá termina∞á clea≥á screeε ì
áááááááááááásequencσá i≤ locateΣ iε ╕ byte≤ nea≥ thσ beginninτ oµ ì
ááááááááááááthσá program¼á anΣá ma∙ bσ patcheΣ b∙á thσá followinτ ì
áááááááááááásimplσ procedure« (Use≥ inpu⌠ i≤ iε lowercase).
ááááááááááááA0:[ROOT]>dd⌠ cls.com
ááááááááááááDD╘ VER╙ 2.2
ááááááááááááNEX╘ PC
áááááááááááá0180 0100
áááááááááááá-s141
áááááááááááá014▒ 1┴ (ente≥ u≡ t∩ ╕ bytes¼á onσ a⌠ ß time«á Thi≤ ì
áááááááááááá example assumes that the code is 1Ah).
áááááááááááá014▓ 2▒ .
áááááááááááá-g0
áááááááááááásavσ 1 cls.com
ááááááááááááYou now have a customized version of CLS.COM.
Examples : CLS
ááááááááááááClears the user CRT.
14
EPEX v1.1 (c) 1986 James H. Whorton
Command : CMD
Type : External
Format : CMD
Purpose : Thi≤á shor⌠á utilit∙á allow≤á thσá use≥á t∩á ente≥á ß ì
áááááááááááácommand-lineÉá fo≥ executioε b∙ thσ system«á Wheε ran¼ ì
ááááááááááááthσ use≥ i≤ prompteΣ t∩ ente≥ thσ command-line«á Wheε ì
áááááááááááátha⌠á i≤ done¼á contro∞ i≤ turneΣ ove≥ t∩ thσá systeφ ì
ááááááááááááanΣ thσ command-linσ i≤ executed.
ááááááááááááThi≤á utilit∙á allow≤á thσ use≥ t∩ directl∙á ente≥á ß ì
áááááááááááácommand-linσá oµá u≡ t∩ 25┤á characters«á Thσá norma∞ ì
áááááááááááásysteφ interfacσ wil∞ onl∙ allo≈ ß command-linσ oµ u≡ ì
áááááááááááát∩ 10░ character≤ t∩ bσ entereΣ directly« Thi≤ i≤ no⌠ ì
ááááááááááááseeε a≤ ß buτ iε thσ system¼á sincσ fe≈ user≤ wil∞ bσ ì
ááááááááááááregularl∙á typinτá commanΣá line≤ oµá morσá thaεá 10░ ì
áááááááááááácharacters«á Iµá the∙ finΣ themselve≤á doinτá so¼á aε ì
ááááááááááááalia≤ woulΣ bσ ß bette≥ methoΣ t∩ employ.
Examples : CMD
ááááááááááááUser then enters the command-line to be executed.
15
EPEX v1.1 (c) 1986 James H. Whorton
Command : CP
Type : External
Format : CP <newfile>=<oldfile> <oldfile> <oldfile> ...
Purpose :áCop∙ ß filσ o≥ grou≡ oµ files«á <oldfile╛ ma∙ bσá an∙ ì
áááááááááááálega∞á filespeπá (wildcard≤ arσ allowed⌐ anΣá i≤á thσ ì
áááááááááááásourcσ filσ o≥ files¼ whilσ <newfile╛ i≤ thσ filespeπ ì
áááááááááááábeinτ copieΣ to« Iµ eithe≥ filenamσ i≤ no⌠ specified¼ ì
áááááááááááái⌠ wil∞ bσ filleΣ witΦ thσ othe≥ filename.
Examples : CP ROOT:TEST=DATA:TEST
ááááááááááááCopie≤ filσ DATA:TES╘ t∩ filσ ROOT:TES╘.
ááááááááááááCP C0:=B0:DUMP.COM A1:*.ASM
ááááááááááááCopies files B0:DUMP.COM and A1:*.ASM to C0:.
16
EPEX v1.1 (c) 1986 James H. Whorton
Command : DCR
Type : Internal
Format : DCR <regvar>
Purposeá :áDecrement≤á thσá specifieΣ registe≥ variablσ (REG▒á - ì
ááááááááááááREG4⌐á b∙ one«á Iµ thσ register≤ startinτá valuσá wa≤ ì
áááááááááááázero¼ roll≤ ove≥ t∩ 255.
Examples : DCR REG1
ááááááááááááDecrements REG1 by one.
ááááááááááááDCR REG3
ááááááááááááDecrements REG3 by one.
17
EPEX v1.1 (c) 1986 James H. Whorton
Command : DIR
Type : External
Format : DIR [filespec]
Purpose : Thi≤áá commanΣá display≤á ßá lis⌠á oµá file≤á oεá thσ ì
ááááááááááááspecifieΣá directory¼á iε sorteΣ alphabetica∞á order« ì
ááááááááááááThσ filesizσ oµ eacΦ file¼á iε K¼á i≤ als∩ displayed« ì
áááááááááááá[filespec▌á ma∙á bσá an∙á lega∞á filσá specification« ì
ááááááááááááWildcard≤ arσ permitted«á Iµ n∩ filespeπ i≤ supplied¼ ì
ááááááááááááthσ curren⌠ director∙ anΣ al∞ file≤ arσ assumed.
ááááááááááááIεá OPE╬á mode¼á al∞ file≤ wil∞ bσ shown«á Iεá SECUR┼ ì
áááááááááááámode¼ $SY╙ file≤ wil∞ no⌠ bσ shown.
áááááááááááá┴á statu≤á repor⌠ linσ i≤ furnisheΣá wheεá al∞á file≤ ì
áááááááááááámatchinτá thσá specificatioε havσá beeεá shown«á Thi≤ ì
áááááááááááástatu≤á repor⌠á include≤ thσ director∙á scanned¼á thσ ì
áááááááááááánumbe≥ oµ file≤ matched¼á thσ spacσ thesσ file≤á takσ ì
ááááááááááááu≡ anΣ thσ freσ spacσ remaininτ oε tha⌠ disk.
ááááááááááááThσá numbe≥ oµ column≤ tha⌠ thσ DI╥ commanΣá display≤ ì
áááááááááááápe≥ linσ ma∙ bσ adjusted¼ iµ needed¼ b∙ thσ followinτ ì
áááááááááááásimplσ procedure« (Use≥ inpu⌠ i≤ iε lowercase).
ááááááááááááA0:[ROOT]>dd⌠ dir.com
ááááááááááááDD╘ VER╙ 2.2
ááááááááááááNEX╘ PC
áááááááááááá078░ 0100
áááááááááááá-s141
áááááááááááá014▒ 0┤ (ente≥ ne≈ columε valuσ here)
áááááááááááá014▓ 2▒ .
áááááááááááá-g0
áááááááááááásavσ ╖ dir.com
ááááááááááááYou now have a customized version of DIR.COM.
Examples : DIR
ááááááááááááShows directory of all files in current directory.
ááááááááááááDIR ROOT:*.ASM
ááááááááááááShows all files of filetype .ASM in directory ROOT:.
ááááááááááááDIR S???????.???
ááááááááááááShow≤á al∞ file≤ witΦ ß firs⌠ filenamσ lette≥ oµ ╙ iε ì
áááááááááááácurren⌠ directory.
18
EPEX v1.1 (c) 1986 James H. Whorton
Command : ECHO
Type : Internal
Format : ECHO <comment>
Purpose : Display≤ thσ supplieΣ strinτ oε thσ console.
Examples : ECHO Hello!!
ááááááááááááDisplays HELLO!! on console.
ááááááááááááECHO INSERT NEW DISK...
ááááááááááááDisplays INSERT NEW DISK on console.
19
EPEX v1.1 (c) 1986 James H. Whorton
Command : ELSE
Type : Internal
Format : ELSE
Purpose : Thi≤á commanΣá i≤á par⌠ oµá thσá IF-ELSE-EN─á logica∞ ì
áááááááááááácontro∞á structurσ buil⌠ int∩ thσá environment«á Wheε ì
ááááááááááááELS┼ i≤ executed¼á thσ flo≈ statσ froφ ß previou≤á I╞ ì
áááááááááááástatemen⌠ i≤ flipped.
Examples : I╞ AMBI╟ $1╗ iµáargumen⌠ contain≤ wildcards
áááááááááááá ECHO WILDCARDS NOT ALLOWED; say not allowed
ááááááááááááELSE; otherwise...
áááááááááááá ECHO FILESPEC OK.; its OK
áááááááááááá(The above example is in MKALIAS format)
20
EPEX v1.1 (c) 1986 James H. Whorton
Command : END
Type : Internal
Format : END
Purpose : Thi≤á commanΣá i≤á par⌠ oµá thσá IF-ELSE-EN─á logica∞ ì
áááááááááááácontro∞á structurσ buil⌠ int∩ thσá environment«á Wheε ì
ááááááááááááexecuted¼ i⌠ END≤ ß previou≤ I╞ block« Thσ flo≈ statσ ì
áááááááááááái≤á se⌠á t∩ thσ previou≤ leve∞ flo≈á state«á (Seσá I╞ ì
áááááááááááácommanΣ fo≥ details.)
Examples : IF EXIST $1;TYPE $1;END;ECHO DONE
ááááááááááááIε thσ abovσ ALIA╙ example¼ iµ thσ filenamσ specifieΣ ì
ááááááááááááb∙á argumen⌠á $▒á exists¼á i⌠ i≤ TYPEΣá oεá thσá use≥ ì
ááááááááááááconsole¼á theε DON┼ i≤ displayed« Otherwise¼ thσ TYP┼ ì
áááááááááááácommanΣ i≤ skipped.
21
EPEX v1.1 (c) 1986 James H. Whorton
Command : ERA
Type : External
Format : ERA <filespec>
Purposeá : Thi≤ commanΣ erase≤ ß filσ o≥ se⌠ oµ file≤ specified« ì
áááááááááááá<filespec╛á ma∙á bσá an∙á lega∞á filσá specification« ì
ááááááááááááWildcard≤ arσ allowed« Thσ filσ o≥ file≤ t∩ bσ eraseΣ ì
ááááááááááááarσá displayeΣ oε thσ console«á Iµ an∙ wildcard≤á arσ ì
ááááááááááááused¼ thσ use≥ wil∞ bσ askeΣ t∩ confirφ thσ process.
ááááááááááááThσá numbe≥ oµ column≤ tha⌠ thσ ER┴ commanΣá display≤ ì
áááááááááááápe≥ linσ ma∙ bσ adjusted¼ iµ needed¼ b∙ thσ followinτ ì
áááááááááááásimplσ procedure« (Use≥ inpu⌠ i≤ iε lowercase).
ááááááááááááA0:[ROOT]>dd⌠ era.com
ááááááááááááDD╘ VER╙ 2.2
ááááááááááááNEX╘ PC
áááááááááááá058░ 0100
áááááááááááá-s141
áááááááááááá014▒ 0┤ (ente≥ ne≈ columε valuσ here)
áááááááááááá014▓ 2▒ .
áááááááááááá-g0
áááááááááááásavσ ╡ era.com
ááááááááááááYou now have a customized version of ERA.COM.
Examples : ERA TEST.COM
ááááááááááááErases the file TEST.COM in the current directory.
ááááááááááááERA WORK:*.ASM
ááááááááááááErase≤á al∞ thσ file≤ witΦ filetypσ .AS═ iε director∙ ì
ááááááááááááWORK:.
22
EPEX v1.1 (c) 1986 James H. Whorton
Command : EXIT
Type : Internal
Format : EXIT
Purpose : Thi≤ commanΣ shoulΣ onl∙ bσ useΣ wheε thσ use≥ wishe≤ ì
áááááááááááát∩á exi⌠ froφ thσ environment«á Al∞ patche≤ installeΣ ì
ááááááááááááa⌠á startu≡ wil∞ bσ removeΣ anΣ ß warφ boo⌠á wil∞á bσ ì
ááááááááááááexecuted¼ droppinτ thσ use≥ bacδ int∩ vanillß CP/M.
23
EPEX v1.1 (c) 1986 James H. Whorton
Command : GOTO
Type : Internal
Format : GOTO <label>
Purpose : Cause≤áá commanΣá flo≈á t∩á bσá transferreΣá t∩áá thσ ì
ááááááááááááspecifieΣá label«á Label≤á arσ oµ thσ forma⌠á :label¼ ì
ááááááááááááwherσ ║á i≤ thσ firs⌠ characte≥ iε thσá command-line« ì
ááááááááááááFlo≈á statσ anΣ I╞ level≤ arσ no⌠ adjusted¼á s∩á use≥ ì
áááááááááááámus⌠ compensatσ a≤ needed.
Examples :á:LOOP; label
ááááááááááááCLRIF; clear dangling IF state
ááááááááááááIF NOT REG1=20; if register is not equal to 20...
ááááááááááááINR REG1; increment and...
ááááááááááááGOTO LOOP; loop back
ááááááááááááEND; endif
áááááááááááá(The above example is in MKALIAS format)
24
EPEX v1.1 (c) 1986 James H. Whorton
Command : IF
Type : Internal
Format : IF <logical expression>;...;END or
ááááááááááááIF NOT <logical expression>;...;END
Purpose : Thσá I╞á commanΣ form≤ thσ basσ fo≥á thσá IF-ELSE-EN─ ì
áááááááááááálogica∞áá contro∞á structurσá containeΣá withiεáá thσ ì
ááááááááááááenvironment«á Wheε executed¼ thσ <logica∞ expression╛ ì
ááááááááááááfollowinτá thσ I╞ statemen⌠ i≤ evaluated«á Iµ thσ NO╘ ì
ááááááááááááforma⌠áá i≤á used¼áá thσá evaluateΣá resul⌠á oµáá thσ ì
ááááááááááááexpressioε i≤ negateΣ (reversed).
ááááááááááááIµ thσ resul⌠ i≤ TRUE¼á theε thσ flo≈ statσ i≤ se⌠ t∩ ì
ááááááááááááTRU┼ anΣ commanΣ processinτ continue≤ normally« Iµ aε ì
ááááááááááááELS┼ statemen⌠ i≤ encountered¼á thσ flo≈ statσ i≤ se⌠ ì
áááááááááááát∩ FALSE.
ááááááááááááIµ thσ resul⌠ i≤ FALSE¼ theε thσ flo≈ statσ i≤ se⌠ t∩ ì
ááááááááááááfalse«á CommanΣ processinτ i≤ theε switcheΣ ofµ unti∞ ì
ááááááááááááeithe≥ aε ELS┼ o≥ aε EN─ statemen⌠ i≤ encountered« Iµ ì
ááááááááááááaε ELS┼ statemen⌠ i≤ encountered¼á thσ flo≈ statσá i≤ ì
ááááááááááááse⌠ t∩ TRUE.
ááááááááááááWheε aε EN─ statemen⌠ i≤ reached¼ thσ flo≈ statσ tha⌠ ì
ááááááááááááwa≤á presen⌠á beforσ thσ precedinτ I╞á statemen⌠á wa≤ ì
ááááááááááááexecuteΣá i≤ restoreΣ anΣ processinτá continues«á Thσ ì
áááááááááááálogica∞á expression≤á tha⌠á ma∙ bσ useΣ witΦá thσá I╞ ì
áááááááááááástatemen⌠ arσ describeΣ below.
ááááááááááááExpr. Description
áááááááááááá----------------- ----------------------------------
ááááááááááááAMBIG filespec TRUE if filespec contains '?'s
ááááááááááááEMPTY filespec TRUE if filespec does not exist
ááááááááááááERRO╥á TRU┼ iµ erro≥ flaτ se⌠á (thi≤á flaτ ì
áááááááááááá ma∙áá bσá se⌠á b∙á utilities¼áá seσ ì
áááááááááááá ááááááááááProgramming Section for details)
ááááááááááááEXIST filespec TRUE if filespec exists
ááááááááááááSECUR TRU┼ iµ systeφ iε securσ modσá (seσ ì
áááááááááááá SECURE command for details)
ááááááááááááfilespec=filespec TRUE if filespecs match.
ááááááááááááIεá thσ abovσ expressions¼á filespeπ ma∙ bσ eithe≥á ß ì
áááááááááááádirec⌠á supplieΣá filespeπ o≥ ßá strinτá o≥á registe≥ ì
áááááááááááávariablσ (SHELL¼ DATE¼ STR▒ - STR6¼ REG▒ - REG4).
Examples : IF EXIST ROOT:SD.COM;SD;END
ááááááááááááIµ filσ SD.CO═ exist≤ iε director∙ ROOT:¼ execute.
ááááááááááááIF SECUR; ECHO ACCESS DENIED!!;END
ááááááááááááIf system is in secure mode, tell user.
ááááááááááááIF NOT STR1=TESTFILE;TYPE STR1;END
ááááááááááááIµ variablσ STR▒ doe≤ no⌠ equa∞ TESTFILE¼ TYP┼ it.
25
EPEX v1.1 (c) 1986 James H. Whorton
Command : INP
Type : Internal
Format : INP <variable>
Purpose : Thi≤á commanΣ allow≤ thσ use≥ t∩ inpu⌠ datß int∩á thσ ì
áááááááááááásupplieΣ variablσ (SHELL¼á DATE¼á STR▒ - STR6¼ REG▒ - ì
ááááááááááááREG4)«á Thσá inpu⌠á strinτ i≤ capitalized«á Thσá BDO╙ ì
ááááááááááááInpu⌠ Strinτ functioε (#10⌐ i≤ used«á Inpu⌠ i≤á endeΣ ì
ááááááááááááwheεá thσ use≥ enter≤ ß C╥ t∩ end¼á ß ^├ t∩ abor⌠á o≥ ì
ááááááááááááwheεá thσá maximuφá numbe≥ oµá character≤á havσá beeε ì
áááááááááááátyped.
Examples :áECHO CONTINUE(Y/N)? ; prompt user for input
ááááááááááááINP STR1; get input
ááááááááááááIF STR1=Y; if user says so, continue
áááááááááááá<various commands>
ááááááááááááEND;
áááááááááááá(The above example is in MKALIAS format)
26
EPEX v1.1 (c) 1986 James H. Whorton
Command : INR
Type : Internal
Format : INR <regvar>
Purposeá :áIncrement≤á thσá specifieΣ registe≥ variablσ (REG▒á - ì
ááááááááááááREG4⌐á b∙ one«á Iµ thσ register≤ startinτá valuσá wa≤ ì
áááááááááááá255¼ roll≤ ove≥ t∩ zero.
Examples : INR REG1
ááááááááááááIncrements REG1 by one.
ááááááááááááINR REG3
ááááááááááááIncrements REG3 by one.
27
EPEX v1.1 (c) 1986 James H. Whorton
Command : LIST
Type : External
Format : LIST <filespec>
Purpose : Lis⌠ thσ specifieΣ filσ t∩ thσ LST║á devicσ (normall∙ ì
ááááááááááááß printer)« <filespec╛ ma∙ bσ an∙ lega∞ non-ambiguou≤ ì
ááááááááááááfilσ specification.
Examples : LIST TEST.TXT
ááááááááááááList the file TEST.TXT in the current directory.
ááááááááááááLIST UPLOAD:EDIT15.ASM
ááááááááááááList the file EDIT15.ASM in directory UPLOAD:.
28
EPEX v1.1 (c) 1986 James H. Whorton
Command : MKALIAS
Type : External
Format : MKALIAS <filespec>
Purpose : Create≤áá aεá alia≤á prograφá froφá ßá sourcσáá file« ì
áááááááááááá<filespec╛á i≤á thσ non-ambiguou≤ filσ tha⌠á contain≤ ì
ááááááááááááthσá sourcσá fo≥á thσ alia≤á t∩á bσá created«á Iµá n∩ ì
ááááááááááááfiletypσ i≤ supplied¼á .AL╙ wil∞ bσ assumed« Aε alia≤ ì
áááááááááááá.CO═ filσ wil∞ bσ createΣ witΦ thσ samσ filename.
ááááááááááááEacΦá linσ oµ thσ sourcσ filσ mus⌠ contaiε onσ singlσ ì
áááááááááááácommand-line«á Leadinτ whitσ spacσ (spaces¼ TABs⌐ ma∙ ì
áááááááááááábσ useΣ anΣ wil∞ bσ stripped«á Iµ ß commen⌠ i≤ t∩á bσ ì
ááááááááááááplaceΣáá afte≥á thσá command¼áá ßá semicoloεáá shoulΣ ì
ááááááááááááIMMEDIATEL┘á follo≈á thσ command«á Anythinτá afte≥á ß ì
áááááááááááásemicoloε i≤ treateΣ a≤ ß commen⌠ anΣ i≤ stripped.
Examples : ECHO ENTER TODAY'S DATE (MM/DD/YY) -> ; enter date
ááááááááááááINP DATE; do it
ááááááááááááIF DATE=12/25/86; check for specific date
áááááááááááá ECHO MERRY CHRISTMAS!!; if so, give out a cheer!
ááááááááááááEND; must balance IF statement
29
EPEX v1.1 (c) 1986 James H. Whorton
Command : MKDIR
Type : External
Format : MKDIR <filespec>
Purpose : Read≤á thσá specifieΣá director∙ structurσá filσá anΣ ì
áááááááááááá<filespec╛á i≤ thσ non-ambiguou≤ filσá tha⌠á contain≤ ì
ááááááááááááthσ director∙ structurσ t∩ bσ reaΣ in« Iµ n∩ filetypσ ì
áááááááááááái≤ supplied¼á .DI╥ wil∞ bσ assumed«á EacΦ linσ oµ thσ ì
áááááááááááásourcσáá filσáá mus⌠á contaiεá ßáá singlσáá director∙ ì
áááááááááááádefinitioε a≤ follows:
áááááááááááá A0:ROOT
áááááááááááá(drive¼ use≥ #¼ colon¼ director∙ name)
ááááááááááááDirector∙ name≤ canno⌠ exceeΣ ╕ characters.
Examples : MKDIR ROOT:SYSTEM
ááááááááááááRead≤á thσá filσ SYSTEM.DI╥ iεá director∙á ROOT║á anΣ ì
ááááááááááááinstall≤ thσ ne≈ director∙ structure.
30
EPEX v1.1 (c) 1986 James H. Whorton
Command : MKMENU
Type : External
Format : MKMENU <filespec>
Purpose :áCreate≤ ß men⌡ prograφ froφ ß sourcσ file« <filespec╛ ì
áááááááááááái≤á ß non-ambiguou≤ filσ specificatioε tha⌠á contain≤ ì
ááááááááááááthσá sourcσ fo≥ thσ men⌡ filσ t∩ bσ created«á Iµá no⌠ ì
ááááááááááááfiletypσá i≤ supplied¼á .ME╬ wil∞ bσ assumed«á ┴ men⌡ ì
áááááááááááá.CO═ filσ oµ thσ samσ filenamσ wil∞ bσ created.
ááááááááááááThσ men⌡ sourcσ filσ mus⌠ bσ oµ thσ followinτ format«
áááááááááááá(Any leading comments)
áááááááááááá&
áááááááááááá(Insert your screen display text here...)
áááááááááááá&
áááááááááááá(Insert your command-line defs. here...)
áááááááááááá&
áááááááááááá(Any trailing comments)
áááááááááááá┴ men⌡ ma∙ begiε witΦ introductor∙á comments¼á notes¼ ì
ááááááááááááetc« Thesσ comment≤ wil∞ no⌠ bσ processeΣ b∙ thσ men⌡ ì
ááááááááááááprocessor«á T∩á begiεá thσ men⌡ codσá proper¼á pu⌠á ß ì
áááááááááááásectioε flaτ (&⌐ oε ß linσ b∙ itself.
ááááááááááááNo≈ typσ iε thσ tex⌠ thσ wa∙ yo⌡ wan⌠ i⌠ t∩ appea≥ oε ì
ááááááááááááthσá screeεá eacΦá timσ thσ men⌡á come≤á up«á Contro∞ ì
áááááááááááácharacter≤ ma∙ bσ embeddeΣ freely¼á enablinτ specifiπ ì
áááááááááááátermina∞ features¼á fo≥ example«á Shel∞ variable≤ ma∙ ì
áááááááááááábσá displayeΣ usinτ thσ men⌡ notatioε $sú fo≥á strinτ ì
áááááááááááávariable≤ anΣ $rú fo≥ registe≥á variables«á Examples║ ì
áááááááááááá$s▒á display≤á thσ variablσ SHELL¼á $s│ display≤á thσ ì
áááááááááááávariablσ STR1¼ $r│ display≤ thσ variablσ REG3¼ etc.
ááááááááááááWheεá yo⌡ havσ finisheΣ witΦ thσ screeεá text¼á placσ ì
ááááááááááááanothe≥ ª oε ß linσ b∙ itselµ t∩ marδ thσ enΣ oµá thσ ì
áááááááááááádispla∙ text« No≈ come≤ thσ commanΣ optioε section.
ááááááááááááEacΦ commanΣ optioε linσ mus⌠ bσ oµ thσ format:
áááááááááááá <option-char>-<command-linσ def.>
ááááááááááááThσá <option-char╛á ma∙ bσ an∙ ASCI╔á character«á Thσ ì
áááááááááááá<command-linσ def.╛ ma∙ bσ an∙ lega∞ command-linσ anΣ ì
ááááááááááááma∙ usσ al∞ thσ shel∞ command≤ anΣá variables«á Shel∞ ì
áááááááááááávariable≤áá ma∙á bσá inserteΣá iεá thσáá command-linσ ì
áááááááááááádefinition≤áá iεá thσá samσá manne≥á tha⌠á the∙áá arσ ì
áááááááááááádisplayeΣ iε thσ displa∙ text« (Seσ above)
ááááááááááááUse≥á inpu⌠á ma∙á bσá requireΣ a⌠á thσá timσá tha⌠á ß ì
áááááááááááácommand-linσá i≤ actuall∙ executed«á Thi≤ ma∙ bσ donσ ì
ááááááááááááb∙á placinτ ß 'promp⌠ textº sequencσ iε thσá command-ì
áááááááááááálinσá def«á Wheε thσ men⌡ processo≥á encounter≤á thi≤ ì
ááááááááááááwhilσáá buildinτá thσá command-linσá tha⌠á ha≤áá beeε ì
áááááááááááárequested¼á i⌠á wil∞ halt¼á displa∙ thσ promp⌠á text¼ ìè
31
EPEX v1.1 (c) 1986 James H. Whorton
ááááááááááááinpu⌠á ß linσ froφ thσ user¼á inser⌠ tha⌠ inpu⌠á int∩ ì
ááááááááááááthσá command-linσá a⌠ thσ poin⌠ i⌠ i≤á currentl∙á at¼ ì
áááááááááááátheε continue.
ááááááááááááWheε ß men⌡ prograφ filσ ha≤ beeε createΣ anΣ i≤ run¼ ì
ááááááááááááthσ men⌡ filσ define≤ itselµ a≤ thσ ne≈ shell« Systeφ ì
áááááááááááácontro∞á wil∞ wil∞ no≈ returε t∩ i⌠ afte≥ ever∙ valiΣ ì
áááááááááááácommand-linσá ha≤ beeε executed¼á unti∞ i⌠á ha≤á beeε ì
ááááááááááááremoveΣ a≤ thσ shell« Wheε ran¼ thσ men⌡ prograφ wil∞ ì
áááááááááááádispla∙á thσ screeε text¼á theε wai⌠ fo≥ ß ke∙ t∩á bσ ì
áááááááááááápressed« Wheε ß ke∙ ha≤ beeε pressed¼ i⌠ i≤ converteΣ ì
áááááááááááát∩á uppercasσá anΣá compareΣ t∩ eacΦá commanΣá optioε ì
áááááááááááádefined« Iµ ß matcΦ i≤ no⌠ found¼ thσ consolσ bel∞ i≤ ì
áááááááááááábeepeΣ anΣ thσ prograφ wait≤ fo≥ anothe≥ keypress« Iµ ì
ááááááááááááßá matcΦ i≤ found¼á thσ command-linσá definitioεá fo≥ ì
áááááááááááátha⌠á commanΣ optioε i≤ handeΣ ove≥ t∩ thσ systeφ fo≥ ì
ááááááááááááexecution.
áááááááááááá┴á simplσ wa∙ t∩ exi⌠ ß men⌡ shel∞ i≤ witΦ aεá optioε ì
áááááááááááálinσ tha⌠ look≤ somethinτ likσ this:
ááááááááááááQ-set shell=;echo exiting menu...
ááááááááááááThi≤ command-lineÉ firs⌠ set≤ thσ SHEL╠ variablσ t∩á ß ì
áááááááááááánull¼á thu≤á re-enablinτá thσ systeφ use≥á interface¼ ì
áááááááááááátheε tell≤ thσ use≥ wha⌠ i⌠ ha≤ done.
Examples : Thi≤á examplσá men⌡á coulΣá bσá useΣá fo≥áá assemble≥ ì
áááááááááááádevelopmen⌠ usinτ LASM¼ MLOA─ anΣ VDO¼ all
áááááááááááápublic domain utilities.
áááááááááááá&
áááááááááááá...................................................
áááááááááááá 8080 Assembler Development System Menu
áááááááááááá Work disk ->> $s4: Work file ->> $s3
áááááááááááá...................................................
áááááááááááá E - Edit work file.
áááááááááááá A - Assemble and Load work file.
áááááááááááá F - Change work file.
áááááááááááá C - Change work disk.
áááááááááááá R - Run work file.
áááááááááááá D - Directory of work disk
áááááááááááá L - Enter system command-line
áááááááááááá Q - Quit (exit assembler system).
áááááááááááá&
ááááááááááááE-vdo $s4:$s3.asm
ááááááááááááA-lasm $s3.$s4$s4z;mload $s4:$s3;pause
ááááááááááááF-echo enter new work filename -->> ;inp str1
ááááááááááááC-echo enter new work disk -->> ;inp str2
ááááááááááááR-echo running $s4:$s3...;$s4:$s3;pause
ááááááááááááD-dir $s4:'Filespec: ';pauseè
32
EPEX v1.1 (c) 1986 James H. Whorton
ááááááááááááL-'EPEX> ';pause
ááááááááááááQ-echo exiting system...;set shell=
áááááááááááá&
ááááááááááááEnd of File
ááááááááááááHerσáá i≤á anothe≥á example¼áá thi≤á timσá fo≥áá tex⌠ ì
ááááááááááááprocessing.
ááááááááááááThi≤á examplσ men⌡ coulΣ bσ useΣ fo≥ worΣá processinτ ì
ááááááááááááusinτá Wordsta≥á fo≥á editing¼áá Thσá WorΣá Plu≤á fo≥ ì
ááááááááááááspellinτ and INDEX for indexing.
áááááááááááá&
áááááááááááá[-------------------------------------------------]
áááááááááááá >> Word Processing Master Menu <<
áááááááááááá Current disk: $s4: Work file: $s3
áááááááááááá[-------------------------------------------------]
áááááááááááá [E]dit work file via Wordstar
áááááááááááá [S]pelling check via TWP
áááááááááááá [I]ndex work file via INDEX
áááááááááááá [W]ork file change
áááááááááááá [C]urrent disk change
áááááááááááá [D]irectory of current disk
áááááááááááá [L] Enter system command-line
áááááááááááá [Q]uit (exit word processing menu)
áááááááááááá&
ááááááááááááE-ws $s4:$s3
ááááááááááS-spell $s4:$s3 $$c;review;markfix $s4:$s3 $$m#;
áááááááááááá ws $s4:$s3
ááááááááááááW-echo enter new work file -->> ;inp str1
ááááááááááááI-index $s4:$s3;pause
ááááááááááááC-echo enter new work disk -->> ;inp str2
ááááááááááááD-dir $s4:'Filespec: ';pause
ááááááááááááL-'EPEX> ';pause
ááááááááááááQ-echo exiting system...;set shell=
áááááááááááá&
ááááááááááááEnd of File
33
EPEX v1.1 (c) 1986 James H. Whorton
Command : PATH
Type : Internal
Format : PATH or
PATH <directories>
Purpose : Thi≤á commanΣá set≤á o≥ display≤ thσá commanΣá searcΦ ì
áááááááááááápath«á Thσ firs⌠ forφ display≤ thσ curren⌠ path«á Thσ ì
ááááááááááááseconΣ forφ set≤ thσ path« <directories╛ i≤ ß lis⌠ oµ ì
áááááááááááádirector∙á specifications¼á no⌠ exceedinτá six(6⌐á iε ì
áááááááááááánumber¼ separateΣ b∙ spaces.
ááááááááááááWheεá ßá commanΣ i≤ giveε anΣ i⌠ i≤ no⌠á aεá interna∞ ì
áááááááááááácommand¼á thσá shel∞ trie≤ t∩ opeε ß .CO═ filσ b∙ thσ ì
ááááááááááááspecifieΣá name«áá I⌠á wil∞á searcΦá thσá curren⌠á o≥ ì
ááááááááááááspecifieΣá director∙á first«á Iµ thσ prograφá i≤á no⌠ ì
ááááááááááááfounΣ i⌠ wil∞ theε proceeΣ alonτ thσ searcΦ path«á Iµ ì
ááááááááááááthσá prograφá i≤ founΣ i⌠ wil∞ bσ loadeΣá anΣá norma∞ ì
ááááááááááááprocessinτ wil∞ resume.
Examples : PATH
ááááááááááááShow current path.
ááááááááááááPATH A0: WORK: DATA:
ááááááááááááSet the search path to directories A0:, WORK:, DATA:.
34
EPEX v1.1 (c) 1986 James H. Whorton
Command : PAUSE
Type : Internal
Format : PAUSE [message]
Purpose : Pause≤á execution¼áá display≤á messagσá iµá supplied« ì
ááááááááááááPrompt≤ use≥ fo≥ input¼á theε wait≤ fo≥ an∙ ke∙ t∩ bσ ì
áááááááááááápressed« Upoε keypress¼ resume≤ execution.
Examples : PAUSE
ááááááááááááNormal pause, no user message.
ááááááááááááPAUSE INSERT NEW DISK
ááááááááááááPauses, displays new disk message.
35
EPEX v1.1 (c) 1986 James H. Whorton
Command : PWD
Type : External
Format : PWD
Purpose : Thi≤ utilit∙ display≤ ß lis⌠ oµ thσ currentl∙ defineΣ ì
áááááááááááá"workinτá directories"«á EacΦá defineΣá director∙á i≤ ì
ááááááááááááshowεá a≤ drive/user¼á theε thσ director∙ name«á Wheε ì
ááááááááááááal∞ workinτ directorie≤ havσ beeε shown¼á ß tota∞á i≤ ì
áááááááááááádisplayed.
ááááááááááááThσá numbe≥ oµ column≤ tha⌠ thσ PWD commanΣá display≤ ì
áááááááááááápe≥ linσ ma∙ bσ adjusted¼ iµ needed¼ b∙ thσ followinτ ì
áááááááááááásimplσ procedure« (Use≥ inpu⌠ i≤ iε lowercase).
ááááááááááááA0:[ROOT]>dd⌠ pwd.com
ááááááááááááDD╘ VER╙ 2.2
ááááááááááááNEX╘ PC
áááááááááááá0400 0100
áááááááááááá-s141
áááááááááááá014▒ 0┤ (ente≥ ne≈ columε valuσ here)
áááááááááááá014▓ 2▒ .
áááááááááááá-g0
áááááááááááásavσ 3 pwd.com
ááááááááááááYou now have a customized version of PWD.COM.
Examples : PWD
ááááááááááááDisplays all currently defined directories.
36
EPEX v1.1 (c) 1986 James H. Whorton
Command : QUIET
Type : External
Format : QUIET [option]
Purpose : Select≤á systeφ mode«á [option▌ ma∙ bσ eithe≥ O╬á (t∩ ì
ááááááááááááse⌠á systeφá modσ QUIET⌐ o≥ OF╞ (t∩ se⌠á systeφá modσ ì
ááááááááááááNORMAL)«á Iεá QUIE╘ mode¼á man∙ EPE╪á utilitie≤á wil∞ ì
áááááááááááásuppres≤á consolσ message≤ t∩ speeΣ u≡ processinτ anΣ ì
ááááááááááááeliminatσ CR╘ clutte≥ wheε no⌠ needed«á Use≥á writteε ì
áááááááááááásoftwarσá caεá als∩ takσ advantagσ oµ thσ QUIE╘á bytσ ì
áááááááááááá(seσá Programminτá section⌐á t∩á contro∞á displa∙á oµ ì
ááááááááááááconsole messages during execution.
37
EPEX v1.1 (c) 1986 James H. Whorton
Command : REN
Type : External
Format : REN <newfile>=<oldfile>
Purpose : Renamσ <oldfile╛ t∩ <newfile>«á Filespec≤ ma∙ bσá an∙ ì
áááááááááááálega∞ non-ambiguou≤ filσ specification.
Examples : REN NEW=OLD
ááááááááááááRenames file OLD to file NEW in current directory.
ááááááááááááREN ROOT:FILE=FL
ááááááááááááRenames file FL to file FILE in directory ROOT:
38
EPEX v1.1 (c) 1986 James H. Whorton
Command : SAVE
Type : Internal
Format : SAVE ### <filespec>
Purpose : Thi≤á commanΣá allow≤ thσ use≥ t∩ writσá ßá specifieΣ ì
áááááááááááánumbe≥á oµ page≤ iε memor∙ t∩ disk«á Thσ writσ start≤ ì
ááááááááááááa⌠á 0100Φá (TP┴ origin⌐ anΣá proceed≤á fo≥á specifieΣ ì
áááááááááááápages«á ┴á pagσá i≤á 25╢ byte≤ long«á Page≤á mus⌠á bσ ì
ááááááááááááspecifieΣ iε decima∞ notation.
Examples : SAVE 1 TEST.COM
ááááááááááááSaves 1 page (256 bytes) in file TEST.COM.
ááááááááááááSAVE 20 TMP
ááááááááááááSaves 20 pages(5120 bytes, 5k) in file TMP.
39
EPEX v1.1 (c) 1986 James H. Whorton
Command : SECURE
Type : External
Format : SECURE [option] [password]
Purpose : Select≤á systeφ mode«á [option▌ ma∙ bσ eithe≥ O╬á (t∩ ì
ááááááááááááse⌠á systeφ modσ SECURE⌐ o≥ OF╞ (t∩ se⌠á systeφá modσ ì
ááááááááááááOPEN)«á Iµ n∩ optioε i≤ given¼á ß brieµ usagσ messagσ ì
áááááááááááái≤á displayed«áá Iεá OPE╬á mode¼á al∞á utilitie≤á anΣ ì
áááááááááááácommand≤ arσ availablσ fo≥ use«á Iε SECUR┼ mode¼á thσ ì
ááááááááááááfollowinτ command≤ wil∞ no⌠ operate:
ááááááááááááALIAS CP DCR ERA EXIT
ááááááááááááINP INR LIST MKALIAS MKDIR
ááááááááááá MKMENU PATH REN SAVE SECURE*
SET
ááááááááááááWheεá SECUR┼ i≤ raε unde≥ SECUR┼ mode¼á ß passworΣ i≤ ì
áááááááááááárequireΣ t∩ se⌠ thσ systeφ mode« Thi≤ passworΣ ma∙ bσ ì
áááááááááááásupplieΣ oε thσ commanΣ line¼á o≥ i⌠ wil∞ bσ prompteΣ ì
ááááááááááááfo≥á b∙á thσá program«á Iµá thσá prope≥á passworΣá i≤ ì
ááááááááááááentered¼áá thσáá prograφá processe≤áá thσáá requesteΣ ì
ááááááááááááfunction«á Otherwisσ aε abor⌠ occurs«á CommanΣ abort≤ ì
ááááááááááááunde≥á SECUR┼á modσá arσá rathe≥á subdued¼á t∩á avoiΣ ì
áááááááááááádrawinτ to∩ mucΦ attentioε t∩ themselves«á Thi≤ make≤ ì
ááááááááááááthσá systeφá idea∞á fo≥ remotσ and/o≥á multiplσá use≥ ì
ááááááááááááusage.
ááááááááááááA≤ distributed¼ thσ passworΣ iε SECURE.CO═ i≤ SECRET« ì
ááááááááááááT∩á changσ this¼á ß brieµ sessioε witΦ DDT¼á PATC╚ o≥ ì
ááááááááááááan∙á othe≥á file-edito≥ wil∞á suffice«á Thσá passworΣ ì
áááááááááááábegin≤ a⌠ locatioε 0141H«á I⌠ i≤ ten(10⌐ byte≤á long« ì
ááááááááááááAn∙ unuseΣ byte≤ mus⌠ bσ paddeΣ witΦ spaces.
ááááááááááááThσá addres≤á oµ thσ securσ bytσ ma∙ bσá obtaineΣá b∙ ì
ááááááááááááusinτ servicσ callÉ #┤ (seσ Programminτ Section).
Examples : SECURE ON
ááááááááááááSets SECURE system mode.
ááááááááááááSECURE OFF
ááááááááááááSets OPEN system mode.
40
EPEX v1.1 (c) 1986 James H. Whorton
Command : SET
Type : Internal
Format : SET or
ááááááááááááSET <variable>=<string>
Purpose :áDispla∙ o≥ se⌠ variable«á Thσ firs⌠ forφ display≤ thσ ì
áááááááááááácurren⌠á variablσ setting«á Thσ seconΣ forφ set≤á thσ ì
ááááááááááááspecifieΣá variablσá t∩ thσ strinτá supplied«á Strinτ ì
áááááááááááávariable≤ (SHELL¼á DATE¼ STR▒ - STR6⌐ ma∙ bσ u≡ t∩ 2▒ ì
áááááááááááácharacters¼á registe≥ variable≤ (REG▒ - REG4⌐ ma∙á bσ ì
ááááááááááááu≡á t∩á │á characters«á AL∞ string≤á arσá upper-caseΣ ì
áááááááááááábeforσ the∙ arσ inserted.
ááááááááááááThσá addres≤ oµ thσ shel∞ variablσ structurσá ma∙á bσ ì
ááááááááááááobtaineΣá b∙á usinτ servicσ callÉ #▓ (seσá Programminτ ì
ááááááááááááSection).
Examples : SET SHELL=A0:NEWSH
ááááááááááááSet≤á thσá strinτ variablσ SHEL╠á t∩á A0:NEWSH«á (Seσ ì
ááááááááááááProgramminτ Sectioε fo≥ detail≤ oε SHEL╠ function).
ááááááááááááSET REG1=23
ááááááááááááSets register variable REG1 to 23.
ááááááááááááSET STR3=
ááááááááááááSets string variable STR3 to nothing (null).
41
EPEX v1.1 (c) 1986 James H. Whorton
Command : TYPE
Type : External
Format : TYPE <filespec>
Purpose : Typσá thσ specifieΣ filσ oε thσá console«á <filespec╛ ì
ááááááááááááma∙ bσ an∙ lega∞ non-ambiguou≤ filσ specification.
Examples : TYPE TESTRUN1.DAT
ááááááááááááType the file TESTRUN1.DAT in the current directory.
ááááááááááááTYPE WORK:FILE.PRN
ááááááááááááType the file FILE.PRN in directory WORK:.
42
EPEX v1.1 (c) 1986 James H. Whorton
6. Programming
Thi≤á sectioεá contain≤ informatioε abou⌠á variou≤á environmen⌠ ì
commands¼ environmen⌠ servicσ call≤ anΣ contro∞ structures¼ etc.
Therσ arσ 1▓ environmen⌠ variable≤ available« Eigh⌠ oµ theφ arσ ì
strinτ typσ anΣ thσ othe≥ fou≥ arσ numeric« The∙ are:
Variable name Menu notation
SHELL $s1
DATE $s2
STR1 $s3
STR2 $s4
STR3 $s5
STR4 $s6
STR5 $s7
STR6 $s8
REG1 $r1
REG2 $r2
REG3 $r3
REG4 $r4
Thσ men⌡ notatioε listeΣ abovσ i≤ ho≈ thσ variable≤ arσ placeΣ iε ì
ß command-lineÉ o≥ displayeΣ insidσ ß men⌡ file« Wheε ß $sú o≥ $rú ì
referencσ i≤ encountereΣ iε ß men⌡ file¼á thσ actua∞ content≤á oµ ì
thσ variablσ i≤ substituted« Thesσ variable≤ ma∙ bσ SET¼ INPutteΣ ì
to¼ compareΣ iε I╞ statements¼ etc« Thσ registe≥ variable≤ ma∙ bσ ì
incrementeΣ (INR⌐ o≥ decrementeΣ (DCR)«á Thσ stinτ variable≤ havσ ì
ßá maximuφ lengtΦ oµ 2▒ characters¼á thσ register≤ ß maximuφ oµ │ ì
characters«á (Thσ registe≥ variable≤ ma∙ bσ useΣ a≤á strings¼á iµ ì
desired)
Wheε EPE╪ i≤ booted¼á thσ residen⌠ commanΣ processo≥ i≤ useΣ a≤ ì
ßá "shellóá t∩á interfacσá witΦ thσ use≥á anΣá executσá commands« ì
However¼á thσ use≥ o≥ applicatioε ma∙ overridσ thσ residen⌠ shel∞ ì
witΦá anothe≥ one«á Thi≤ i≤ donσ b∙ settinτ thσá strinτá variablσ ì
SHEL╠á t∩ an∙ executablσ singlσ command-line«á Wheε thi≤ i≤ done¼ ì
ever∙ timσ EPE╪ find≤ aε empt∙ command-line¼ insteaΣ oµ promptinτ ì
thσá use≥ fo≥ onσ i⌠ execute≤ thσ commanΣ iε SHELL«á Thi≤ i≤á ho≈ ì
men⌡ file≤ work«á ┴ men⌡ .CO═ file¼á wheε run¼ place≤ it≤ namσ iε ì
SHELL¼á thereb∙á makinτ i⌠ thσ ne≈ shell«á Wheε SHEL╠ i≤á se⌠á t∩ ì
null¼ eithe≥ viß ß typeΣ command-linσ o≥ b∙ softwarσ control¼ thσ ì
shel∞á revert≤á t∩ thσ built-iεá processor«á Note║á Thσá residen⌠ ì
commanΣá processo≥á i≤á alway≤ availablσ fo≥á executinτá command-ì
lines.
.....
Therσá arσá eigh⌠ environmen⌠ servicσ call≤ availablσá t∩á use≥ ì
applications«á T∩ acces≤ ß servicσ call¼ i⌠ i≤ necessar∙ t∩ firs⌠ ì
obtaiε thσ servicσ cal∞ vecto≥ froφ thσ environment«á Thi≤ caε bσ ì
donσ likσ so:
;è
43
EPEX v1.1 (c) 1986 James H. Whorton
;Assembler code to obtain the service call vector and place it
;where it can be used.
;
bdos equ 5
;
lxi d,1 ;get service call function #
mvi c,59 ;environment manager call function
call bdos ;make the call
xchg ;vector is returned in DE, put in HL
shld calshl+1 ;store it
;
calshl:
jm≡ $-ñ ;Thi≤ i≤ thσ servicσ cal∞á routine«á $-ñ
ret ;is replaced by the actual vector.
Oncσá thσ vecto≥ ha≤ beeε obtaineΣ anΣ i≤ read∙á fo≥á use¼á thσ ì
applicatioεá caεá cal∞ an∙ oµ thσ followinτ function≤ b∙á placinτ ì
thσá servicσá functioεá ú iε ┴ anΣá callinτá thσá servicσá vecto≥ ì
routine« Thσ followinτ tex⌠ describe≤ eacΦ servicσ call« Display≤ ì
oµ thσ contro∞ structure≤ arσ showε afte≥ that.
Function : 1
Description : Returεá thσá addres≤á oµ thσá nameΣá director∙ ì
ááááááááááááááááááácontro∞á structurσá iεá HL«áá Thi≤áá structurσ ì
áááááááááááááááááááconsist≤á oµ ß header¼á 1╡ director∙ name≤ anΣ ì
ááááááááááááááááááá1╡ director∙ drive/use≥ definitions.
Function : 2
Description :áReturε thσ addres≤ oµ thσ environmen⌠ variablσ ì
ááááááááááááááááááácontro∞á structurσá iεá HL«áá Thi≤áá structurσ ì
áááááááááááááááááááconsist≤á oµ ß header¼á thσ variablσ name≤ anΣ ì
áááááááááááááááááááthσ variablσ definitions.
Function : 3
Description : Returεá thσ addres≤ oµ thσá multiplσá command- ì
ááááááááááááááááááálinσ buffer« Thi≤ buffe≥ consist≤ oµ ß maximuφ ì
ááááááááááááááááááálengtΦá byte¼á ßá curren⌠ lengtΦ bytσ anΣá thσ ì
ááááááááááááááááááástoragσ bytes.
Function : 4
Description : Returε thσ addres≤ oµ thσ securσ byte« Iµ thi≤ ì
ááááááááááááááááááábytσá i≤ 0FFh¼á theε thσ systeφ i≤á iεá SECUR┼ ì
ááááááááááááááááááámode« Iµ i⌠ i≤ 00h¼ theε thσ systeφ i≤ iε OPE╬ ì
ááááááááááááááááááámode.
Function : 5
áááá Description : Parsσ ß filespec« Oε entry¼ ┬ shoulΣ bσ se⌠ t∩ ì
áááááááááááááááááááthσá argumen⌠á ú t∩ parse«á (░á ╜á applicatioε ì
áááááááááááááááááááfilename¼á ▒á ╜ firs⌠ parameter¼á etc.⌐ H╠á i≤ ì
áááááááááááááááááááeithe≥áá se⌠á t∩á ░á t∩á usσá thσá environmen⌠ ì
ááááááááááááááááááámultiplσá commanΣ buffe≥ fo≥ sourcσá text¼á o≥ ì
áááááááááááááááááááthσ addres≤ oµ ß null-terminateΣ strinτ t∩ usσ ì
áááááááááááááááááááinstead«á Oε exit¼á H╠ point≤ t∩ thσ FC┬á tha⌠ ì
áááááááááááááááááááha≤á beeεá created«á ┬ contain≤ thσ numbe≥á oµ ì
ááááááááááááááááááá'?'≤á founΣá anΣ ┴ contain≤á thσá use≥á numbe≥ ìè
44
EPEX v1.1 (c) 1986 James H. Whorton
áááááááááááááááááááspecified« (0FF╚ iµ none)
Function : 6
Description : LoaΣá multiplσ commanΣ buffe≥ anΣ executσá it« ì
áááááááááááááááááááOε entry¼á D┼ point≤ t∩ thσ buffe≥ t∩ bσ moveΣ ì
áááááááááááááááááááanΣá executed«á Thσá buffe≥ pointeΣ t∩á shoulΣ ì
áááááááááááááááááááconsis⌠á oµá ß lengtΦ byte¼á followeΣá b∙á thσ ì
ááááááááááááááááááácommand-lineÉ definition.
Function : 7
Description : Returεá thσ addres≤ oµ thσá environmen⌠á erro≥ ì
ááááááááááááááááááábyte«á Iµ thi≤ bytσ i≤ 0FFh¼ theε aε erro≥ ha≤ ì
áááááááááááááááááááoccurred«á Iµ thi≤ bytσ i≤ 00h¼á theε n∩ erro≥ ì
áááááááááááááááááááha≤á occurred«á I⌠á shoulΣ bσ noteΣ tha⌠á thi≤ ì
áááááááááááááááááááfunctioεá ha≤ beeε provideΣ primaril∙ s∩á tha⌠ ì
áááááááááááááááááááuser-writteεá application≤ caε utilizσá i⌠á iε ì
ááááááááááááááááááábatcΦáá processes¼áá usinτáá thσáá forma⌠áá I╞ ì
áááááááááááááááááááERROR;....;EN─ Somσ oµ thσ EPE╪ utilite≤á als∩ ì
áááááááááááááááááááse⌠á thi≤á byte¼á sucΦ a≤ CP¼á s∩á tha⌠á ALIA╙ ì
áááááááááááááááááááprocesses can check for successful copying.
Function : 8
Descriptioná: Returεá thσá addres≤ oµ thσ environmen⌠á quie⌠ ì
ááááááááááááááááááábyte« Iµ thi≤ bytσ i≤ 0FFh¼ theε thσ systeφ i≤ ì
áááááááááááááááááááiε 'QUIETº mode« iµ i⌠ i≤ 00h¼ theε thσ systeφ ì
ááááááááááááááááááái≤ iε 'NORMALº mode.
Thσá contro∞á structurσ fo≥ thσ nameΣ director∙ systeφ ha≤á thσ ì
followinτ format:
Byte 1 - Number of named directory entries allowed.
Byte 2 - Number of characters per directory name.
Byte 3,4 - Starting address of directory names.
Byte 5,6 - Address of directory d/u definitions.
Ever∙á director∙á namσ anΣ definitioε mus⌠á havσá unuseΣá byte≤ ì
paddeΣá witΦ nulls«á Further¼á ever∙ director∙ namσ mus⌠ havσá a⌠ ì
leas⌠ onσ terminatinτ null.
Thσá contro∞á structurσ fo≥ thσ environmen⌠ variable≤á ha≤á thσ ì
followinτ format:
Byte 1 - Number of active variables.
Byte 2 - Number of characters per variable name.
Byte 5,6 - Starting address of variable names.
Byte 7,8 - Starting address of variable storage.
Thσá firs⌠á eigh⌠á variable≤á arσ strinτ typσá anΣá contaiεá 2▓ ì
characte≥á pe≥á def.¼á Thσ las⌠ fou≥ arσ registe≥ anΣá contaiεá ┤ ì
character≤ pe≥ def« Ever∙ def« mus⌠ havσ unuseΣ byte≤ paddeΣ witΦ ì
null≤ anΣ mus⌠ havσ a⌠ leas⌠ onσ terminatinτ null.
.....
ShoulΣá yo⌡ neeΣ t∩ exi⌠ froφ EPE╪ t∩ utilizσ softwarσ tha⌠á i≤ ìè
45
EPEX v1.1 (c) 1986 James H. Whorton
incompatible¼á ßá .SU┬á filσ work≤ nicely«á Thσá filσá shoulΣá bσ ì
createΣá oε A0:«á A≤ aε example¼á le⌠ u≤ sa∙ tha⌠ wσ havσ ßá disδ ì
teste≥ tha⌠ canno⌠ bσ ruε unde≥ EPEX« Usinτ SUBMI╘ o≥ SUPERSU┬ wσ ì
coulΣ usσ thσ followinτ submi⌠ file.
exit
disktest
epex
Thi≤á submi⌠á filσá woulΣá exi⌠á EPEX¼á ruεá thσá disδá testinτ ì
software¼á theε re-ente≥ EPEX«á Thi≤ coulΣ bσ donσ froφ ß men⌡ a≤ ì
well¼á withou⌠ manuall∙ typinτ iε thσ submi⌠ generatioε commands« ì
┴ samplσ men⌡ command-linσ definition¼á usinτ ╘ fo≥ disδ testing¼ ì
migh⌠ g∩ a≤ follows:
T-sub disktest
Assuminτá tha⌠á thσ men⌡ wa≤ calleΣ PROCES╙ anΣ wa≤á beinτá ruε ì
from¼á say¼á A7:¼á thσá submi⌠ filσ DISKTEST.SU┬ migh⌠ looδá likσ ì
this:
a0:
exit
disktest
epex
a7:
process
Thu≤ thσ entirσ sequencσ i≤ automated¼á showinτ thσ powe≥ oµ thσ ì
men⌡ concep⌠ unde≥ EPEX.
46
EPEX v1.1 (c) 1986 James H. Whorton
Appendix A: Suggestions/Comments
Iµ yo⌡ havσ an∙ suggestions¼á comments¼á complaints¼á problems¼ ì
inpu⌠á oµá an∙á kinΣ pleasσ usσ thσ forφ oεá thσá followinτá pagσ ì
first« Fil∞ i⌠ ou⌠ completel∙ anΣ mai∞ to:
James H. Whorton
715 N. Mt. Carmel
Wichita, KS 67203
You≥á inpu⌠á wil∞á bσá evaluateΣá anΣ replieΣá t∩á a≤á sooεá a≤ ì
possible«á Pleasσ enclosσ ß self-addresseΣ stampeΣ envelope«á Onσ ì
thinτ t∩ remembe≥ wheε reportinτ problem≤ is...B┼ SPECIFIC!!í Thσ ì
persoεá wh∩á wil∞ reaΣ abou⌠ you≥ probleφ wa≤ no⌠ therσá wheεá i⌠ ì
happened¼á s∩á suppl∙á a≤á man∙ detail≤á a≤á possible«á Thσá morσ ì
completσá ß picturσ yo⌡ draw¼á thσ bette≥ thσ chance≤ arσ tha⌠á ╔ ì
caε hel≡ you« Iµ necessary¼ usσ additiona∞ sheet≤ oµ paper.
Iµá yo⌡á havσá alread∙ useΣ thσ form¼á writσá anΣá includσá thσ ì
followinτ information:
- Mailing Address
- Revision level
- Brand of computer
- Model of computer
- Configuration (disk drives, terminals, printers, etc.)
- Comments (remember, if writing about a problem, DETAILS!)
╔á welcomσá al∞ input¼á gooΣ anΣ bad«á Onl∙ b∙ learninτ caεá wσ ì
grow¼ anΣ onl∙ b∙ growinτ caε wσ flourish.
47
EPEX v1.1 (c) 1986 James H. Whorton
EPEX Suggestion/Comment Form
Name: _______________________________________________________
Address: _______________________________________________________
City: ________________________ State: ___ Zip: ____________
Date EPEX obtained: ______________ Revision: ___________________
Computer brand: _______________________ Model: ________________
Configuration: _________________________________________________
_________________________________________________
Comments║ ______________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Enclose a self-addressed stamped envelope and mail to:
James H. Whorton
715 N. Mt. Carmel
Wichita, KS 67203
48
EPEX v1.1 (c) 1986 James H. Whorton
Appendix B: Command Reference Chart
Thσá followinτ char⌠ i≤ provideΣ a≤ ß quicδ referencσ guidσá t∩ ì
thσ EPE╪ commanΣ set.
Command Function
ALIAS Alias generator.
CLRIF Clear IF states.
CLS Clear the screen.
CP Copy file(s).
DCR Decrement register.
DIR Display files in specified directory.
ECHO Display text.
ELSE Otherwise...
END End an IF block.
ERA Erase files.
EXIT Exit EPEX.
GOTO Goto label.
IF If...
INP Input to variable.
INR Increment register.
LIST List file to printer.
MKALIAS Generate alias from text file.
MKDIR Generate directory structure from text file.
MKMENU Generate menu from text file.
PATH Set/display command search path.
PAUSE Pause, wait for keypress.
PW─ááá Displa∙ácurrentl∙ádefineΣádirectories.
REN Rename file.
QUIET Set/reset/display system quiet mode.
SAVE Save pages of memory to file.
SECURE Set/reset/display system secure mode.
SET Set/display variables.
TYPE List file to console.
49
EPEX v1.1 (c) 1986 James H. Whorton
Appendix C: Contacting the Author
If you desire to contact me, there are several ways to do so.
1. Iµá yo⌡á havσá ß modem¼á yo⌡ caε contac⌠ mσ viß onσá oµá thσ ì
áááááfollowinτ on-linσ systems.
ááááá[The Mid-West Information Exchange]
áááááHours: 9:30PM - 7:00AM, CST, seven days a week.
ááááá1200 baud only.
ááááá(316) 943-5135
áááááThi≤á i≤á m∙ system¼á anΣ shoulΣ bσ considereΣá thσá primar∙ ì
ááááádistributioεá poin⌠á fo≥á thi≤ anΣá othe≥á softwarσá tha⌠á ╔ ì
ááááárelease. Leave messages to SYSOP.
ááááá[Andromeda]
áááááHours: 24 hours a day, seven days a week.
ááááá300, 1200 baud.
ááááá(316) 722-9526
áááááLeave messages to JAMES WHORTON.
ááááá[Night Flight]
áááááHours: 24 hours a day, seven days a week.
ááááá300, 1200 baud.
ááááá(316) 721-0581
áááááLeave messages to JAMES WHORTON.
áááááPleasσá D╧ NO╘ tr∙ t∩ contac⌠ mσ viß an∙ othe≥á systems«á Iµ ì
áááááyou do so, you will probably not receive a reply.
2. You may also write to me at the following address:
James H. Whorton
715 N. Mt. Carmel
Wichita, KS 67203
50
EPEX v1.1 (c) 1986 James H. Whorton
Appendix D: Index
ALIAS................................... 12
Backup.................................. 3, 7
CLRIF................................... 13
CLS..................................... 14
CMD..................................... 15
Command-line............................ 6,10,12,15,24,
29,31,32,43,44
Contributions........................... 4
CP...................................... 16
DCR..................................... 17
DIR..................................... 18
Directory............................... 10,18,30,32,34,
44,45
ECHO.................................... 19
ELSE.................................... 20
END..................................... 21
ERA..................................... 22
Error................................... 44
EXIT.................................... 23
GOTO.................................... 24
IF...................................... 25
INP..................................... 26
INR..................................... 27
Installation............................ 7
Introduction............................ 6
Licensing............................... 7
Licensing/Distribution.................. 2
LIST.................................... 28
Menu.................................... 43,45
MKALIAS................................. 29
MKDIR................................... 30
MKMENU.................................. 31
PATH.................................... 34
PAUSE................................... 35
Programming............................. 8, 9,25,43
PWD..................................... 36
QUIET................................... 37,45
REN..................................... 38
SAVE.................................... 39
Secure.................................. 25,40,44
Service call............................ 40,41,43
SET..................................... 41
SHELL................................... 43
Starting................................ 9
Suggestions............................. 6
Suggestions/Comments.................... 46
TYPE.................................... 42
Usage................................... 10
Variables............................... 43,45
51