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
/
NUBYE
/
NUB101-S.LBR
/
NUB-HEAD.IQS
/
NUB-HEAD.INS
Wrap
Text File
|
2000-06-30
|
26KB
|
686 lines
;
; NUBYE v1.01
; 07/30/86
;
; - REMOTE CONSOLE PROGRAM FOR CP/M AND MODEM -
; For use with CP/M 2 or CP/M 3
;
;
; This is the "Head" of NUBYE -- set up the equates to meet your system
; needs, append the "Body" (using PIP or similar) and assemble with your
; favorite assembler.
; - Tom Brady
;
;
; NUBYE will operate stand-alone (i.e. without running a BBS system), but
; also supports most of the popular CP/M BBS software (i.e. MBBS, METAL,
; Oxgate, PBBS, RBBS, ZBBS, etc). You should find NUBYE easy to install --
; if not, contact me or one of the test sites for additional help as needed.
; There are currently three fully commented, public domain utilities of this
; type -- NUBYE, MBYE and BYE3 -- while each is unique in its own way, I
; hope NUBYE will attract your attention enough to make you switch (or, at
; least, give it a try).
;
; A complete NUBYExxx.LBR will contain the following files:
; (Note: Those files tagged with an asterisk may be found in the larger
; sister version, NUBYE101.LBR.)
;
;* NUBYE1xx.ASM This file
;* NUBDOS.DOC Extended BDOS functions documented
;* NUBYE-IM.DOC General modem equates discussed
;
; NUB-HEAD.INS Contains all EQUates for system setup
; NUB-BODY.ASM Contains the main source code (append to NUB-HEAD.INS)
; NUBYE.HLP General installation help
; NUBYE.HIS All current and past revisions documented
; NUBY-INS.LST List of currently available computer specific inserts
; NU-CLOCK.LST List of currently available clock inserts
;
; ======================================
;
; NUBYE enables a remote caller to access and operate your system just as
; if he/she was sitting in front of the keyboard locally. It may be set
; up to operate as a stand-alone monitoring system (i.e. allows employees
; access to company computers during off hours - internal password entry
; option) or as part of a message base system, as normally found on
; RCP/M's. Read NUBYE.HLP for help in setting this program up for your
; particular needs.
;
; NUBYE is the result of no one authorship, but many hundreds of people
; across the country. The source code is fully commented to aid those of
; you who wish to customize/modify it or who are trying to understand how
; programs such as this work.
;
; If you have changes that you feel should be included in future releases,
; please forward them me, or to one of the contact boards listed below.
; All submitted modifications/suggestions will be considered, whether they
; are from an individual or a group. FULL credit will also be given for
; such code as is incorporated into future versions (i.e. system name and
; number, as well as the person's name).
;
; - Tom Brady
; Decibel RCP/M (PBBS)
; 300/1200/2400
; *(404) 288-6858
; P.O. Box 1773
; Decatur, GA 30031
;
;
; Other Contact/Beta-Test Systems:
;
; Joubert Berger Terry Carroll Jim Gooch
; Atlanta Kaypro MBBS Poor Man's Z-NODE (#56) Norcross MBBS RCP/M
; 300/1200 300/1200/2400 300/1200/2400
; *(404) 923-2580 (817) 283-9167 *(404) 921-1116
;
; Ernest Hintz Gary Inman Barry Miller
; KAY+FUN RCP/M West Los Angeles RCP/M Long Island Epson RCP/M
; 300/1200 300/1200/2400 300/1200/2400
; *(415) 572-8219 (213) 838-9229 (516) 536-1546
;
; Murray Simsolo
; LIKUG MBBS/RCPM
; 300/1200/2400
; (516) 825-8465
;
; (*PC Pursuit area)
;
; NOTE: All CP/M Plus (CP/M 3) code courtesy of George Peace -- enough
; credit has not been given to him for making NUBYE (and other
; BYE versions) available for CP/M 3 systems. If any of your
; modifications/questions concern CP/M Plus, please contact him
; on his system:
; George Peace
; FOG System #10
; 300/1200/2400
; (717) 657-8699
; or
; (717) 657-0285 -- voice
;
; =====
;
; Remove the ';' from before the ASEG if you use Microsoft's MACRO-80
; macroassembler (referred to as M80). Nobody else needs this command.
;
; ASEG ; Needed by M80 assembler, only
;
; For conditional assembly
;
NO EQU 0
YES EQU NOT NO
;
; ****************************
; OPTION CONFIGURATION SECTION
; ****************************
;
; NUBYE configuration
;
CCPL EQU 8 ; Number of sectors for CCP size (norm=8)
; -Apples with Micrsoft CP/M v2.23+ use 9.
; -CP/M-3 does not use this.
; -Trantor WL bios, see TRANWL.INS
CCPOFF EQU 128 ; Many systems need an offset, while others
; may get along with none. Leave at 128
; unless you wish to experiment.
; -----
; Modem Equates
;
IMODEM EQU no ; Yes, using Hayes-type intelligent modem
IMAT EQU no ; Yes, modem supports Hayes' "AT" protocol
;
; Set one (and only one) of the following HS equates to YES
;
HS2400 EQU no ; Yes, modem's highest speed is 2400 bps
HS1200 EQU no ; Yes, modem's highest speed is 1200 bps
HS300 EQU no ; Yes, modem's highest speed is 300 bps
;
; The next 7 equates are only used if IMAT is YES
;
ECHO EQU no ; Yes for Hayes, ProModem, Courier, RV-Maxwell
; NO for all others (Anchor, etc.)
ANCHOR EQU NO ; Yes, if you have a Mark XII
NODTR EQU NO ; Yes, modem or computer does not support DTR
; (i.e. Anchor Mark XII or some Osborne
; 1's). NOTE Ozzie-1 users: NUBYE can
; handle your NODTR problem, but will NOT
; work unless you install the hardware mod
; to fix the carrier detect logic. The
; same mod also fixes the DTR problem, so
; you should install the whole mother board
; modification kit and set this NO.
NOATA EQU NO ; Yes, if you have an older Password, 212A or
; S-100 that will not execute the ATA
; command after ring is detected. Newer
; firmware works.
SHORTB EQU NO ; Yes, for modems that that can't accept a 30
; char cmd string, like the MultiModem.
DOATZ EQU no ; Yes, send modem an ATZ command between
; calls. Set to NO if your modem reverts
; to auto-answer following an ATZ command.
; Many modems require it be set YES in
; order for the OFFHK function to work
; properly. (You will definately have to
; experiment with this one.) When set NO,
; it speeds up the turnaround b/t calls
; AND prevents modem from answering while
; NUBYE is trying to reinitialize for the
; next call.
OFFHK EQU no ; Yes, take phone off hook when running
; locally (E) or exiting to CP/M (instead
; of using ATS0=0).
; -----
;
; BBS type, etc...
;
; If you operate a BBS system not shown and wish NUBYE to load/run your
; .COM file upon carrier detect (COMFILE = YES) and an exit .COM file
; upon carrier loss or user saying BYE (EXFILE = YES), you should set
; NOSHOW to YES and enter your entry/exit .COM filenames at the labels
; COMFCB: and EXITFCB: respectively (near end of this file).
;
NOSHOW EQU NO ; Yes, none of the BBS systems shown below
;
MBBS EQU no ; Yes, running MBBS BBS system (v4.1 & up)
METAL EQU no ; Yes, running METAL BBS system.
MINICK EQU no ; Yes, running MINICBBS
OXGATE EQU no ; Yes, running OxGate BBS system
PBBS EQU no ; Yes, running PBBS system
RBBS EQU no ; Yes, running RBBS, sets/resets 'WRTLOC' flag
;
IOVAL EQU 0 ; Initial value for IOBYTE (if MINICK YES)
;
; Set LMBELL to YES if you run a BBS system which uses the low memory flag
; location for the console bell status. To have NUBYE initialize with this
; flag turned off, set BELOFF to YES -- NUBYE will retain the last toggle
; state of this flag until you return to CP/M locally.
; (MBBS & RBBS = YES)
;
LMBELL EQU no
BELOFF EQU yes
KILBEL EQU 3BH ; Low memory bell toggle flag location
;
; Set RTOK to YES if your BBS system requires a reentry flag to be reset
; between calls for proper BBS entry/reentry. Set RTOKFG to the low memory
; byte your system inspects when a user reenters it from CP/M. NUBYE will
; reset this byte to 0 between calls.
; (PBBS & RBBS = YES) (PBBS = 20H) (RBBS = 5BH)
;
RTOK EQU no
RTOKFG EQU 20H
;
; -----
; General Equates
;
WBDRIV EQU 'A' ; Drive to log to on first warmboot to CP/M
HARDLOG EQU no ; Yes, echo remote input to printer
PRINTER EQU no ; Yes, if your bbs uses printer for error
; msgs or if you use ^P remotely.
; -----
; The next four equates are used if you wish for NUBYE to run a .COM file
; upon carrier detect. The COMDRV/COMUSR equates are used to tell NUBYE
; where your BBS .COM files are to be found. (MBBS NOTE: These are used
; for locating your LOGIN.COM and MFMSG.COM files.) Some systems perform
; unecessary double loads of the .COM file -- if this is so, set REENTER
; to YES (i.e. MBBS)
;
COMFILE EQU no ; Yes, run a .COM file on carrier detect
REENTER EQU no ; Yes, prevent double .COM file loading
COMDRV EQU 'A' ; Drive where .COM file(s) located
COMUSR EQU 0 ; User# where .COM file(s) located
;
; NOTE - MBBS systems:
; MBBSDRV/MBBSUSR are set ONLY for locating MBBS.COM
;
MBBSDRV EQU 'A' ; Drive where MBBS.COM located
MBBSUSR EQU 0 ; User# where MBBS.COM located
;
; -----
; Set EXFILE to YES if NUBYE needs to chain to an exit file when a caller
; types BYE or carrier is lost. Your exit file must preserve the stack
; and do a RET (not warmboot) to reenter NUBYE.
; (MBBS = NO) (PBBS & CP/M 3 = YES)
;
EXFILE EQU no
EXDRV EQU 'C' ; Drive where exit .COM file located
EXUSR EQU 15 ; User# where exit .COM file located
;
; Set EXRET to YES if your exit file can't preserve the stack and perform a
; normal RET (i.e. MBASIC, C and some Pascal programs). If your exit file
; has this problem, poke 5DH (FCB+1) with a lowercase 'r' and do a warm-
; boot -- NUBYE will handle the return properly.1
;
EXRET EQU NO
;
; Set BYHANG to YES to have NUBYE hang up the phone *before* calling your
; exit file. (METAL & OXGATE = YES) (PBBS = NO)
;
BYHANG EQU NO
;
; -----
; Set MSGDSC to YES if you run a system which supports NUKMD's upload
; description entry (v1.01+) or its special message file transfers.
; Your message file handling utility must preserve the stack and do a
; RET (not warmboot) to reenter NUBYE. The default name for this utility
; is MFMSG.COM defined at the label MSGFCB:.
; (MBBS = YES)
;
MSGDSC EQU no
;
; -----
; Set READLC to YES if you need NUBYE to read your LASTCALR file -- leave
; set to NO, if your BBS pokes this information into NUBYE.
; (MBBS & PBBS = NO)
;
READLC EQU no
LCDRV EQU 'C' ; Drive where LASTCALR.??? is located
LCUSR EQU 15 ; User# where LASTCALR.??? is located
;
DSPLC EQU no ; Yes, display last caller data via ^W.
LCBUF EQU 78 ; Size (bytes) of last caller buffer
; (MBBS = 65) (METAL, PBBS, OXGATE = 78)
;
; Set DSPHED to YES if you wish to have a special descriptive header
; displayed whenever you hit the ^W (WHOKEY) function key. Modify this
; header at the label LCHEAD: (near the end of this file) to suit your
; system. Default header is formatted for MBBS systems.
;
DSPHED EQU no
;
; -----
; Set WELFILE to YES if you wish to have NUBYE display a special text file
; upon login. If running a BBS system, you would normally leave this NO.
;
WELFILE EQU NO
WELDRV EQU 'A' ; Drive where WELCOME??? file located
WELUSR EQU 14 ; User# where WELCOME??? file located
;
; -----
; Set CLRSCR to YES if you wish to have NUBYE perform automatic clear screen
; sequences during system resets. Until you have everything working ok,
; you should leave this set to NO. When set NO, you may manually clear your
; screen with the ^Z function. Define your clear screen code (up to
; 6 bytes max) below at CLRCH1-CLRCH6.
;
CLRSCR EQU yes
CLRCH1 EQU 1AH ; All unused bytes must remain 0
CLRCH2 EQU 0
CLRCH3 EQU 0
CLRCH4 EQU 0
CLRCH5 EQU 0
CLRCH6 EQU 0
;
; -----
; Set SHOSYS to YES if you wish NUBYE to display your system name, or other
; special entry line upon carrier detect (this is regardless of the equate
; settings below -- HITCR/ASKNUL).
;
SHOSYS EQU no
;
; Set HITCR to YES if you have ASKNUL set NO and feel you must have your
; system wait until the user hits a key before continuing (rather defeats
; the purpose of bypassing the nulls question...)
;
HITCR EQU no
;
; Set ASKNUL to YES if you aren't running a BBS system, or if your BBS
; system does not allow user setting as a menu option (NUBYE will default
; to th caller's MSPEED upon carrier detect, regardless -- v1.00). If you
; leave this set to NO and are not running PBBS, NUBYE will display the
; default nulls setting to the user upon carrier detect.
; (MBBS & PBBS = NO)
;
ASKNUL EQU no
;
; -----
; Set PRGRSS to NO once your system is operating smoothly. While set to
; YES, NUBYE will display your modem result codes and other useful error
; message (should anything unusual occur).
;
PRGRSS EQU YES ; Set NO when running smoothly
;
; -----
; Set PRNTGB to YES if you wish NUBYE to say "Goodbye..." (PBBS = NO)
;
PRNTGB EQU no
;
; Set PRNTWB to YES if you wish NUBYE to say "Warm Boot" each time one
; occurs (normally leave set to NO).
;
PRNTWB EQU NO
;
;
; -----
; If you aren't running a BBS system, set PWRQD to YES and NUBYE will
; require the user to answer a question expecting your predefined answer
; (as defined at the label PASSWD: -- defaults to DDT). If you run a BBS
; and set this to YES, NUBYE will ask for this entry password, before it
; runs your BBS program (normally set to NO).
;
PWRQD EQU no
;
; -----
; System and Hardware dependent options
;
MHZ EQU 4 ; Processor clock in MHz
;
; Set ECBFIX to YES if your computer requires that you reset the
; modem/ports after a cold boot, before doing a "BYE E" -- normally,
; set this NO. Note: Kaypro 10 with TurboROM and Epson QX's should
; probably set this to YES.
;
ECBFIX EQU no
;
; CLOSS is set to the number of seconds to wait before hanging up, after
; the carrier drops (normally leave set to 1).
;
CLOSS EQU 1
;
; ^C's are mapped to this character -- some systems can't handle them.
; (MBBS = 'C') (PBBS = 'K')
;
CTRLC EQU 'C'
;
; Set DOWNMIN to the number of minutes before a user is kicked off, once
; you hit ^O -- tells user "System going down in xx minutes".
;
DOWNMIN EQU 2
;
; Set LOSER to YES if a warm boot overwrites part of the BIOS
;
LOSER EQU NO
;
; Set MOTOR to YES if you wish to have your drives turned on/off by NUBYE
; between calls.
;
MOTOR EQU no
;
; -----
; The next three equates are only for CP/M 3 users (see NU-CPM3.DOC).
;
CPM3 EQU no ; Yes, operating under CP/M 3
POSPRO EQU no ; Yes, execute MDPOSP routine in computer insert
PREPRO EQU no ; Yes, execute MDPREP routine in computer insert
;
; End of CP/M 3
; -------------
;
; Function Keys -- If you are pressed for TPA, set FUNKEY to NO. This
; leave you with the TWITKEY and BELLKEY, but turn off all other sysop
; functions.
;
FUNKEY EQU YES ; Yes, to use all special function keys
;
; Set LEADIN to YES, if you wish to specify your own lead-in key for
; operation of sysop functions. If NO, all functions respond to CTRL keys.
;
LEADIN EQU NO ; Yes, to specify lead-in key
;
IF LEADIN
LEADKY EQU '\' ; Choose a seldom used key
ENDIF ; LEADIN
;
; If LEADIN is YES, you must type the LEADKY first, then a character inside
; the ' ' below. If LEADIN is NO, the following characters are used as
; single control keys. You may define your own characters inside the
; quotes (NOTE: These are CONTROL characters -- i.e. ^C, ^G, etc...).
;
BELLKEY EQU 'G' ; Toggle bell on console
TWITKEY EQU 'N' ; Hangup modem manually
;
IF FUNKEY
ANSKEY EQU 'A' ; Force modem to answer the phone
BLNKKEY EQU 'B' ; Toggle remote terminal on/off
WHLKEY EQU 'E' ; Toggle WHEEL on/off
LCKEY EQU 'L' ; Force local return to CP/M, after
; current user logs off system.
SYSDKEY EQU 'O' ; Print "System going down in n min.."
MSGKEY EQU 'Q' ; Print "Message from SYSOP: "
TIMEKEY EQU 'T' ; Display time (if TIMEON) -- will also
; set the auto-startup time (over-rides
; the ONHR setting) to current hour.
ULTKEY EQU 'U' ; Set current caller to unlimited time.
WHOKEY EQU 'W' ; Display LASTCALR if DSPLC is YES.
XITKEY EQU 'X' ; Exit from "Message from sysop" loop
ENDIF
;
IF (NOT CLRSCR) AND FUNKEY
CLSKEY EQU 'Z' ; Clear crt manually when CLRSCR is NO
ENDIF
;
; -----
; Normally, your BBS program will set the access bits for each user (as
; with MBBS). SETFLG will allow you the option of having any/all of the
; access bits turned on when you use the ^B/^U functions. The ^B function
; is an ON/OFF Sysop toggle (i.e. normal user settings returned), but the
; ^U function is an ON only toggle, so not acceptable in all situations.
; Choose which bits you wish to toggle ON at USRFLG.
;
; NOTE: MBBS systems do NOT need this function, so leave SETFLG NO and use
; your special MBBSUSRC.COM utility, instead.
;
IF FUNKEY
;
SETFLG EQU no ; Yes, if you wish ^B/^U to turn on the
; access bits chosen below (USRFLG).
; (NO for MBBS, normally)
;
; * Of the 8 flag bits available below, only bits 3, 5, 6 and 7 are checked by
; NUKMD through NUBYE's extended BDOS call 85.
;
USRFLG EQU 11111111B ; ^B will toggle these bits ON
; ||||||||
; |||||||| BIT Used For
; ||||||||_____ 0 System Access (0 = no admittance)
; |||||||______ 1 BBS Access (0 = CP/M only)
; ||||||_______ 2 Read Access (0 = no message reading)
; |||||________ 3* Write Access (0 = no message writing)
; ||||_________ 4 CP/M Access (0 = no CP/M access)
; |||__________ 5* Download Access (0 = no downloads)
; ||___________ 6* Upload Access (0 = no uploads)
; |____________ 7* Priviledged User (0 = normal user)
;
; -----
; Set SHOWTLN to YES if you want the ^T function to display:
; "Minutes left: xx" (normal users)
; "Minutes on: xx" (special users)
; Otherwise, the default display for all will be: "Minutes on: xx"
; (Note: In either case, displayed on local console only)
;
SHOWTLN EQU no ; Yes, special display
;
ENDIF ; FUNKEY
;
; -----
; Clock/Time Equates
;
; Set CLOCK to YES if you have inserted your reader code (found within
; the NU-CLOCK.LBR) at the label TIME: -- store binary values in CCHOUR
; and CCMIN.
;
CLOCK EQU no
BCD2BIN EQU no ; Yes, your clock routine calls BCDBIN
BIN2BCD EQU no ; Yes, your clock routine calls BINBCD
;
; Set UPDOUT to NO if your system is slow during clock reads (as evidenced
; by "hitches" during DIR's and other screen output) and wish the clock reads
; to occur only on incoming CR's. Normally, set to YES and NUBYE will update
; the clock after LF's sent by your system.
;
UPDOUT EQU YES
;
; (NOTE: The previous caller's timeon is preserved for your exit or login
; program to access in NUBYE's fixed lookup table at label LCPTR. You may
; choose to store that data in low memory, or elsewhere by changing the
; LCTON equate to a new address. LCTON is found just after NUBYE's fixed
; lookup table.)
;
; Set TIMEON to YES if you want NUBYE to monitor the user's time-on-system
; and log them off after MAXMIN. Even if you don't have a clock, setting
; this to YES here and in NUKMD will allow NUKMD to restrict file transfers
; according to MAXMIN and the computed transfer time.
;
TIMEON EQU yes
;
MAXMIN EQU 45 ; Minutes for maximum time allowed on system.
; (255 max -- 0 = No restrictions)
; (Suggest 45 if CLOCK NO and TIMEON YES)
TOVALUE EQU 4 ; Minutes of no-activity allowed (255 max)
; before NUBYE kicks them off.
PRNTOS EQU no ; Yes, show "Time on: xx" on warm boots
;
;
; Set AUTOSYS to YES if you are running your system only during certain
; hours (i.e. 7 p.m. to 8 a.m.) and wish for NUBYE automatically run
; your system. It will make your system start answering at ONHR and stop
; answering at OFFHR. This routine will also automatically determine if a
; user is on DOWNMIN before OFFHR, warn the user (i.e. "System going down
; in xx minutes") and begin the automatic countdown just as if you had been
; there and used the ^O function key.
;
; While NUBYE is waiting for ONHR, you may force it to override ONHR by
; hitting your ^T -- it will then start answering on the next ring and
; continue until OFFHR (it then reverts back to waiting for the next ONHR).
; You must have a clock reader routine (set CLOCK to YES) in order to take
; advantage of this feature.
;
; With this one function, you can have NUBYE run your board from 7 p.m. to
; 8 a.m. every day of the week automatically, fully unattended and go on
; vacation or whatever.
;
AUTOSYS EQU no ; Yes, automatic unattended system operation
; during specific hours.
ONHR EQU 19 ; Time for auto system startup (19 = 7 pm)
OFFHR EQU 08 ; Time for auto system shutdown (08 = 8 am)
; 24 hr clock (00 = midnight 23 = 11 pm)
DROPLOC EQU no ; Yes, drops into local mode at OFFHR, else
; will continue to wait for ONHR to again
; begin answering the phone.
;
; If you wish to restrict a certain baud rate access to your system during
; specific hours, you may do so by setting the next four equates accordingly.
; Must have a clock reader routine (set CLOCK to YES) in order to take
; advantage of this feature.
;
RSPEED EQU no
; 24 hr clock (00 = midnight 23 = 11 pm)
BEGHR EQU 19 ; Time to begin restriction (19 = 7 pm)
ENDHR EQU 22 ; Time to end restriction (22 = 10 pm)
SPEED EQU 5 ; Lowest baud rate allowed access between
; BEGHR and ENDHR. Change the message
; located at OFFMSG: to match your times,
; baud rate and time zone.
; (1=300, 5=1200, 6=2400)
; -----
; CCP Options
;
ZCPR2 EQU no ; Yes, if running ZCPR/ZCMD/NZCPR (1 or 2)
; or if using CP/M 3 with the WHEEL byte
;
; NOTE: Requires MAC.COM to assemble if ZCPR3 is set YES.
;
ZCPR3 EQU no ; Yes, if running ZCPR3
;
IF ZCPR3
MACLIB Z3BASE ; Requires MAC to assemble, else enter
; constants directly. See label DOZ3
; for required EQU's.
ENDIF
;
; NZCPR/ZCMD/ZCPR all use bytes (at 3DH/3EH/3FH) to store the maximum
; drive, wheel status, and maximum user area. Some BBS systems poke
; these low memory bytes to reset these (for Sysop, etc.) Other BBS
; systems the bytes in NUBYE that do the same thing. The equate USEZCPR
; allows you to select where you want to poke things.
; (MBBS/PBBS/OXGATE = NO) (RBBS = YES)
; (if ZCPR2 and ZCPR3 are set NO, then set USEZCPR to NO)
;
USEZCPR EQU no
CHEKDU EQU no ; Yes, if NUBYE will monitor MAXDRIV/USER.
; If using ZCPR/ZCMD/NZCPR, set this NO,
; since they already do it (saves alot of
; code, too). In either case, NUBYE will
; have the correct values in MAXDRIV/USER.
MAXDRIV EQU 3DH ; ZCPR lolcation of MAXDRIV byte
WHEEL EQU 3EH ; Location of ZCPR's wheel flag
MAXUSER EQU 3FH ; ZCPR location of MAXUSR byte
;
; (NOTE: Ignore MAXDRV/USR if running MBBS.)
;
MAXDRV EQU 'H' ; Highest drive supported
MAXUSR EQU 5 ; Highest user area
;
; In all cases, set SYSDRV/USR, since the ^B function gives you these
; d/u areas when used to toggle off the user temporarily.
;
SYSDRV EQU 'M' ; Highest local drive supported
SYSUSR EQU 15 ; Highest local user area (0-15)
;
; When CHGPATH is set YES (and you're not using internal preconfigured paths,
; as with ZCMD23 and up), NUBYE will automatically change the .COM search
; path depending upon current system mode. Example: For normal users, the
; path should be to search the default d/u area, THEN search drive A, user
; area 0. When you toggle remote off (^B function), your sysop path takes
; effect (i.e. default d/u area, drv1/usr1, drv2/usr2, drv3/usr3) -- when
; remote is toggled back on, normal user paths are restored. This allows
; you to safely keep your special utilities (i.e. NSWEEP, DDT, etc) out of
; harm's way...
;
; NOTE: ZCMD23 (and later) users who have their systems set for proper
; internal paths, should leave CHGPATH set to NO.
;
CHGPATH EQU no ; Yes, if changing ZCPR's external path
EXTPATH EQU 40H ; ZCPR external path default location
;
; The following equates determine the command paths you require NUBYE
; to take. PATHDR1/PATHUS1 is command path available to both sysop and
; user, while PATHDR2/3 and PATHUS2/3 are strictly for sysop.
; (NOTE: Drive A = 1, B = 2, C = 3, etc...)
;
Z3OPT EQU no ; Yes, if you wish NUBYE to search
; additonal paths (i.e. ZCPR3)
;
PATHDR1 EQU 1 ; 1st command path drive (A:)
PATHUS1 EQU 0 ; 1st command path user area (0)
PATHDR2 EQU 1 ; 2nd command path drive (A:)
PATHUS2 EQU 15 ; 2nd command path user area (15)
PATHDR3 EQU 2 ; 3rd command path drive (B: -- optional)
PATHUS3 EQU 15 ; 3rd command path user area (15 -- optional)
PATHDR4 EQU 0 ; 4th (optional)
PATHUS4 EQU 0
PATHDR5 EQU 0 ; 5th (optional)
PATHUS5 EQU 0
;
; -----
; Motor controlled drives
;
; These values suit a Compupro/Viasyn Disk1A with YE-DATA 180 20cm drives
; Alter to suit your needs if your disk controller supports motor control.
;
IF MOTOR
DISK EQU 0C3H ; Disk control port
DISKON EQU 80H ; Motors on
DISKOFF EQU 0 ; Motors off
ENDIF
;
; -----
; If LOSER is set YES
;
; There are some cases where warm boot overwrites the initial BIOS jump
; table. This problem was solved for the Superbrain 3.0 bios by find-
; ing where warm boot overwrites the initial BIOS jump
; table. This problem was solved for the Superbrain 3.0 bios by find-
; ing a warmboot call to HIGH in the BIOS. This call is then patched by
; NUBYE. The form of the call is: WBCALL CALL WMSTRT
;
IF LOSER
WBCALL EQU 0E260H ; Check this in your BIOS
;
; The following location is called
;
WMSTRT EQU 0E566H ; Check this in your BIOS
ENDIF
;
; ---------------------------
; END OF OPTION CONFIGURATION
; ---------------------------