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
/
MEX
/
MXO-MD30.ASM
< prev
next >
Wrap
Assembly Source File
|
2000-06-30
|
24KB
|
757 lines
; MXO-MD30.ASM - Morrow Designs Micro Decision 3 (MD3) Overlay File
; version 3.0 for MEX 1.14
; 1/17/87 by Carson Wilson. This file is for MD3's with Rev. 2 boards only.
;
; You may edit this file to change various initial variables. Assemble
; with ASM or MAC, then use MLOAD to patch the changes into MEX:
;
; ASM mxo-md30.aaz ;assemble the edited file
; MLOAD newmex.com=mex114.obj,mxo-md30 ;patch mex
;
; You will want to look this file over carefully. There are a number of
; options that you can use to configure the program to suit your taste.
; This file adapts the Morrow Micro Decision computer to the MEX pro-
; gram. While this computer has two serial ports, one is used for the
; CRT/keyboard and the other for the printer. Connect the modem in place of
; the printer.
;
; The "SET" command may now be used to change the baudrate, parity, data
; bits, and stopbits. For help, type "SET ?" from the MEX prompt. For current
; settings, type "SET".
; Defaults are 1200 baud, 8 data bits, no parity, 1 stopbit.
; = = = = = = = = = = = = = = = = = =
; 01/17/87 - Completely revamped file, made it MD3 specific. Removed extra
; code, added ability to set stop bits, parity, and data bits,
; changed the default baud rate to 1200 bps, changed some options,
; added latest options to end of file, altered the initializing
; routine to run with the MD3, changed clear screen and clear to
; end of screen to work with MT-70 terminal. Renamed file to
; MXO-MD30.ASM for M(icro) D(ecision) version 3.0 - Carson Wilson
;
; 05/15/84 - converted from mdm7xx to mex10 - sandy berger
; 03/25/84 - revised for use with mdm730 - sandy berger
; 11/11/83 - renamed to m7md-1.asm, no changes - irv hoff
; 07/21/83 - renamed for use with mdm712 - irv hoff
; 07/01/83 - revised for use with mdm711 - irv hoff
; 06/22/83 - revised for use with mdm710 - irv hoff
; 06/22/83 - altered mdm708dp for morrow
; micro decision computers using
; an external modem - irv hoff
; 05/28/84 - altered for model md-3a - alan bierbaum
;
; = = = = = = = = = = = = = = = = = =
;
; Following line must be BIOS address of CONOUT.
;
conout equ 0e4cbh ; This value now set for a 60k ZCPR3 installation
; for the MD3. If you use the standard Morrow 64k
; CP/M operating system with BIOS rev 3.1, you
; should change it to 0f4cbh.
;
bell equ 07h ; bell
cr equ 0dh ; carriage return
esc equ 1bh ; escape
lf equ 0ah ; linefeed
tab equ 9 ; tab
;
yes equ 0ffh
no equ 0
;
;------- MD3-Specific Port Addresses ------
;
s2data equ 0feh ; Morrow MD3 serial printer/modem port
s2stat equ 0ffh ; modem status port
modrcvb equ 02h ; modem receive bit
modsndb equ 01h ; modem send bit
ctcsel equ 0f3h ; channel select port for CTC
ch2div equ 0f2h ; port for setting baud rate of 2nd serial port
;
;------- MEX Built-in Routines --------
;
inmdm equ 255 ; get char from port to a, cy=no more in 100 ms
timer equ 254 ; delay 100ms * reg b
tmdinp equ 253 ; b=# secs to wait for char, cy=no char
chekcc equ 252 ; check for ^C from kbd, z=present
sndrdy equ 251 ; test for modem-send ready
rcvrdy equ 250 ; test for modem-receive ready
sndchr equ 249 ; send a character to the modem (after sndrdy)
rcvchr equ 248 ; recv a char from modem (after rcvrdy)
lookup equ 247 ; set cmd table search: see cmdtbl comments
parsfn equ 246 ; parse filename from input stream
bdpars equ 245 ; parse baud-rate from input stream
sblank equ 244 ; scan input stream to next non-blank
evala equ 243 ; evaluate numeric from input stream
lkahed equ 242 ; get nxt char w/o removing from input
gnc equ 241 ; get char from input, cy=1 if none
ilp equ 240 ; inline print
decout equ 239 ; decimal output
prbaud equ 238 ; print baud rate
prntbl equ 237 ; print table
prid equ 236 ; print [MEX] id
onoff equ 235 ; parse on/off fm input strm a=0 or 1 (c=err)
print equ 9 ; simulated bdos function 9: print string
inbuf equ 10 ; input buffer, same structure as bdos 10
kstat equ 11 ; get keyboard status
kbdin equ 01 ; keyboard input
dconio equ 6 ; bdos direct console i/o function #
dconin equ 0ffh ; bdos dconio flag for input
;
;------------------------------------------------------------
; Actual start of MEX
;
org 100h
;
ds 3 ;(for "jmp start" instruction)
;
pmmimodem: db no ;yes=pmmi s-100 modem 103h
smartmodem: db no ;yes=hayes smartmodem, no=non-pmmi 104h
touchpulse: db 'T' ;T=touch, P=pulse (smartmodem-only) 105h
clock: db 40 ;clock speed in mhz x10, 25.5 mhz max. 106h
;20=2 mhh, 37=3.68 mhz, 40=4 mhz, etc.
mspeed: db 5 ;0=110 1=300 2=450 3=600 4=710 5=1200 107h
;6=2400 7=4800 8=9600 9=19200 default
bytdly: db 5 ;0=0 delay 1=10ms 5=50 ms - 9=90 ms 108h
;default time to send character in ter-
;minal mode file transfer for slow bbs.
crdly: db 5 ;0=0 delay 1=100 ms 5=500 ms - 9=900 ms 109h
;default time for extra wait after crlf
;in terminal mode file transfer
noofcol: db 5 ;number of dir columns shown 10ah
setuptst: db yes ;yes=user-added setup routine 10bh
scrntest: db yes ;cursor control routine 10ch
retry: db yes ;yes=ask user to reset error count 10dh
;after 10 consecutive errors
;no=abort after 10 consecutive errors
bakupbyte: db no ;yes=change any file same name to .bak 10eh
crcdflt: db yes ;yes=default to crc checking 10fh
togglecrc: db yes ;yes=allow toggling of crc to checksum 110h
convrub: db no ;yes=convert backspace to rub 111h
togglerub: db yes ;yes=allow toggling of bksp to rub 112h
addlf: db no ;no=no lf after cr to send file in 113h
;terminal mode (added by remote echo)
togglelf: db yes ;yes=allow toggling of lf after cr 114h
tranlogon: db no ;yes=allow transmission of logon 115h
;write logon sequence at location logon
savccp: db yes ;yes=do not overwrite ccp 116h
loconextchr: db yes ;yes=local command if extchr precedes 117h
;no=external command if extchr precedes
toggleloc: db yes ;yes=allow toggling of loconextchr 118h
lsttst: db yes ;no=using modem on printer port 119h
; NOTE - if either of the next two are "yes", then MEX will NOT
; ask for delays when sending a file in terminal mode.
xofftst: db no ;yes=checks for xoff from remote while 11ah
;sending a file in terminal mode
xonwait: db no ;yes=wait for xon after cr while 11bh
;sending a file in terminal mode
;
togxoff: db yes ;yes=allow toggling of xoff checking 11ch
ignorctl: db no ;yes=ctl-chars above ^m not displayed 11dh
extra1: db 0 ;for future expansion 11eh
extra2: db 0 ;for future expansion 11fh
brkchr: db '\'-40h ;^\ = send 50 ms. break tone 120h
noconnct: db 'N'-40h ;^N = disconnect from phone line 121h
logchr: db 'L'-40h ;^L = send logon 122h
lstchr: db 'P'-40h ;^P = toggle printer 123h
unsave: db 'R'-40h ;^R = close input text buffer 124h
tranchr: db 'T'-40h ;^T = transmit file to remote 125h
savechr: db 'Y'-40h ;^Y = open input text buffer 126h
extchr: db ']'-40h ;^] = send next character 127h
;
ds 2 ; 128h
;
in$s2stat: in s2stat ! ret ;in modem control port 12ah
ds 7
out$s2data: out s2data ! ret ;out modem data port 134h
ds 7
in$s2data: in s2data ! ret ;in modem data port 13eh
ds 7
ani$modrcvb: ani modrcvb ! ret ;bit to test for receive ready
cpi$modrcvb: cpi modrcvb ! ret ;value of receive bit when ready
ani$modsndb: ani modsndb ! ret ;bit to test for send ready
cpi$modsndb: cpi modsndb ! ret ;value of send bit when ready
ds 12
;
logonptr: dw logon ;for user message. 160h
ds 3 ; 162h
jmp$disconnt: jmp goodbye ; 165h
jmp$goodbye: ret ! nop ! nop ; 168h
jmp$initmod: jmp initmod ;go to user written routine 16bh
jmp$newbaud: jmp newbaud ;sets baud rate associated with#16eh
ret ! nop ! nop ;(by-passes pmmi routine) 171h
ret ! nop ! nop ;(by-passes pmmi routine) 174h
jmp$setpro: jmp setpro ;process SET commands 177h
jmp$spclmenu: jmp spclmenu ; 17ah
jmp$sysver: jmp sysver ; 17dh
jmp$break: jmp sendbrk ; 180h
;
; do not change the following six lines.
;
jmp$ilprt: ds 3 ; 183h
jmp$inbuf ds 3 ; 186h
jmp$inlncomp: ds 3 ; 189h
jmp$inmodem ds 3 ; 18ch
jmp$nxtscrn: ds 3 ; 18fh
jmp$timer: ds 3 ; 192h
;
; Clear sequences -- clreos is clear to end of screen, clrscrn is clear
; entire screen. Last entry must be 0. Any other 0's act as nop's.
; The scrntst option must be set "yes" for these to work. These are now
; set for the Morrow MT-70 terminal.
;
clreos: mvi c,ilp ; clear to end of screen routine
call mex
db esc,'Y',0 ; fill out to required 9 bytes
ret
;
clrscrn:mvi c,ilp ; clear whole screen routine
call mex
db 1ah,0,0 ; fill out to required 9 bytes
ret
;
;------------------------------------------------------------
; End of fixed area. Above here, be very careful of changing
; the length of things. Below here, total length just needs
; to be under 0B00, to leave room for external modem overlay.
;------------------------------------------------------------
logon: db 'logon goes here',cr,0
;
milp: mvi c,ilp ; mex inline print string
jmp mex
;
crlf: call milp ; print return and linefeed
db cr,lf,0
ret
;
sysver: call milp
db '*** Morrow Designs MD3 Version 3.0 ***',cr,lf,0
ret
;
; This routine allows a 300 ms. break tone to be sent to reset some
; time-share computers.
;
sendbrk:mvi a,1fh ;send break tone
jmp goodbye1
;
; This routine sends a 300 ms. break tone and sets dtr low for the same
; length of time to disconnect some modems such as the Bell 212a, etc.
;
goodbye:
mvi a,15h ;send break, turn off DTR
;
goodbye1:
out s2stat ;send to status port
mvi b,3 ;wait 300 ms.
mvi c,timer
call mex
mvi a,27h ;normal send/receive with dtr
out s2stat ;send to status port
ret
;
initmod:mvi a,087h ;ensure out of mode
out s2stat ;modem status port
out s2stat ;slight extra delay
mvi a,40h ; initialize usart for mode word
out s2stat ; modem status port
lda modereg ; load current defaults
out s2stat ; allows cloning with different
; data bits, stop bits, & parity
lda cmdreg ; use command word to reset
; xmt, dtr, rcv, and rts
out s2stat ;modem status port
in s2data ;clear data port
call loadbd ; set baud rate - allows cloning
ret
;
;============== SETPRO - Process SET Commands ========================
;
; Main SET Command Table
;
cmdtbl: db 'BAU','D'+80h
dw setbaud
db 'PARIT','Y'+80h
dw setpar
db 'LENGT','H'+80h
dw setlen
db 'STOPBIT','S'+80h
dw setstp
db '?'+80h ; SET help
dw sethelp
db 0
;
setpro: mvi c,sblank ;any arguments?
call mex
jc tell ;if not, go display current settings
lxi d,cmdtbl
mvi c,lookup
call mex ;parse argument
push h ;save any parsed argument adrs on stack
rnc ;if we have one, return to it
pop h ; command not found in table
; so fall thru to print error msg.
;
seterr: lda errid ; print MEX id with error msgs?
ora a
jz noid ; no
mvi c,prid ; print mex id
call mex
noid: call milp
db bell,'++ SET error' ; ring bell, if on
db ' ++',cr,lf,0
ret
;
tell: call shbaud ; display current settings
call shprty
call shbits
call shstop
ret
;
; "SET ?" processor
;
sethelp:
call milp
db 'BAUD <n>',tab,'300 or 1200',cr,lf
db 'LENGTH <n>',tab,'7 or 8',cr,lf
db 'PARITY <mode>',tab,'NONE, EVEN or ODD',cr,lf
db 'STOPBITS <n>',tab,'1 or 2',cr,lf,0
ret
;
; ---------- modem registers --------------
; These registers are used to set the 8251 UART for the Morrow's
; second serial port. For an excellent explanation of this process,
; see Ed Berne's article "How to Modify Output Ports," in Morrow
; Owners' Review vol. 1, #4, October 1984, pp. 44-5.
;
modereg:db 01101110b ; Contains the default "mode word" for
; output to the 8251 UART.
; 01101110b = no parity, 8 databits,
; 1 stopbit. This register changes with
; calls to SET routines.
cmdreg: db 00100111b ; Contains the "command word" for output
; to 8251 UART.
;
; MODEOFF and MODEON are used to set parity, stopbits, and databits
; by turning off or on the bits specified in register b. The most recent
; combination is temporarily stored in modereg.
; MODEON - turn on bit(s) on modem mode register.
; On entry, reg. b has ones in positions to turn on
modeon: push psw
mvi a,40h ; tell 8251 that the next byte will be a
out s2stat ; "mode word"
lda modereg ; get the mode register
ora b ; add the bits which are on in b to a
sta modereg ; save the result back in modereg
out s2stat ; send modereg to UART
lda cmdreg
out s2stat ; reset the UART
pop psw
ret
;
; MODEOFF - turn off bit(s) on modem mode register.
; On entry, reg. b has ones in positions to turn off.
;
modeoff:push psw
mvi a,40h ; tell 8251 that the next byte will be a
out s2stat ; "mode word"
mov a,b ; get bits to turn off in a
cma ; reverse off to on, on to off
mov b,a ; and store the result back in b
lda modereg ; get the "mode register"
ana b ; turn off all bits in a which are off in b
sta modereg ; save the result back in modereg
out s2stat ; send modereg to UART
lda cmdreg
out s2stat ; reset the UART
pop psw
ret
;
;------------ Set Baud Rate -------------
;
; Set Baud Command Table
;
baudtbl:db '30','0'+80h
dw set300
db '120','0'+80h
dw set1200
db 0
;
setbaud:mvi c,sblank ;any arguments?
call mex
jc shbaud ;if not, go display baud
lxi d,baudtbl
mvi c,lookup
call mex ;parse argument
push h ;save any parsed argument adrs on stack
rnc ;if we have one, return to it
pop h ;input not found in table
jmp seterr
;
set300: mvi a,1 ;mspeed 300 baud value
jmp savebd
;
set1200:mvi a,5 ; mspeed 1200 baud value
;
savebd: sta mspeed ; change time-to-send to match baudrate
call loadbd ; and load and show baud separately so that
jmp shbaud ; baud rate won't show at startup
;
loadbd: mvi a,0beh ;select ctc channel 2
out ctcsel
lxi d,417 ;load divisor for 300 baud
lda mspeed ;flag: 1=300, 5=1200 baud
dcr a
jz loadit ;if it was 1, set 300
lxi d,104 ;else load divisor for 1200 baud
loadit: mov a,e
out ch2div ;set baud rate using rate port
mov a,d
out ch2div
ora a
ret
;
shbaud: call milp ; display current baud rate
db 'BAUD RATE',tab,0
lda mspeed
mvi c,prbaud
call mex
call crlf
ret
;
newbaud:cpi 1
jz set300
cpi 5
jz set1200
ret
;
;-------- Set Parity --------------
;
; Set Parity Command Table
;
partbl: db 'NON','E'+80h
dw soff
db 'EVE','N'+80h
dw seven
db 'OD','D'+80h
dw sodd
db 0 ; <<== end of parity table
;
setpar: mvi c,sblank ; set parity - any arguments?
call mex
jc shprty ;if not, go display parity
lxi d,partbl
mvi c,lookup
call mex ; parse argument
push h ; save any parsed argument adrs on stack
rnc ; if we have one, return to it
pop h ; input not found in table
jmp seterr
;
soff: mvi b,10h ;set parity to off
call modeoff
jmp shprty
sodd: mvi b,10h ;set parity to odd
call modeon
mvi b,20h
call modeoff
jmp shprty
seven: mvi b,10h ;set parity to even
call modeon
mvi b,20h
call modeon
; and fall thru to shprty
;
; Show Parity Selected.
;
shprty: call milp ; display parity
db 'PARITY',tab,tab,0
lda modereg
ani 030h ; extract bits 4,5
cpi 010h ; if bits 4,5 = 1,0 then parity odd
jnz shprt1
call milp
db 'ODD',cr,lf,0
ret
;
shprt1: cpi 30h ; if bits 4,5 = 1,1 then parity even
jnz shprt2 ; else parity off
call milp
db 'EVEN',cr,lf,0
ret
;
shprt2: call milp
db 'NONE',cr,lf,0
ret
;
;--------- Set Length ---------------
;
; Set Length Command Table
;
lentbl: db '7'+80h ; "set length 7"
dw set7
db '8'+80h ; "set length 8"
dw set8
db 0 ; <<== end of data-bits table
;
setlen: mvi c,sblank ;any arguments?
call mex
jc shbits ;if not, go display databits
lxi d,lentbl
mvi c,lookup
call mex ;parse argument
push h ;save any parsed argument adrs on stack
rnc ;if we have one, return to it
pop h ;input not found in table
jmp seterr
;
set7: mvi b,04h ;set to 7
call modeoff
jmp shbits
set8: mvi b,04h ;set to 8
call modeon
; and fall through to shbits
;
; Show Current Bits per Character
;
shbits: call milp
db 'LENGTH',tab,tab,0
lda modereg
ani 0ch ; extract bits 2, 3 for examination
ora a ; if bits 2,3 = 0,0 then 5 bpc
jnz shbts1 ; nope, go try others.
call milp
db '5',0
jmp shbtsx
;
shbts1: cpi 04h ; test bits 2, 3 = 1, 0
jnz shbts2 ; if not, go try others.
call milp ; if so, 6 bits.
db '6',0
jmp shbtsx
;
shbts2: cpi 08h ; test bits 2, 3 = 0, 1
jnz shbts3 ; if not, must be 8 bits
call milp ; yup, 7 bits
db '7',0
jmp shbtsx
;
shbts3: call milp ; 8 bits per char
db '8',0
;
shbtsx: call milp
db ' bits',cr,lf,0
ret
;
;------- Set Stop Bits ----------------
;
; Set Stop Bits Command Table
;
stptbl: db '1'+80h ; "set stopbits 1"
dw stop01
db '2'+80h ; "set stopbits 2"
dw stop02
db 0 ; <<== end of stop-bits table
;
setstp: mvi c,sblank ; set stopbits - any arguments?
call mex
jc shstop ; if not, go display stopbits
lxi d,stptbl
mvi c,lookup
call mex ; parse argument
push h ; save any parsed argument adrs on stack
rnc ; if we have one, return to it
pop h ; input not found in table
jmp seterr
;
stop01: mvi b,80h ; set to 1
call modeoff
jmp shstop
;
stop02: mvi b,80h ; set to 2
call modeon
;
; Show Current Stop Bits
;
shstop: call milp ; display stop-bits
db 'STOPBITS',tab,0
lda modereg
ani 0c0h ; extract bits 6, 7 for examination
cpi 040h ; if 6 on, 7 off, one stop
jnz shst15 ; no, go check for 1.5 or 2
call milp
db '1',0
jmp shstxt
shst15: cpi 080h ; if 7 on, 6 off, 1.5 stops
jnz shst20 ; nope, go do 2.
call milp
db '1.5',0
jmp shstxt
shst20: call milp ; must be 2 stop bits
db '2',0
shstxt: call crlf
ret
;
; (end of initmod and setup routines)
;=======================================================================
;
; These routines can be used for your equipment, be sure to end with ret
;
spclmenu: ret
;
; Special mex code for Morrow BIOS to not trap certain escape sequences.
; The address of the following line must be substituted at location
; outvec for certain terminals to work properly with
; certain hosts. If you replace the address then all control
; codes sent to the terminal will have their high order bit set so that
; the Morrow will send them through properly and not trap them.
;
slbtyp: mov a,c
cpi 20h
jp slbt2 ; in Z80 opcode, that's
; "jp p,stbt2" (jump if sign flag set)
ori 80h
slbt2: mov c,a
jmp conout ; value from top of this file
;
; Special initial prompt for the Morrow MT-70 terminal
; (may be changed with the ID command)
;
myprom: db 28 ; Max. size of buffer
db 10 ; Length of actual prompt
db 1BH,'G4MEX:' ; Prompt string displays
db 1BH,'G0' ; in reverse video with Morrow MT-70
; terminal.
;
;=======================================================================
;
; NOTE: Must terminate prior to 0b00h (with smartmodem)
; 0d00h (without smartmodem).
;
; The order of the patch variables supported here will not change from
; version to version (i.e., new items will be added on to the end).
;
org 0d00h ;location of patch variables
;
lf equ 10 ;define ASCII linefeed code
;
;
; The following line defines the mex service call entry point, and
; is not meant to be changed by the user
;
mex: ds 3 ;mex service call processor
ds 3 ;reserved
ds 1 ;reserved
;
; The following line contains the initial free-memory pointer for
; mex. Sophisticated modem overlays requiring additional space may change
; this pointer (ie, move it higher), and thus "protect" an area of ram.
;
memry: ds 2 ;first free memory pointer
;
; Following are the lowest-level vectors for console and list i/o used
; by mex. These normally point to routines that save the registers and
; vector to the appropriate bios routines. Complex applications may
; need to intercept (or even replace) these routines. If you do this,
; be sure to preserve de, hl and bc.
;
stsvec: ds 2 ;console status vector
invec: ds 2 ;console input vector
outvec: dw slbtyp ;console output vector
lvec: ds 2 ;list output vector
lstvec: ds 2 ;list status vector
;
; The following line defines the location of the default mex prompt.
; If you'd like to provide your own initial prompt, add a dw statement
; pointing to a prompt buffer structured as follows:
;
; db <max size of buffer>
; db <length of actual prompt>
; db <prompt string>
;
; <maxsize> and <length> may be equal (especially if you disable the
; id command by setting chgpmt, below to 0); the id command will, if
; left enabled, be limited to the <max size> value.
;
prompt: dw myprom ;prompt location
ds 1 ;reserved
typlin: db 22 ;for type command: # lines/screen
pausfl: db 1 ;for type cmd: 1=pause 0=no pause
sepchr: db ',' ;multiple command-line separator
;changed from ';', which conflicts with
;ZCPR's MCL separator
;
; Following five for SENDOUT command
;
sowait: db 4 ;# seconds waiting for a sendout echo
sorepl: db 8 ;# seconds waiting for initial reply
sotrig: db '@'-64 ;sendout trigger char from remote
canchr: db 'X'-64 ;sendout char to cancel line to remote
sortry: db 2 ;sendout # retries
;
hexflg: db 0 ;hex/decimal mode
escchr: db 'T'-64 ;terminal mode escape char d1fh
nobell: db 0 ;set to 0ffh to disable bell, 0 = bell d20h
;
; Buffer variables. see buffers.doc for setup information
;
psize: db 2 ;default=2k d21h
asize: db 255 ;"big" capture buffer d22h
xsize: db 16 ;16k transfer buffer. d23h
nsize: db 1 ;1k for 85 batch files d24h
prelen: db 40 ;maximum length of prefix string d25h
suflen: db 40 ;maximum length of suffix string
;
; Misc. stuff
;
cdosfl: db 0 ;non-zero for cdos
wtecho: db 1 ;non-zero sets "wait-for-echo"
kysize: dw 400 ;size of keystring area, in bytes
cisflg: db 1 ;non-zero allows cis file transfers
cisok: db 1 ;non zero allows stat cis on or off
chgpmt: db 1 ;non-zero allows id (prompt chg) command
errid: db 1 ;non-zero prints id msg in err msgs
;
; By setting the following db to 0, you can disable the help
; command, freeing up space used by the help file index.
;
helpok: db 1 ;non-zero allows help command
mexdu: db 0 ;user \/ alternate area for read,load,ini.mex
db 0 ;drive/\ & help.mex (if search <>0)
debug: db 0 ;debugging in term-mode if non-zero
exclsy: db 1 ;non-0 excludes $sys from batchsend, dir
inimex: db 0 ;non-zero runs ini.mex (if present) at startup
rtimer: db 1 ;receiver wait: # seconds [plouff patch]
pqsize: dw 150 ;size of the modem-port queue
phsize: db 30 ;phone library size (# entries)
silent: db 0 ;0=silence multi-line & read cmd echo
alert: db 255 ;alert-bell count on call complete
extend: db 1 ;non-zero: unknown commands goto read processor
split: db 1 ;non-zero: splits phonelib printout, shows baud
search: db 0 ;search mode 0,1,2,3
;
; Following is the global secondary options table. To
; set an option to global, change its ascii character to a 0.
;
restt: db 'ABDELQRSTVX'
ds 8 ;room for option expansion
;
; added on release 1.10:
;
queue: db 1 ;1=allow queueing, 0=no
timbas: dw 208 ;timing constant
mode: db 0 ;mode of modem i/o
sminit: ds 2 ;smartmodem init routine adrs
ssetv: ds 2 ;sset command: defaulted off
smexit: ds 2 ;smartmodem exit routine adrs
ds 4 ;internal to mex
sodflg: db 0 ;1=tie sendout to time delay if no wtecho
autosv: db 1 ;0=initial term mode, save off
tabflg: db 0ffh ;non-zero=expand tabs within mex
;
;
end
lay if no wtecho
autosv: db 1 ;0=initial term mode, save off
tabflg: db 0