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
Text File  |  2000-06-30  |  26KB  |  686 lines

  1. ;
  2. ;                           NUBYE  v1.01
  3. ;                             07/30/86
  4. ;
  5. ;            - REMOTE CONSOLE PROGRAM FOR CP/M AND MODEM -
  6. ;                   For use with CP/M 2 or CP/M 3
  7. ;
  8. ;
  9. ; This is the "Head" of NUBYE -- set up the equates to meet your system
  10. ; needs, append the "Body" (using PIP or similar) and assemble with your
  11. ; favorite assembler.
  12. ;                        - Tom Brady
  13. ;
  14. ;
  15. ; NUBYE will operate stand-alone (i.e. without running a BBS system), but
  16. ; also supports most of the popular CP/M BBS software (i.e. MBBS, METAL,
  17. ; Oxgate, PBBS, RBBS, ZBBS, etc).  You should find NUBYE easy to install --
  18. ; if not, contact me or one of the test sites for additional help as needed.
  19. ; There are currently three fully commented, public domain utilities of this
  20. ; type -- NUBYE, MBYE and BYE3 -- while each is unique in its own way, I
  21. ; hope NUBYE will attract your attention enough to make you switch (or, at
  22. ; least, give it a try).
  23. ;
  24. ; A complete NUBYExxx.LBR will contain the following files:
  25. ; (Note: Those files tagged with an asterisk may be found in the larger
  26. ;        sister version, NUBYE101.LBR.)
  27. ;
  28. ;* NUBYE1xx.ASM    This file
  29. ;* NUBDOS.DOC      Extended BDOS functions documented
  30. ;* NUBYE-IM.DOC    General modem equates discussed
  31. ;
  32. ;  NUB-HEAD.INS   Contains all EQUates for system setup
  33. ;  NUB-BODY.ASM   Contains the main source code (append to NUB-HEAD.INS)
  34. ;  NUBYE.HLP      General installation help
  35. ;  NUBYE.HIS      All current and past revisions documented
  36. ;  NUBY-INS.LST      List of currently available computer specific inserts
  37. ;  NU-CLOCK.LST      List of currently available clock inserts
  38. ;
  39. ; ======================================
  40. ;
  41. ; NUBYE enables a remote caller to access and operate your system just as
  42. ; if he/she was sitting in front of the keyboard locally.  It may be set
  43. ; up to operate as a stand-alone monitoring system (i.e. allows employees
  44. ; access to company computers during off hours - internal password entry
  45. ; option) or as part of a message base system, as normally found on
  46. ; RCP/M's.  Read NUBYE.HLP for help in setting this program up for your
  47. ; particular needs.
  48. ;
  49. ; NUBYE is the result of no one authorship, but many hundreds of people
  50. ; across the country.  The source code is fully commented to aid those of
  51. ; you who wish to customize/modify it or who are trying to understand how
  52. ; programs such as this work.
  53. ;
  54. ; If you have changes that you feel should be included in future releases,
  55. ; please forward them me, or to one of the contact boards listed below.
  56. ; All submitted modifications/suggestions will be considered, whether they
  57. ; are from an individual or a group.  FULL credit will also be given for
  58. ; such code as is incorporated into future versions (i.e. system name and
  59. ; number, as well as the person's name).
  60. ;                    - Tom Brady
  61. ;                      Decibel RCP/M (PBBS)
  62. ;                      300/1200/2400
  63. ;                      *(404) 288-6858
  64. ;                      P.O. Box 1773
  65. ;                      Decatur, GA  30031
  66. ;
  67. ;
  68. ; Other Contact/Beta-Test Systems:
  69. ;
  70. ; Joubert Berger         Terry Carroll        Jim Gooch
  71. ; Atlanta Kaypro MBBS        Poor Man's Z-NODE (#56)    Norcross MBBS RCP/M 
  72. ; 300/1200             300/1200/2400        300/1200/2400
  73. ; *(404) 923-2580         (817) 283-9167        *(404) 921-1116
  74. ;
  75. ; Ernest Hintz             Gary Inman            Barry Miller
  76. ; KAY+FUN RCP/M             West Los Angeles RCP/M    Long Island Epson RCP/M
  77. ; 300/1200             300/1200/2400        300/1200/2400
  78. ; *(415) 572-8219         (213) 838-9229        (516) 536-1546
  79. ;
  80. ; Murray Simsolo
  81. ; LIKUG MBBS/RCPM
  82. ; 300/1200/2400
  83. ; (516) 825-8465
  84. ;
  85. ; (*PC Pursuit area)
  86. ;
  87. ; NOTE:  All CP/M Plus (CP/M 3) code courtesy of George Peace -- enough
  88. ;     credit has not been given to him for making NUBYE (and other
  89. ;     BYE versions) available for CP/M 3 systems.  If any of your
  90. ;     modifications/questions concern CP/M Plus, please contact him
  91. ;     on his system:
  92. ;                George Peace
  93. ;                FOG System #10
  94. ;                300/1200/2400
  95. ;                (717) 657-8699
  96. ;                   or
  97. ;                (717) 657-0285 -- voice
  98. ;
  99. ; =====
  100. ;
  101. ; Remove the ';' from before the ASEG if you use Microsoft's MACRO-80
  102. ; macroassembler (referred to as M80).  Nobody else needs this command.
  103. ;
  104. ;    ASEG        ; Needed by M80 assembler, only
  105. ;
  106. ; For conditional assembly
  107. ;
  108. NO    EQU    0
  109. YES    EQU    NOT NO
  110. ;
  111. ; ****************************
  112. ; OPTION CONFIGURATION SECTION
  113. ; ****************************
  114. ;
  115. ; NUBYE configuration
  116. ;
  117. CCPL    EQU    8        ; Number of sectors for CCP size (norm=8)
  118.                 ;  -Apples with Micrsoft CP/M v2.23+ use 9.
  119.                   ;  -CP/M-3 does not use this.
  120.                 ;  -Trantor WL bios, see TRANWL.INS
  121. CCPOFF    EQU    128        ; Many systems need an offset, while others
  122.                 ;   may get along with none.  Leave at 128
  123.                 ;   unless you wish to experiment.
  124. ; -----
  125. ; Modem Equates
  126. ;
  127. IMODEM    EQU    no        ; Yes, using Hayes-type intelligent modem 
  128. IMAT    EQU    no        ; Yes, modem supports Hayes' "AT" protocol
  129. ;
  130. ; Set one (and only one) of the following HS equates to YES
  131. ;
  132. HS2400    EQU    no        ; Yes, modem's highest speed is 2400 bps
  133. HS1200    EQU    no        ; Yes, modem's highest speed is 1200 bps
  134. HS300    EQU    no        ; Yes, modem's highest speed is  300 bps
  135. ;
  136. ; The next 7 equates are only used if IMAT is YES
  137. ;
  138. ECHO    EQU    no        ; Yes for Hayes, ProModem, Courier, RV-Maxwell
  139.                 ;   NO for all others (Anchor, etc.)
  140. ANCHOR    EQU    NO        ; Yes, if you have a Mark XII
  141. NODTR    EQU    NO        ; Yes, modem or computer does not support DTR
  142.                 ;   (i.e. Anchor Mark XII or some Osborne
  143.                 ;   1's).  NOTE Ozzie-1 users:  NUBYE can 
  144.                 ;   handle your NODTR problem, but will NOT
  145.                  ;   work unless you install the hardware mod
  146.                  ;   to fix the carrier detect logic.  The 
  147.                 ;   same mod also fixes the DTR problem, so
  148.                  ;   you should install the whole mother board
  149.                 ;   modification kit and set this NO.
  150. NOATA    EQU    NO        ; Yes, if you have an older Password, 212A or
  151.                 ;   S-100 that will not execute the ATA
  152.                  ;   command after ring is detected. Newer 
  153.                 ;   firmware works.
  154. SHORTB    EQU    NO        ; Yes, for modems that that can't accept a 30
  155.                 ;   char cmd string, like the MultiModem.
  156. DOATZ    EQU    no        ; Yes, send modem an ATZ command between
  157.                 ;   calls.  Set to NO if your modem reverts
  158.                 ;   to auto-answer following an ATZ command.
  159.                 ;   Many modems require it be set YES in 
  160.                 ;   order for the OFFHK function to work
  161.                 ;   properly.  (You will definately have to
  162.                 ;   experiment with this one.)  When set NO,
  163.                 ;   it speeds up the turnaround b/t calls
  164.                 ;   AND prevents modem from answering while
  165.                  ;   NUBYE is trying to reinitialize for the
  166.                 ;   next call.
  167. OFFHK    EQU    no        ; Yes, take phone off hook when running
  168.                 ;   locally (E) or exiting to CP/M (instead
  169.                 ;   of using ATS0=0).
  170. ; -----
  171. ;
  172. ; BBS type, etc...
  173. ;
  174. ; If you operate a BBS system not shown and wish NUBYE to load/run your
  175. ; .COM file upon carrier detect (COMFILE = YES) and an exit .COM file
  176. ; upon carrier loss or user saying BYE (EXFILE = YES), you should set
  177. ; NOSHOW to YES and enter your entry/exit .COM filenames at the labels
  178. ; COMFCB: and EXITFCB: respectively (near end of this file).
  179. ;
  180. NOSHOW    EQU    NO        ; Yes, none of the BBS systems shown below
  181. ;
  182. MBBS    EQU    no        ; Yes, running MBBS BBS system (v4.1 & up)
  183. METAL    EQU    no        ; Yes, running METAL BBS system.
  184. MINICK    EQU    no        ; Yes, running MINICBBS
  185. OXGATE    EQU    no        ; Yes, running OxGate BBS system
  186. PBBS    EQU    no        ; Yes, running PBBS system
  187. RBBS    EQU    no        ; Yes, running RBBS, sets/resets 'WRTLOC' flag
  188.                 ;
  189. IOVAL    EQU    0        ; Initial value for IOBYTE (if MINICK YES)
  190. ;
  191. ; Set LMBELL to YES if you run a BBS system which uses the low memory flag
  192. ; location for the console bell status.  To have NUBYE initialize with this
  193. ; flag turned off, set BELOFF to YES -- NUBYE will retain the last toggle
  194. ; state of this flag until you return to CP/M locally.
  195. ; (MBBS & RBBS = YES)
  196. ;
  197. LMBELL    EQU    no
  198. BELOFF    EQU    yes
  199. KILBEL    EQU    3BH        ; Low memory bell toggle flag location
  200. ;
  201. ; Set RTOK to YES if your BBS system requires a reentry flag to be reset
  202. ; between calls for proper BBS entry/reentry.  Set RTOKFG to the low memory
  203. ; byte your system inspects when a user reenters it from CP/M.  NUBYE will
  204. ; reset this byte to 0 between calls.
  205. ; (PBBS & RBBS = YES)  (PBBS = 20H)  (RBBS = 5BH)
  206. ;
  207. RTOK    EQU    no
  208. RTOKFG    EQU    20H
  209. ;
  210. ; -----
  211. ; General Equates
  212. ;
  213. WBDRIV    EQU    'A'        ; Drive to log to on first warmboot to CP/M
  214. HARDLOG    EQU    no        ; Yes, echo remote input to printer
  215. PRINTER    EQU    no        ; Yes, if your bbs uses printer for error
  216.                  ;   msgs or if you use ^P remotely.
  217. ; -----
  218. ; The next four equates are used if you wish for NUBYE to run a .COM file
  219. ; upon carrier detect.  The COMDRV/COMUSR equates are used to tell NUBYE
  220. ; where your BBS .COM files are to be found.  (MBBS NOTE: These are used
  221. ; for locating your LOGIN.COM and MFMSG.COM files.)  Some systems perform
  222. ; unecessary double loads of the .COM file  -- if this is so, set REENTER
  223. ; to YES (i.e. MBBS)
  224. ;
  225. COMFILE    EQU    no        ; Yes, run a .COM file on carrier detect
  226. REENTER    EQU    no        ; Yes, prevent double .COM file loading
  227. COMDRV    EQU    'A'        ; Drive where .COM file(s) located
  228. COMUSR    EQU    0        ; User# where .COM file(s) located
  229. ;
  230. ; NOTE - MBBS systems:
  231. ; MBBSDRV/MBBSUSR are set ONLY for locating MBBS.COM 
  232. ;
  233. MBBSDRV    EQU    'A'        ; Drive where MBBS.COM located
  234. MBBSUSR    EQU    0        ; User# where MBBS.COM located
  235. ;
  236. ; -----
  237. ; Set EXFILE to YES if NUBYE needs to chain to an exit file when a caller
  238. ; types BYE or carrier is lost.  Your exit file must preserve the stack
  239. ; and do a RET (not warmboot) to reenter NUBYE.
  240. ; (MBBS = NO)  (PBBS & CP/M 3 = YES)
  241. ;
  242. EXFILE    EQU    no
  243. EXDRV    EQU    'C'        ; Drive where exit .COM file located
  244. EXUSR    EQU    15        ; User# where exit .COM file located
  245. ;
  246. ; Set EXRET to YES if your exit file can't preserve the stack and perform a
  247. ; normal RET (i.e. MBASIC, C and some Pascal programs).  If your exit file
  248. ; has this problem, poke 5DH (FCB+1) with a lowercase 'r' and do a warm-
  249. ; boot -- NUBYE will handle the return properly.1
  250. ;
  251. EXRET    EQU    NO
  252. ;
  253. ; Set BYHANG to YES to have NUBYE hang up the phone *before* calling your
  254. ; exit file. (METAL & OXGATE = YES) (PBBS = NO)
  255. ;
  256. BYHANG    EQU    NO
  257. ;
  258. ; -----
  259. ; Set MSGDSC to YES if you run a system which supports NUKMD's upload
  260. ; description entry (v1.01+) or its special message file transfers.
  261. ; Your message file handling utility must preserve the stack and do a
  262. ; RET (not warmboot) to reenter NUBYE.  The default name for this utility
  263. ; is MFMSG.COM defined at the label MSGFCB:.
  264. ; (MBBS = YES)
  265. MSGDSC    EQU    no
  266. ;
  267. ; -----
  268. ; Set READLC to YES if you need NUBYE to read your LASTCALR file -- leave
  269. ; set to NO, if your BBS pokes this information into NUBYE.
  270. ; (MBBS & PBBS = NO)
  271. ;
  272. READLC    EQU    no
  273. LCDRV    EQU    'C'        ; Drive where LASTCALR.??? is located
  274. LCUSR    EQU    15        ; User# where LASTCALR.??? is located
  275. ;
  276. DSPLC    EQU    no        ; Yes, display last caller data via ^W.
  277. LCBUF     EQU    78        ; Size (bytes) of last caller buffer
  278.                 ;   (MBBS = 65) (METAL, PBBS, OXGATE = 78)
  279. ;
  280. ; Set DSPHED to YES if you wish to have a special descriptive header
  281. ; displayed whenever you hit the ^W (WHOKEY) function key.  Modify this
  282. ; header at the label LCHEAD: (near the end of this file) to suit your
  283. ; system.  Default header is formatted for MBBS systems.
  284. ;
  285. DSPHED    EQU    no
  286. ;
  287. ; -----
  288. ; Set WELFILE to YES if you wish to have NUBYE display a special text file
  289. ; upon login.  If running a BBS system, you would normally leave this NO.
  290. ;
  291. WELFILE    EQU    NO
  292. WELDRV    EQU    'A'        ; Drive where WELCOME??? file located
  293. WELUSR    EQU    14        ; User# where WELCOME??? file located
  294. ;
  295. ; -----
  296. ; Set CLRSCR to YES if you wish to have NUBYE perform automatic clear screen
  297. ; sequences during system resets.  Until you have everything working ok,
  298. ; you should leave this set to NO.  When set NO, you may manually clear your
  299. ; screen with the ^Z function.  Define your clear screen code (up to
  300. ; 6 bytes max) below at CLRCH1-CLRCH6.
  301. ;
  302. CLRSCR    EQU    yes
  303. CLRCH1    EQU    1AH        ; All unused bytes must remain 0
  304. CLRCH2    EQU    0
  305. CLRCH3    EQU    0
  306. CLRCH4    EQU    0
  307. CLRCH5    EQU    0
  308. CLRCH6    EQU    0
  309. ;
  310. ; -----
  311. ; Set SHOSYS to YES if you wish NUBYE to display your system name, or other
  312. ; special entry line upon carrier detect (this is regardless of the equate
  313. ; settings below -- HITCR/ASKNUL).
  314. ;
  315. SHOSYS    EQU    no
  316. ;
  317. ; Set HITCR to YES if you have ASKNUL set NO and feel you must have your
  318. ; system wait until the user hits a key before continuing (rather defeats
  319. ; the purpose of bypassing the nulls question...)
  320. ;
  321. HITCR    EQU    no
  322. ;
  323. ; Set ASKNUL to YES if you aren't running a BBS system, or if your BBS
  324. ; system does not allow user setting as a menu option (NUBYE will default
  325. ; to th caller's MSPEED upon carrier detect, regardless -- v1.00).  If you
  326. ; leave this set to NO and are not running PBBS, NUBYE will display the
  327. ; default nulls setting to the user upon carrier detect. 
  328. ; (MBBS & PBBS = NO)
  329. ;
  330. ASKNUL    EQU    no
  331. ;
  332. ; -----
  333. ; Set PRGRSS to NO once your system is operating smoothly.  While set to
  334. ; YES, NUBYE will display your modem result codes and other useful error
  335. ; message (should anything unusual occur).
  336. ;
  337. PRGRSS    EQU    YES        ; Set NO when running smoothly
  338. ;
  339. ; -----
  340. ; Set PRNTGB to YES if you wish NUBYE to say "Goodbye..." (PBBS = NO)
  341. ;
  342. PRNTGB    EQU    no
  343. ;
  344. ; Set PRNTWB to YES if you wish NUBYE to say "Warm Boot" each time one
  345. ; occurs (normally leave set to NO).
  346. ;
  347. PRNTWB    EQU    NO
  348. ;
  349. ;
  350. ; -----
  351. ; If you aren't running a BBS system, set PWRQD to YES and NUBYE will
  352. ; require the user to answer a question expecting your predefined answer
  353. ; (as defined at the label PASSWD: -- defaults to DDT).  If you run a BBS
  354. ; and set this to YES, NUBYE will ask for this entry password, before it
  355. ; runs your BBS program (normally set to NO).
  356. ;
  357. PWRQD    EQU    no
  358. ;
  359. ; -----
  360. ; System and Hardware dependent options
  361. ;
  362. MHZ    EQU    4        ; Processor clock in MHz
  363. ;
  364. ; Set ECBFIX to YES if your computer requires that you reset the
  365. ; modem/ports after a cold boot, before doing a "BYE E" -- normally,
  366. ; set this NO.  Note: Kaypro 10 with TurboROM and Epson QX's should
  367. ; probably set this to YES.
  368. ;
  369. ECBFIX    EQU    no
  370. ;
  371. ; CLOSS is set to the number of seconds to wait before hanging up, after
  372. ; the carrier drops (normally leave set to 1).
  373. ;
  374. CLOSS    EQU    1
  375. ;
  376. ; ^C's are mapped to this character -- some systems can't handle them.
  377. ; (MBBS = 'C')  (PBBS = 'K')
  378. ;
  379. CTRLC    EQU    'C'
  380. ;
  381. ; Set DOWNMIN to the number of minutes before a user is kicked off, once
  382. ; you hit ^O -- tells user "System going down in xx minutes".
  383. ;
  384. DOWNMIN    EQU    2
  385. ;
  386. ; Set LOSER to YES if a warm boot overwrites part of the BIOS
  387. ;
  388. LOSER    EQU    NO
  389. ;
  390. ; Set MOTOR to YES if you wish to have your drives turned on/off by NUBYE
  391. ; between calls.
  392. ;
  393. MOTOR    EQU    no
  394. ;
  395. ; -----
  396. ; The next three equates are only for CP/M 3 users (see NU-CPM3.DOC).
  397. ;
  398. CPM3    EQU    no    ; Yes, operating under CP/M 3
  399. POSPRO    EQU    no    ; Yes, execute MDPOSP routine in computer insert
  400. PREPRO    EQU    no    ; Yes, execute MDPREP routine in computer insert
  401. ;
  402. ; End of CP/M 3
  403. ; -------------
  404. ;
  405. ; Function Keys -- If you are pressed for TPA, set FUNKEY to NO.  This
  406. ; leave you with the TWITKEY and BELLKEY, but turn off all other sysop
  407. ; functions.
  408. ;
  409. FUNKEY    EQU    YES        ; Yes, to use all special function keys
  410. ;
  411. ; Set LEADIN to YES, if you wish to specify your own lead-in key for
  412. ; operation of sysop functions.  If NO, all functions respond to CTRL keys.
  413. ;
  414. LEADIN    EQU    NO        ; Yes, to specify lead-in key
  415. ;
  416.      IF    LEADIN
  417. LEADKY    EQU    '\'        ; Choose a seldom used key
  418.      ENDIF            ; LEADIN
  419. ;
  420. ;  If LEADIN is YES, you must type the LEADKY first, then a character inside
  421. ;  the ' ' below.  If LEADIN is NO, the following characters are used as
  422. ;  single control keys.  You may define your own characters inside the
  423. ;  quotes (NOTE: These are CONTROL characters -- i.e. ^C, ^G, etc...).
  424. ;
  425. BELLKEY    EQU    'G'        ; Toggle bell on console
  426. TWITKEY    EQU    'N'        ; Hangup modem manually
  427. ;
  428.      IF    FUNKEY
  429. ANSKEY    EQU    'A'        ; Force modem to answer the phone
  430. BLNKKEY    EQU    'B'        ; Toggle remote terminal on/off
  431. WHLKEY    EQU    'E'        ; Toggle WHEEL on/off
  432. LCKEY    EQU    'L'        ; Force local return to CP/M, after
  433.                 ;   current user logs off system.
  434. SYSDKEY    EQU    'O'        ; Print "System going down in n min.."
  435. MSGKEY    EQU    'Q'        ; Print "Message from SYSOP: "
  436. TIMEKEY    EQU    'T'        ; Display time (if TIMEON) -- will also
  437.                 ;   set the auto-startup time (over-rides
  438.                 ;   the ONHR setting) to current hour.
  439. ULTKEY    EQU    'U'        ; Set current caller to unlimited time.
  440. WHOKEY    EQU    'W'        ; Display LASTCALR if DSPLC is YES.
  441. XITKEY    EQU    'X'        ; Exit from "Message from sysop" loop
  442.      ENDIF
  443. ;
  444.      IF    (NOT CLRSCR) AND FUNKEY
  445. CLSKEY    EQU    'Z'        ; Clear crt manually when CLRSCR is NO
  446.      ENDIF
  447. ;
  448. ; -----
  449. ; Normally, your BBS program will set the access bits for each user (as
  450. ; with MBBS).  SETFLG will allow you the option of having any/all of the
  451. ; access bits turned on when you use the ^B/^U functions.  The ^B function
  452. ; is an ON/OFF Sysop toggle (i.e. normal user settings returned), but the
  453. ; ^U function is an ON only toggle, so not acceptable in all situations.
  454. ; Choose which bits you wish to toggle ON at USRFLG.
  455. ;
  456. ; NOTE: MBBS systems do NOT need this function, so leave SETFLG NO and use
  457. ; your special MBBSUSRC.COM utility, instead.
  458. ;
  459.      IF    FUNKEY
  460. ;
  461. SETFLG    EQU    no        ; Yes, if you wish ^B/^U to turn on the
  462.                  ;   access bits chosen below (USRFLG).
  463.                 ;   (NO for MBBS, normally)
  464. ;
  465. ; * Of the 8 flag bits available below, only bits 3, 5, 6 and 7 are checked by
  466. ;   NUKMD through NUBYE's extended BDOS call 85.
  467. ;
  468. USRFLG    EQU    11111111B    ; ^B will toggle these bits ON
  469.     ;       ||||||||
  470.     ;       ||||||||     BIT     Used For
  471.     ;    ||||||||_____ 0    System Access     (0 = no admittance)
  472.     ;       |||||||______ 1    BBS Access        (0 = CP/M only)
  473.     ;       ||||||_______ 2    Read Access       (0 = no message reading)
  474.     ;    |||||________ 3*   Write Access      (0 = no message writing)
  475.     ;    ||||_________ 4    CP/M Access       (0 = no CP/M access)
  476.     ;    |||__________ 5*   Download Access   (0 = no downloads)
  477.     ;    ||___________ 6*   Upload Access     (0 = no uploads)
  478.     ;    |____________ 7*   Priviledged User  (0 = normal user)
  479. ;
  480. ; -----
  481. ; Set SHOWTLN to YES if you want the ^T function to display:
  482. ;   "Minutes left: xx" (normal users)
  483. ;   "Minutes on: xx"   (special users)
  484. ; Otherwise, the default display for all will be: "Minutes on: xx"
  485. ;   (Note: In either case, displayed on local console only)
  486. ;
  487. SHOWTLN    EQU    no        ; Yes, special display
  488. ;
  489.      ENDIF            ; FUNKEY
  490. ;
  491. ; -----
  492. ; Clock/Time Equates
  493. ;
  494. ; Set CLOCK to YES if you have inserted your reader code (found within
  495. ; the NU-CLOCK.LBR) at the label TIME: -- store binary values in CCHOUR
  496. ; and CCMIN. 
  497. ;
  498. CLOCK    EQU    no
  499. BCD2BIN    EQU    no        ; Yes, your clock routine calls BCDBIN
  500. BIN2BCD    EQU    no        ; Yes, your clock routine calls BINBCD
  501. ;
  502. ; Set UPDOUT to NO if your system is slow during clock reads (as evidenced
  503. ; by "hitches" during DIR's and other screen output) and wish the clock reads
  504. ; to occur only on incoming CR's.  Normally, set to YES and NUBYE will update
  505. ; the clock after LF's sent by your system.
  506. ;
  507. UPDOUT    EQU    YES
  508. ;
  509. ; (NOTE: The previous caller's timeon is preserved for your exit or login
  510. ; program to access in NUBYE's fixed lookup table at label LCPTR.  You may
  511. ; choose to store that data in low memory, or elsewhere by changing the
  512. ; LCTON equate to a new address.  LCTON is found just after NUBYE's fixed
  513. ; lookup table.)
  514. ;
  515. ; Set TIMEON to YES if you want NUBYE to monitor the user's time-on-system
  516. ; and log them off after MAXMIN.  Even if you don't have a clock, setting
  517. ; this to YES here and in NUKMD will allow NUKMD to restrict file transfers
  518. ; according to MAXMIN and the computed transfer time.
  519. ;
  520. TIMEON    EQU    yes
  521. ;
  522. MAXMIN    EQU    45        ; Minutes for maximum time allowed on system.
  523.                  ;   (255 max --  0 = No restrictions)
  524.                 ;   (Suggest 45 if CLOCK NO and TIMEON YES)
  525. TOVALUE    EQU    4        ; Minutes of no-activity allowed (255 max)
  526.                 ;   before NUBYE kicks them off.
  527. PRNTOS    EQU    no        ; Yes, show "Time on: xx" on warm boots
  528. ;
  529. ;
  530. ; Set AUTOSYS to YES if you are running your system only during certain
  531. ; hours (i.e. 7 p.m. to 8 a.m.) and wish for NUBYE automatically run
  532. ; your system.  It will make your system start answering at ONHR and stop
  533. ; answering at OFFHR.  This routine will also automatically determine if a
  534. ; user is on DOWNMIN before OFFHR, warn the user (i.e. "System going down
  535. ; in xx minutes") and begin the automatic countdown just as if you had been
  536. ; there and used the ^O function key.
  537. ;
  538. ; While NUBYE is waiting for ONHR, you may force it to override ONHR by
  539. ; hitting your ^T -- it will then start answering on the next ring and
  540. ; continue until OFFHR (it then reverts back to waiting for the next ONHR).
  541. ; You must have a clock reader routine (set CLOCK to YES) in order to take
  542. ; advantage of this feature.
  543. ;
  544. ; With this one function, you can have NUBYE run your board from 7 p.m. to
  545. ; 8 a.m. every day of the week automatically, fully unattended and go on
  546. ; vacation or whatever.
  547. ;
  548. AUTOSYS    EQU    no        ; Yes, automatic unattended system operation
  549.                 ;   during specific hours.
  550. ONHR    EQU    19        ; Time for auto system startup  (19 =  7 pm)
  551. OFFHR    EQU    08        ; Time for auto system shutdown (08 =  8 am)
  552.                 ;   24 hr clock  (00 = midnight  23 = 11 pm)
  553. DROPLOC    EQU    no        ; Yes, drops into local mode at OFFHR, else
  554.                 ;   will continue to wait for ONHR to again
  555.                 ;   begin answering the phone.
  556. ;
  557. ; If you wish to restrict a certain baud rate access to your system during 
  558. ; specific hours, you may do so by setting the next four equates accordingly.
  559. ; Must have a clock reader routine (set CLOCK to YES) in order to take 
  560. ; advantage of this feature.
  561. ;
  562. RSPEED    EQU    no
  563.                 ;   24 hr clock  (00 = midnight  23 = 11 pm)
  564. BEGHR    EQU    19        ; Time to begin restriction (19 =  7 pm)
  565. ENDHR    EQU    22        ; Time to end restriction   (22 = 10 pm)
  566. SPEED    EQU    5        ; Lowest baud rate allowed access between
  567.                 ;   BEGHR and ENDHR.  Change the message
  568.                  ;   located at OFFMSG: to match your times,
  569.                  ;   baud rate and time zone.
  570.                 ;   (1=300, 5=1200, 6=2400)
  571. ; -----
  572. ; CCP Options
  573. ;
  574. ZCPR2    EQU    no        ; Yes, if running ZCPR/ZCMD/NZCPR (1 or 2)
  575.                 ;   or if using CP/M 3 with the WHEEL byte
  576. ;
  577. ; NOTE: Requires MAC.COM to assemble if ZCPR3 is set YES.
  578. ;
  579. ZCPR3    EQU    no        ; Yes, if running ZCPR3
  580. ;
  581.      IF    ZCPR3
  582.     MACLIB    Z3BASE        ; Requires MAC to assemble, else enter
  583.                 ;   constants directly.  See label DOZ3
  584.                 ;   for required EQU's.
  585.      ENDIF
  586. ;
  587. ; NZCPR/ZCMD/ZCPR all use bytes (at 3DH/3EH/3FH) to store the maximum
  588. ; drive, wheel status, and maximum user area.  Some BBS systems poke
  589. ; these low memory bytes to reset these (for Sysop, etc.)  Other BBS
  590. ; systems the bytes in NUBYE that do the same thing.  The equate USEZCPR
  591. ; allows you to select where you want to poke things.
  592. ; (MBBS/PBBS/OXGATE = NO)  (RBBS = YES)
  593. ; (if ZCPR2 and ZCPR3 are set NO, then set USEZCPR to NO)
  594. ;
  595. USEZCPR    EQU    no
  596. CHEKDU    EQU    no        ; Yes, if NUBYE will monitor MAXDRIV/USER.
  597.                 ;   If using ZCPR/ZCMD/NZCPR, set this NO,
  598.                 ;   since they already do it (saves alot of
  599.                 ;   code, too).  In either case, NUBYE will
  600.                 ;   have the correct values in MAXDRIV/USER.
  601. MAXDRIV    EQU    3DH        ; ZCPR lolcation of MAXDRIV byte
  602. WHEEL    EQU    3EH        ; Location of ZCPR's wheel flag
  603. MAXUSER    EQU    3FH        ; ZCPR location of MAXUSR byte
  604. ;
  605. ; (NOTE: Ignore MAXDRV/USR if running MBBS.)
  606. ;
  607. MAXDRV    EQU    'H'        ; Highest drive supported
  608. MAXUSR    EQU    5        ; Highest user area
  609. ;
  610. ; In all cases, set SYSDRV/USR, since the ^B function gives you these
  611. ; d/u areas when used to toggle off the user temporarily.
  612. ;
  613. SYSDRV    EQU    'M'        ; Highest local drive supported
  614. SYSUSR    EQU    15        ; Highest local user area (0-15)
  615. ;
  616. ; When CHGPATH is set YES (and you're not using internal preconfigured paths,
  617. ; as with ZCMD23 and up), NUBYE will automatically change the .COM search
  618. ; path depending upon current system mode.  Example:  For normal users, the
  619. ; path should be to search the default d/u area, THEN search drive A, user
  620. ; area 0.  When you toggle remote off (^B function), your sysop path takes
  621. ; effect (i.e. default d/u area, drv1/usr1, drv2/usr2, drv3/usr3) -- when
  622. ; remote is toggled back on, normal user paths are restored.  This allows
  623. ; you to safely keep your special utilities (i.e. NSWEEP, DDT, etc) out of
  624. ; harm's way...
  625. ;
  626. ; NOTE: ZCMD23 (and later) users who have their systems set for proper
  627. ; internal paths, should leave CHGPATH set to NO.
  628. ;
  629. CHGPATH    EQU    no        ; Yes, if changing ZCPR's external path
  630. EXTPATH    EQU    40H        ; ZCPR external path default location
  631. ;
  632. ; The following equates determine the command paths you require NUBYE
  633. ; to take.  PATHDR1/PATHUS1 is command path available to both sysop and
  634. ; user, while PATHDR2/3 and PATHUS2/3 are strictly for sysop.
  635. ; (NOTE: Drive A = 1, B = 2, C = 3, etc...)
  636. ;
  637. Z3OPT    EQU    no        ; Yes, if you wish NUBYE to search 
  638.                 ;   additonal paths (i.e. ZCPR3)
  639. ;
  640. PATHDR1    EQU    1        ; 1st command path drive     (A:)
  641. PATHUS1    EQU    0        ; 1st command path user area (0)
  642. PATHDR2    EQU    1        ; 2nd command path drive     (A:)
  643. PATHUS2    EQU    15        ; 2nd command path user area (15)
  644. PATHDR3    EQU    2        ; 3rd command path drive     (B: -- optional)
  645. PATHUS3    EQU    15        ; 3rd command path user area (15 -- optional)
  646. PATHDR4    EQU    0        ; 4th (optional)
  647. PATHUS4    EQU    0
  648. PATHDR5    EQU    0        ; 5th (optional)
  649. PATHUS5    EQU    0
  650. ; -----
  651. ; Motor controlled drives
  652. ;
  653. ; These values suit a Compupro/Viasyn Disk1A with YE-DATA 180 20cm drives
  654. ; Alter to suit your needs if your disk controller supports motor control.
  655. ;
  656.      IF    MOTOR
  657. DISK    EQU    0C3H        ; Disk control port
  658. DISKON    EQU    80H        ; Motors on
  659. DISKOFF    EQU    0        ; Motors off
  660.      ENDIF
  661. ;
  662. ; -----
  663. ; If LOSER is set YES
  664. ;
  665. ; There are some cases where warm boot overwrites the initial BIOS jump
  666. ; table.  This problem was solved for the Superbrain 3.0 bios by find-
  667. ; ing where warm boot overwrites the initial BIOS jump
  668. ; table.  This problem was solved for the Superbrain 3.0 bios by find-
  669. ; ing a warmboot call to HIGH in the BIOS.  This call is then patched by
  670. ; NUBYE.  The form of the call is:     WBCALL   CALL  WMSTRT
  671. ;
  672.      IF    LOSER
  673. WBCALL    EQU    0E260H        ; Check this in your BIOS
  674. ;
  675. ; The following location is called
  676. ;
  677. WMSTRT    EQU    0E566H        ; Check this in your BIOS
  678.      ENDIF
  679. ;
  680. ; ---------------------------
  681. ; END OF OPTION CONFIGURATION
  682. ; ---------------------------
  683.