IMD 1.16: 26/05/2007 17:47:38 METAL 1.51AF 6 SEPT/86 DISK 2 MEXIT COMMFIX INS& MINIT OVR MSET COM MSTAL COM MSTAL COM% !MUT COM"#$%&'()*+,-./01MUT COM2MSUPPORTDOC3456789:;<=>?@ABMSUPPORTDOCCDEFGHIJKLMNOPQRMSUPPORTDOCSTUVWXYZ[\]^_`abMSUPPORTDOCcdefghijklmnopqrMSUPPORTDOCstuvwxyz{|}~MSUPPORTDOC@,AAATU>d2.00+s(:2͉At QZ*:AW:v͛An!: o~w>2%w!: o~ʋ>2%w:#º:"ʭ:%ʺ:":AW:vj<9^<3}-*N"#*(+}C:&2&:AW:vj>$Q! "*Ͷ! "*ͶQ: †!: o~: :G;ʠ Q:!C!C:!:G;w QW: (>ʹ2Q Q(:!3 "ͳ Qͨ!K "ͳ8 Q:Y:Y! "ͳ| Q:! "ͳ Q:d Q*$:b:b:'! "ͳ:&! "ͳ:*! "ͳ:+! "ͳ Qb:"e:e!: o~e 2!́*e!Ce!C:!:G;+ W:!b QbWw Qb́*e:½:>ʹ)l|!F2:2:GͨʩG:<:2ͨ!F2:2:2:2>2" ͕: bͨe ͢#h ͢J !M~#F ͕:b:! "ͳͨ! "ͳn ͕b:|ͨ2t*#":G~UW#G>ͮ~ K~*#"~2#~2*!: o~*O "G:*2*!: o~*O "G:+2+x! "ͳ*|#*|#+|z>:G::G:ɯ22Jp&j<&^<!"G&}*|g"G&}ͮMFl#\*|g"G&̓&d  ͕$͡Õ~Gͬx0o& ڿ |Ķ{0*w#" ? ? ? ? ?# ? ?9 ?P ?| ?f ? ? ? ? ? ? ͕͕>* M_MMMMM_ M!M"M MM˜>>AMD_MOMPMQ_MRMSMUM System status:  ? ? ? ? $ Uploads: Downloads: $ Minutes per day: $ Minutes on today: $ You have unlimited time on the system. $ Previous calls: $ Previous minutes: $ Enjoy your stay on the system. $ [ Mexit is updating the users file ] $ MEXIT 2.00 All Rights Reserved Copyright (c) 1986 by Kevin Murphy $ [ Logoff : ] $ [ Calls today: Minutes: ] $ [ ** Status Since Sysop Login ** ] [ Callers: Messages : ] [ Uploads: Downloads: ] $ This system needs files too, How about an upload ? You've downloaded quite a few good files here. $ You have exceeded the maximum to 1 download ratio ! You will not be allowed to download any files, until you upload enough files to offset the ratio, sorry. $ You have uploaded enough files to regain your download privilges * Thank You * $ [ BYE 5xx NOT active ] $use corrupt user data $find WHO buffer data $write to USERS file $open the USERS file $read record zero of USERS file $read the USERS record $find the USERS file $close the USERS file $write to MEXIT file $open the MEXIT file $read the MEXIT file $find the MEXIT file $close the MEXIT file $open the COUNTERS file $read the COUNTERS file $find the COUNTERS file $ MEXIT: Can't $USERS LOGile $write to MEXIT file $open the MEXIT file $read the MEXIT file $find the MEXIT file $close the MEXIT file $open the COMEXIT COMCOUNTERS ve exceeded the maximum to 1 download ratio ! You will not be allowed to download any files, until you upload enough files to offset the ratio, sorry. $ You have uploaded enough files to regain your download privilges * Thank You * $ [ BYE 5xx NOT active ] $use corrupt user data $find WHO buffer data $write to USERS file $open the USERS file $read record zero of US;............................................................................ ; ;title mfix.ins ;version 2.00 ;date 04/07/86 ;written by Kevin Murphy ; ; vers 2.00 - new release for METAL/Z-MSG vers 1.4xx or later ; and BYE503 or later. Needed to support the TIME CHECK ; feature in MEXIT. ;.............................................................................. ; >>> comments <<< ;.............................................................................. ; ; Find and DELETE the line in BYE503 or newer which reads: ; *----> SRUDEF: RET ; ; INSERT this file in it's place ; ; BCD2BIN equate must be set to YES in BYE5xx ;.............................................................................. ; >>> equates <<< ;.............................................................................. ; MAXCALS EQU 10 ;maximum number of calls per day if exceeded ;tell him why, and hang up ;set to zero for no maximum ;This is bypassed if the user has unlimited time ; ; ;metal buffer pointers UTIME EQU 69 ;pointer to time UDATE EQU 66 ;pointer to date UMINS EQU 79 ;mins on today, so far UD EQU 124 ;date of umins UM EQU 125 ;month of umins UTC EQU 126 ;times called on this day ; ;.............................................................................. ; >>> main routine <<< ;.............................................................................. ;enter with address of user record in DE ; SRUDEF: XCHG ;get user address in HL SHLD USER ;save it LHLD USER ;get it back, (incase we slip a routine in ) LXI B,UDATE+1 ;point to current day DAD B MOV A,M ;get day, and save it in A LHLD USER ;point to day of last umins update LXI B,UD ; DAD B ; MOV B,M ;get the minson day CMP B ;compare JNZ OKDAY ;no match, no problem, ; LHLD USER ;get base pointer LXI B,UDATE ;add date offset DAD B MOV A,M ;get month LHLD USER ;get pointer again LXI B,UM ;add offset DAD B MOV B,M ;get check month CMP B ;compare JNZ OKDAY ;no match, no problem, ; ;same day... ; LXI B,UTIME ; CALL GET ;convert it STA HOUR ;save it LXI B,UTIME+1 ; CALL GET ;convert it STA MIN ;save it ; LDA MXTIME ;check wheel CPI 0 ;is it a normal user ? JZ NOMAX ;no ; LHLD USER ;make sure we have not exceeded max calls LXI B,UTC ;point to times called today DAD B MOV B,M ;get it in B ; MVI A,MAXCALS ;get max times allowed CPI 0 ;is it zero JZ NOMAX ;then skip this stuff ; SUB B JZ KILLER ;if it was a match, say he's been on forever JC KILLER ; NOMAX: ; LHLD USER ;point to minutes on to day LXI B,UMINS ; DAD B MOV A,M ;get value CPI 0 ;if no update, no problem RZ ;return to metal ; MOV B,A ;do routine LDA MIN ;get login minutes in c CPI 0 ;did hour just turn ??? JZ DOHOUR ;yep, set up to previous hour + 60 mins MOV C,A ;do it ; SUBTR: ; DCR C ;dec JZ DOHOUR ;if zero, drop the hour count DCR B ;dec lop count JNZ SUBTR ;loop till done MOV A,C ;get new minute value STA MIN ;save it LDA HOUR ;reset log in time in bye MOV D,A LDA MIN MOV E,A CALL RMLTIM ;use a short cut to extended bdos RET ;get your butt back to metal ; ;............................... ; OKDAY: LHLD USER ;point to minutes on to day LXI B,UMINS ;zero time on today DAD B MVI M,0 RET ; ;................................ ; DOHOUR: ;increment hour, reset minutes LDA HOUR ;get binary hour DCR A ;dec STA HOUR ;save new count LOADMIN: MVI C,60 ;restart minutes at 60 JMP SUBTR ;go back to loop ; ;................................ ; GET: ;convert bcd byte pointed to by HL ;to binary byte in A LHLD USER ;get base address DAD B ;add in off set MOV A,M ;get 1st CALL BCDBIN ;convert BCD to binary RET ;return to sender, result in A ; ;................................ ; KILLER: ;exceeded maximum number of calls for the day LXI H,TOOMANY ;tell them they have called to many times  CALL PRINTB ;print local and remote CALL PATCH ;patch up bye JMP LOGOFF ;logout, sign off, and all that ; ;.............................................................................. ; >>> db area <<< ;.............................................................................. ; USER: DW 00 HOUR: DB 0 MIN: DB 0 TOOMANY: DB 7,CR,LF,'[You''ve called too many times today !]',CR,LF,0 ; ;.............................................................................. ; >>> end of insert <<< ;.............................................................................. ; mfix2xx.ins ;..............................................................................  MOV A,M ;get 1st CALL BCDBIN ;convert BCD to binary RET ;return to sender, result in A ; ;................................ ; KILLER: ;exceeded maximum number of calls for the day LXI H,TOOMANY ;tell them they have called to many times 041298 :0A0474001323C36E043E201213C9C7 :0000000000 !4w_#~ ʸ A:4~~# ¼ > \ ?ʻ w# !ͼ ? !ͼ !)ͼ !ͼ :5͡ :6:6͡ :7041298 :0A0474001323C36E043E201213C9C7 :0000000000 !4w_#~ ʸ A:4~~# ¼ > \ ?ʻ w# !ͼ ? !ͼ !)ͼ !ͼ :5͡ :6:6͡ :7041298 :0A0474001323C36E043E201213C9C7 :0000000000 !4w_#~ ʸ A:4~Û2.00 MiP~ i* n6 #6(#*I ~w#6)#6 #:6-#6 #* n6 #6>#6 #*' nPK 6*#*~#~* ^Q* ^G:K*T:`*L ^H`U~y#n> A2.00͸:2:A;:<ʚ<ʔŽ2@2?2C2Dˆʠ:2k͸æææææ ͸͸>* ʹ_ʹʹʹʹʹ_ ʹ!ʹ"ʹ MSET 2.00 All Rights Reserved Copyright (c) 1986 by Kevin Murphy [ Now zeroing SINCE SYSOP counters ] $ [ Operation complete, counters reset ] $write to MEXIT file $open the MEXIT file $read the MEXIT file $find the MEXIT file $close the MEXIT file $ MSET: Can't $ Copyright (c) 1986 by Kevin Murphy [ Now zeroing SINCE SYSOP counters ] $ [ Operation complete, counters reset ] MEXIT COM M2.00GeD:2P:2P:PG:PGIeD:ZFIeDLIeDJeD>D1ʓ2ʔ3:4ʝ56ʦ78F9iADCʯX#C#͑C#͛C#rIeD>DADY#!R͍F͆E*#!"PQF*#:2'QcF*#uF*#LeD#HeDͻC-ͯC,:Z!>M#>Z20CC:Z?HeD3IeDPeD^MeD>DADY#:Zx!R͍F͆E*#Æ!R͍F͆E*#!"PQF*#JDʥMeD#2(Q28Q!"PcF*#uF*#MeD#!R͍F͆E*#QͷG!"PQF*#$RͷG!"PQF*#uF!QMDuNeD#:Z1!R͍F͆E*#?!R͍F͆E*#!"PQF*#*$Q"Q*&Q"QQͷG!"PcF*#$RͷG!"PcF*#uF*#!QDN3D)NeD#:Z´!R͍F͆E*#!R͍F͆E*#!"PQF*#JDOeD#PeDPeD!8QO3DNeD] PeD>*:Z'!R͍F͆E*#5!R͍F͆E*#!"PQF*#JDTOeD#PeDPeD!8QO3DNeD* LeD>DADY#U!R͍F͆E*#!"PQF*#JDʾfPeD#PeD!8QP3DPeD] A5/:/Q1:1Q68:3QE:&;:5QA)324͜ :GQ7 \>*!R͍F͆E*#!"PQF*#JDgfPeD#!8QP3DPeD;* :7Q21QA5Ð5͏/:/Qž1:1Q©ͼ6ͺ8:3Q·:::5Q͔>2FQͬA24i :GQ oͭLeD>DADY#U!R͍F͆E*#!"PQF*#JD<OeD#PeD!8Q]P3D(PeDE:.Q_*C\:/Q|#8] V:2Q?͇ >*!R͍F͆E*#!"PQF*#JDOeD#QͷG!"PQF*#!8Q]P3D(PeD:.Q;`Ͳ:/Q * #:2QT ͺ!*(+LeD>DADY#QͷG!"PcF*#$QͷG!"PcF*#LeDuF#! S͍F͆E*#!"PQF*#JDʖOeD#!8QO3DOeDoLeD>DADY#UPeD>D?AD2'Q!P~02P#~02P:P OG:P:P2(QC:eDCþC:'Q2 !! "P E:(QDeD Enter the drive/user on which your METAL or Z-MSG USERS file resides, this would be the same as the drive/user you entered in MECONFIG or ZMCONFIG. Format is (duu). Currently the USERS file is set to reside on ...........[ ] ͯCP ?Q :7QE >G >27Q` Cv eDͻC* C:7Qo  eD+ eD The TIME CHECK feature will allow the system to track, and limit such things as Total time on system per 24 hours, total times called per 24 hours, and also increment the Total time on system to date counter. A clock must be installed and used in BYE5xx if this feature is ON. You must also install MFIX in BYE5xx. This must be set to YES in MEXIT, MINIT and MUT. Currently using the TIME CHECK feature ................[yes] Currently using the TIME CHECK feature ................[no]͜ ͯCʏ ?ʐ :GQ„ >Æ >2GQ͟ C eDͻCi C:GQ® J eD eD The SINCE SYSOP feature will allow the system to track the number of calls, messages, uploads, and downloads since the 'SYSOP' last logged in. Currently using the SINCE SYSOP feature ...............[yes] Currently using the SINCE SYSOP feature ...............[no] PeD'E* ? } +"HQ C eDC C! "PE*HQ#D*P!P#D eD Enter the record number of the sysop, normally this is record number 1, but may be any single user. Each time this user logs in the counters are reset. Currently the 'SYSOP' is user record ...................[ \PeD>DO?PAD2)Q!P~02P#~C02P:P O6G:PF:P2*Q_C{eDC C:)Q2d!e"P E:*QD*eD Enter the drive/user on which your METAL or Z-MSG COUNTERS file resides, this would be the same as the drive/user you entered in MECONFIG or ZMCONFIG. Format is (duu). Currently the COUNTERS file is set to reside on ........[ PeD>Dʿ?AD2+Q!P~02P#~ʳ02P:P O¦G:Pö:P2,QCeDCoC:+Q2!"P E:,QDeD Enter the drive/user on which MEXIT.COM resides This would be the same as the drive/user entered in BYE 5 and MECONFIG or ZMCONFIG. Format is (duu). Currently the MEXIT file is set to reside on ...........[ ͯC?:=Q>>2=QCeDͻCC:=QaeDeD MINIT also has a feature which allows it to pass the nulls value from the users file to BYE5xx, once the user has logged in. This way BYE does not need to ask for nulls. If you use this be sure to set BYE so it does not ask for nulls, and set the toggle in MECONFIG or Z-CONFIG to say that BYE is NOT asking for nulls. Currently passing the NULLS value to BYE5xx ............[yes] Currently passing the NULLS value to BYE5xx ............[no]ͯC?:>Q>>2>QC*eDͻCC:>Q#eD"eD MINIT also has a feature which allows it to print the users password as part of the ^W information. If for security or other reasons this may be toggled ON or OFF as you see fit. Currently users password is printed with ^W ............[yes] Currently users password is printed with ^W ............[no]PeD'E*ʀ?}2)QC*PeD'E*ʠ?}2*Q-CCPeD'E*?}2+QFC\PeD'E*?}2,Q_CueDC`ueDCÀueDCàueDCC!C"P E:)QD eDC!"P E:*QDKeDC!"P E:+QDeDC! "P E:,QDeD MUT was designed to clear the screen between functions, a maximum of four characters is allowed in the string. If your clear screen sequence is less than four characters fill the remaining spaces with '0' . If you do not want clear screen at all, fill the first space with a '0', The clear screen information can be found in your computer owners manual. Format is decimal number, ( 0 to 255 ). The first character of the clear screen string is ......[ The second character of the clear screen string is .....[ The third character of the clear screen string is ......[ The forth character of the clear screen string is ......[ EͯC8?9:.Q->/>2.QHC^eDͻCC:.QWteD3eD MUT will look for users file on the preconfigured Drive/User, unless you want it to search the current default Drive/user instead. In either case if the users file is not found, MUT will ask for Drive/User. MUT is set to search for USERS on .. [preconfigured drive/user] MUT is set to search for USERS on ......[default drive/user]ͯC?:/Q>>2/QCeDͻCòC:/QyeDeD MUT will allow the use of your keyboards up and down arrow keys, in scan mode as additional forward/reverse commands. Currently MUT is set to accept the ARROW commands ......[yes] Currently MUT is set to accept the ARROW commands ......[no]#PeD'E*?}21Q&C<eDCC!"P E:1QDeD Enter the keyboard code for your computers UP arrow, this information can be found in your computer manual. Format is a decimal number. The current Up arrow value that is stored in MUT is ....[ 8PeD'E*+?,}20Q;CQeDC C!"P E:0QDeD Enter the keyboard code for your computers DOWN arrow, this information can be found in your computer manual. Format is a decimal number. The current Down arrow that value stored in MUT is .....[ VͯCI?J:2Q>>@>22QYCoeDͻC#C:2QheDeD MUT allows password security, as a safety feature. You may select a password (1 to 39 characters), and MUT will require the password before accessing the USERS file. This is quite handy if you plan to leave MUT in the BBS area. Even if the area is secure, a Password may be desired. PASSWORD is required by MUT to access the users file ...[yes] PASSWORD is required by MUT to access the users file ...[no]?PeD>'D2?3=Q#DBCReDCC!=Q, #D eD The password may be any ascii characters. Letters A through Z will be recognized in either upper or lower case. All other characters are honored as is. The password may 1 to 39 characters in legnth. Password: BCReDCC!=Q, #D eD ͇ ͯCz ?{ :lQo >q >2lQ͊ C eDͻCT C:lQ™ DADY!S"eD"eD"eDa#%%&"eD $4%!&'#eD>DADY!C Do You wish to change the the default (AD)d values .....[?] Do You wish to change the the default (AD)d values .....[no] Do You wish to change the the default (AD)d values .....[yes] [ Current Default values for the (AD)d command ] Are these the default (AD)d command values you wish to save (Y/N) ? -> $PeD>Dʼ#?ʽ#Q+ʵ#nʵ#xʵ#Xʵ#sʵ#aʵ#bʵ#cʵ#dʵ#eʵ##eDa# $C$eDCa# [ Error, A Valid Status Character is +,s,n,x,X,a,b,c,d,e ] C:Q2%$eD MEXIT allows from 0 to 3 special status characters Users with these status levels will BYPASS the STOP ratio routine. Enter a '-' to clear. Invalid characters are ignored Currently the default status for the (AD)d command is ..[ ]4%PeD'E*'%?(%}2Q7%CM%eDC%C!%"P E:QD%eD You may select any default screen height for the (AD)d command, 1 through 255 will be accepted. Current default screen height for (AD)d is .............[ !&PeD'E*&?&}2Q$&C:&eDC%C!&"P E:QD&eD You may select any default screen width for the (AD)d command, 1 through 255 will be accepted. Current default screen width for (AD)d is ..............[ 'PeD>D'?''"Q'C?'eDC&C!':Q;D#:Q;D#:Q;D#:Q;D'eD Set the default group flag the (AD)d command. Format is two hexadecimal numbers. Currently the default hexadecimal group flag is ........[ h]'2(#'o:(g~ADO((x2P#~ADO((:PFȹ(0123456789ABCDEF|(eD>DADYD((eD(eD7)eD)$+͍,7)eD)Q+-)eD>DADYJ( Do You wish to change the default DATA file values .....[?] Do You wish to change the default DATA file values .....[no] Do You wish to change the default DATA file values .....[yes] [ Current Default values for the DATA file command ] Are these the default DATA file values you wish to save (Y/N) ? ->)PeD'E*)?)}2eQ)C*eDC)C!+"P E:eQD*eD Enter the character code for you want to incase each data feild with, entry format is a decimal equivalent. Example: If you wanted a (") you would enter a 34 . the result would be a feild like this "NAME". The current feild incaser value is .....................[ Q+PeD'E*D+?E+}2fQT+Cj+eDC$+C!,"P E:fQDK,eD Enter the character code for you want to seperate each data feild with, entry format is a decimal equivalent. Example: If you wanted a (,) you would enter a 44 . The result would be a feild like this "NAME","LOCATION". The current feild seperator value is ...................[ -PeD'E*ʭ,?,}2gQ-C5-PeD'E*,?,}2hQ8-CN-PeD'E*,?-}2iQQ-Cg-eDCÍ,g-eDCí,g-eDC,-5-N-C!/"P E:gQD.eDC!E/"P E:hQD /eDC!/"P E:iQDM/eD The record terminator may be from 0 to 3 characters. These must be entered as decimal equivilents. If less than three are needed enter zero's in remaining spaces Example: If you wish to terminate a record with a CR/LF You would enter 13 as the first character and 10 as the second, the third would be 0. Format is decimal number, ( 0 to 255 ). The first character of the feild terminator string is ..[ The second character of the feild terminator string is .[ The third character of the feild terminator string is ..[ /ͯCʵ/?ʶ/:/Qª/>ì/>2/Q/C/eDͻCÏ/C:/Q/F1eD1eD MEXIT will check the WHEEL byte as it runs, if the wheel byte is set MEXIT will exclude several of it's operations. This is to prevent MEXIT from logging out a sysop for too many calls in a day, and from locking off download priviledges if the STOP ratio is exceeded. If your are not using ZCPR (or alike) but are using the wheel byte, set this to yes. Currently using WHEEL byte to bypass traps .............[yes] Currently using WHEEL byte to bypass traps .............[no]1PeD>D1?1{D20Q1C2eDC1C!2:0Q;D#:0Q;D2eD Since the WHEEL is being used, MEXIT will need to know the location of the low memory WHEEL byte. This would be the same location entered in MECONFIG or Z-CONFIG. Currently stored WHEEL byte location in hexadecimal ....[ h])3PeD>D3?3{D2-Q,3CG3eDC2C!3:-Q;D#:-Q;D3eD MEXIT must know what the low memory location of the KMD upload counter is. This is the same location as you set in KMD. Current KMD Upload counter location in hexadecimal .....[ h]24PeD>D%4?&4{D2.Q54CG3eDC4C! 5:.Q;D#:.Q;D4eD MEXIT must know what the low memory location of the KMD download counter is. This is the same location as you set in KMD. Current KMD Download counter location in hexadecimal ...[ h]A5ͯC45?55:1Q)5>+5>21QD5CZ5eDͻC5C:1QS5?6eD~6eD MEXIT will inform the user of, and sysop of a number of things conserning time. Such as Time allowed per day, time on, time left and time of day at logout, if the feature is used there must be a clock installed in BYE5xx. Currently using a CLOCK in BYE5xx ......................[yes] Currently using a CLOCK in BYE5xx ......................[no]6ͯC6?6:2Q6>6>22Q6C7eDͻCü6C:2Q7=8eD|8eD MEXIT allows you to print the current time left on system from BYE5xx, if BYE5xx does not print this at warmboot, you will probably want this. If you have BYE5xx set to print the time left on system at each warmboot, you will not want to use this feature, since it would create a redundant display. Currently printing TIME LEFT on system from BYE5xx .....[yes] Currently printing TIME LEFT on system from BYE5xx .....[no]8ͯC8?8:3Q8>8>23Q8C9eDͻCú8C:3Q89eD9eD MEXIT will allow you to beg for uploads if the ratio of downloads to uploads you set is exceeded. You may select the ratio you feel is proper. Currently set to BEG for uploads .......................[yes] Currently set to BEG for uploads .......................[no]E:PeD'E*8:?9:}24QH:C^:eDC:C!:"P E:4QD:eD You may select any ratio of downloads to uploads you like, 1 through 99 to 1. Current download ratio to begin BEGGING for uploads ....[ &;ͯC;?;:5Q;>;>25Q);C?;eDͻC:C:5Q8;eD You may select any ratio of downloads to uploads you like, 1 through 99 to 1. Current download ratio to STOP SPECIAL user downloads ..[ >PeD>Dʁ>?ʿ>=Q~r>Â>#c>:=Q-ʸ>>C+l>nl>xl>Xl>sl>al>bl>cl>dl>el>#c>2=Q{>>eDCJ>C!=Q?~>~>>,#>>]?eD> > MEXIT allows from 0 to 3 special status characters Users with these status levels will BYPASS the STOP ratio routine. Enter a '-' to clear. Invalid characters are ignored Currently 'BYPASSES' STOP for status levels ............[ s@PeD>D)@?g@AQ~@*@# @:AQ-`@v@C+@n@x@X@s@a@b@c@d@e@# @2AQ#@@eDC?C!AQA~ʠ@~ʒ@>,#Â@>]jAeD> Ó@ MEXIT allows from 0 to 3 special status characters users with any of these status levels will have a will have a differant STOP ratio, enter a '-' to clear Invalid characters are ignored Currently 'SPECIAL' STOP is set for status levels ......[ AͯCA?A:FQA>A>2FQACAeDͻCìAC:FQA2CeDqCeD MEXIT will allow the user to regain download priviledges if they have uploaded files to offset the downloads ratio. If you allow this the user will need to return to METAL or Z-MSG, then jump to the operating system. If this is not allowed, the user will not regain download priviledges until next log on. Currently allows RESTORATION of download priviledge ....[yes] Currently allows RESTORATION of download priviledge ....[no]PeD>DLeD7MeDPeD> ͘GCeD>D Any key to continue ............2P!P%>w#DP͟G!P~~/D=D#D=D~=D3D#a{ !8QcDF`D#PD>ɯ͘GeD͎G~ADODͣDx2P#~ADODͣD:PFȹãD0123456789ABCDEFDDDwo&D*P!P#D D |D{0* Pw#"P*P> w#E*P> w# E>DGE?"P!JEFE :E>**P~#"P0kE:?kE0_nE{_zW{_zW{_zW$QͷGFFF!RL~ ʭEʬE#ÜE>.!R~ EE#öELeD"LeD>DʭFADAG!P~02P#~ F02P:P OFG:PF:PGFFʭF>FRͥG<ʛF>F2R2RRͽG¡Fɯ2R2R>FRͱG<*P"RRͽG§F*P"RRG³FRͫGʳF:PG:PGR ~#’FGùF+GùFJGùFkGùFGùFeD!R}G~ FF#F>.!R~ FF#F{GeDGeD>* *[ Can't write record to *[ Can't open *[ Can't read record zero in *[ Can't read configuration in *[ Can't find ]* ͎G_͎G ͎G͎G͎G͎G͎G!͎G"͎G_͎G _͎G **** MSTAL **** The Mut/Mexit/Minit installer Version 2.00 - 04/15/86 Copyright (c) 1986 by Kevin Murphy You may set MSTAL for use with METAL or Z-MSG. MSTAL must know in order find the proper file. MSTAL is currently configured for use with .......[Z-MSG.COM] MSTAL is currently configured for use with .......[METAL.COM] Do You want to save this MSTAL configuration permanetly (Y/N) ---> [ MSTAL - 200 configured for the Z-MSG message system ]METAL message system ] | | | (1) Configure MUT.COM (2) List MUT configuration | | (3) Configure MEXIT.COM (4) List MEXIT configuration | | (5) Configure MINIT.OVR (6) List MINIT configuration | | (7) Install MINIT.OVR (8) UN-install MINIT.OVR | | (9) Configure MSET.COM (C) Configure MSTAL.COM | | (X) Exit from MSTAL | |.......................................................| [ Enter selection ? ]----> [ not found in current drive/user area ] [ Enter drive and user area to find file (duu) ] --> Are you sure this is the configuration you want to install (Y/N) ? --> [ Closing file, Configuration saved ]  [ RETURN for no change, anything else to toggle ] [ enter RETURN for no change ] Are you sure you wish to remove MINIT.OVR 2.xx from METAL/Z-MSG ? --> MINIT.OVR version 2.xx is not presently installed in METAL/Z-MSG.COM MINIT.OVR 2.xx has been removed from METAL/Z-MSG.COM [ MINIT.OVR version is now installed in METAL or Z-MSG.COM ] *[ Incorrect or corrupt version of MINIT 2.xx ]* *[ Unable to install MINIT, Exiting operation ]* [ Current configuration of MINIT version ] *[ MINIT 2.xx is not installed in METAL/Z-MSG ]* *[ or METAL/Z-MSG is corrupt. Reinstall MINIT 2.xx ]* [ Current configuration of MSET version ] *[ Incorrect or corrupt version of MSET 2.xx ]* *[ Incorrect or corrupt version of MUT 2.xx ]* [ Current configuration of MUT version ] *[ Incorrect or corrupt version of MEXIT 2.xx ]* [ Current configuration of MEXIT version ] ] Incorrect or corrupt version of MUT 2.xx*]* [ Current configuration of MUT version ] *[ Incorrect or corrupt version of MEXIT 2.xx ]* [ Current configuration of MEXIT version ] ] Incorrect or corrupt version of MUT 2.xx*]* [ Current configuration of MUT version ] *[ Incorrect or corrupt version of MEXIT 2.xx ]* [FILENAMEEXTfiguration of MEXIT vMUT COMMEXIT COMMETAL COMZ-MSG COMMINIT OVRMSTAL COMMSET COMxx ]* [ Current configuration of MSET version ] *[ Incorrect or corrupt version of MSET 2.xx ]* *[ Incorrect or corrupt version of MUT 2.xx ]* [ Current configuration of MUT version ] *[ Incorrect or corrupt version of MEXIT 2.xx ]* [ Current configuration of MEXIT version ] ] IncoA 2.00PASSWORD", !4w_#~ ʸ A:4(none) (none)(none)(none)xP aaa-ppp-nnnn:0NAp<>';!;~g p, , or down arrow, advance to next user (B), (-), or up  arrow, Back up to previous user jump to user record number , or , advance to next user (B), or (-), Back up to previous user jump to user record number (F)ind user by name - (S)earch for next match (Z)ip to last user in file (I)nformation (fully detailed display) (E)dit users record - (/) quick user edit (T)ag selection (scan, print, & mass mode mask flags) (V)iew current tags - (C)lear all tags (AD)d a new user to message system (D)elete a user - (U)ndelete a user (AL)l user toggle (deleted users display on/off) (Q) squeeze the users file, leaving only active users (M)ass delete of selected users (R)eset selected users upload and download counters (P)rint selected users to list device (G)roup flag set of selected users (W) status level set of selected users (Y) data base file creation (X) exit, close file, and return to Operating SystemCA>2 [Hash file was destroyed] 2;p<Hp ;G :;>0 <0 =0 -Q ?X ><2*;E=2;*;E=2;*;E=2;G 2*;E=2;*;E=2;*;E=2;G 2;G a p< format (mm/dd/yy) date string prefix may be .... " > " to search for dates after lock date " < " to search for dates previous to lock date " = " to search for exact match of date string " - " will clear the date search string to match ALL " ? " to redisplay this help menu Example: <10/01/85 (all dates before and on 10/01/85) >10/01/85 (all dates after or on 10/01/85) [ " ? " for help, " - " to clear ] [ Date to lock search (mm/dd/yy)] -->  p<2tA>;!;~ ?ʡ -ʪ !u #~ʖ #$*† #t :tA<2tA>#t :tAʪ  p?w#w The status lock character(s) may any combination of valid user status symbols If the status character(s) is preceeded by an "!" (exclamation mark), all user types except those listed are selected. The "!" can be thought of as the "not" prefix Up to five status characters, plus the prefix are allowed Examples:  snx - allow special, normal, and NO-OS !xX - allow all but NO-OS and TWIT abc - allow all of the sysop defined [ " ? " for help, " - " to clear ] [ Status(s) - to lock search ] --> -p<:2tA=*}?-$";:tA2}Kp< !";} [ " ? " for help, " - " to clear ] [ Times called - to lock search ] --> p<:2tA=* ?ʧ-ʰ";:tA2 Kp<}!"*  [ " ? " for help, " - " to clear ] [ Uploads - to lock search ] --> p<:2tA=*E?6-?";:tA2i_:Kp< !";i_: number prefixes may be.... " > " search for numbers greater than lock number " < " search for numbers lesser than lock number " = " search for exact match of number " - " will clear the number lock to match ALL The number may be any number between 1 and 65535 A zero is equivalent to a clear (" - ") Example: >25 (any number greater than 25) <17 (any number lesser than 17) =487 (only those which are exactly 487) [ " ? " for help, " - " to clear ] [ Downloads - to lock search ] --> !dd"!mm"!yy":;!"lA!:;o͠=:m¦:2>02!"lA!:;o͠=:d:2>02!"lA!:;o͠=!"lA=*;}"͠=!"lA=*;}+͠=!"lA=*;}4͠=p<p?w#A [ ALL Tags are valid until reset, for no change ] [ Current search tags ] (date) < / / (status) ? (calls) < (ups) < (downs) < !";"*";2;2>?2p2;_:>;?ʧ<>+p<=!yA G~g<#ö!yA~# G~g<>#>*!yA*;2;2>?2p to exit back to scan mode ] [ Enter Name of User to Find or '?' for help] -> [ Now Searching User File for ] -> [ User Found and Record Loaded ] :*?Ap<gp<p<*jA#"jAip;:tA2;!;=+>2;"jA?&8_::oA_2oA*jA#*>2oA*jA|_+**rA|**jA#"jA?&N*jA"rAgp<p<:;±!";";";2;2>?2p<2;!* [ No Record of that User Found, or End Of File ] [ No match was found - ALL search lock flags reset ] !"jA?&^:xAH*jA#"jA.͡vA!~6<S!!"rAHp;g2nAmp @?&̓:+©58*jA#"jA@ʖ–CAp<> @>2nA*jA+* [ Print function begins at current user, tags are valid during print ] [ "Y"es to continue with print function, "N"o to exit & reset Tags ] ---> **************************************************** ### ### ## ## ########## ## # # ## ## ##  ## ## # # ## ## ## ## ## # ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ####### ## **************************************************** p<?Ap;g [ Record # has been deleted ] [ Mass file function completed ] [ Reviewing deleted users ] [ NO flags are set, unable to mass delete ] [ Use (T)ag to set flags, then use (M)ass delete ] p<?Ap;g [ Zeroing selected users uploads & downloads ] [ Now zeroing record # ] [ Counter processing now complete, selected counters reset to zero ]p<?Ap;g [ Enter the group flag to set (in Hex) ] ---> [ Group flags have been set on selected users ]p<?Ap;g;_:#$*#p<ð2tA?Ap [ Enter the status level to set or to exit ] ---> [ Status level has been set on selected users ]:qAa!>2qAo!p<_:>2qA!p<_: [ Deleted users are blanked from display ] [ Deleted users are no longer blanked from display ] ,p<)#n#͟#i$ͩ$$&%w%ͻ%%: "#&W&͌&&&)'^':)"͓'' (?Ap<-p<CAp;I#yA$;ʋ#A<͏#k)e)!A)$<)p*e)!A~2*)p<͓$FAp<ͣ<*ʒ$!<<2A!<<2A͖$k)e)!*"lA*A<*p<$FAp<>;$A$<$k)e)!A?*$<&*p<$FAp<> ;$A$<$k)e)!A*$<:H%^*p<*p<x*p<*p ;K%Ag=#g=#g=O%k)e):A!*͍=6/#:A͍=6/#:A͍=*p<FAp<͙%FAp<>;ʘ%Ag=#g=͜%k)e):A!+͍=6:#:A͍=+p<FAp<%FAp<=*%"A%k)e)!+"lA=*A͠=|+p< &FAp<=* &"A &k)e)!8+"lA=*A͠=+p<>&FAp<=*=&"AA&k)e)!W+"lA=*A͠=>+p ;ʼ'!;Ag=!;Ag='k)e)! ",",!,:A͍=!,:A͍=!,:A͍=+p<(FAp<=*(}2A (k)e)!3,"lA=:A͝=,p<<(FAp<=*;(}2A?(k)e)!R,"lA=:A͝=9,p<́(@ ʀ(:Ar(:Aw(:A2Ä́(k)e):A•(X,p<w,p<CAp<(@ (:A¾((2A(:A(,p<,p< )@ ):A((2A( ):A),p<,p @r)p< Users Name ........... (:A¾((2A Users Password ....... < )@ Users Status ......... ( ) Group read flag ...... [ h] Users City & State ... 2A( )M):A^),p< Users Phone number ... Membership number .... sers Name ... Current Uploads ...... Current Downloads .... Last Date Logged on .. ........ Last Time Logged on .. ... Total Times Called ... Total time hours ..... Total time minutes ... Last Message Read .... Terminal Height ...... Terminal Width ....... Nulls value .......... Time check date ...... / / Time check minutes ... Time check calls ..... User is in [ Expert mode ] User is in [ Novice mode ] Bell [ON] | Bell [OFF] | Jump [ON] | Jump [OFF] | Read [ON] Read [OFF] [ enter RETURN if no cha nge is desired ] [ enter RETURN for no change, any other key to toggle ]p<?Ap;g  !Bw#¾-M0p<> ;B~-.-g<#-B#-0p<BA2B2CBAʇ/>2-1!A"+1!"jA?&.̓:+¿.!5"lA=*jA#͠=5p<:B2.1!$1"lA!"$1"&1"(1*jA#͠=$1.yA r.h..yA!9 ʈ.w#|.69.A.:A2/1/1.!21"lA*A<11.>2.1A.*jA#.:-1G*+1:Gw#.c/B@ʙ/#0p [ Calculating disk space needed ] [ Data file operation begins at user one, Tags are valid ] [ "Y"es to continue, "N"o to exit and alter Tags ] --> [ ]p<5p3!6"lA=*6͠=6p!"jA?W6p<)35p<)3t3p<)33p<)33p<)33p<)33p<)3 Unable to open temporary file Can not close temporary file Can not write to temporary file Can not close USERS file Disk I/O error [ Are you sure you wish to squeeze the users file ? ] [ This action will alter the users file, and can not be reversed ] (Yes/No) --> [ Deleting old users file, Renaming temporary file ] [ User file compression is complete ] [ File compression, and calculation in progress ] [ Creating temporary users file ] [ Now moving record # to record # ] [ Now proccessing record # ] [ There are no non-active users ] [ Hold on.... calculating non-active users ] [ There are total active users ] [ There are total non-active users ] Not enough disk space remaining @##~217#~##^#V"/7#^#V @}06:A_.@!~w+¾6 ¸6*7@*/7#6W+}6z66i`:177)=7"-7*-7*+7227+|*7z%77>227!u7"lA=*+7͠=^7p&s&ͧ&&'E'z':8ͽ'(<(́(CAp<( )M):<_::xAN8:qA\9p<>2pA?Ap2pA:pAKAp< *[ This User is DELETED from the file ]* # p ̓:+x:58x:G:p<:oACN:;ʊ;:?:!ʬ:!Aʒ;:Þ:!A:ʒ;ò:*;}:*Aͥ;G:’;*;}:*Aͥ;G:’;*;};*Aͥ;G:’;:;ʃ;:A͎<2;:A͎<2;:A͎<2;!:;o:;_ͥ;=I;G:’;Ã;!:;o:;_ͥ;=j;G:’;Ã;!:;o:;_ͥ;G:’;:;<2;>2;>+>*};{ʹ;+}ª;;+};>=><>>2;!;%>w#;; @!;~:’;*;};*Aͥ;G:’;:;ʃ;:~6<~0<6<$<>6<#F; Any key to continue..........a{ @:nAʇ<p<@Â<GW œ;*0000<2tA#~~=0G#~~=0#0ڊ=:?ڊ=>0G͖=x0w#o& ک= |Ġ={0*lAw#"lA> w#=>;:; >?<>>>=>!;";!> > =>*2tA!;=*;~#";08>:?8>0_;>{_zW{_zW{_zWA&A ?„>>p<>;?g 2B2B?vB@*jA"BvB3A3?3?µ?>&*jA"BvB9A@vB@@c?p * The USERS.IDX file must be in the same drive/user area as the USERS file ! @_@_@@@_@*<@@<@@@<B@@_ @!@"@ * [ password ??? ] --> USERS LOG.IDX file must be in USERS NEW/user area as the USEUSERS NEWUSERS LOGDATAFILETXT@*<@USERS IDX ********************************************************************** ********************************************************************** ********************************************************************** ***================================================================*** ***|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|*** ***|+============================================================+|*** ***|+|**********************************************************|+|*** ***|+|**********************************************************|+|*** ***|+|**********************************************************|+|*** ***|+|*** ***|+|*** ***|+|*** ####################### ***|+|*** ***|+|*** # M - S U P P O R T # ***|+|*** ***|+|*** # - v2.00 - # ***|+|*** ***|+|*** ####################### ***|+|***  ***|+|*** ***|+|*** ***|+|**********************************************************|+|*** ***|+|**********************************************************|+|*** ***|+|**********************************************************|+|*** ***|+============================================================+|*** ***|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|*** ***================================================================*** ********************************************************************** ********************************************************************** ********************************************************************** ********************************************************************** ********************************************************************** ********************************************************************** ***================================================================*** ***|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|*** ***|+============================================================+|*** ***|+|**********************************************************|+|*** ***|+|**********************************************************|+|*** ***|+|**********************************************************|+|*** ***|+|*** ***|+|*** ***|+|*** ################### ***|+|*** ***|+|*** # by Kevin Murphy # ***|+|*** ***|+|*** # - MURPHY's - # ***|+|*** ***|+|*** # Los Altos, CA. # ***|+|*** ***|+|*** # (415) 949-1072 # ***|+|*** ***|+|*** ################### ***|+|*** ***|+|*** ***|+|*** ***|+|**********************************************************|+|*** ***|+|**********************************************************|+|*** ***|+|**********************************************************|+|*** ***|+============================================================+|*** ***|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|*** ***================================================================*** ********************************************************************** ********************************************************************** ********************************************************************** * M - S U P P O R T * Release Version 2.00 Installation, Operation, and Support Manual MEXIT / MINIT / MFIX / MUT / MSTAL / MSET Copyright (c) 1986, by Kevin Murphy All rights reserved. This manual and the M-SUPPORT series of programs are released to the public domain and may be freely copied as long as no profit is gained. All files may also be freely distributed with the METAL and Z-MSG message systems. No other reproduction or distribution, full or partial is allowed without the authors express written consent. The programs and documents may be altered for personal use, but may not be released to the public. Suggestion for future updates may be forwarded to MURPHY's (415) 949-1072 Los Altos, CA. 24 hours/7 days 300/1200/2400 bps FORWARD An enormous effort, representing many hours, have gone into the the M-SUPPORT series of software. Not only by the author, but also by a number of people who's efforts have not been forgotten, and without whom this project would not have advanced to this stage. Andy Bajka, Norm Gregory, Al Mehr, Bond Shands, Gayle Rhoades, Jack Brown, Troy Soult, and Wayne Masters, my thanks to all them. A special thanks to Tim Gary, not only for creating METAL/Z-MSG, but also for all the information and support he provided as this project progressed. Also thanks to April, and Brandee, my wife and daughter, who allowed me the endless hours. *** DISCLAIMER *** Although all of software, documentation, and information contained in the M-SUPPORT series has been thoroughly checked and tested, and is believed to be correct, accurate, and complete. The Author assumes no responsibility for the use of these programs, or fitness there of. There are no guarantees or warranties of any kind, express or implied. Trademarks: CP/M , Digital Research METAL message system and MECONFIG, Delphi Data systems Z-MSG and ZMCONFIG, Echelon Inc. Copyrights: METAL message system; Tim Gary Z-MSG message system; Tim gary BYE 5; Wayne Masters and Irv Hoff KMD; Wayne Masters and Irv Hoff ------------------------ Table of Contents ----------------------- *M-SUPPORT MANUAL* 1. INTRODUCTION ............................................... 1-1 1.1. Overview of the M-SUPPORT files ....................... 1-1 1.2. Computer System requirements .......................... 1-1 1.3. Distribution files .................................... 1-1 2. INSTALLATION ............................................... 2-1 2.1. Files and Disk space .................................. 2-1 2.2. BYE 5 Setup ........................................... 2-1 2.2.1. Clock requirements ............................. 2-1 2.2.2. LCDATA and READLC equates ...................... 2-1 2.2.3. BCD2BIN equate ................................. 2-1 2.2.4. EXFILE, EXDRV, and EXUSR equates ............... 2-2 2.2.5. MFIX 2.xx Insertion ............................ 2-2 2.2.5.1. MAXCALS equate ........................ 2-2 2.3. KMD Setup ............................................. 2-2 2.3.1. LOGLDS, UPLDS, and DNLDS equates ............... 2-2 2.3.2. CREDIT equate, and support ..................... 2-3 2.3.3. RESUSR equate, and support ..................... 2-3 2.4. M-SUPPORT Setup ....................................... 2-3 2.4.1. Getting ready, (whats needed) .................. 2-3 2.4.2. METAL/Z-MSG Setup .............................. 2-3 2.4.3. Using MSTAL .................................... 2-3 2.4.4. MSTAL self configuration ....................... 2-4 2.4.5. Installing MINIT.OVR into METAL/Z-MSG .......... 2-4 2.4.6. Configuring MINIT .............................. 2-4 2.4.7. Configuring MEXIT .............................. 2-4 2.4.8. Configuring MSET ............................... 2-4 2.4.9. Configuring MUT ................................ 2-5 2.4.10. Finishing up .................................. 2-5 3. MAINTENANCE ................................................ 3-1 3.1. MUT for house keeping ................................. 3-1 3.2. MSET (if needed) ...................................... 3-1 4. ADDITIONAL NEW SYSTEM CAPABILITIES ......................... 4-1 5. MINIT ...................................................... 5-1 5.1. Running MINIT ......................................... 5-1 5.1.1. The TIME CHECK feature ......................... 5-1 5.1.2. The NULLS passing feature ...................... 5-2 6. MEXIT ...................................................... 6-1 6.1. Running MEXIT ......................................... 6-1 6.1.1. The USERS file drive/user selection ............ 6-2 6.1.2. The TIME CHECK feature ......................... 6-2 6.1.3. The CLOCK feature .............................. 6-2 6.1.4. The WHEEL feature .............................. 6-2 6.1.5. The WHEEL location ............................. 6-2 6.1.6. The TIME LEFT feature .......................... 6-2 6.1.7. The BEG feature ................................ 6-2 6.1.8. The BEG RATIO .................................. 6-2 6.1.9. The STOP feature ............................... 6-3 6.1.10. The STOP RATIO ................................ 6-3 6.1.11. The SPECIAL STOP STATUS ....................... 6-3 ------------------------ Table of Contents ------------------------ (continued) *M-SUPPORT MANUAL* (6.1. Running MEXIT continued) 6.1.12. The SPECIAL STOP RATIO ........................ 6-3 6.1.13. The BYPASS STOP STATUS ........................ 6-3 6.1.14. The RESTORATION feature ....................... 6-3 6.1.15. The UPLOAD counter location ................... 6-4 6.1.16. The DOWNLOAD counter location ................. 6-4 6.1.17. The SINCE SYSOP feature ....................... 6-4 6.1.18. The SYSOP SEEK number ......................... 6-4 6.1.19. The COUNTERS file drive/user selection ........ 6-4 6.1.20. The MEXIT file drive/user selection ........... 6-4 6.2. MEXIT operations ...................................... 6-4 7. MUT ........................................................ 7-1 7.1. Running MUT ........................................... 7-1 7.1.1. The SEARCH configuration ....................... 7-1 7.1.2. The DRIVE/USER selection ...................... 7-1 7.1.3. The CLEAR SCREEN feature ....................... 7-1 7.1.4. The ARROWS feature ............................. 7-2 7.1.5. The UP ARROW value ............................. 7-2 7.1.6. The DOWN ARROW value ........................... 7-2 7.1.7. The TIME CHECK feature ......................... 7-2 7.1.8. The PASSWORD feature ........................... 7-2 7.1.9. The PASSWORD selection ......................... 7-2 7.1.10. The (AD)d command default parameters .......... 7-3 7.1.10.1. The default user status ............. 7-3 7.1.10.2. The default terminal height ......... 7-3 7.1.10.3. The default terminal width .......... 7-3 7.1.10.4. The default message group ........... 7-3 7.1.11. The (Y) command data file parameters .......... 7-4 7.1.11.1. The field encaser ................... 7-4 7.1.11.2. The field separator ................. 7-4 7.1.11.3. The record terminator ............... 7-4 8. MUT commands ............................................... 8-1 8.1. The NEXT user command ................................. 8-1 8.2. The PREVIOUS user command ............................. 8-1 8.3. The , find user by record NUMBER command ....... 8-1 8.4. The (F), find user by NAME command .................... 8-2 8.5. The (S), NEXT match of NAME string command ............ 8-2 8.6. The (E), EDIT command ................................. 8-2 8.6.1. Editing name ................................... 8-2 8.6.2. Editing password ............................... 8-2 8.6.3. Editing status ................................. 8-2 8.6.4. Editing group flag ............................. 8-3 8.6.5. Editing location ............................... 8-3 8.6.6. Editing last date logged ....................... 8-3 8.6.7. Editing last time logged ....................... 8-3 8.6.8. Editing last message read ...................... 8-3 8.6.9. Editing total times called ..................... 8-3 8.6.10. Editing total time hours ...................... 8-3 8.6.11. Editing total time minutes .................... 8-3  8.6.12. Editing uploads ............................... 8-3 8.6.13. Editing Downloads ............................. 8-4 ------------------------ Table of Contents ------------------------ (continued) *M-SUPPORT MANUAL* (8. MUT commands continued) 8.6.14. Editing terminal height ....................... 8-4 8.6.15. Editing terminal width ........................ 8-4 8.6.16. Editing nulls value ........................... 8-4 8.6.17. Editing time check date ....................... 8-4 8.6.18. Editing time check minutes .................... 8-4 8.6.19. Editing time check calls ...................... 8-4 8.6.20. Editing mode (expert/novice) .................. 8-4 8.6.21. Editing bell (on/off) ......................... 8-5 8.6.22. Editing O/S jump (on/off) ..................... 8-5 8.6.23. Editing auto read (on/off) .................... 8-5 8.7. The (/), QUICK EDIT command ........................... 8-5 8.7.1. Editing status ................................. 8-5 8.7.2. Editing group flag ............................. 8-5 8.7.3. Editing uploads ................................ 8-5 8.7.4. Editing Downloads .............................. 8-5 8.8. The (Z), ZIP command .................................. 8-6 8.9. The (I), INFORMATION command .......................... 8-6 8.10. The (T), TAG command ................................. 8-6 8.10.1. DATE search tag .............................. 8-6 8.10.2. STATUS search tag ............................ 8-6 8.10.3. CALLS search tag ............................. 8-6 8.10.4. UPLOADS search tag ........................... 8-7 8.10.5. DOWNLOADS search tag ......................... 8-7 8.11. The (V), VIEW tags command ........................... 8-7 8.12. The (C), CLEAR tags command .......................... 8-7 8.13. The (AD), ADD user command ........................... 8-7 8.14. The (D), DELETE user command ......................... 8-7 8.15. The (U), UNDELETE user command ....................... 8-7 8.16. The (M), MASS user delete command .................... 8-8 8.17. The (AL), ALL users display command .................. 8-8 8.18. The (R), RESET counters command ...................... 8-8 8.19. The (G), GROUP flag set command ...................... 8-8 8.20. The (W), STATUS level set command .................... 8-8 8.21. The (P), PRINT command ............................... 8-8 8.22. The (Y), DATA FILE command ........................... 8-8 8.23. The (Q), COMPRESS command ............................ 8-9 8.24. The (X), EXIT command ................................ 8-9 9. MSTAL ...................................................... 9-1 9.1. Running MSTAL ......................................... 9-1 9.1.1. Command (1), the MUT configuration command ..... 9-1 9.1.2. Command (2), the MUT listing command ........... 9-1 9.1.3. Command (3), the MEXIT configuration command ... 9-1 9.1.4. Command (4), the MEXIT listing command ......... 9-1 9.1.5. Command (5), the MINIT configuration command ... 9-2 9.1.6. Command (6), the MINIT listing command ......... 9-2 9.1.7. Command (7), the MINIT.OVR install command ..... 9-2 9.1.8. Command (8), the MINIT.OVR UN-install command .. 9-2 9.1.9. Command (9), the MSET configuration command .... 9-2 9.1.10. Command (C), the MSTAL configuration command .. 9-2 9.1.11. Command (X), the MSTAL exit command ........... 9-2 ------------------------ Table of Contents ------------------------ (continued) *M-SUPPORT MANUAL* 10. MSET ...................................................... 10-1 10.1. Running MSET ........................................ 10-1 10.1.1. The MEXIT file drive/user selection ........... 10-1 10.2. MSET operations ..................................... 10-1 11. ACQUISITION OF SOURCE FILES ............................... 11-1 11.1. Problems, Bugs, Suggestions ......................... 11-1 APPENDIX A ASCII to Decimal Conversion chart .............. A-1 APPENDIX B Expected page zero mapping ..................... A-1 APPENDIX C Basic Flow Chart ............................... A-2 NOTES ......................................................... B-1 [ INTRODUCTION ] PAGE 1-1 1. INTRODUCTION M-SUPPORT is a series of programs designed to support the METAL or Z-MSG message systems in some unique ways. This manual assumes that the METAL/Z-MSG message system has been successfully installed under BYE 503 or newer, if not this should be the first step. 1.1. Overview of the M-SUPPORT files The M-SUPPORT series was designed to help the METAL/Z-MSG message system PERFORM in a BYE 5 environment, expanding on existing features from both, and adding a number of it's own. When the M-SUPPORT series is installed the Sysop may choose to track, log, and control such things as maximum time allowed on system per day, maximum calls per day, uploads, downloads, total time on system to date, users download to upload ratio, and many other system statistics. 1.2. Computer system requirements - CP/M 2.2, or 3.0, any form of ZCPR or ZCMD will have no effect on the operation of the programs. - BYE 5, version 503 or newer. Version 506 or newer recommended. - KMD, version 11 or newer. Version 17 or newer is recommended. 1.3. Distribution Files The following files are supplied in the M-SUPPORT distribution library. A brief description is given of each. MINIT.OVR - This overlay is used to pass data from the message system to a buffer in BYE 5. MEXIT.COM - This program handles tracking of system information, and updates the users file. MUT.COM - This is an editing program / file manager for the USERS file used by METAL/Z-MSG. MSET.COM - This program is used to reset the SINCE SYSOP counters, and is needed only if the Sysop can not call remote or run locally under BYE 5. MSTAL.COM - This program is used to install, and configure the M-SUPPORT series, listed above. MFIX.INS - This is an insert which is placed in BYE 5 as the user definable extended BDOS call. MSUPPORT.DOC - This document text file. MSUPREN.SUB - This is a submit file used to REName all of the distribution files in the library. [ INSTALLATION ] PAGE 2-1 2. INSTALLATION The installation of the M-SUPPORT series is fairly simple. The next few sections will describe the necessary steps to install all of the programs. 2.1. Files and Disk space The installation of the M-SUPPORT software should not have much of an effect on computer system disk space requirements. Since MINIT.OVR is placed in a predefined location within METAL/Z-MSG, and MFIX.INS will add only 234 bytes to the assembled BYE 5 program. MEXIT itself is less than 4k bytes in assembled form. MUT was designed to operate on the users file one record at a time so that a small TPA will not prevent working on a large USERS file. MUT need not even be left online, it is simply a handy utility, and may be found very useful while testing the M-SUPPORT series. 2.2. BYE 5 Setup The installation of these programs will require that BYE 5 be edited and reassembled. This is necessary in order to properly set the pertinent equates in BYE 5, and install the MFIX.INS file if the TIME CHECK feature of the system is to be used. If NULLS are to be handled automaticly on the system refer to section 5.1.2. of this manual before closing the BYE 5.ASM file. 2.2.1. CLOCK requirements Several options in the support files depend upon BYE 5 having an active clock, if a clock is not available in BYE 5, be certain to set all CLOCK and TIME CHECK options to NO. If a clock is installed in BYE 5, set these option to suit the system needs. 2.2.2. LCDATA and READLC equates MINIT depends on a buffer area supplied by BYE 5 to pass and hold the user information for the BYE 5 ^W, (who's on key) feature. This is a must since this is the area which also holds the users file seek number for all MEXIT operations. The equates must be set as follows even if there is an activated 25th status line on the system. --> LCDATA EQU YES (yes, allocate 78 bytes of ram in BYE 5) --> READLC EQU NO (no, don't read info from lastcalr file) 2.2.3. BCD2BIN equate This equate enables a convertion routine used by some of the various clock inserts supplied in the BYE 5 library, if a clock is installed in BYE 5, this eqaute may already be set to YES. If not and the TIME CHECK feature is to be used, set this equate to YES. --> BCD2BIN EQU YES (if TIME CHECK is used) [ INSTALLATION ] PAGE 2-2 2.2.4. EXFILE, EXDRV, and EXUSR equates These equates are used to inform BYE 5 where to search for the MEXIT file as a user exits the system, and must be set properly. --> EXFILE EQU YES (yes, call an exit file) --> EXDRV EQU 'A' (whatever drive MEXIT.COM will be on) --> EXUSR EQU 14 (user area that MEXIT.COM will be in) 2.2.5. MFIX 2.xx Insertion The MFIX insert must be installed if the TIME CHECK feature is to be used, otherwise it is not necessary. Find the line in BYE 5 which reads as follows. --> SRUDEF: RET Delete the entire line and insert the MFIX.INS file in it's place. 2.2.5.1. MAXCALS equate There is one equate at the top of the MFIX insert which will require a decision. The equate is MAXCALS and represents the maximum number of calls per day allowed to any user. The distribution file is set for 10, and may be any number from 1 to 255. If you do not wish to limit the maximum times a user can call then set this equate to zero. There is one bypass condition in this routine, and that is if the user has unlimited time on the system, MAXCALS will then be ignored no matter what value is set. --> MAXCALS EQU 10 (0 = no maximum, 1 to 255 = valid max) 2.3. KMD Setup The installation of these programs will require that KMD be edited and reassembled. This is necessary in order to properly set the pertinent equates in KMD. 2.3.1. LOGLDS, UPLDS, and DNLDS equates These equates force KMD to count upload and download activity, and to select the location of the counters in low memory. Set the equates as shown below. --> LOGLDS EQU YES (yes, count transfer activity) --> UPLDS EQU 0054h (location of the upload counter) --> DNLDS EQU 0055h (location of the download counter) The location of the counters may need to be altered in some systems if they conflict with locations used by some other functions. An Example would be a CP/M 3.0 system, the locations would be changed to 0021H for UPLDS, and 0022H for DNLDS. If your system requires that the counters be moved, consult the KMD document file and/or your computer manual for further details, also insure that if changed, the locations listed in MEXIT are also changed. This can be done while configuring MEXIT with the MSTAL program. [ INSTALLATION ] PAGE 2-3 2.3.2. CREDIT equate, and support This equate, as explained in the KMD document will allow reimbursement of time spent uploading. MEXIT will automaticlly account for this feature if used, and will accurately track the charged time on system, which should be subtracted from the users total time allowed. 2.3.3. RESUSR equate, and support This equate is used to enable a feature in KMD that will make it possible to prevent a user from downloading if that user has exceeded the maximum download to upload ratio selected. If the STOP feature is used in MEXIT this must be set to YES, otherwise leave it set to NO. --> RESUSR EQU YES (if STOP feature is used) 2.4. M-SUPPORT Setup This section will walk through the configuration and installation of the M-SUPPORT programs. Detailed descriptions, and further references may be found in the appropriate sections of this manual. 2.4.1. Getting ready, (whats needed) The first thing to do is get all of the pertinent files in one place where we can work on them. You will need MECONFIG/ZMCONFIG.COM METAL/Z-MSG.COM, MINIT.OVR, MEXIT.COM, MUT.COM, and MSTAL.COM. Now make sure that all of the files and programs from the M-SUPPORT library are renamed to remove there version number, for example MEXIT200.COM becomes MEXIT.COM and so on, including MSTAL. MSUPREN.SUB will do this for you, simply SUBMIT MSUPREN, and the submit function will rename all of the files. MSET.COM may also be needed if BYE 5 won't run in local mode. If it is desired to install the M-SUPPORT series while the programs are on different drive/users. This is not a problem, since MSTAL will request the drive/user location of any files not found in the current default drive/user area. 2.4.2. METAL/Z-MSG Setup Since MEXIT is not only called by BYE 5, but also by the METAL/Z-MSG program as a user jumps to the operating system, we must tell the message system to load and run this file as it enters the operating system. Use MECONFIG/ZMCONFIG, menu selection #5 allows selection of a file to run, it is the second to the last selection in this configuration command. Simply enter the user, drive, and file name. Example: 14/A:MEXIT.COM There is one other thing that may require some consideration, if NULLS are to be handled automaticly on the system refer to section 5.1.2. of this manual, before exiting MECONFIG/ZMCONFIG. [ INSTALLATION ] PAGE 2-4 2.4.3. Using MSTAL MSTAL is a configuration program designed to configure and/or install the M-SUPPORT series of programs. MSTAL will go through a step by step installation of MINIT, MEXIT, MSET, and MUT. MSTAL can also configure itself, since MSTAL must know which message system file to look for, METAL.COM or Z-MSG.COM. MSTAL also supports inline help, and during configuration entering a "?" will supply inline help, (a paragraph or so) for each question in the configuration. 2.4.3. Using MSTAL (continued) The default distribution setup is for METAL.COM The current configuration is listed at the top of the menu. MSTAL was written with the intent of removing the troublesome editing, assembly, and .COM file overlay operations of MINIT, MEXIT, MSET, and MUT. 2.4.4. MSTAL self configuration Run MSTAL and use the "C" command to select Z-MSG rather than METAL if you are installing this in a Z-NODE. 2.4.5. Installing MINIT.OVR into METAL/Z-MSG The first step must be to insert the MINIT overlay into your METAL/Z-MSG.COM file. This is quite simple, just select command #7 from the MSTAL menu, and MSTAL will insert the overlay, and inform you that the task is complete. In the event that either MINIT.OVR or METAL/Z-MSG.COM are not found on the current drive/user, MSTAL will request the drive/user information. 2.4.6. Configuring MINIT Now that MINIT has been inserted into METAL/Z-MSG, it can be configured. Simply select command #5 from the MSTAL menu. MSTAL will respond by displaying the current setting of each option. If no change is desired just enter a RETURN, for HELP simply enter " ? ", any other input will toggle the option from YES to NO or visa versa. For a more detailed description of the options than the " ? " inline help offers, refer to section five. 2.4.7. Configuring MEXIT MEXIT has a number of selectable options, in particular the drive/user area selection must be set, so MEXIT will be able to locate the USERS file. Select command #3 from the MSTAL menu, MSTAL will display the current setting of each option. If no change is desired simply enter a RETURN. A " ? " will offer inline help, in the case of the USERS file drive/user area selection, insure that the proper drive and user are entered. For more information on any of the selections in the MEXIT configuration refer to section six of this manual. [ INSTALLATION ] PAGE 2-5 2.4.8. Configuring MSET MSET has only one option and that is the drive/user area to search for the MEXIT file. This program is only needed if the SINCE SYSOP feature is used, and the the Sysop is unable to run BYE 5 localy. Also if the Sysop normally logs in remote this is not needed. Refer to section ten for more information. 2.4.9. Configuring MUT MUT, like mexit has a large number of options to select and can be configured in a number of ways. Use MSTAL command #1 and set the necessary options to your liking. For detailed information on these options use the " ? " inline help or refer to section seven of this manual. NOTE: If MUT is to be used the files USERS, and USERS.IDX MUST be in the same drive/user area. 2.4.10. Finishing up After all the files have been configured, place your reassembled versions of BYE 5, KMD, and METAL/Z-MSG in the appropriate drive, and place MEXIT in the drive/user area you have designated in BYE 5, MECONFIG/ZMCONFIG, and MSTAL. The M-SUPPORT series is now handling all of the requested file update features. For future online configuration MSTAL may be placed in a secure drive area. MSTAL will ask for drive user information if a file is not found so it may be placed anywhere in the storage system [ MAINTENANCE ] PAGE 3-1 3. MAINTENANCE There is no maintenance to speak of, MEXIT will update the users files as needed and requires no human intervention. Some Sysop's may choose to zero the upload and download counters at some regular interval, this choice is purely up to to you. 3.1. MUT for house keeping MUT is very useful in clearing out old inactive users. The mass delete command, and the squeeze command enable a completely new USERS file with all deleted users removed. If the size of the users file has gotten out of hand due to inactive or deleted users, this is a great solution. Refer to section 8.23. for more detailed information. 3.2. MSET (if needed) If the SINCE SYSOP feature is used in MEXIT, and the sysop can not run locally under BYE 5, or is unable to do system maintenance from a second remote system, then MSET should be run after the sysop's log in. This will reset the SINCE SYSOP counters in MEXIT. [ ADDITIONAL NEW SYSTEM CAPABILITIES ] PAGE 4-1 4. ADDITIONAL NEW SYSTEM CAPABILITIES The M-SUPPORT series of programs offers your BBS system an array of additional new features, and it is strongly suggested that you read this manual from cover to cover, and become familiar with all of the features and options. -SUMMARY of NEW FEATURES- - Nulls value passed from USERS file to BYE 5, (if option is used) - Users information passed to the BYE 5 LCDATA buffer - Maximum time on system value passed to BYE 5 - No activity time out value passed to BYE 5 - Maximum time on system per day tracking and control, (if TIME CHECK) - Maximum calls per day tracking and control , (if TIME CHECK is used) - Total time on system to date support, (if TIME CHECK feature is used) - User upload tracking - User download tracking - Download ratio dependent begging, (if the BEG feature is used) - Download ratio dependent restriction, (if the STOP is used) - Special status ratio restriction, (if STOP is used) - Special status restriction bypass, (if STOP is used) - Local print of users name and logout time, (if CLOCK feature is used) - Local print of times called and minutes on, (if TIME CHECK is used) - Local print of calls since sysops last login (if SINCE SYSOP is used) - Local print of messages since sysops last login (if SINCE SYSOP used) - Local print of uploads since sysops last login (if SINCE SYSOP used) - Local print of downloads since sysops last login (if SINCE SYSOP) - Ability to edit any value in the USERS file (MUT) - Extended name string search (MUT) - Extended scan and display (MUT) - Compression of the USERS file (MUT) - Selective user print (MUT) - Selective upload/download counters resets (MUT) - Selective status level asignments (MUT) - Selective message group flag asignments (MUT) - Selective user delete (MUT) - Selective data base file output (MUT) - Online configuration (MSTAL) [ MINIT ] PAGE 5-1 5. MINIT MINIT is actually a short routine contained in a overlay file which is moved into a predetermined location within the METAL/Z-MSG .COM file. The routine takes advantage of the MEINIT feature offered in the newer versions of METAL/Z-MSG. This routine is called by the METAL/Z-MSG file immediately after verifing and logging in the user. MINIT then will complete a number of tasks such as moving the users name, status, password, and location to the BYE 5 LCDATA buffer, which in turn will supply the ^W (who's on key). An example of the user data is shown below. John Doe (c) - PASSWORD -> Hometown, CA. The users file seek number is also stored in the last two bytes of the buffer with a flag prefix, this is not shown in the display. MINIT also is used to pass the number of nulls from the users file, the maximum time allowed on the system, and the no activity time out value to BYE 5. The RESUSR bit mapped flag for KMD is set, so if the STOP feature is used in MEXIT, the original restriction is properly set. If you don't use this feature it will be transparent since the RESUSR equate in KMD will be set to NO. The final and most important function of MINIT is to call the user defined RSX function in BYE 5. This function is the MFIX.INS routine which was inserted in BYE 5, the reason for this insert is to accommodate the need for some time calculations, which there is not space for in MINIT, also this allows us to use existing routines in BYE 5, such as BCDBIN. The MFIX routine will calculate the number of times a user has called "today", refuse access, and hang up. If the maximum number of calls chosen in MFIX is exceeded, or will inform METAL/Z-MSG and MEXIT how much time the user has spent on the system previously "today". In the event that it is the first call for a user on a given day, MFIX will zero the TIME CHECK minutes, and TIME CHECK calls counters. ANY user with unlimited time will BYPASS the TIMES CALLED lock. 5.1. Running MINIT MINIT is executed automaticlly by the METAL/Z-MSG program, and requires no intervention. This assumes that the MINIT routine has been inserted into METAL/Z-MSG, as described in section 2.4.5. 5.1.1. The TIME CHECK feature This feature is really a toggle you must select in MINIT. If you choose to use the TIME CHECK feature in this system, you must make sure that MFIX.INS was inserted into BYE 5, and must also set the TIME CHECK toggle in MEXIT to YES. The TIME CHECK feature offers the following functions to the system. - Maximum time on system per day tracking and control - Maximum calls per day tracking and control - Total time on system to date support - Local screen print of times called, and minutes on today after user logs out [ MINIT ] PAGE 5-2 5.1.2. The NULLS passing feature BYE 5 has an option which allows it to ask for, and set the nulls value as a user logs in. If you would like to handle nulls automaticly it is quite easy. Simply set the equate in BYE to not ask for nulls, BYE will answer the phone with a default value of five nulls, as soon as the user logs in, MINIT will pass the nulls value from the users file to BYE 5. You must also use MECONFIG or ZMCONFIG to set the BYE parameters in METAL/Z-MSG. NOTE: It may be desired to use this feature and still allow BYE 5 to ask for nulls. The nulls value entered would be overwritten at login by the value in the users file. Also this provides a way to insure the user is in terminal mode, and doesn't miss the welcome messages at sign on. [ MEXIT ] PAGE 6-1 6. MEXIT MEXIT has three possible entry points, each serves a different purpose. The first of these is the original entry when the user jumps to the operating system, at this time MEXIT will open the users file and redundantly calculate all of the TIME CHECK values that MINIT and MFIX calculated at log in. Then updating the file, since MINIT only changes the memory image in METAL/Z-MSG. Now if the user re-enters the message system, all data is still correct. After the updating process MEXIT will inform the user of his system status, as shown. System status: John Doe Uploads: 19 Downloads: 67 Minutes per day: 60 Minutes on today: 34 (if CLOCK is used) Previous calls: 2 Previous minutes: 23 (if TIME CHECK is used) Minutes left: 26 (if TIME LEFT is used) Enjoy your stay on the system. MEXIT will also beg for uploads in this display if the BEG feature is set to YES, and the ratio is exceeded. If the STOP feature is on and the user has exceeded the STOP ratio, download priviledges will be removed and the user will be informed. If the user never enters the operating system, the TIME CHECK update will be performed at log off, before the log off calculations. The second entry point is if the user re-enters the operating system from the message system after the original jump. At this point MEXIT will either simply return after doing nothing, or if the RESTORATION feature is ON, MEXIT will update the users upload and download logs, then recalculate the users STOP ratio. If the user has uploaded enough files to regain download priviledges MEXIT will reset the RESUSR byte for KMD. On the other hand, if the user has downloaded files in this session and now exceeds the maximum ratio selected, download priviledges will be revoked. The third and final entry to MEXIT is when carrier is gone, MEXIT assumes that if it has been called and no carrier is present this must be a log out function, also it is assumed that BYE called MEXIT. If the user never entered the operating system MEXIT will update the file to first entry level, this way all log out calculations and functions are the same. MEXIT will then complete the final file update, calculate and rewrite total uploads, downloads, and total time on system. Then print localy to the screen, if the proper features are set to YES. The number of times called, time of day at logout for that user, and other useful information if the SINCE SYSOP feature is used. 6.1. Running MEXIT Assuming you have properly set BYE 5 and METAL/Z-MSG to call MEXIT, it will run by itself as described above. If you have not set BYE 5 and METAL/Z-MSG refer to sections 2.2.4. and 2.4.2. respectively. [ MEXIT ] PAGE 6-2 6.1.1. The USERS file drive/user selection MEXIT must know which drive/user area to search for the USERS file in. MSTAL will allow you to select the proper drive/user area in MEXIT. The format is (duu). 6.1.2. The TIME CHECK feature MEXIT is able to track and limit such things as total time on system today, and times called today. If you wish to use this feature it can be enabled with MSTAL. If this feature is used the same feature must be enabled in MINIT, and MFIX.INS must be installed in BYE 5. Also this feature requires that a clock be installed in BYE 5, and MSTAL will automacticlly select the clock option if TIME CHECK is set to YES. 6.1.3. The CLOCK feature  MEXIT uses the clock in BYE 5 for a number of functions, if you do not have a clock installed in BYE 5 set this to NO. If a clock is available in BYE 5 set this to yes. 6.1.4. The WHEEL feature MEXIT uses the WHEEL byte to determine Sysop status, if the wheel byte is set, certain traps are bypassed to prevent a Sysop from having download priviledges removed and a few other details. Even if you do not use some form of ZCPR, but do use the wheel byte, set this to YES. 6.1.5. The WHEEL location If the WHEEL byte is being used, MEXIT must know it's low memory location. This is entered with MSTAL and presumes it will be in page zero of memory, so only the last two hexadecimal digits are required. The common location on most systems is 3Eh. 6.1.6. The TIME LEFT feature This feature allows MEXIT to print the time remaining for the user on the system today, from BYE 5. If BYE 5 is set to print this at each warm boot, you will probably want this feature set to NO in order to prevent a redundant display, otherwise I suggest leaving it set to YES. 6.1.7. The BEG feature This feature will allow MEXIT to BEG for uploads from the user if the download ratio exceeds the ratio selected. A message will be displayed, asking for uploads. 6.1.8. The BEG RATIO If the BEG feature is set to YES, MSTAL can select the RATIO of downloads to uploads at which to begin begging. For example a ratio of 5 would result in a 5 to 1 ratio, (downloads to uploads). [ MEXIT ] PAGE 6-3 6.1.9. The STOP feature This feature will allow MEXIT to STOP a user from downloading if the download ratio exceeds the ratio selected. A message will be displayed, informing the user that until uploads are made to offset the ratio, he will not be allowed to download any files. 6.1.10. The STOP RATIO If the STOP feature is set to YES, MSTAL can select the RATIO at which to STOP downloads. For example a ratio of 20 would result  in a 20 to 1 ratio, (downloads to uploads). 6.1.11. The SPECIAL STOP STATUS This feature will allow MEXIT to select a different STOP RATIO for users with the STATUS levels chossen. There may be from 0 to 3 SPECIAL STOP STATUS characters, if the download ratio exceeds the ratio selected. A message will be displayed, informing the user that until uploads are made to offset the ratio, he will not be allowed to download. 6.1.12. The SPECIAL STOP RATIO If from 1 to 3 special status characters are selected, MEXIT will then use the SPECIAL STOP RATIO to STOP downloads. For example a ratio of 40 would result in a 40 to 1 ratio, (downloads to uploads). 6.1.13. The BYPASS STOP STATUS This feature will allow MEXIT to BYPASS the STOP feature for users with the STATUS levels chossen. There may be from 0 to 3 SPECIAL STATUS BYPASS characters. If the WHEEL byte is not used the sysop symbol (+) should be included here. 6.1.14. The RESTORATION feature This feature if set to YES allows the second entry described in section 6. The intent is that if this feature is on, MEXIT will restore a users download priviledges after the user has uploaded enough files to offset the ratio. After the uploads the user may return to the message system, and then jump back to the operating system, as MEXIT runs on re-entry it will reset the download flag if indeed the user has uploaded enough files. If this feature is set to NO, the user would need to wait until next login, which unless you have a very busy system could be only ten seconds later. The other side of this feature is that if the user re-enters the operating system after downloading enough files to warrant a STOP condition he will indeed have his priviledges revoked. If you like you may put a copy of MEXIT, possibly renamed to reset or something, on the system drive with DIR and alike and inform the user that they may simply call that program to restore their privilegdes. This would be much faster than re-entering the message system. [ MEXIT ] PAGE 6-4 6.1.15. The UPLOAD counter location Since MEXIT tracks and logs the upload activity of the user it is necessary to define the location of the UPLOAD counter in low memory. This address must be the same as was set in KMD, and is assumed to be in page zero of memory, so only the last two hexadecimal digits are required . The location may be changed with MSTAL. 6.1.16. The DOWNLOAD counter location Since MEXIT tracks and logs the download activity of the user it is necessary to define the location of the DOWNLOAD counter in low memory. This address must be the same as was set in KMD, and is assumed to be in page zero of memory, so only the last two hexadecimal digits are required . The location may be changed with MSTAL. 6.1.17. The SINCE SYSOP feature This feature allows MEXIT to track the number of calls, messages, uploads, and downloads since the sysops last log in. The display will be printed on the screen after each users log out. Example: MEXIT 2.00 All Rights Reserved ( Copyright header ) Copyright (c) 1986 by Kevin Murphy ( is always there ) [ John Doe Logoff 10:32 ] <---( if CLOCK ) [ Calls today: 1 Minutes: 14 ] <---( if TIME CHECK ) [ ** Status Since Sysop Login ** ] <-( if SINCE SYSOP ) [ Callers: 12 Messages : 7 ] <-( if SINCE SYSOP ) [ Uplaods: 9 Downloads: 24 ] <-( if SINCE SYSOP ) 6.1.18. The SYSOP SEEK number If the SINCE SYSOP feature is used, MEXIT must know the record number of the SYSOP, so it can determine when to reset the SINCE SYSOP counters. Normally this is record # 1. 6.1.19. The COUNTERS file drive/user selection If the SINCE SYSOP feature is used, MEXIT must know which drive/user area to search for the COUNTERS file in. MSTAL will allow you to select the proper drive/user area in MEXIT. The format is (duu). 6.1.20. The MEXIT file drive/user selection If the SINCE SYSOP feature is used, MEXIT must know which drive/user area it is located in. MSTAL will allow you to select the proper drive/user area in MEXIT. The format is (duu). 6.2. MEXIT operations MEXIT is less than four k-bytes in assembled form, and uses all standard 8080 and CP/M calls and routines, there should be no problems incountered. MEXIT is very fast in it's proccessing, so speed should not be a big factor. [ MUT ] PAGE 7-1 7. MUT MUT is an editing program designed for the message system USERS file, MUT will perform a number of useful tasks. The basic operational format of MUT is similar to the ED command found in METAL/Z-MSG. MUT also offers a number of special or extended editing features such as user file compression, and mass operations such as group flag setting with tags. All of these features are explored in detail and can be found in section eight of this manual. NOTE: USERS, and USERS.IDX MUST be in the same drive/user area. Insure that this has been done in MECONFIG/ZMCONFIG. 7.1. Running MUT When MUT is first executed a message will be printed on the screen informing you of which drive and user area it is searching for the USERS file, if MUT is unable to find the file it will request the location of the USERS file. MUT has extensive help menus built in, and at most any point in the use of MUT, you may enter a "?" and receive the necessary help. 7.1.1. The SEARCH configuration MUT has an option which determines what drive it will search for the USERS file before requesting the location. The two choices are the DEFAULT drive, which would have MUT search the current default drive and user area for the file. The second selection allows you to PRECONFIGURE the drive and user area to search, this way no matter which drive MUT is executed from it would be able to locate the USERS file. In either configuration if the file is not found MUT will request the location. 7.1.2. The DRIVE selection If MUT is set for the PRECONFIGURED drive selection it must know which drive/user area to search for the USERS file in. MSTAL will allow selection of the proper drive in MUT. The format is (duu). 7.1.3. The CLEAR SCREEN feature MUT was designed to clear the screen between certain functions. This adds a degree of clarity, and helps to keep the displays easy to understand. The clear screen sequence may be up to four characters in length. MSTAL will allow you to change the clear screen sequence, the format is one to four characters entered in decimal equivalents. MSTAL will ask for the four characters one at a time, and if your clear screen is less than four characters simply enter zeros in the remaining spaces. An example would be if your clear screen sequence is "ESCape B", the first character you entered would be an ESCape which has a decimal equivalent of 27 , the second character would be a B, which has a decimal equivalent of 66, the third and forth characters would be zeros since they are not needed. For the decimal equivalents refer to appendix A. [ MUT ] PAGE 7-2 7.1.4. The ARROWS feature MUT has made previsions for use of the keyboard arrow keys as additional scan mode commands, (up arrow = previous user, down arrow = next user). This is a matter of choice and will not effect the actual performance of MUT. You may toggle this feature ON or OFF with MSTAL. 7.1.5. The UP ARROW value If the ARROWS feature is used MUT must know the value of of the UP arrow key, this is entered with MSTAL in the form of a decimal equivalent. Refer to appendix A for decimal equivalents. For example if the UP arrow is a ctrl-K the decimal equivalent would be 11. 7.1.6. The DOWN ARROW value If the ARROWS feature is used MUT must know the value of of the DOWN arrow key, this is entered with MSTAL in the form of decimal equivalent. Refer to appendix A for decimal equivalents. For example if the UP arrow is a ctrl-J the decimal equivalent would be 10. 7.1.7. The TIME CHECK feature MUT has the ability to edit a number of values in the USERS file such as times called today, time on system today, and others. These special values are ONLY updated and used if the TIME CHECK feature in MEXIT and MINIT is set to YES. If you have chosen not to track and limit the system with the TIME CHECK feature, then say NO to the feature here also. 7.1.8. The PASSWORD feature MUT has a feature which will allow password access as an extra security measure. Since MUT can derive any piece of information about any user this may be desirable if MUT is left in the storage system, even in a secure area. 7.1.9. The PASSWORD selection If the PASSWORD option is set to YES, MSTAL will then request a password. The password may be any ascii characters, and may be from 1 to 39 characters in length. The alphabet is a slight exception since upper and lower case letters are treated the same. i.e. When the password is checked all lower case letters are converted to upper case first. [ MUT ] PAGE 7-3 7.1.10. The (AD)d command default parameters The basic default user parameters may be altered to taste. This way when the (AD)d command in MUT is used the user will have the intended status, group flag, terminal height, and terminal width. While configuring MUT with MSTAL, you will be asked if you wish to change these. The distribution file is set for a status of "x", group flag is "0001h", terminal height is 24, width is 80. 7.1.10.1. The default user status The (AD)d command will set the new users status to the default value chosen, this should be the same as the default status selected in MECONFIG/ZMCONFIG. 7.1.10.2. The default terminal height The new users default terminal height may be altered, normally it would be between 16 and 24, 0 for no pause. 7.1.10.3. The default terminal width The new users default terminal width may be altered, normally it would be between 40 and 80. 7.1.10.4. The default message group The new users group flag may be altered if desired, the default flag in METAL/Z-MSG is 0001h. 7.1.11. The (Y) command data file parameters MUT will allow the creation of a database file from the USERS file, including user number, last name, first name, and the location. The fields may be encased, separated, and terminated as the application calls for. The distribution file has default values as follows: ascii decimal field encaser " 34 field separator , 44 record terminator CR,LF 13,10 Example: "field","field","field","field" 7.1.11.1. The field encaser The field encaser may be any character, and is entered as a decimal equivalent in order to handle NON-ascii characters. The ascii to decimal convertion chart in appendix A should make this very simple. [ MUT ] PAGE 7-4 7.1.11.2. The field separator The field separator may be any character, and is entered as a decimal equivalent in order to handle NON-ascii characters. The ascii to decimal convertion chart in appendix A should make this very simple. 7.1.11.2. The record terminator The record terminator may be from 0 to 3 characters and are entered as decimal equivalents in order to handle any NON-ascii characters. If less than three characters are needed simply enter zeros in the remaining spaces. If no record termination is required enter a zero in the first location. The ascii to decimal convertion chart in appendix A should make this very simple. [ MUT commands ] PAGE 8-1 8. MUT commands MUT has a large number of commands, many of which have a number of sub commands. This section will attempt to clarify the use of these commands, and explore the power of MUT. When MUT is first executed it will begin in the SCAN mode at user record one, MUT will show a compact three line display of the users statistics, Example: #1 John Smith (c) [0001h] PASSWORD Hometown, CA. uploads 9 downloads 24 calls 79 last message read 1457 on 03/12/86 -------> Using the NEXT and PREVIOUS user commands you may scan the users file in this manner. NOTE: MUT requires that the two files USERS, and USERS.IDX must be located in the same drive/user area. MUT will not function unless this is true. At execution time MUT will search for the USERS file, once located MUT will test for the USERS.IDX, if not found MUT will exit back to the operating system. Insure that you have set the same drive/user location for both files in MECONFIG/ZMCONFIG. 8.1. The NEXT user command The NEXT user command will advance to the next user in the file. If any TAGS have been set the command will advance to the next user record that matches the tags. Simply enter a "RETURN" or a "space", if ARROWS are being used the down arrow will execute this command also. If this command is used at the end of the USERS file a message will inform you, and then loop around to the first user. 8.2. The PREVIOUS user command The PREVIOUS user command will backup to the previous user in the file. If any TAGS have been set the command will backup to the next user record that matches the tags. Simply enter a "B" or a "-", if ARROWS are being used the up arrow will also execute this command. If this command is used while at the top of the USERS file, it will loop around to the last user. 8.3. The find user by NUMBER command MUT also supports jumping to a users record specified by number. The first user in the file is record number 1, and while in SCAN mode the display prefixes the users name with their record number. Simply enter the number of the user you wish to display and hit return. [ MUT commands ]  PAGE 8-2 8.4. The (F), find user by NAME command MUT supports searching the users file for a specified name, partial name, or initials. Simply enter the "F" command and MUT will prompt you for the name string to search for. The search will begin at the current user position in the file. An example would be to enter the initials "J D", (the space separating the first and last initial). MUT would find "John Doe" if that were the first user to match the string. 8.5. The (S), NEXT MATCH of name string command The NEXT MATCH command allows you to search the file, begining at the current user for the next NAME string match, after using the (F) command. From the above example the next match might be "Joe Doyle". If no name string was entered with the (F) command MUT will inform you that there is no search string entered. 8.6. The (E), EDIT command MUT supports an extensive editing capability, allowing virtually anything to be changed in a users file. Each of the edit functions will be explored. 8.6.1. Editing name MUT allows you to edit the users name, but if this is done MUT may automaticly create a new record. Since this command will alter the USERS.IDX file. hash file 8.6.2. Editing password MUT will allow you to change a users password, if no change is desired enter a "RETURN", otherwise enter the new password. MUT will then overwrite the display to show the new password as it progresses to the next editing line. 8.6.3. Editing status MUT allows the users status to be edited, if no change is desired just enter "RETURN", or a new status may be entered, MUT will test the character entered, if it is not a valid status character MUT will respond with an error message and again request the new status. The display will then be rewritten to reflect the new status. [ MUT commands ] PAGE 8-3 8.6.4. Editing group flag The group flag may be edited, if no change is desired simply enter a "RETURN", if a new group flag is desired it can be entered in the format of four hexadecimal characters. If less than four characters are entered MUT will assume they are the low order characters of the flag. The display will be updated to reflect the change. 8.6.5. Editing location The users city and state may be altered if desired, or a "RETURN" for no change. Simply enter the new location, and the display will reflect the changes. 8.6.6. Editing the last date logged The last log in date of the user may be changed, or a "RETURN" for no change. The format is (mm/dd/yy). 8.6.7. Editing last time logged The last log in time may be edited, or "RETURN" for no change. The format is (hh:mm) 8.6.8. Editing the last message read The message number of the last message read by a user may be altered, or "RETURN" for no change. Simply enter the new number, the display will reflect the change. 8.6.9. Editing total times called The total times a user has called the system may be edited, or enter "RETURN" for no change. Changes will be reflected in the display. 8.6.10. Editing total time hours If the M-SUPPORT series is completely installed, the total hours a user has spent on the system to date will be tracked. This value may be edited or enter "RETURN" for no change. 8.6.11. Editing total time minutes If the M-SUPPORT series is completely installed, the total minutes, (the remainder of total hours), a user has spent on the system to date will be tracked. This value may be edited or enter "RETURN" for no change. The value must be between 0 and 59. 8.6.12. Editing Uploads The number of user uploads may be edited, or "RETURN" for no change. The number may be 0 to 65,535. [ MUT commands ] PAGE 8-4 8.6.13. Editing Downloads The number of user downloads may be edited, or "RETURN" for no change. The number may be 0 to 65,535. 8.6.14. Editing terminal heigth The users terminal heigth may be altered, or "RETURN" for no change. The value may be 0 to 255. Normally this would be somewhere between 16 and 24. 8.6.15. Editing terminal width The users terminal width may be altered, or "RETURN" for no change. The value may be 0 to 255. Normally this would be between 40 and 80. 8.6.16. Editing nulls value The number of nulls for each user is stored in the USERS file and may be edited, or "RETURN" for no change. The value may be 0 to 9, and although MUT will allow values of up to 255 for testing purposes, they should not normally be entered. 8.6.17. Editing time check date This date string is used after a user logs in to compare with the last date logged, to determine if the TIME CHECK feature should deduct anything from the users current log in. The date may be changed, or enter a "RETURN" for no change. The entry format is (mm/dd/yy). Actually MUT only saves the month and day and the year is derived from the last date logged. 8.6.18. Editing time check minutes This is the users total time on system for the day, and is set to zero by MEXIT on the users first log in of any given day. Each time the user logs in, his time on system will be added to this value at log out. The value may be edited, or "RETURN" for no change. 8.6.19. Editing time check calls This is the users total calls to the system for the day, and is set to zero by MEXIT on the users first log in of any given day. Each time the user logs out this value will be incremented. The value may be edited, or "RETURN" for no change. 8.6.20. Editing mode (expert/novice) MUT allows the users mode flag to be toggled, or enter a "RETURN" for no change. ANY other key will toggle the mode flag, and the display will reflect the change. [ MUT commands ] PAGE 8-5 8.6.21. Editing bell (on/off) MUT allows the users bell flag to be toggled, or enter a "RETURN" for no change. ANY other key will toggle the bell flag, and the display will reflect the change. 8.6.22. Editing O/S jump (on/off) MUT allows the users O/S jump flag to be toggled, or enter a "RETURN" for no change. ANY other key will toggle the O/S jump flag, and the display will reflect the change. If the users O/S flag is on, he will drop to the operating system immediately after log in verification, the BBS will be bypassed. 8.6.23. Editing auto read (on/off) MUT allows the users auto read flag to be toggled, or enter a "RETURN" for no change. ANY other key will toggle the auto read flag, and the display will reflect the change. If the users auto read flag is on, he will automaticly read any new messages since last log in, presuming that he has access to those messages. 8.7. The (/), QUICK EDIT command MUT also supports a quick or short edit routine, which allows the alteration of the four most common user statistics. The editing routines are in fact the routines used by the full edit command. 8.7.1. Editing status MUT allows the users status to be edited, if no change is desired just enter "RETURN", or a new status may be entered, MUT will test the character entered, if it is not a valid status character MUT will respond with an error message and again request the new status. The display will then be rewritten to reflect the new status. 8.7.2. Editing group flag The group flag may be edited, if no changed is desired simply enter a "RETURN", if a new group flag is desired it can be entered in the format of four hexadecimal characters. If less than four characters are entered MUT will assume they are the low order characters of the flag. The display will be updated to reflect the change. 8.7.3. Editing Uploads The number of user uploads may be edited, or "RETURN" for no change. The number may be 0 to 65,535. 8.7.4. Editing Downloads The number of user downloads may be edited, or "RETURN" for no change. The number may be 0 to 65,535. [ MUT commands ] PAGE 8-6 8.8. The (Z), ZIP command The ZIP command will jump directly to the last user in the file. This is quite handy when you aren't sure where the end of the USERS file is. 8.9. The (I), INFORMATION command The INFORMATION command will list all of the users information, as would be seen in the EDIT mode, but it is a display function only. 8.10. The (T), TAG command The TAG command allows search parameters to be set, users may be selectively scaned, deleted, printed, or have group flags or status set, even reseting of the upload/download counters. The TAGs may work individualy or in any combination. The TAGs are DATE, STATUS, CALLS, UPS (uploads), DOWNS (downloads). 8.10.1. DATE search tag The DATE search tag allows searching for any users which fit the parameters set. There are also three prefixes which are valid for a date search, "<" is before a certain date, ">" is after a certain date, and "=" is on that specific date. The date string itself is entered in the format of (mm/dd/yy), and the default prefix is "<" (before the entered date). Example: <10/24/85 (search for users who's last log in was BEFORE 10/24/85) >10/24/85 (search for users who's last log in was AFTER 10/24/85) =10/24/85 (search for users who's last log in was ON 10/24/85) 8.10.2. STATUS search tag The STATUS search tag allows searching for users according to the users status level. The TAG may contain multiple status characters to allow searching for more than one status level at a time. The status tag command honors one prefix, which is the "!", this can be thought of as the "NOT" prefix, when used to precede the status selections, it will cause the tag to search for all status levels NOT listed. Example: abcd (search for all users with a status of a,b,c, or d) +s (search for sysop's and special users) !Xxn (search for all users EXCEPT status levels X,x, and n) 8.10.3. CALLS search tag The CALLS search tag allows searching for users according to the number of calls a user has made to the system. There are three prefixes which are honored, "<" (less than), ">" (more than) and "=" equal. The default prefix is "<" (less than). Example: <50 (all users with LESS than fifty calls) >50 (all users with MORE than fifty calls) =50 (all users with EXACTLY fifty calls) [ MUT commands ] PAGE 8-7 8.10.4. UPLOADS search tag The Uploads search tag allows searching for users according to the number of Uploads a user has made to the system. There are three prefixes which are honored, "<" (less than), ">" (more than) and "=" equal. The default prefix is "<" (less than). Example: <50 (all users with LESS than fifty Uploads) >50 (all users with MORE than fifty Uploads) =50 (all users with EXACTLY fifty Uploads) 8.10.5. DOWNLOADS search tag The Downloads search tag allows searching for users according to the number of Downloads a user has made to the system. There are three prefixes which are honored, "<" (less than), ">" (more than) and "=" equal. The default prefix is "<" (less than). Example: <50 (all users with LESS than fifty Downloads) >50 (all users with MORE than fifty Downloads) =50 (all users with EXACTLY fifty Downloads) 8.11. The (V), VIEW tags command The VIEW tags command will display the current setting of all the tags. This is very handy before any kind of mass operation. 8.12. The (C), CLEAR tags command The CLEAR tags command will reset all tags to default condition, no tags sets. Search for ALL users. 8.13. The (AD), ADD user command The ADD user command will allow you to add a new user to the message system, as does the same command in METAL/Z-MSG. After creating the user, MUT will jump directly to EDIT mode. This operation will update the USERS.IDX file 8.14. The (D), DELETE user command The DELETE user command will simply delete the current user. Depending on the ALL users display toggle, the user may no longer be seen in scan mode, refer to section 8.17. 8.15. The (U), UNDELETE user command The UNDELETE user command will simply restore a user from a deleted state, presuming that the record has not been overwritten by an ADD user command or similar operation. [ MUT commands ] PAGE 8-8 8.16. The (M), MASS user delete command The MASS delete command functions much like the Mass command found in EDit of the message system. The tags will be displayed for verification, and then precede to delete all users matching the tags set. If the ALL users toggle is displaying deleted users, you will go through a review of the users deleted by the operation after it's completion. 8.17. The (AL), ALL users display command The ALL users display command will simply toggle the scan mode display to include or not, any deleted users in the file, the screen will display the choice each time it is toggled. 8.18. The (R), RESET counters command The RESET command will begin at the first user in the file and zero the upload and download counters of all users matching the current tags, much like the MASS delete function. 8.19. The (G), GROUP flag set command The GROUP command allows setting the message group flag for multiple users. This is done as a mass tag function, so the group flag selected will be set for any users matching the current tags. The operation will begin with user one. 8.20. The (W), STATUS level set command The STATUS command allows setting the status level for multiple users. This is done as a mass tag function, so the status level selected will be set for any users matching the current tags. The operation will begin at the first user. 8.21. The (P), PRINT command The PRINT command will print the users file beginning at the current user, all tags are honored so the file print may be selective. This way it is possible to print by date, status and so on. Entering a 'control C' will stop the print function. 8.24. The (Y), DATA FILE command MUT has an option which allows creation of a data file, intended to allow database operation with the derived information. All tags are valid for the function so the file may be created selectively by user status, date and so on. The information derived is as follows. USERS RECORD NUMBER USERS LAST NAME USERS FIRST NAME USERS LOCATION Each field is encased with a set of ("), and separated with a (,) after the location field, the record is terminated with hard return. All of these delimiters may be changed with MSTAL. [ MUT commands ] PAGE 8-9 8.23. The (Q), COMPRESS command The COMPRESS command will recreate the USERS file removing all deleted users. This function is quite handy if the size of the users file has gotten out of hand with old, deleted users. When the operation is complete MUT will have to reconstruct the USERS.IDX file. Mut will inform you of the operation. This operation will move some to new and differant record numbers, if you use the record number for some other function think twice about this command. METAL/Z-MSG no longer depends on or honors user numbers so unless you have written some custom application program there will not be a problem. hash file 8.24. The (X), EXIT command The EXIT command will simply close the open files, and return to the operating system. [ MSTAL ] PAGE 9-1 9. MSTAL MSTAL is an installation and configuration tool for the M-SUPPORT series. This program allows you to set or select any, and all available options in MEXIT, MINIT, MUT, MSET, and even itself. 9.1. Running MSTAL When MSTAL is executed the main menu will appear on the screen. All of the commands will assume that the necessary files are on the current default drive, if a file is not found when needed MSTAL will request the drive/user to locate the file. Above the menu is the current configuration of MSTAL. If MSTAL's configuration is changed the header will reflect it. Example of Main Menu shown below. [ MSTAL - 2.00 configured for the METAL message system ] | | | (1) Configure MUT.COM (2) List MUT configuration | | (3) Configure MEXIT.COM (4) List MEXIT configuration | | (5) Configure MINIT.OVR (6) List MINIT configuration | | (7) Install MINIT.OVR (8) UN-install MINIT.OVR | | (9) Configure MSET.COM (C) Configure MSTAL | | (X) Exit from MSTAL | |.......................................................| [ Enter selection ? ]----> 9.1.1. Command (1), the MUT configuration command The MUT configuration command allows the setting of all user selectable options. MSTAL will open the file and read the current configuration as well as the version number of MUT. The version number will be displayed above the first configuration question/display. For detailed information on any of the selections refer to sections 7.1.1. through 7.1.11.2. of this manual. 9.1.2. Command (2), the MUT listing command The list MUT configuration command simply lists the current configuration stored in MUT. 9.1.3. Command (3), the MEXIT configuration command The MEXIT configuration command allows the selection of all user selectable options. MSTAL will open the file and read the current configuration as well as the version number of MEXIT. The version number will be displayed above the first configuration question/display. For detailed information on any of the selections refer to sections 6.1.1. through 6.1.20. of this manual. 9.1.4. Command (4), the MEXIT listing command The list MEXIT configuration command simply lists the current configuration stored in MEXIT. [ MSTAL ] PAGE 9-2 9.1.5. Command (5), the MINIT configuration command The MINIT configuration command allows the selection of the user selectable options. MSTAL will open the file and read the current configuration as well as the version number of MINIT. The version number will be displayed above the first configuration question/display. MSTAL can only configure or list MINIT after it has been install into METAL/Z-MSG. For detailed information on these selections refer to sections 5.1.1. and 5.1.2. of this manual. 9.1.6. Command (6), the MINIT listing command The list MINIT configuration command simply lists the current configuration stored in MINIT. 9.1.7. Command (7), the MINIT.OVR install command The install command will read in the MINIT.OVR file and insert or overlay the routine into METAL/Z-MSG. After installation MINIT may be configured. 9.1.8. Command (8), the MINIT.OVR UN-install command The UN-install command will blank out the MINIT routine in the METAL/Z-MSG file if it is desired to remove the M-SUPPORT series. 9.1.9. Command (9), the MSET configuration command The MSET configuration command allows the selection of the only selectable option. MSTAL will open the file and read the current configuration as well as the version number of MSET. The version number will be displayed above the MEXIT drive/user question/display. For detailed information on drive/user selection refer to section 10.1.1. of this manual. 9.1.10. Command (C), the MSTAL configuration command The self configuration command allows MSTAL to select between the METAL or Z-MSG programs. The configuration may be saved temporarily or permanently. The menu header will reflect the proper setting. 9.1.11. Command (X), the MSTAL exit command The EXIT command will finish up housekeeping and then return to the operating system. [ MSET ] PAGE 10-1 10. MSET The MSET program has only one purpose, which is to reset the SINCE SYSOP counters, if that feature was selected in MEXIT. MSET is only needed for some special installations, if the Sysop can not run BYE 5 locally, or call in remotely. The reason is simple, if SINCE SYSOP is being used the counters need to be reset after the Sysop's log in, in some systems BYE 5 will not run the ENTRY or EXIT files properly in local mode. If MEXIT runs properly in local mode, or the Sysop calls in remote, MSET is not needed. 10.1. Running MSET Simply execute MSET and it will zero the SINCE SYSOP counters. When complete MSET will print a message to inform you that the job is done. The process takes only a second or two. 10.1.1. The MEXIT file drive/user selection MSET must know which drive/user area to search for MEXIT in. MSTAL will allow you to select the proper drive/user area in MSET. 10.2. MSET operations MSET is a very simple program, when executed it simply opens, and reads the storage block from MEXIT. Then sets the four SINCE SYSOP counters to zero, and rewrites the block to MEXIT. All possible file errors will be checked, and MSET will inform you of any problems. [ ACQUISITION OF SOURCE FILES ] PAGE 11-1 11. ACQUISITION OF SOURCE FILES The source files for all of the M-SUPPORT programs are placed in the public domain as are the files contained in the M-SUPPORT library. They were not included in the distribution library due only to their size. If source files are desired they may be found in the MSRC-200.LBR. This library can be obtained at - Murphy's Remote Los Altos, CA. (415) 949-1072 300/1200/2400 bps 24 hours/7 days ATTENTION: None of the files may be altered and released to the public or private sector, in whole or part, without the authors express written consent. Aterations for personal use are unlimited. 11.1. Problems, Bugs, Suggestions The author would like any suggestions for future updates and revisions, and would also like hear reports of any bugs or problems encountered with the M-SUPPORT series. Leave messages at MURPHY's. PAGE A-1 APPENDIX A ________________________________________________________________ ASCII to DECIMAL conversion chart ________________________________________________________________ ascii decimal ascii decimal ascii decimal ascii decimal _____ctrl_______________________________________________________ NUL ^@ 0 space 32 @ 64 ` 96 SOH ^A 1 ! 33 A 65 a 97 STX ^B 2 " 34 B 66 b 98 ETX ^C 3 # 35 C 67 c 99 EOT ^D 4 $ 36 D 68 d 100 ENQ ^E 5 % 37 E 69 e 101 ACK ^F 6 & 38 F 70 f 102 BEL ^G 7 ' 39 G 71 g 103 BS ^H 8 ( 40 H 72 h 104 HT ^I 9 ) 41 I 73 i 105 LF ^J 10 * 42 J 74 j 106 VT ^K 11 + 43 K 75 k 107 FF ^L 12 , 44 L 76 l 108 CR ^M 13 - 45 M 77 m 109 SO ^N 14 . 46 N 78 n 110 SI ^O 15 / 47 O 79 o 111 DLE ^P 16 0 48 P 80 p 112 DC1 ^Q 17 1 49 Q 81 q 113 DC2 ^R 18 2 50 R 82 r 114 DC3 ^S 19 3 51 S 83 s 115 DC4 ^T 20 4 52 T 84 t 116 NAK ^U 21 5 53 U 85 u 117 SYN ^V 22 6 54 V 86 v 118 ETB ^W 23 7 55 W 87 w 119 CAN ^X 24 8 56 X 88 x 120 EM ^Y 25 9 57 Y 89 y 121 SUB ^Z 26 : 58 Z 90 z 122 ESC ^[ 27 ; 59 [ 91 { 123 FS ^\ 28 < 60 \ 92 | 124 GS ^] 29 = 61 ] 93 } 125 RS ^^ 30 > 62 ^ 94 ~ 126 US ^_ 31 ? 63 _ 95 DEL 127 _______________________________________________________________ APPENDIX B ________________________________________________________________ Expected page zero mapping ________________________________________________________________ 0004h Current user/drive This must never change 0005h BDOS jump This must never change 003Eh WHEEL byte location These three addresses may be 0054h upload counter changed, but be certain they 0055h download counter are also changed in MEXIT 0100h Base of the TPA This must never change __________________________________________________________________ PAGE A-2 APPENDIX C BASIC FLOW CHART LOAD BYE 5 MSTAL | ----------------- reload BYE --------v--------- | | | | | ------------>| BYE 5 WAITS | MEXIT | MSET | MSTAL | --------v--------- | | | got call | answer MINIT MUT | --------v--------- | | print welcome | |  | RUN MENTR | ^ --------v--------- | ask user i.d. | | --------v--------- | | USER LOG IN |------->-+ | --------v--------- | | | | | --------v--------- | | | make LASTCALR | | ^ --------v--------- | | | | | --------v--------- | -------------- | | Run MINIT.OVR | | | BYE 5 RSX | | | call MFIX.INS |-------- | --->| BDOS (84) | | --------v--------- | | MFIX.INS | ^ | | -------------- | print BULLETIN | ------------- v | | | read | | | | | LASTCALR |--->| | | -^----------- | | | | | | | ^ bye ------v-------- ----v-------- --------- | | +--<-| METAL/Z-MSG |----->| USERS & |<----| MUT | | | | ------v-------- | USERS.IDX | --------- | | | J or C | ----^-------- ^ | v ------v-------- | | | | | MEXIT |-------->-+ | ^ | | entry 1 & 2 | | | | | ------v-------- | | | v | | ^ | | ------v-------- | | | |bye | Operating | | | ^ +--<-| System | | | | v ------v-------- | | | | bbs | | | +-<-----<----<--| | ^ | | | -----v------ | | | MEXIT |--------------------->-+ | | -exit- | +--<-|----------| ------------- | SINCE | <- if SINCE SYSOP | MSET only | | counters | <--------------------| if needed | ------------ ------------- PAGE B-1 NOTES ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ PAGE B-2 NOTES ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________  !"#$%&'