mirror of https://github.com/wwarthen/RomWBW.git
25 changed files with 112 additions and 1315 deletions
@ -1,539 +0,0 @@ |
|||||
|
|
||||
; Z33HDR.LIB |
|
||||
|
|
||||
; This is the configuration file for the ZCPR Version 3.3 command processor. |
|
||||
; You should read through this file and set the equates according to the |
|
||||
; features you want to implement. Since the command processor is limited to |
|
||||
; no more than 2K (2048 bytes), it is impossible to include all features. |
|
||||
|
|
||||
; Basic definitions |
|
||||
|
|
||||
no equ 0 |
|
||||
yes equ not no |
|
||||
off equ no |
|
||||
on equ yes |
|
||||
|
|
||||
rel equ yes ; This equate MUST be set to YES if assembling |
|
||||
; to a REL file, and it MUST be set to NO if |
|
||||
; assembling to a HEX or COM file. |
|
||||
|
|
||||
|
|
||||
;============================================================================= |
|
||||
; |
|
||||
; R E S I D E N T C O M M A N D S S E L E C T I O N |
|
||||
; |
|
||||
;============================================================================= |
|
||||
|
|
||||
; Commands to include in the command processor |
|
||||
|
|
||||
; The primary function of the command processor is to interpret user commands. |
|
||||
; Providing resident command functions is secondary. As the command processor |
|
||||
; has evolved to provide ever more advanced command processing functions, there |
|
||||
; has been correspondingly less room for resident command code in the |
|
||||
; processor. We recommend that you opt for most if not all of the advanced |
|
||||
; processing features and leave the resident command code to the resident |
|
||||
; command processor (RCP) module and to transient programs (COM files). |
|
||||
; |
|
||||
; There are some interrelations between a number of the possible resident |
|
||||
; commands. Some are so close (LIST and TYPE) that a single equate controls |
|
||||
; both functions. Others like DIR and ERA share code (both display file |
|
||||
; listings). It is efficient to select or deselect them together. The RCP |
|
||||
; has the room to provide more elaborate capabilities. Therefore, it makes |
|
||||
; sense to choose for the CPR those resident commands that are intrinsically |
|
||||
; simple, (e.g., NOTE) or which depend on intrinsic command processing code |
|
||||
; (e.g., GET, GO, JUMP). |
|
||||
|
|
||||
|
|
||||
diron equ no ; DIR command to display disk directory |
|
||||
eraon equ no ; ERA command for deleting files |
|
||||
geton equ yes ; GET command for loading a file to a general address |
|
||||
goon equ yes ; GO command to execute code in TPA (at 100h) |
|
||||
jumpon equ yes ; JUMP command to execute code at a general address |
|
||||
lton equ no ; LIST and TYPE commands for file printing and display |
|
||||
noteon equ no ; NOTE command for comments in multiple command lines |
|
||||
renon equ no ; REN command for changing names of files |
|
||||
saveon equ no ; SAVE command for saving TPA to files |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Wheel control over accessibility of commands |
|
||||
|
|
||||
; To prevent unauthorized users from performing certain dangerous or sensitive |
|
||||
; operations on the computer, ZCPR33 provides the capability of disabling the |
|
||||
; operation of certain commands when the wheel byte is off. In ZCPR30, an |
|
||||
; attempt to use one of these wheel-protected commands when the wheel byte was |
|
||||
; off resulted in an error message. In ZCPR33 things work differently. In the |
|
||||
; same situation, the command simply disappears. In this way a transient |
|
||||
; program or extended command processor function can take over and deal with |
|
||||
; the attempt to use the command in a much more flexible way. |
|
||||
; |
|
||||
; Wheel-protected commands in ZCPR30 had extra code to intercept the function |
|
||||
; and disable it. In ZCPR33, wheel protection is enabled and disabled in a |
|
||||
; different way. To wheel-protect a command the high bit of the first |
|
||||
; character in the command name is set. The command table scanner in ZCPR33 |
|
||||
; will not recognize these commands when the wheel byte is off. Since the same |
|
||||
; command scanner is used to scan the commands in the RCP and FCP (flow control |
|
||||
; package), commands there can be wheel protected in the same way. For skilled |
|
||||
; computer operators it is very easy to use a debugger, file patcher, or disk |
|
||||
; utility to enable and disable wheel protection without having to reassemble |
|
||||
; the CPR, RCP, or FCP. |
|
||||
; |
|
||||
; Because of the way the command scanner works, once one command is wheel |
|
||||
; protected, there is no further code penalty in protecting other commands. |
|
||||
; Therefore, we recommend protecting all possibly sensitive commands or none. |
|
||||
|
|
||||
|
|
||||
wdir equ no ; Wheel-protect DIR |
|
||||
wera equ yes ; " " ERA |
|
||||
wget equ yes ; " " GET |
|
||||
wgo equ yes ; " " GO |
|
||||
wjump equ yes ; " " JUMP |
|
||||
wren equ yes ; " " REN |
|
||||
wsave equ yes ; " " SAVE |
|
||||
wlt equ yes ; " " LIST and TYPE |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Command names |
|
||||
|
|
||||
; The CTABLE macro, which constructs the command dispatch table, includes a |
|
||||
; line for each command, the first parameter of which is the name of the |
|
||||
; command. These names may be changed if you wish. But make sure that you |
|
||||
; do not use a name that is longer than the maximum allowed length. If you |
|
||||
; do, the name will be truncated and a nonfatal error will occur during |
|
||||
; assembly. DO NOT CHANGE ANY PARAMETER OTHER THAN THE COMMAND NAME. Lower |
|
||||
; case letters will be converted to upper case. The macro COMMAND is defined |
|
||||
; in Z33MAC.LIB. |
|
||||
|
|
||||
cmdsize equ 4 ; Maximum length of command names |
|
||||
|
|
||||
; Command table name, enable, wheel, jump_addr |
|
||||
; [ DO NOT CHANGE THESE PARAMETERS ] |
|
||||
ctable macro |
|
||||
command DIR, diron, wdir, dir |
|
||||
command ERA, eraon, wera, era |
|
||||
command GET, geton, wget, get |
|
||||
command GO, goon, wgo, go |
|
||||
command JUMP, jumpon, wjump, jump |
|
||||
command LIST, lton, wlt, list |
|
||||
command NOTE, noteon, false, note |
|
||||
command REN, renon, wren, ren |
|
||||
command SAVE, saveon, wsave, save |
|
||||
command TYPE, lton, wlt, type |
|
||||
endm |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; DIR command options |
|
||||
|
|
||||
wide equ yes ; Wide display for 80-column terminals |
|
||||
fence equ '|' ; Separator to use between columns of names |
|
||||
allchar equ 'A' ; Option letter (must be upper case) for |
|
||||
; showing SYS and DIR files |
|
||||
syschar equ 'S' ; Option letter (must be upper case) for |
|
||||
; showing only SYS files |
|
||||
slashfl equ yes ; Allow forms "DIR /S" and "DIR /A"? |
|
||||
whldir equ yes ; Allow display of SYS files only if wheel set |
|
||||
|
|
||||
; Do not change |
|
||||
|
|
||||
whldir defl whldir and diron |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; ERA command options |
|
||||
|
|
||||
; There are options that control whether or not and in what way the user will |
|
||||
; be prompted before files are erased. If ERAOK is off, then there will never |
|
||||
; by any prompting. If ERAOK is on and INSPFL is off, then the user will be |
|
||||
; prompted before all deletions. If INSPFL is also on, then the user will be |
|
||||
; prompted only when the prompt option character is included on the command |
|
||||
; line. If this character is defined to be a blank space, then any character |
|
||||
; will turn on prompting. |
|
||||
|
|
||||
eraok equ on ; Enable prompting before files are erased |
|
||||
inspfl equ on ; Enable command-line inspection flag |
|
||||
inspch equ ' ' ; Character to use (must be upper case) to |
|
||||
; invoke inspection. If this is set to |
|
||||
; ' ' (space character), then any character |
|
||||
; after the files spec will turn on the |
|
||||
; inspect option. |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; GET command options |
|
||||
|
|
||||
fullget equ yes ; If yes, no memory checks are performed with |
|
||||
; the GET command (files can even overwrite the |
|
||||
; command processor or page 0). |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; SAVE command options |
|
||||
|
|
||||
sectch equ ' ' ; Option character (must be upper case) to |
|
||||
; select saving of sectors. If set to ' ' |
|
||||
; (space), then any character will select the |
|
||||
; sector-save option. |
|
||||
|
|
||||
bellfl equ yes ; If yes, bell will ring for SAVE and REN |
|
||||
; commands when the file already exists. |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; TYPE command options |
|
||||
|
|
||||
pagefl equ yes ; If enabled, normally page the output. If not |
|
||||
; enabled, page output only when paging toggle |
|
||||
; character is present. |
|
||||
pagech equ 'P' ; Option character (must be upper case) to |
|
||||
; toggle paging. If it is set to ' ' |
|
||||
; (space), then any character will toggle |
|
||||
; the paging mode |
|
||||
|
|
||||
|
|
||||
;============================================================================= |
|
||||
; |
|
||||
; C O M M A N D P R O C E S S I N G O P T I O N S |
|
||||
; |
|
||||
;============================================================================= |
|
||||
|
|
||||
; ZCPR33 has many more command processing options than did ZCPR30. These are |
|
||||
; controlled by the following equates. |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Environment access |
|
||||
|
|
||||
; In ZCPR30 the command processor knew about its environment only at the time |
|
||||
; it was assembled. Therefore, all aspects of the environment were fixed. |
|
||||
; Loading a new ENV module might change the way a transient program would |
|
||||
; function (for example by changing the maximum drive and user values that |
|
||||
; would be accepted), but the command processor would not recognize these |
|
||||
; changes. ZCPR33 can be made to recognize dynamically several possible |
|
||||
; changes in the environment. |
|
||||
|
|
||||
duenv equ yes ; If enabled, the CPR will get the values of |
|
||||
; the maximum drive and user to recognize from |
|
||||
; the environment descriptor |
|
||||
|
|
||||
aduenv equ yes ; If enabled, the CPR will use the DUOK flag |
|
||||
; byte in the environment to determine |
|
||||
; whether or not to accept DU: references |
|
||||
|
|
||||
inclenv equ no ; If enabled, inclusion of the DU in the |
|
||||
; prompt will be controlled by the DUOK flag |
|
||||
|
|
||||
; The following three functions, if enabled, allow one to dynamically trade off |
|
||||
; buffer space between named directories, resident commands, and flow control. |
|
||||
; By executing a command like "LDR NEW.ENV,NEW.RCP,NEW.FCP,NEW.NDR" one can |
|
||||
; temporarily expand the capabilities of one module at the expense of another. |
|
||||
; To use these capabilities, the three buffers must be contiguous in memory. |
|
||||
; Since making such changes can be risky, it is recommended that it be done |
|
||||
; only with aliases, so that all necessary changes get made automatically and |
|
||||
; at the same time. |
|
||||
|
|
||||
fcpenv equ yes ; If enabled, the CPR will determine the address |
|
||||
; of the FCP (flow command package) from the |
|
||||
; environment descriptor. |
|
||||
|
|
||||
rcpenv equ yes ; If enabled, the CPR will determine the address |
|
||||
; of the RCP (resident command package) from |
|
||||
; the environment descriptor. |
|
||||
|
|
||||
ndrenv equ yes ; If enabled, the CPR will determine the address |
|
||||
; of the NDR (named directory registers) from |
|
||||
; the environment descriptor. |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Control over types of files to load and run as transient programs. |
|
||||
|
|
||||
comtyp macro ; The file type for executable files (this will |
|
||||
db 'COM' ; be changed only in the most unusual |
|
||||
endm ; situtations). This file type will also apply |
|
||||
; to the extended command processor. |
|
||||
|
|
||||
attchk equ no ; If enabled, the command processor can be made |
|
||||
; to recognize as executable files only those |
|
||||
; with particular attributes (defined by the |
|
||||
; COMATT equate below). |
|
||||
|
|
||||
comatt equ 0 ; 0 = system, 80h = DIR (01h will give both, |
|
||||
; but in that case setting ATTCHK to false will |
|
||||
; give the same result with less code). |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Batch processing using the submit facility. This takes up quite a bit of |
|
||||
; space in the command processor, and you may wish to omit it. Most of the |
|
||||
; type of processing that submit can do can be accomplished using either the |
|
||||
; the memory-based ZEX batch processor or command-line scripts (aliases). |
|
||||
|
|
||||
subon equ yes ; If enabled, the command processor will |
|
||||
; process submit files. |
|
||||
|
|
||||
subnoise equ 0 ; If 0, submit lines, like command lines |
|
||||
; generated by aliases, will not be echoed |
|
||||
; to the screen. If 1, then echoing will |
|
||||
; be controlled by the ENV QUIET flag. If more |
|
||||
; than 1, submit command lines will always |
|
||||
; be echoed. |
|
||||
|
|
||||
subclue equ no ; If yes, use the flag returned by the DOS |
|
||||
; as a clue to the existence of a submit file |
|
||||
; (some versions of ZRDOS -- including 1.7 -- |
|
||||
; do not return the correct value, in which |
|
||||
; case 'no' should be used here). The speed |
|
||||
; advantage to using 'yes' is probably not |
|
||||
; great. |
|
||||
|
|
||||
sprmpt equ ']' ; CPR prompt indicating submit command |
|
||||
|
|
||||
subtyp macro ; The file type for the '$$$' file used by the |
|
||||
db 'SUB' ; submit processor (this will very rarely be |
|
||||
endm ; changed) |
|
||||
|
|
||||
; WARNING -- the following equate should not be changed from 'A' unless you |
|
||||
; know what you are doing! |
|
||||
|
|
||||
subdrv equ 'A' ; Drive to use for submit file (normally this |
|
||||
; will be 'A', but in special cases, such as |
|
||||
; when there is a RAM disk, you might want to |
|
||||
; specify another drive) |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; PATH options -- ZCPR searches for user programs along a path of directories |
|
||||
; specified in the path buffer. Because of the efficiency it adds, the |
|
||||
; minpath (minimum path) is not an option in ZCPR33 but is always in effect. |
|
||||
; This minimum path eliminates duplicate references that can arise in several |
|
||||
; ways and otherwise cause a useless search of a directory a second or third |
|
||||
; time. |
|
||||
|
|
||||
drvprefix equ yes ; If enabled, an explicit DU: or DIR: prefix on |
|
||||
; a command verb will be recognized and made |
|
||||
; the first element of the command search path. |
|
||||
|
|
||||
scancur equ no ; If enabled, the currently logged directory |
|
||||
; will always be added to the beginning of the |
|
||||
; symbolic path (we advise disabling this |
|
||||
; option -- you can always include '$$' in the |
|
||||
; path, but then you can omit it when you wish |
|
||||
; and you can control its position in the path, |
|
||||
; searching your main directories first). See |
|
||||
; the Z33 User Guide for special precautions |
|
||||
; required when SCANCUR is off. |
|
||||
|
|
||||
; In order to save space in the CPR for valuable code, the minpath can be |
|
||||
; built in a memory buffer external to the CPR. If your symbolic path has |
|
||||
; no more than 10 elements, the minpath will automatically be built at the |
|
||||
; bottom of the external stack. Otherwise, if you want an external minpath, |
|
||||
; you must set the EXTMPATH symbol to yes and supply the address of the memory |
|
||||
; to use. The memory requirement is twice the length of the symbolic path |
|
||||
; (see Z3BASE.LIB or run SHOW to get this value) plus 2 if SCANCUR is enabled |
|
||||
; plus 2 if DRVPREFIX is enabled, plus 1 for the ending null. |
|
||||
|
|
||||
extmpath equ no ; If yes, the minpath will be built in a buffer |
|
||||
; external to the command processor at an |
|
||||
; address supplied in the next definition. |
|
||||
|
|
||||
extmpathadr equ 0 ; If EXPMPATH is enabled, provide the address |
|
||||
; of the external buffer here. |
|
||||
|
|
||||
; Do not change the following code |
|
||||
|
|
||||
if [ expaths le 10 ] |
|
||||
extmpath defl yes ; Automatic placement of minpath |
|
||||
extmpathadr defl extstk ; ..at bottom of external stack |
|
||||
endif |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Control over the acceptance and display of drive/user and named directory |
|
||||
; forms. With the options provided in ZCPR33 it is quite easy to provide a |
|
||||
; fully secure system with the DU form enabled. The DU form is often the only |
|
||||
; one recognized by non-ZCPR programs and is often more convenient and natural |
|
||||
; to use. We, therefore, recommend that both DU and DIR forms be allowed and |
|
||||
; displayed. Processing of DIR forms will not be carried out, obviously, if |
|
||||
; the named directory register (NDR) is not implemented in the system. |
|
||||
|
|
||||
accptdu equ yes ; Accept DU: form in command lines |
|
||||
accptdir equ yes ; Accept DIR: form in command lines |
|
||||
dufirst equ no ; If enabled, the DU form will be checked |
|
||||
; before the DIR form. |
|
||||
|
|
||||
incldu equ yes ; Include DU in prompt |
|
||||
incldir equ yes ; Include DIR in prompt |
|
||||
|
|
||||
|
|
||||
; Do not change the following |
|
||||
|
|
||||
incldir defl incldir and [z3ndir ne 0] |
|
||||
accptdir defl accptdir and [z3ndir ne 0] |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Security matters |
|
||||
|
|
||||
|
|
||||
pwcheck equ yes ; If enabled, passwords on named directories |
|
||||
; will be checked for DIR forms in the command |
|
||||
; verb and the first two command-line tokens. |
|
||||
; If disabled, passwords will not be checked |
|
||||
; even if a directory has a password defined. |
|
||||
|
|
||||
pwnoecho equ yes ; If yes, the BIOS conout routine will be |
|
||||
; disabled during password input so that the |
|
||||
; password will not be echoed to the screen. |
|
||||
; This does involves poking in the BIOS and |
|
||||
; could in rare instances cause problems. |
|
||||
|
|
||||
wdu equ no ; If enabled, the DU: and DIR: forms will not |
|
||||
; be allowed for changing the logged directory |
|
||||
; unless the wheel byte is set. |
|
||||
|
|
||||
wpass equ yes ; If enabled, password checking of named |
|
||||
; directories is bypassed when the wheel byte |
|
||||
; is set. |
|
||||
|
|
||||
wprefix equ no ; If set, this option will effectively turn |
|
||||
; off DRVPREFIX when the wheel byte is off. |
|
||||
; Explicit drive prefixes will then be allowed |
|
||||
; only when the wheel byte is set. Otherwise |
|
||||
; they will be ignored except that ECPs will |
|
||||
; not be invoked if a prefix was present. |
|
||||
|
|
||||
; Do not change the next lines |
|
||||
|
|
||||
pwcheck defl pwcheck and [ z3ndir ne 0 ] |
|
||||
pwnoecho defl pwnoecho and pwcheck |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Advanced command processing options |
|
||||
|
|
||||
highuser equ no ; If yes, the command processor will log into |
|
||||
; user numbers higher than 15 (up to 31). |
|
||||
; WARNING: BECAUSE CP/M USES A SINGLE BYTE AT |
|
||||
; ADDRESS 0004H TO KEEP BOTH DRIVE AND USER, |
|
||||
; PROGRAMS THAT USE THAT BYTE TO DETERMINE |
|
||||
; THE DEFAULT DU MAY NOT RUN PROPERLY WHEN ONE |
|
||||
; IS LOGGED INTO A USER NUMBER ABOVE 15. |
|
||||
|
|
||||
skippath equ yes ; If yes, command verbs with an explicit DU: or |
|
||||
; DIR: prefix will not use the search path; if |
|
||||
; the command is not found in the specified |
|
||||
; directory, the error handler will be invoked |
|
||||
; immediately (no path and no ECP). |
|
||||
|
|
||||
fastecp equ yes ; If yes, command verbs with leading spaces will |
|
||||
; be executed directly by the ECP (saves the |
|
||||
; time of searching the path for a COM file |
|
||||
; when one knows the command is for the ECP). |
|
||||
|
|
||||
altspace equ yes ; If yes, the alternate character, ECPCHAR, can |
|
||||
; also be used to invoke ECP processing |
|
||||
; immediately (FASTECP must be enabled). |
|
||||
|
|
||||
altonly equ no ; If ALTSPACE is on, then if ALTONLY is also |
|
||||
; on, the alternate character the only one that |
|
||||
; will invoke fast ECP processing (spaces will |
|
||||
; not). |
|
||||
|
|
||||
ecpchar equ '/' ; Alternate (or required) character for fast ECP |
|
||||
; invocation. |
|
||||
|
|
||||
altcolon equ yes ; If enabled, an alternate character (period |
|
||||
; recommended) can be used in place of a colon |
|
||||
; to make the CPR skip resident commands and |
|
||||
; add the current directory to the search path. |
|
||||
|
|
||||
altchar equ '.' ; Character that serves as an alias for leading |
|
||||
; colon if it is the first non-blank character |
|
||||
; in the command. |
|
||||
|
|
||||
badduecp equ yes ; If yes, pass commands that try to log into a |
|
||||
; bad directory to the ECP for processing; if |
|
||||
; set to NO, invoke the error handler |
|
||||
; immediately under these circumstances. |
|
||||
|
|
||||
; WARNING -- do not change the following equate from 'no' unless you |
|
||||
; know what you are doing! |
|
||||
|
|
||||
shellif equ no ; If yes, flow control processing can take |
|
||||
; place in shell aliases (complex command |
|
||||
; sequences being used as a shell). The |
|
||||
; penalty is that each time the shell runs, |
|
||||
; the entire flow control system is |
|
||||
; reinitialized. Flow control information |
|
||||
; will not persist across shell invocations. |
|
||||
; If SHELLIF is off, flow commands in shell |
|
||||
; aliases will not be recognized as FCP |
|
||||
; commands (they will be flushed) and, |
|
||||
; therefore, should not be used. |
|
||||
|
|
||||
; Do not change the following |
|
||||
|
|
||||
skippath defl skippath and drvprefix |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Extended command processing |
|
||||
|
|
||||
; The extended command processor comes into effect when a way to process a |
|
||||
; command verb has still not been found after the entire search path for a |
|
||||
; COM file has been exhausted. The entire user command is taken as the |
|
||||
; command tail on the extended command processor. In ZCPR30 one could either |
|
||||
; have extended command processing OR error handling. In ZCPR33 one can, and |
|
||||
; should, have both. |
|
||||
|
|
||||
rootonly equ yes ; If yes, the command processor looks for the |
|
||||
; ECP only in the directory specified as the |
|
||||
; last one in the path instead of scanning the |
|
||||
; entire path for the ECP. |
|
||||
|
|
||||
; The following macro defines the name of the ECP. Rename your favorite |
|
||||
; ECP (ours is ARUNZ) to CMDRUN.COM or whatever name you put in below. |
|
||||
|
|
||||
ecpname macro |
|
||||
db 0 ; Drive (do not change this from 0) |
|
||||
db 'CMDRUN ' ; Name of ECP program (exactly 8 characters) |
|
||||
; '--------' ; (Eight-character space marker) |
|
||||
endm |
|
||||
|
|
||||
;----------------------------------------------------------------------------- |
|
||||
|
|
||||
; Miscellaneous equates |
|
||||
|
|
||||
|
|
||||
cmdsep equ ';' ; Separator between multiple commands |
|
||||
|
|
||||
; The following two equates are used only if the equates to get this |
|
||||
; information from the environment descriptor are not enabled. |
|
||||
|
|
||||
maxusr equ 31 ; Maximum user number accessible |
|
||||
maxdisk equ 4 ; Maximum number of disks accessible |
|
||||
|
|
||||
supres equ false ; Supresses user number in prompt for user 0 |
|
||||
|
|
||||
cprmpt equ '>' ; CPR prompt indicating user command |
|
||||
|
|
||||
numbase equ 'H' ; Character used to designate a hexadecimal |
|
||||
; number in the SAVE command |
|
||||
|
|
||||
curind equ '$' ; Symbol in symbolic path for current disk |
|
||||
; or user |
|
||||
|
|
||||
comment equ ';' ; Lines beginning with this character are |
|
||||
; treated as comments |
|
||||
|
|
||||
; Definition equates |
|
||||
|
|
||||
wheel defl wera or wren or wlt or wgo or wsave or wget or wjump or wdir |
|
||||
|
|
||||
path equ expath ; Definition from Z3BASE.LIB |
|
||||
|
|
||||
; End of Z33HDR.LIB |
|
||||
|
|
||||
|
|
||||
@ -1,128 +0,0 @@ |
|||||
; B/P Bios System Z3 Definition File. |
|
||||
|
|
||||
; This file is adapted from the basic Z3BASE.LIB configuration file used for |
|
||||
; most ZCPR33 systems. It has added the new definitions for the Resident |
|
||||
; User Space defined in B/P Bios descriptions. |
|
||||
;========================================================================= |
|
||||
;== NOTE: The Starting Address of the User Space marks the lower == |
|
||||
;== base of memory and MUST be entered. B/P Bios Utilities use == |
|
||||
;== this address to locate many portions of the operating system. == |
|
||||
;========================================================================= |
|
||||
; To change your systems definition, first sketch out the memory map in the |
|
||||
; comment table, then set the equates to reflect the memory map, doing any |
|
||||
; required calculations for element sizes and required spaces. As an |
|
||||
; alternative, just leave this file alone and configure everything with |
|
||||
; the utilities provided. |
|
||||
|
|
||||
; FFE0 - FFFF 32 Bytes HBIOS Reserved |
|
||||
; FFB0 - FFDF 48 Bytes ZCPR3 External Stack |
|
||||
; FF00 - FFAF 176 Bytes Multiple Command Line Buffer |
|
||||
; FE00 - FEFF 256 Bytes Environment Descriptor |
|
||||
; Bytes 00H-7FH: Z3 Parameters |
|
||||
; Bytes 80H-FFH: Z3 TCAP |
|
||||
; FDFF 1 Byte Wheel byte |
|
||||
; FDF4 - FDFE 11 Bytes Path (5 elements) |
|
||||
; FDD0 - FDF3 36 Bytes ZCPR3 External FCB |
|
||||
; FD80 - FDCF 80 Bytes ZCPR3 Message Buffers |
|
||||
; FD00 - FD7F 128 Bytes ZCPR3 Shell Stack |
|
||||
; FC00 - FCFF 256 Bytes Named Directory Buffer |
|
||||
; FA00 - FBFF 512 Bytes Flow Command Package |
|
||||
; F200 - F9FF 2.0 KBytes Resident Command Package |
|
||||
; EC00 - F1FF 1.5 KBytes IO Package |
|
||||
; E900 - EBFF .75 KBytes Resident User Space |
|
||||
|
|
||||
; The remainder is for the Operating System. Exact sizes vary depending |
|
||||
; primarily on the Number and sizes of Hard Drive Partitions, but may be: |
|
||||
|
|
||||
; D100 - EBFF 5.0 KBytes B/P BIOS (unbanked version) |
|
||||
; C300 - D0FF 3.5 KBytes ZSDOS 1.0 BDOS |
|
||||
; BB00 - C2FF 2 KBytes ZCPR 3.3 Command Processor |
|
||||
; 0100 - BAFF ~46 KBytes Transient Program Area |
|
||||
; 0000 - 00FF 256 Bytes Standard CP/M Buffers |
|
||||
;======================================================================== |
|
||||
|
|
||||
FALSE EQU 0 |
|
||||
TRUE EQU NOT FALSE |
|
||||
|
|
||||
YES EQU TRUE |
|
||||
NO EQU FALSE |
|
||||
|
|
||||
; The External Stack is placed in the very top position in memory. It is |
|
||||
; mandatory for B/P Bios and ZCPR 3.3. |
|
||||
|
|
||||
;EXTSTK EQU 0FFD0H ; ZCPR3 External Stack |
|
||||
EXTSTK EQU 0FFB0H ; ZCPR3 External Stack |
|
||||
EXTSTKS EQU YES |
|
||||
|
|
||||
; The Multiple Command Line Buffer is placed in the Top Page of Memory to |
|
||||
; place it above the Environment. It is mandatory for ZCPR 3.3. |
|
||||
|
|
||||
Z3CL EQU 0FF00H ; ZCPR3 Command Line Buffer |
|
||||
;Z3CLS EQU 208-5 ; Size of Command Line Buffer-5 |
|
||||
Z3CLS EQU 176-5 ; Size of Command Line Buffer-5 |
|
||||
|
|
||||
; The ZCPR3 External Environment Descriptor is mandatory B/P Bios & ZCPR 3.3. |
|
||||
; The Environment Descriptor MUST begin on an even Page Boundary (xx00H). |
|
||||
|
|
||||
Z3ENV EQU 0FE00H ; Environment Descriptors |
|
||||
Z3ENVS EQU 2 ; Size of Env Descriptor in 128-Byte Blks |
|
||||
|
|
||||
; The ZCPR3 Wheel Byte is mandatory for ZCPR 3.3. |
|
||||
|
|
||||
Z3WHL EQU 0FDFFH ; Wheel Byte Address |
|
||||
Z3WHLS EQU YES |
|
||||
|
|
||||
; The Path is mandatory for ZCPR 3.3. |
|
||||
|
|
||||
EXPATH EQU 0FDF4H ; External Path starting Address |
|
||||
EXPATHS EQU 5 ; (Path Size = EXPATHS*2 + 1 = 11 bytes) |
|
||||
; This defines 5 2-byte Path Elements |
|
||||
|
|
||||
; The ZCPR3 External FCB is mandatory for ZCPR 3.3. |
|
||||
|
|
||||
EXTFCB EQU 0FDD0H ; 36-Byte ZCPR3 External FCB |
|
||||
EXTFCBS EQU YES |
|
||||
|
|
||||
; The ZCPR3 Message Buffers are mandatory for ZCPR 3.3. |
|
||||
|
|
||||
Z3MSG EQU 0FD80H ; 80-Byte ZCPR3 Message Buffer |
|
||||
Z3MSGS EQU YES |
|
||||
|
|
||||
; Shell Stack definition. Set SHSTKS to 0 to eliminate Shell Stack |
|
||||
|
|
||||
SHSTK EQU 0FD00H ; Shell Stack Starting Address |
|
||||
SHSTKS EQU 4 ; Number of SHSIZE-Byte Shell Stack entries |
|
||||
SHSIZE EQU 32 ; (Stack Size = SHSTKS * SHSIZE = 128 Bytes) |
|
||||
|
|
||||
; ZCPR3 Named Directory Buffer definition. Set Z3NDIRS to 0 to eliminate |
|
||||
; the named directory buffer. |
|
||||
|
|
||||
Z3NDIR EQU 0FC00H ; Start of Named Directory Buffer |
|
||||
Z3NDIRS EQU 14 ; Number of Named Directory Elements |
|
||||
; (NDIR Size = Z3NDIRS * 18 + 1 = 253 Bytes) |
|
||||
|
|
||||
; Flow Command Package definition. Set FCPS to 0 to eliminate FCP |
|
||||
|
|
||||
FCP EQU 0FA00H ; Start of Flow Command Package |
|
||||
FCPS EQU 4 ; (FCP Size = 128 * FCPS = 512 Bytes) |
|
||||
|
|
||||
; Resident Command Processor Definition. Set RCPS to 0 to eliminate RCP |
|
||||
|
|
||||
RCP EQU 0F200H ; Start of Resident Command Processor |
|
||||
RCPS EQU 16 ; (RCP Size = 128 * RCPS = 2 kBytes) |
|
||||
|
|
||||
; IO Package definition. Set IOPS to 0 to eliminate IOP |
|
||||
|
|
||||
IOP EQU 0EC00H ; Start of IO Package |
|
||||
IOPS DEFL 12 ; (IOP Size = 128 * IOPS = 1.5 kBytes) |
|
||||
|
|
||||
;========================================================================= |
|
||||
; Resident User Space Definition. Set USPCS to 0 to eliminate USPC. |
|
||||
; The USPC Value marks the Lower Limit of Reserved Common High Memory and |
|
||||
; MUST BE PRESENT! |
|
||||
|
|
||||
USPC EQU 0E900H ; Start of Resident User Space (MANDATORY) |
|
||||
USPCS EQU 6 ; (USPC Size = 128 * USPCS = 0.75 kBytes) |
|
||||
|
|
||||
;--- End of Z3BASE.LIB --- |
|
||||
|
|
||||
@ -1,126 +0,0 @@ |
|||||
; B/P Bios System Z3 Definition File. |
|
||||
|
|
||||
; This file is adapted from the basic Z3BASE.LIB configuration file used for |
|
||||
; most ZCPR33 systems. It has added the new definitions for the Resident |
|
||||
; User Space defined in B/P Bios descriptions. |
|
||||
;========================================================================= |
|
||||
;== NOTE: The Starting Address of the User Space marks the lower == |
|
||||
;== base of memory and MUST be entered. B/P Bios Utilities use == |
|
||||
;== this address to locate many portions of the operating system. == |
|
||||
;========================================================================= |
|
||||
; To change your systems definition, first sketch out the memory map in the |
|
||||
; comment table, then set the equates to reflect the memory map, doing any |
|
||||
; required calculations for element sizes and required spaces. As an |
|
||||
; alternative, just leave this file alone and configure everything with |
|
||||
; the utilities provided. |
|
||||
|
|
||||
; FE00 - FFFF 512 Bytes HBIOS Reserved |
|
||||
; FDFF 1 Byte Wheel byte |
|
||||
; FDF4 - FDFE 11 Bytes Path (5 elements) |
|
||||
; FDD0 - FDF3 36 Bytes ZCPR3 External FCB |
|
||||
; FD80 - FDCF 80 Bytes ZCPR3 Message Buffers |
|
||||
; FD00 - FD7F 128 Bytes ZCPR3 Shell Stack |
|
||||
; FC00 - FCFF 256 Bytes Named Directory Buffer |
|
||||
; FA00 - FBFF 512 Bytes Flow Command Package |
|
||||
; F200 - F9FF 2.0 KBytes Resident Command Package |
|
||||
; EC00 - F1FF 1.5 KBytes IO Package |
|
||||
; EBD0 - EBFF 48 Bytes ZCPR3 External Stack |
|
||||
; EB00 - EBAF 176 Bytes Multiple Command Line Buffer |
|
||||
; EA00 - EAFF 256 Bytes Environment Descriptor |
|
||||
; Bytes 00H-7FH: Z3 Parameters |
|
||||
; Bytes 80H-FFH: Z3 TCAP |
|
||||
; E700 - E9FF .75 KBytes Resident User Space |
|
||||
|
|
||||
; The remainder is for the Operating System. Exact sizes vary depending |
|
||||
; primarily on the Number and sizes of Hard Drive Partitions, but may be: |
|
||||
|
|
||||
; D300 - E6FF 5.0 KBytes B/P BIOS (unbanked version) |
|
||||
; C500 - D2FF 3.5 KBytes ZSDOS 1.0 BDOS |
|
||||
; BD00 - C4FF 2 KBytes ZCPR 3.3 Command Processor |
|
||||
; 0100 - BCFF ~47 KBytes Transient Program Area |
|
||||
; 0000 - 00FF 256 Bytes Standard CP/M Buffers |
|
||||
;======================================================================== |
|
||||
|
|
||||
FALSE EQU 0 |
|
||||
TRUE EQU NOT FALSE |
|
||||
|
|
||||
YES EQU TRUE |
|
||||
NO EQU FALSE |
|
||||
|
|
||||
; The External Stack is placed in the very top position in memory. It is |
|
||||
; mandatory for B/P Bios and ZCPR 3.3. |
|
||||
|
|
||||
EXTSTK EQU 0EBD0H ; ZCPR3 External Stack |
|
||||
EXTSTKS EQU YES |
|
||||
|
|
||||
; The Multiple Command Line Buffer is placed in the Top Page of Memory to |
|
||||
; place it above the Environment. It is mandatory for ZCPR 3.3. |
|
||||
|
|
||||
Z3CL EQU 0EB00H ; ZCPR3 Command Line Buffer |
|
||||
Z3CLS EQU 208-5 ; Size of Command Line Buffer-5 |
|
||||
|
|
||||
; The ZCPR3 External Environment Descriptor is mandatory B/P Bios & ZCPR 3.3. |
|
||||
; The Environment Descriptor MUST begin on an even Page Boundary (xx00H). |
|
||||
|
|
||||
Z3ENV EQU 0EA00H ; Environment Descriptors |
|
||||
Z3ENVS EQU 2 ; Size of Env Descriptor in 128-Byte Blks |
|
||||
|
|
||||
; The ZCPR3 Wheel Byte is mandatory for ZCPR 3.3. |
|
||||
|
|
||||
Z3WHL EQU 0FDFFH ; Wheel Byte Address |
|
||||
Z3WHLS EQU YES |
|
||||
|
|
||||
; The Path is mandatory for ZCPR 3.3. |
|
||||
|
|
||||
EXPATH EQU 0FDF4H ; External Path starting Address |
|
||||
EXPATHS EQU 5 ; (Path Size = EXPATHS*2 + 1 = 11 bytes) |
|
||||
; This defines 5 2-byte Path Elements |
|
||||
|
|
||||
; The ZCPR3 External FCB is mandatory for ZCPR 3.3. |
|
||||
|
|
||||
EXTFCB EQU 0FDD0H ; 36-Byte ZCPR3 External FCB |
|
||||
EXTFCBS EQU YES |
|
||||
|
|
||||
; The ZCPR3 Message Buffers are mandatory for ZCPR 3.3. |
|
||||
|
|
||||
Z3MSG EQU 0FD80H ; 80-Byte ZCPR3 Message Buffer |
|
||||
Z3MSGS EQU YES |
|
||||
|
|
||||
; Shell Stack definition. Set SHSTKS to 0 to eliminate Shell Stack |
|
||||
|
|
||||
SHSTK EQU 0FD00H ; Shell Stack Starting Address |
|
||||
SHSTKS EQU 4 ; Number of SHSIZE-Byte Shell Stack entries |
|
||||
SHSIZE EQU 32 ; (Stack Size = SHSTKS * SHSIZE = 128 Bytes) |
|
||||
|
|
||||
; ZCPR3 Named Directory Buffer definition. Set Z3NDIRS to 0 to eliminate |
|
||||
; the named directory buffer. |
|
||||
|
|
||||
Z3NDIR EQU 0FC00H ; Start of Named Directory Buffer |
|
||||
Z3NDIRS EQU 14 ; Number of Named Directory Elements |
|
||||
; (NDIR Size = Z3NDIRS * 18 + 1 = 253 Bytes) |
|
||||
|
|
||||
; Flow Command Package definition. Set FCPS to 0 to eliminate FCP |
|
||||
|
|
||||
FCP EQU 0FA00H ; Start of Flow Command Package |
|
||||
FCPS EQU 4 ; (FCP Size = 128 * FCPS = 512 Bytes) |
|
||||
|
|
||||
; Resident Command Processor Definition. Set RCPS to 0 to eliminate RCP |
|
||||
|
|
||||
RCP EQU 0F200H ; Start of Resident Command Processor |
|
||||
RCPS EQU 16 ; (RCP Size = 128 * RCPS = 2 kBytes) |
|
||||
|
|
||||
; IO Package definition. Set IOPS to 0 to eliminate IOP |
|
||||
|
|
||||
IOP EQU 0EC00H ; Start of IO Package |
|
||||
IOPS DEFL 12 ; (IOP Size = 128 * IOPS = 1.5 kBytes) |
|
||||
|
|
||||
;========================================================================= |
|
||||
; Resident User Space Definition. Set USPCS to 0 to eliminate USPC. |
|
||||
; The USPC Value marks the Lower Limit of Reserved Common High Memory and |
|
||||
; MUST BE PRESENT! |
|
||||
|
|
||||
USPC EQU 0E700H ; Start of Resident User Space (MANDATORY) |
|
||||
USPCS EQU 6 ; (USPC Size = 128 * USPCS = 0.75 kBytes) |
|
||||
|
|
||||
;--- End of Z3BASE.LIB --- |
|
||||
|
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,4 @@ |
|||||
|
@echo off |
||||
|
setlocal |
||||
|
|
||||
|
setlocal & cd BPBIOS && call Build || exit /b 1 & endlocal |
||||
Loading…
Reference in new issue