home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / comm / mbbs25a4.zip / MACROCFG.MAC < prev    next >
Text File  |  1993-05-30  |  34KB  |  1,133 lines

  1.  
  2.                              MACROCFG.MAC 2.5 ALPHA
  3.                       by Jeff Oberlee   (C)opyright 1992,93
  4.  
  5.  
  6. {:alr} {MACL MACROBBS.MAC,WF3}  {:alu} {MACL MACROBBS.MAC,bbs}
  7.  
  8. {:start}
  9.   {SPOC n} {CURS y} {LOCA y}
  10.  
  11.   {SETV bbs,BBS's name here}
  12.   {SETV sysop,Sysop}
  13.   {SETV syspass,system}
  14.   {SETV datadir,c:\commo\macrobbs\}
  15.   {SETV msgsdir,c:\commo\msgs\}
  16.   {SETV max,100}
  17.   {SETV userdir,c:\commo\callers\}
  18.   {SETV filedir,c:\commo\files\}
  19.   {SETV mspeed,2400}
  20.   {SETV initstr,ATE0H0M0Q0V1X4}
  21.   {SETV bw,y}
  22.   {SETV term,a}
  23.   {SETV cb,y}
  24.   {SETV dal,200}
  25.   {SETV sal,100}
  26.   {SETV nual,0}
  27.   {SETV ring,RING}
  28.   {SETV connect,CONNECT}
  29.   {SETV tlc,60}
  30.   {SETV lock,n}
  31.   {SETV bink,n}
  32.   {SETV para,8n1}
  33.   {SETV nicd,0}
  34.   {SETV uicd,1}
  35.   {SETV pp,1}
  36.   {SETV busy,ATM0H1}
  37.  
  38.   {SETV maindir,c:\commo}
  39.   {SETV clr1,n}
  40.   {SETV hang,y}
  41.  
  42.   {IFEX %_hom%MACROBBS.CFG,,RC1}
  43.   {ROPE %_hom%MACROBBS.CFG,RC1}
  44.   {READ bbs}
  45.   {READ sysop}
  46.   {READ syspass}
  47.   {READ datadir}
  48.   {READ msgsdir}
  49.   {READ max}
  50.   {READ userdir}
  51.   {READ filedir}
  52.   {READ mspeed}
  53.   {READ initstr}
  54.   {READ bw}
  55.   {READ term}
  56.   {READ cb}
  57.   {READ dal}
  58.   {READ sal}
  59.   {READ ring}
  60.   {READ connect}
  61.   {READ tlc}
  62.   {READ lock}
  63.   {READ bink}
  64.   {READ para}
  65.   {READ nicd}
  66.   {READ uicd}
  67.   {READ pp}
  68.   {READ busy}
  69.   {READ nual}
  70.   {READ maindir}
  71.   {READ clr1}
  72.   {READ hflo}
  73.   {READ hang}
  74. {COMP bink,y} {IFCO ,RC1}
  75.   {READ myno}
  76.   {READ tagline}
  77. {:RC1} {RCLO}
  78.   {PUSH}
  79.  
  80. {:I}
  81.   {RTRA-I n}
  82.   {SETE-P0 exit2}
  83.   {CLEA} {STAT n}
  84.   {DISP 2,36,4E, ╔ ▄   ▄ ▄▄▄ ▄▄▄ ▄▄▄  ▄▄▄▄ (tm) ═══════════╗}
  85.   {DISP 3,36,4E, ║ ██▄██ █▄█ █   █▄█▄ █  █ Version 2.5     ║}
  86.   {DISP 4,36,4E, ║ █ ▀ █ █ █ █▄▄ █  █ █▄▄█ CONFIGURATION   ║}
  87.   {DISP 5,36,4E, ╚═════════ B B S ═════════════════════════╝
  88.  
  89.   {DISP 7 ,2,0F,1.} {DISP 7 ,5,07,BBS System Data}
  90.   {DISP 8 ,2,0F,2.} {DISP 8 ,5,07,Modem/Term Config}
  91.   {DISP 9 ,2,0F,3.} {DISP 9,5,07,System Toggles/Fido}
  92.   {DISP 10,2,0F,4.} {DISP 10,5,07,Ext. Protocol Config  (optional)}
  93.   {DISP 11,2,0F,5.} {DISP 11,5,07,Ext. Program Config   (optional)}
  94.   {DISP 13,2,0F,D.} {DISP 13,5,0F,DONE!}
  95.   {DISP 14,2,0F,X.} {DISP 14,5,0C,ABORT to ^(COMMO^)}
  96.  
  97.   {DISP 16,5,0E,Your choice? }
  98.  
  99.   {SETG 0,,}
  100. {:I1} {GETS ch,1,I1}
  101.   {COMP ch,1} {IFCO C}
  102.   {COMP ch,2} {IFCO M}
  103.   {COMP ch,3} {IFCO T}
  104.   {COMP ch,4} {IFCO P}
  105.   {COMP ch,5} {IFCO D}
  106.  
  107.   {COMP ch,D} {IFCO S}
  108.   {COMP ch,X} {IFCO exit3}
  109.   {SEND ^H} {GOTO I1}
  110.  
  111. {:C} {CLEA}
  112.   {DISP 1,35,4E,System Data}
  113.   {SETV ch,50}
  114.   {COMP bink,y} {IFCO ,C0}
  115.   {SETV ch,64}
  116.   {LENG %tagline} {DECR ch,%_len} {LENG %myno} {DECR ch,%_len}
  117.   {DISP 3,1,09, * Origin: <BBS NAME> %tagline (%myno)}
  118.   {COMP ch,50} {IFCO-LE C0}
  119.   {SETV ch,50}
  120. {:C0}
  121.   {SETV temp,13} {INCR temp,%ch}
  122.   {DISP 4,2,0F,BBS name? }
  123.   {DISP 4,%temp,0F,(Upto %ch chars.)}
  124.   {DISP 4,12,0E,%bbs}
  125. {:C1} {GETS-A bbs,%ch,C1}
  126.   {LENG %bbs} {COMP _len,%ch} {IFCO-LE C9}
  127.   {SETV bbs} {GOTO C}
  128. {:C9} {DISP 5,2,0F,Sysop handle?                                (the name you wish to go by)}
  129.   {DISP 5,16,0E,%sysop}
  130. {:C2} {GETS-A sysop,30,C2}
  131.   {DISP 6,2,0F,System password?                 (word that protects important stuff)}
  132.   {DISP 6,19,0E,%syspass}
  133. {:C3} {GETS-A syspass,15,C3}
  134.  
  135.   {DISP 8,2,0F,Disk directory containing your ^(COMMO^) files: (Full path - NO "\" at end.)}
  136.   {DISP 9,2,0E,%maindir}
  137. {:C14} {GETS-A maindir,70,C14}
  138.   {DISP 10,2,0F,Disk directory for BBS system data files: (Full path WITH "\" at end.)}
  139.   {DISP 11,2,0E,%datadir}
  140. {:C4} {GETS-A datadir,70,C4}
  141.   {DISP 12,2,0F,Disk directory for MESSAGE BASE data files: (Full path WITH "\" at end.)}
  142.   {DISP 13,2,0E,%msgsdir}
  143. {:C5} {GETS-A msgsdir,70,C5}
  144.   {DISP 14,2,0F,Disk directory for FILE BASE data files: (Full path WITH "\" at end.)}
  145.   {DISP 15,2,0E,%filedir}
  146. {:C8} {GETS-A filedir,70,C8}
  147.   {DISP 16,2,0F,Disk directory for the userfiles: (Full path WITH "\" at end.)}
  148.   {DISP 17,2,0E,%userdir}
  149. {:C7} {GETS-A userdir,70,C7}
  150.   {DISP 19,2,0F,Default NEW USER access level (0-999, '0' recommended) : }
  151.   {DISP 19,59,0E,%nual}
  152. {:C13} {GETS-A nual,3,C13}
  153.   {DISP 20,2,0F,(D)OS DOORWAY Access Level (0-999) : }
  154.   {DISP 20,39,0E,%dal}
  155. {:C10} {GETS-A dal,3,C10}
  156.   {DISP 21,2,0F,MESSAGE (S)ysop functions Access Level (0-999) : }
  157.   {DISP 21,51,0E,%sal}
  158. {:C11} {GETS-A sal,3,C11}
  159.   {SETV ch,%max}
  160.   {DISP 22,2,0F,Maximum message length (1-100 lines) : }
  161. {:C6} {SETV ch,%max}
  162.   {DISP 22,41,0E,%ch}
  163.   {GETS-A ch,3,C6}
  164.   {COMP ch,1} {IFCO-L C6}
  165.   {COMP ch,100} {IFCO-G C6}
  166.   {SETV max,%ch}
  167.   {DISP 23,2,0F,Time limit per call (in minutes) : }
  168.   {DISP 23,37,0E,%tlc}
  169. {:C12} {GETS-A tlc,3,C12}
  170.   {GOTO I}
  171.  
  172. {:M} {CLEA}
  173.   {SETV dline,yn}
  174.   {DISP 1,34,4E,Modem/Terminal}
  175. {:M1} {DISP 4,2,0F,Lock serial port at highest baud rate? (y/n) [%lock] :  ^H}
  176.   {GETS ch,1,M13}
  177.   {INST dline,%ch} {IFCO ,M1}
  178.   {SETV lock,%ch}
  179.   {:M13}
  180.   {SETV ch,%mspeed}
  181.   {COMP lock,y} {IFCO ,M14}
  182.   {DISP 5,2,0F,Lock serial port at what speed? : }
  183.   {DISP 5,36,0E,%mspeed}
  184.   {SETV hflo,y}
  185.   {GETS-A ch,6,M10}
  186.   {COMP ch,1} {IFCO-L M13}
  187.   {SETV %mspeed,%ch} {GOTO M10}
  188.   {:M14} {DISP 5,2,0F,What's your modem's highest CONNECT speed? : }
  189.   {DISP 5,47,0E,%mspeed}
  190.   {SETV hflo,n}
  191.   {GETS-A ch,6,M10}
  192.   {COMP ch,1} {IFCO-L M14}
  193.   {SETV %mspeed,%ch}
  194. {:M10} {DISP 6,2,0F,Data format parameters?  (Eg. 8n1, 7e1, etc) : }
  195.   {DISP 6,49,0E,%para}
  196. {:M6} {GETS-A para,3,M6}
  197. {:M11} {SETV dline,atv}
  198.   {DISP 7,2,0F,Terminal type?  A=ANSI, T=TTY, V=VT100 [%term] :  ^H}
  199.   {GETS ch,1,M12}
  200.   {INST %dline,%ch} {IFCO ,M11}
  201.   {SETV term,%ch}
  202. {:M12} {INST %dline,%term} {IFCO ,M11}
  203.   {DISP 8,2,0F,Normal inter-character delay? (see COMMO.DOC) : }
  204.   {DISP 8,50,0E,%nicd}
  205. {:M7} {GETS-A nicd,3,M7}
  206.   {DISP 9,2,0F,ASCII UPLOAD inter-character delay? (for logon/off screens) : }
  207.   {DISP 9,64,0E,%uicd}
  208. {:M8} {GETS-A uicd,3,M8}
  209.   {DISP 10,2,0F,Delay (in seconds) before the Off-line Options PASSWORD prompt?}
  210.   {DISP 11,2,0F,(Slower modems may need more time) : }
  211.   {DISP 11,39,0E,%pp}
  212. {:M9} {GETS-A pp,2,M9}
  213.   {DISP 13,2,0F,Modem init string? }
  214.   {DISP 13,21,0E,%initstr}
  215. {:M2} {GETS-A initstr,40,M2}
  216.   {DISP 14,2,0F,Modem BUSY string? }
  217.   {DISP 14,21,0E,%busy}
  218. {:M5} {GETS-A busy,20,M5}
  219.   {DISP 15,2,0F,The string your modem returns when the phone rings?}
  220.   {DISP 16,2,0F,(Eg. RING) : }
  221.   {DISP 16,15,0E,%ring}
  222. {:M3} {GETS-A ring,15,M3}
  223.   {DISP 17,2,0F,The string your modem returns upon connection?  (Excluding speed)}
  224.   {DISP 18,2,0F,(Eg. CONNECT) : }
  225.   {DISP 18,18,0E,%connect}
  226. {:M4} {GETS-A connect,15,M4}
  227.   {GOTO I}
  228.  
  229. {:T} {CLEA}
  230.   {SETV dline,yn}
  231.   {DISP 1,33,4E,System Toggles}
  232. {:T1} {DISP 4,2,0F,Would you like the Wait Screen to blank? (ScreenSaver) (y/n) [%bw] :  ^H}
  233.   {GETS ch,1,T10}
  234.   {INST %dline,%ch} {IFCO ,T1}
  235.   {SETV bw,%ch}
  236. {:T10} {DISP 5,2,0F,Clear the Offline Wait Screen before pop-up menu display? (y/n) [%clr1] :  ^H}
  237.   {GETS ch,1,T3}
  238.   {INST %dline,%ch} {IFCO ,T10}
  239.   {SETV clr1,%ch}
  240. {:T3} {DISP 6,2,0F,Capture chat sessions? (y/n) [%cb] :  ^H}
  241.   {GETS ch,1,T12}
  242.   {INST %dline,%ch} {IFCO ,T3}
  243.   {SETV cb,%ch}
  244. {:T12} {DISP 7,2,0E,If you use MacroBBS as a door off znother BBS, you may not want to HANG-UP}
  245.   {DISP 8,2,0E,when a Caller exits MacroBBS.  For NORMAL operation, however, answer 'Yes'.}
  246.   {DISP 9,2,0F,Should MacroBBS HANG-UP when a Caller logs off? (y/n) [%hang] :  ^H}
  247.   {GETS ch,1,T5}
  248.   {INST %dline,%ch} {IFCO ,T3}
  249.   {SETV hang,%ch}
  250.  
  251. {:T5} {DISP 11,2,0F,Utilize a front-end mailer? (Eg. BinkleyTerm) (y/n) [%bink] :  ^H}
  252.   {GETS ch,1,T6}
  253.   {INST %dline,%ch} {IFCO ,T12}
  254.   {SETV bink,%ch}
  255. {:T6} {COMP bink,y} {IFCO ,TEX}
  256. {:T7} {DISP 12,2,0F,Your FidoNet node address? [%myno] : }
  257.   {GETS ch,20,T8}
  258.   {SETV myno,%ch}
  259. {:T8} {COMP myno,} {IFCO T7}
  260. {:T9} {SETV ch,64}
  261.   {LENG %bbs} {DECR ch,%_len} {LENG %myno} {DECR ch,%_len}
  262.   {DISP 13,2,0F,The origin TagLine appears between BBS NAME & NODE# in Fido msgs:}
  263.   {DISP 14,1,09, * Origin: %bbs <TAGLINE> (%myno)}
  264.   {DISP 15,2,0F,You may use upto %ch characters for the TagLine.}
  265.   {DISP 16,2,09,: }
  266.   {DISP 16,4,,                                                              }
  267.   {DISP 16,4,0E,%tagline}
  268.   {GETS-A tagline,%ch}
  269.   {LENG %tagline} {COMP _len,%ch} {IFCO-LE TEX}
  270.   {SETV tagline} {GOTO T9}
  271. {:TEX}
  272.   {GOTO I}
  273.  
  274. {:P} {CLEA}
  275.   {SETV dline,abcdefghijklmnopqrstuvwxyz}
  276.   {SETV sym} {SETV pname} {SETV path} {SETV send} {SETV recv} {SETV ch}
  277.   {DISP 1,23,4E,External Protocol Config}
  278.   {RTRA y,#26,97,65}
  279. {:P7} {DISP 4,2,0F,Menu selection letter? } {DISP 4,25,07,(A-Z, ?=help, ENTER=quit] :  ^H}
  280.   {GETS-H sym,1,I}
  281.   {COMP sym,?} {IFCO H}
  282.   {INST dline,%sym} {IFCO ,P7}
  283.   {RTRA-I n}
  284.   {IFEX MBXPRO-%sym.MAC,,P3}
  285. {:P4}
  286.   {DISP 6,2,0F,%sym - Protocol definition exists!  Options: A=ABORT, D=DELETE, E=EDIT:  ^H}
  287.   {GETS-H ch,1,P4}
  288.   {COMP ch,a} {IFCO P}
  289.   {COMP ch,e} {IFCO P5}
  290.   {COMP ch,d} {IFCO ,P4}
  291.   {EXEC-N DEL MBXPRO-%sym.MAC}
  292.   {DISP 8,2,07,Deleted.} {PAUS 1}
  293.   {GOTO P}
  294. {:P5}
  295.   {CLEA}
  296.   {ROPE MBXPRO-%sym.MAC,P6}
  297.   {READ sym} {READ pname} {READ path} {READ send} {READ recv} {RCLO}
  298. {:P6} {DISP 1,23,4E,EDIT Protocol Definition}
  299.   {RTRA y,#26,97,65}
  300. {:P8}
  301.   {DISP 3,2,0E,Editing %pname}
  302.   {DISP 4,2,0F,Menu selection letter? } {DISP 4,25,07,(A-Z, ?=help, ENTER=quit] : }
  303.   {GETS-H ch,1,I}
  304.   {COMP ch,?} {IFCO H}
  305.   {INST dline,%ch} {IFCO ,P8}
  306.   {SETV sym,%ch}
  307.   {RTRA-I n}
  308. {:P3}
  309.   {DISP 6,2,0F,PROTOCOL English name? (Eg. ZMODEM)} {DISP 6,37,09, : }
  310.   {DISP 6,40,0E,%pname}
  311.   {GETS-A pname,20,P}
  312.   {DISP 8,2,0F,Protocol PATH\Name.ext (Eg. C:\COMMO\dsz.com)}
  313.   {DISP 9,2,09,: } {DISP 9,4,0E,%path}
  314.   {GETS-A path,50,P}
  315.   {DISP 11,2,0F,SEND FILE:  DOS command line EXCLUDING THE PROTOCOL NAME.}
  316.   {DISP 12,2,07,Eg. port %%_por ha both sz %%filepath}
  317.   {DISP 13,2,09,: } {DISP 13,4,0E,%send}
  318.   {GETS-A send,73,P9}
  319. {:P9} {DISP 15,2,0F,RECEIVE FILE:  DOS command line EXCLUDING THE PROTOCOL NAME.
  320.   {DISP 16,2,07,Eg. port %%_por ha both rz %%filepath}
  321.   {DISP 17,2,09,: } {DISP 17,4,0E,%recv}
  322.   {GETS-A recv,73}
  323. {:P1}
  324.   {DISP 19,5,0C,Ok to save? (Y,n) :  ^H}
  325.   {GETS-H %ch,1,P2}
  326.   {COMP ch,y} {IFCO P2}
  327.   {COMP ch,n} {IFCO P,P1}
  328. {:P2} {DISP 21,5,0C,Saving...}
  329.   {WOPE MBXPRO-%sym.MAC}
  330.   {WRIT %sym} {WRIT %pname} {WRIT %path} {WRIT %send} {WRIT %recv}
  331.   {WRIT }
  332.   {WRIT ^(:start^) ^(SEND ^J^M^J%%an0%%Start your%%an7 %pname %%an0%%transfer now.^) ^(GOTO %%proto^) ^(:exit^) ^(MACL MACRO%%mac.MAC,pdoor^)}
  333.   {WRIT }
  334.   {WRIT %pname ***************************}
  335.   {WRIT ^(:S%sym^)  ^(EXEC %path %send^)} {SETV send}
  336.   {WRIT      ^(GOTO exit^)}
  337.   {WRIT ^(:R%sym^)  ^(EXEC %path %recv^)} {SETV recv}
  338.   {WRIT      ^(GOTO exit^)}
  339.   {WCLO}
  340.   {DISP 21,14,07,OK} {PAUS 1}
  341.   {WOPE-A MBBSPROT.LST} {WRIT %sym} {WRIT %pname} {WCLO}
  342.   {DISP 21,14,07,OK} {PAUS 1}
  343.   {CALL warn}
  344.   {EDIT MBBSPROT.LST}
  345.   {GOTO P}
  346.  
  347. {:H} {CLEA}
  348.   {DISP 1,22,4E,MacroBBS Variable Usage Description}
  349.   {DISP 4 ,2,0F,VARIABLE             DESCRIPTION}
  350.   {DISP 5 ,2,0F,----------           -------------------------------------------}
  351.  
  352.   {DISP 7 ,2,09,%%files              - contains the FILENAME only.  Eg. MBBS20.ZIP}
  353.   {DISP 9 ,2,09,%%filepath           - contains the FULL path including the filename}.
  354.   {DISP 10,2,09,                        Eg. C:\COMMO\FILES\F1\mbbs20.zip}
  355.   {DISP 12,2,09,%%transdir           - contains the UPLOAD or DOWNLOAD path only.}
  356.   {DISP 13,2,09,                         Eg. C:\COMMO\FILES\F1}
  357.  
  358.   {DISP 15,5 ,0F,Use the above variables as needed to define a protocol's DOS command lines.}
  359.   {DISP 16,5 ,0F,The following line is an exaple of a Zmodem RECEIVE command line:}
  360.   {DISP 17,13,0E,      port %%_por ha both rz %%filepath}
  361.   {DISP 18,5 ,0F,(a ^(COMMO^) variable) -^^               ^^- (a MacroBBS variable)}
  362. {:H1} {DISP 21,5,0F,Press the SPACEBAR to continue...  ^H}
  363.   {GETS-H %ch,1,H1}
  364.   {COMP ch, } {IFCO P,H1}
  365.  
  366. {:D} {CLEA}
  367.   {SETV dline,abcdefghijklmnoprstuvwxyz}
  368.   {SETV sym} {SETV pname} {SETV path} {SETV cmd}
  369.   {DISP 1,29,4E,External Program Config}
  370.   {RTRA y,#26,97,65}
  371. {:D7} {DISP 4,2,0F,Menu selection letter? } {DISP 4,25,07,(A-Z, ENTER=quit] :  ^H}
  372.   {GETS-H sym,1,I}
  373.   {INST dline,%sym} {IFCO ,D7}
  374.   {RTRA-I n}
  375.   {IFEX MBDOOR-%sym.MAC,,D3}
  376. {:D4}
  377.   {DISP 6,2,0F,%sym - Door definition exists!  Options: A=ABORT, D=DELETE, E=EDIT:  ^H}
  378.   {GETS-H ch,1,D4}
  379.   {COMP ch,a} {IFCO D}
  380.   {COMP ch,e} {IFCO D5}
  381.   {COMP ch,d} {IFCO ,D4}
  382.   {EXEC-N DEL MBDOOR-%sym.MAC}
  383.   {DISP 8,2,07,Deleted.} {PAUS 1}
  384.   {GOTO D}
  385. {:D5}
  386.   {CLEA}
  387.   {ROPE MBDOOR-%sym.MAC,D6}
  388.   {READ sym} {READ dr} {READ pname} {READ path} {READ cmd} {RCLO}
  389.   {EXEC-N DEL MBDOOR-%sym.MAC}
  390. {:D6} {DISP 1,30,4E,EDIT Door Definition}
  391.   {RTRA y,#26,97,65}
  392. {:D8}
  393.   {DISP 3,2,0E,Editing %pname}
  394.   {DISP 4,2,0F,Menu selection letter? } {DISP 4,25,07,(A-Z, ENTER=quit] : }
  395.   {GETS-H ch,1,I}
  396.   {INST dline,%ch} {IFCO ,D8}
  397.   {SETV sym,%ch}
  398.   {RTRA-I n}
  399. {:D3}
  400.   {DISP 6,2,0F,PROGRAM English name? (Eg. Draw Poker)} {DISP 6,40,09, : }
  401.   {DISP 6,43,0E,%pname}
  402.   {GETS-A pname,20,D}
  403.   {DISP 8,2,0F,Program PATH? (Eg. C:\GAMES)  NO "\" at end.}
  404.   {DISP 9,2,09,: } {DISP 9,4,0E,%path}
  405.   {GETS-A path,50,D}
  406.   {DISP 11,2,0F,Enter the COMPLETE command line OR a batch file name.
  407.   {DISP 12,2,07,Eg. DRAWPOKE DRAWPOKE.CFG (or just DRAWPOKR if a batch file)
  408.   {DISP 13,2,09,: } {DISP 13,4,0E,%cmd}
  409.   {GETS-A cmd,73,D}
  410.   {DISP 15,2,0F,Which UserInfo file should be created for this door program?
  411.   {DISP 16,2,0E,1. DOOR.SYS   2. DORINFO1.DEF   3. CHAIN.TXT   4. CALLINFO.BBS}
  412. {:D9} {DISP 17,2,09,(1-4): } {DISP 17,9,0E, ^H}
  413.   {GETS-H dr,1,I}
  414.   {COMP dr,1} {IFCO-L D9}
  415.   {COMP dr,4} {IFCO-G D9}
  416. {:D1}
  417.   {DISP 19,5,0C,Ok to save? (Y,n) :  ^H}
  418.   {GETS-H ch,1,D2}
  419.   {COMP ch,y} {IFCO D2}
  420.   {COMP ch,n} {IFCO D,D1}
  421. {:D2} {DISP 17,5,0C,Saving...}
  422.   {WOPE MBDOOR-%sym.MAC}
  423.   {WRIT %sym} {WRIT %dr} {WRIT %pname} {WRIT %path} {WRIT %cmd}
  424.   {WRIT }
  425.   {WRIT ^(:start^) ^(CLEA^)
  426.   {WRIT %pname ***************************}
  427.   {WRIT ^(EXEC-N CD %path^)}
  428.   {WRIT ^(EXEC %cmd^)
  429.   {WRIT ^(EXEC-N CD %maindir^)}
  430.   {WRIT ^(MACL MACRODOR.MAC,start^)}
  431.   {WCLO}
  432.   {WOPE-A MBBSDOOR.LST} {WRIT %sym} {WRIT %pname} {WCLO}
  433.   {DISP 17,14,07,OK} {PAUS 1}
  434.   {CALL warn}
  435.   {EDIT MBBSDOOR.LST}
  436.   {GOTO D}
  437.  
  438. {:S} {DISP 18,5,0F,Ok to save? (Y,n) :  ^H}
  439.     {GETS-H %ch,1,S1}
  440.     {COMP ch,y} {IFCO S1}
  441.     {COMP ch,n} {IFCO exit,S}
  442. {:S1} {DISP 19,5,03,Saving...} {PAUS 1}
  443.   {WOPE %_hom%MACROBBS.CFG}
  444.   {WRIT %bbs}
  445.   {WRIT %sysop}
  446.   {WRIT %syspass}
  447.   {WRIT %datadir}
  448.   {WRIT %msgsdir}
  449.   {WRIT %max}
  450.   {WRIT %userdir}
  451.   {WRIT %filedir}
  452.   {WRIT %mspeed}
  453.   {WRIT %initstr}
  454.   {WRIT %bw}
  455.   {WRIT %term}
  456.   {WRIT %cb}
  457.   {WRIT %dal}
  458.   {WRIT %sal}
  459.   {WRIT %ring}
  460.   {WRIT %connect}
  461.   {WRIT %tlc}
  462.   {WRIT %lock}
  463.   {WRIT %bink}
  464.   {WRIT %para}
  465.   {WRIT %nicd}
  466.   {WRIT %uicd}
  467.   {WRIT %pp}
  468.   {WRIT %busy}
  469.   {WRIT %nual}
  470.   {WRIT %maindir}
  471.   {WRIT %clr1}
  472.   {WRIT %hflo}
  473.   {WRIT %hang}
  474. {COMP bink,y} {IFCO ,WC1}
  475.   {WRIT %myno}
  476.   {WRIT %tagline}
  477. {:WC1} {WCLO}
  478. {:exit}
  479.   {RCLO}
  480.   {MACL MACROBBS.MAC,bbs}
  481. {:exit2}
  482.   {SETE-P0 EX1} {SETV ch}
  483.   {INPU ch,Return to MacroBBS now? (no save)  y/N}
  484.   {COMP ch,y} {IFCO exit}
  485. {:EX1} {RETURN}
  486. {:exit3} {CLEA} {STAT y} {SPOC y}
  487.   {DISP 2,1,0E,Exiting to ^(COMMO^) ...^J^M}
  488.   {LOCA n} {INIT}
  489.   {MACL COMMO.MAC}
  490.  
  491. {:warn}
  492.   {CLEA}
  493.   {DISP 3,1,0E,  You are about to enter ^(COMMO^)'s text editor to customize a list}
  494.   {DISP 4,1,0E,which will be used by MacroBBS.}
  495.   {DISP 6,1,0F,Press any key to continue...}
  496.   {SETG ,,n} {GETS-H ch,1}
  497.   {RETURN}
  498.  
  499. ///////////////////////////////////////////////////////////////////////////
  500.  
  501. {:read_user}
  502.   {ROPE %userdir%%userno.USR,RU1}
  503.   {READ login_name}
  504.   {READ password}
  505.   {READ al}
  506.   {READ protocol}
  507.   {READ expert}
  508.   {READ a}
  509.   {READ fa}
  510.   {READ l_call}
  511.   {READ rname}
  512.   {READ from}
  513.   {READ pcpd}
  514.   {READ clr2}
  515.   {READ arcer}
  516.   {READ arc}
  517.   {RCLO}
  518. {:RU1} {RETURN}
  519.  
  520. {:write_user}
  521.   {WOPE %userdir%%userno.USR}
  522.   {WRIT %login_name}
  523.   {WRIT %password}
  524.   {WRIT %al}
  525.   {WRIT %protocol}
  526.   {WRIT %expert}
  527.   {WRIT %a}
  528.   {WRIT %fa}
  529.   {WRIT %l_call}
  530.   {WRIT %rname}
  531.   {WRIT %from}
  532.   {WRIT %pcpd}
  533.   {WRIT %clr2}
  534.   {WRIT %arcer}
  535.   {WRIT %arc}
  536.   {WCLO}
  537.   {RETURN}
  538.  
  539. {:update_clist}
  540.   {ROPE %datadir%CALLERS.LST,UC1}
  541.   {WOPE %datadir%TEMP.000}
  542. {:UC2} {READ ch} {READ cline} {READ dline}
  543.   {COMP ch,%userno} {IFCO UC3}
  544.   {WRIT %ch} {WRIT %cline} {WRIT %dline} {GOTO UC2}
  545. {:UC3} {COMP s,1} {IFCO UC5}
  546. {:UC4} {WRIT %ch}
  547.   {WRIT %login_name}
  548.   {WRIT %password}
  549. {:UC5} {READ dline} {WRIT %dline} {GOTO UC5}
  550. {:UC1} {WCLO}
  551.   {EXEC-N COPY %datadir%TEMP.000 %datadir%CALLERS.LST}
  552.   {EXEC-N DEL %datadir%TEMP.000}
  553.   {RETURN}
  554.  
  555. {:read_data}
  556.   {ROPE %datadir%CALLER.DAT,RD1}
  557.   {READ %callno}
  558.   {READ %tdcalls}
  559.   {READ pub}
  560.   {READ pvt}
  561.   {READ ttu}
  562.   {READ tf}
  563.   {READ ldate}
  564.   {READ stime}
  565.   {READ ftime}
  566.   {READ l_caller}
  567.   {READ luserno}
  568.   {READ uhigh}
  569.   {READ mhigh}
  570.   {READ fhigh}
  571.   {RCLO}
  572. {:RD1} {RETURN}
  573.  
  574. {:write_data}
  575.   {WOPE %datadir%CALLER.DAT}
  576.   {WRIT %callno}
  577.   {WRIT %tdcalls}
  578.   {WRIT %pub}
  579.   {WRIT %pvt}
  580.   {WRIT %ttu}
  581.   {WRIT %tf}
  582.   {WRIT %ldate}
  583.   {WRIT %stime}
  584.   {WRIT %ftime}
  585.   {WRIT %login_name}
  586.   {WRIT %userno}
  587.   {WRIT %uhigh}
  588.   {WRIT %mhigh}
  589.   {WRIT %fhigh}
  590.   {WCLO}
  591.   {RETURN}
  592.  
  593. {:read_baseinfo}
  594.   {SETV fido}
  595.   {ROPE %msgsdir%A%a.BAS,RB1}
  596.   {READ bname}
  597.   {READ %bal}
  598.   {READ maxmsg}
  599.   {READ lomsgno}
  600.   {READ himsgno}
  601.   {READ fido}
  602.   {RCLO}
  603. {:RB1} {RETURN}
  604.  
  605. {:update_baseinfo}
  606.   {WOPE %msgsdir%A%a.BAS}
  607.   {WRIT %bname}
  608.   {WRIT %bal}
  609.   {WRIT %maxmsg}
  610.   {WRIT %lomsgno}
  611.   {WRIT %himsgno}
  612.   {WRIT %fido}
  613.   {WCLO}
  614.   {RETURN}
  615.  
  616. {:match_name_userno}
  617.   {IFEX %datadir%CALLERS.LST,,MNU2}
  618.   {ROPE %datadir%CALLERS.LST,MNU2}
  619. {:MNU1} {READ ch} {READ lname} {READ dline}
  620.   {COMP to,%ch} {IFCO MNU5}
  621.   {COMP to,%lname} {IFCO ,MNU1}
  622. {:MNU5} {SETV to,%lname}
  623.   {SETV tono,%ch}
  624.   {RCLO}
  625.   {SETV t,1}
  626.   {GOTO MNU4}
  627. {:MNU2} {SEND %an1%ID not found.} {PAUS 1}
  628. {:MNU4} {RETURN}
  629.  
  630. {:EO2}
  631.   {DISP 14,1,07, ╔════════════════════════════════╗}
  632.   {DISP 15,1,07, ║                                ║}
  633.   {DISP 16,1,07, ╚════════════════════════════════╝}
  634.   {DISP 17,1,,            }
  635.   {RETURN}
  636.  
  637. ///////////////////////////////////////////////////////////////////////////
  638.  
  639. {:menu}
  640.   {SETE exit5}
  641.   {SETG 0}
  642. {COMP clr1,y} {IFCO ,CLR1}
  643. {CLEA}
  644. {:CLR1}
  645.   {CALL blank_box}
  646.   {DISP 7 ,46,0F,  Master SysMenu}
  647.   {DISP 9 ,46,07,1.%an4 File Areas}
  648.   {DISP 10,46,07,2.%an4 Edit a FileList}
  649.   {DISP 11,46,07,3.%an4 Message Areas}
  650.   {DISP 12,46,07,4.%an4 Caller Records}
  651. {:ME2} {DISP 15,46,07, (1-4, ENTER=quit)  ^H}
  652.   {GETS-H ch,1,ME1}
  653.   {COMP ch,1} {IFCO-L ME2}
  654.   {COMP ch,4} {IFCO-G ME2}
  655.   {CALL blank_box}
  656.   {COMP ch,1} {IFCO EFA}
  657.   {COMP ch,2} {IFCO list_ed}
  658.   {COMP ch,3} {IFCO EMA}
  659.   {COMP ch,4} {IFCO ECA}
  660. {:ME1} {SETV total} {SETV high} {SETV temp} {SETV na}
  661. {COMP clr1,y} {IFCO exit5}
  662.   {CALL WF5}
  663.  
  664. {:exit4}
  665.   {MACL MACROBBS.MAC,m_init_w}
  666.  
  667. {:exit5}
  668.   {MACL MACROBBS.MAC,m_init}
  669.  
  670. {:EMA}
  671.   {SEND %an0}
  672.   {DISP 15,3,,%an7%%an9 Scanning...}
  673.   {SETV dline,Message Area(s)}
  674.   {CALL get_minfo}
  675.   {CALL EO2}
  676. {:EM2} {SEND %an0}
  677.   {SETV dline,Message Area(s)}
  678.   {CALL AE1}
  679.   {COMP ch,e} {IFCO EM6}
  680.   {COMP ch,r} {IFCO EM21}
  681.   {COMP ch,d} {IFCO EM3,EM4}
  682.  
  683. {:get_minfo}
  684.   {SETV high,0} {SETV total,0} {SETV na,0} {SETV temp,0}
  685. {:EM} {INCR temp} {COMP temp,%mhigh} {IFCO-G EM0}
  686.   {IFEX %msgsdir%A%temp.BAS,,EM}
  687.   {SETV high,%temp}
  688.   {INCR total} {GOTO EM}
  689. {:EM0} {INCR na} {IFEX %msgsdir%A%na.BAS,EM0}
  690.   {RETURN}
  691.  
  692. {:EM21}
  693.   {CALL blank_box}
  694.   {DISP 7 ,46,0E,Review Message Area(s)}
  695. {:EM22} {DISP 9 ,38,0F,Begin at which area? %an0(1-%mhigh) :   ^H^H}
  696.   {GETS a,2,EM2}
  697.   {IFEX %msgsdir%A%a.BAS,,EM22}
  698. {:EM23}
  699.   {CALL read_baseinfo}
  700.   {CALL msgdspl}
  701.   {DISP 11,38,07,LOmsg #: %an7%%lomsgno}
  702.   {DISP 12,38,07,HImsg #: %an7%%himsgno}
  703.   {CALL spacebar}
  704.   {COMP ch, } {IFCO ,EM2}
  705. {:EM24} {INCR a}
  706.   {COMP a,%mhigh} {IFCO-G EM2}
  707.   {IFEX %msgsdir%A%a.BAS,EM23,EM24}
  708.  
  709. {:EM4} {CALL blank_box}
  710.   {DISP 7 ,49,0E,Add a Message Area}
  711.   {DISP 9 ,38,07,Name: %an7%%an12                              } {DISP 9 ,44,,} {SEND %an7%%an12}
  712.   {GETS bname,30,EM2} {SEND %an0}
  713. {:EM25} {DISP 10,38,07,FidoNet msg format? (y,n):  ^H}
  714.   {GETS-H fido,1,EM25}
  715.   {COMP fido,y} {IFCO EM20}
  716.   {COMP fido,n} {IFCO ,EM25}
  717. {:EM20} {DISP 11,38,07,Access Level:    ^H^H^H}
  718.   {GETS bal,3,EM20}
  719. {:EM1} {DISP 12,38,07,MAX msg #:    ^H^H^H}
  720.   {GETS maxmsg,3,EM1}
  721. {:EM10} {DISP 14,38,0C,Ok to save? (%an0%Y%an1,n) :%an0  ^H}
  722.   {GETS-H ch,1,EM5}
  723.   {COMP ch,y} {IFCO EM5}
  724.   {COMP ch,n} {IFCO EM4,EM10}
  725. {:EM5} {SETV lomsgno,1} {SETV himsgno,0}
  726.   {SETV a,%na}
  727.   {DISP 15,38,07,Saving area #%a...}
  728.   {COMP a,%mhigh} {IFCO-LE EM19}
  729.   {CALL read_data}
  730.   {SETV mhigh,%a} {SETV login_name,%l_caller} {SETV userno,%luserno}
  731.   {CALL write_data}
  732.   {SETV count,0}
  733. {:EM13} {INCR count}
  734.   {COMP count,%uhigh} {IFCO-G EM19}
  735.   {IFEX %msgsdir%INDEX\%count.IDX,,EM13}
  736.   {WOPE-A %msgsdir%INDEX\%count.IDX} {WRIT 1} {WCLO}
  737.   {GOTO EM13}
  738. {:EM19} {CALL update_baseinfo}
  739.   {EXEC-N MD %msgsdir%A%a}
  740.   {GOTO EMA}
  741.  
  742. {:EM6} {CALL blank_box}
  743.   {DISP 7 ,49,0E,Edit a Message Area}
  744.   {DISP 9 ,38,0F,Edit which? (1 - %mhigh) : }
  745.   {GETS a,2,EM2}
  746.   {COMP a,1} {IFCO-L EM6}
  747.   {COMP a,%mhigh} {IFCO-G EM6}
  748.   {IFEX %msgsdir%A%a.BAS,,EM6}
  749.   {CALL read_baseinfo}
  750.   {CALL msgdspl}
  751.   {DISP 11,38,0D,(Press ENTER to keep same info)}
  752. {:EM8} {DISP 12,38,07,Name: %an7%%an12                              } {DISP 12,44,,} {SEND %an7%%an12}
  753.   {GETS ch,30,EM15}
  754.   {SETV bname,%ch}
  755. {:EM15} {SEND %an0}
  756.   {DISP 13,38,07,Access Level: }
  757.   {GETS ch,3,EM9}
  758.   {SETV bal,%ch}
  759. {:EM9} {SEND %an0} {DISP 14,38,07,MAX msg #: }
  760.   {GETS ch,3,EM12}
  761.   {SETV maxmsg,%ch}
  762. {:EM12} {DISP 15,38,0C,Saving...}
  763.   {CALL update_baseinfo}
  764.   {GOTO EM6}
  765. {:EM11} {SEND %an0}
  766.   {GOTO ME1}
  767.  
  768. {:EM3} {CALL blank_box}
  769.   {DISP 7 ,49,,%an7%%an9%DELETE%an3 a Message Area}
  770.   {DISP 9 ,38,0F,Delete which? (1 - %mhigh) : }
  771.   {GETS a,2,EM2}
  772.   {COMP a,1} {IFCO-L EM3}
  773.   {COMP a,%mhigh} {IFCO-G EM3}
  774.   {IFEX %msgsdir%A%a.BAS,,EM3}
  775.   {CALL read_baseinfo}
  776.   {CALL msgdspl}
  777. {:EM14} {DISP 12,38,,%an7%DELETE%an3 this area? %an0(y,%an7%N%an0) ;  ^H}
  778.   {GETS ch,1,EM2}
  779.   {COMP ch,n} {IFCO EM2}
  780.   {COMP ch,y} {IFCO ,EM14}
  781.   {DISP 14,38,,%an7%%an9%DELETING}
  782.   {EXEC-N DEL %msgsdir%A%a.*}
  783.   {EXEC-N DEL %msgsdir%A%a\*.msg}
  784.   {EXEC-N RD %msgsdir%A%a}
  785.   {CALL get_minfo}
  786.   {COMP a,%high} {IFCO-L EM2}
  787.   {CALL read_data)
  788.   {SETV mhigh,%high} {SETV login_name,%l_caller} {SETV userno,%luserno}
  789.   {CALL write_data)
  790.   {GOTO EM2}
  791.  
  792. {:msgdspl}
  793.   {CALL blank_box}
  794.   {SETV temp,0}
  795.   {COMP himsgno,0} {IFCO MD1}
  796.   {SETV temp,%himsgno} {DECR temp,%lomsgno} {INCR temp}
  797. {:MD1} {DISP 6 ,38,0E, Message Area #%a    %an3%%temp}
  798.   {COMP fido,y} {IFCO ,MD2}
  799.   {SEND %an3 Fido msg(s) } {GOTO MD3}
  800. {:MD2} {SEND %an3 MBBS msg(s) }
  801. {:MD3} {DISP 8 ,38,07,Name ..: %an7%%bname}
  802.   {DISP 9 ,38,07,AL ....: %an7%%bal}
  803.   {DISP 10,38,07,MAXmsgs: %an7%%maxmsg}
  804.   {RETURN}
  805.  
  806. {:spacebar}
  807.   {DISP 15,45,0E,SPACEBAR=next  %an0%ENTER=quit  ^H}
  808. {:SB2} {GETS-H ch,1,SB1}
  809.   {COMP ch, } {IFCO ,spacebar}
  810. {:SB1} {RETURN}
  811.  
  812. {:ECA}
  813.   {SEND %an0}
  814.   {DISP 15,3,,%an7%%an9 Scanning...}
  815.   {CALL get_cinfo)
  816.   {CALL EO2}
  817. {:EC1} {SEND %an0}
  818.   {SETV dline,Caller Records}
  819.   {CALL AE1}
  820.   {COMP ch,e} {IFCO EC5}
  821.   {COMP ch,r} {IFCO EC20}
  822.   {COMP ch,d} {IFCO EC13,EC2}
  823.  
  824. {:get_cinfo}
  825.   {SETV high,0} {SETV total,0} {SETV na,0} {SETV temp,0}
  826. {:EC} {INCR temp} {COMP temp,%uhigh} {IFCO-G EC0}
  827.   {IFEX %userdir%%temp.USR,,EC}
  828.   {SETV high,%temp}
  829.   {INCR total} {GOTO EC}
  830. {:EC0} {INCR na} {IFEX %userdir%%na.USR,EC0}
  831.   {RETURN}
  832.  
  833. {:EC20}
  834.   {CALL blank_box}
  835.   {DISP 7 ,46,0E,Review Caller Records}
  836. {:EC18} {DISP 9 ,38,0F,Begin at which record? %an0(1-%uhigh) :   ^H^H}
  837.   {GETS userno,2,EC1}
  838.   {IFEX %userdir%%userno.USR,,EC18}
  839. {:EC19} {CALL blank_box}
  840.   {SETV rname} {SETV from} {SETV l_call}
  841.   {CALL read_user}
  842.   {DISP 7 ,38,07,Handle..: %an7%%login_name}
  843.   {DISP 8 ,38,07,ID # ...: %an7%%userno}
  844.   {DISP 9 ,38,07,AL .....: %an7%%al}    {SETV al}
  845.   {DISP 10,38,07,Password: %an7%%password} {SETV password}
  846.   {DISP 11,38,07,Name ...: %an7%%rname} {SETV rname}
  847.   {DISP 12,38,07,From ...: %an7%%from}  {SETV from}
  848.   {DISP 13,38,07,LastCall: %an7%%l_call} {SETV l_call}
  849.   {CALL spacebar}
  850.   {COMP ch, } {IFCO ,EC1}
  851. {:EC21} {INCR userno}
  852.   {COMP userno,%uhigh} {IFCO-G EC1}
  853.   {IFEX %userdir%%userno.USR,EC19,EC21}
  854.  
  855. {:EC2} {CALL blank_box}
  856.   {DISP 7 ,46,0E,Add a Caller Record}
  857.   {DISP 9 ,38,07,Handle? %an7%%an12                              } {DISP 9,46,,} {SEND %an7%%an12}
  858.   {GETS temp,30,EC1}
  859.   {DISP 10,38,,%an3%Checking...}
  860.   {LENG %temp} {COMP %_len,3} {IFCO-L EC2}
  861.   {COMP temp,new} {IFCO EC2}
  862.   {COMP temp,1} {IFCO-GE EC2}
  863.   {SETV to,%temp}
  864.   {CALL match_name_userno}
  865.   {COMP t,1} {SETV t} {IFCO EC2}
  866.   {SEND %an0} {DISP 10,38,07,Password?                }
  867.   {DISP 10,38,07,Password? }
  868. {:EC11} {GETS password,15,EC11}
  869.   {DISP 11,38,07,Access Level? }
  870.   {SETV protocol,z}
  871. {:EC16} {GETS al,3,EC16}
  872. {:EC3} {DISP 13,38,0C,Ok to save? (%an0%Y%an1,n) :%an0  ^H}
  873.   {GETS-H ch,1,EC4}
  874.   {COMP ch,y} {IFCO EC4}
  875.   {COMP ch,n} {IFCO EC2,EC3}
  876. {:EC4} {DISP 14,38,07,Saving #%na...}
  877.   {SETV login_name,%temp} {SETV userno,%na}
  878.   {COMP userno,%uhigh} {IFCO-LE EC17}
  879.   {CALL read_data}
  880.   {SETV uhigh,%na} {SETV login_name,%l_caller} {SETV userno,%luserno}
  881.   {CALL write_data}
  882.   {SETV login_name,%temp} {SETV userno,%na}
  883.   {WOPE-A %datadir%TIMEUSED.LOG} {WRIT %tlc} {WCLO}
  884. {:EC17} {CALL write_user}
  885.   {WOPE-A %datadir%CALLERS.LST}
  886.   {WRIT %userno}
  887.   {WRIT %login_name}
  888.   {WRIT %password}
  889.   {WCLO}
  890.   {GOTO ECA}
  891.  
  892. {:EC5} {CALL blank_box}
  893.   {DISP 7 ,46,0E,Edit a Caller Record}
  894.   {DISP 9 ,38,0F,Enter a Handle or ID#.}
  895.   {DISP 10,38,07,: } {SEND %an3}
  896.   {GETS ch,30,EC1}
  897.   {DISP 11,38,,}
  898.   {SETV to,%ch}
  899.   {CALL match_name_userno}
  900.   {COMP t,1} {IFCO ,EC5} {SETV t}
  901. {:EC6} {DISP 12,38,07,Edit%an4 %to%%an0?}
  902.   {DISP 13,43,0C,(%an0%Y%an1,n) :  ^H}
  903.   {GETS-H ch,1,EC7}
  904.   {COMP ch,y} {IFCO EC7}
  905.   {COMP ch,n} {IFCO EC5,EC6}
  906. {:EC7} {CALL blank_box}
  907.   {SETV userno,%tono}
  908.   {CALL read_user}
  909.   {DISP 7 ,50,07,Account #%userno}
  910.   {DISP 8 ,38,07,Handle: %an7%%login_name}
  911.   {DISP 9 ,38,07,Pword : %an7%%password}
  912.   {DISP 10,38,07,AL    : %an7%%al}
  913.   {DISP 11,38,0D,(Press ENTER to keep the same)}
  914.   {DISP 12,38,07,Handle? %an7%%an12                              } {DISP 12,46,,} {SEND %an7%%an12}
  915.   {GETS ch,30,EC8}
  916.   {DISP 13,38,07,}
  917.   {SETV login_name,%ch} {SEND %an0} {DISP 13,38,0C,Wait...}
  918.   {CALL update_clist} 
  919. {:EC8} {SEND %an0}
  920.   {DISP 13,38,07,Password: }
  921.   {GETS ch,15,EC9}
  922.   {SETV password,%ch} {DISP 14,38,0C,Wait...}
  923.   {CALL update_clist}
  924. {:EC9} {DISP 14,38,07,Access Level? }
  925.   {GETS ch,3,EC10}
  926.   {SETV al,%ch}
  927. {:EC10} {DISP 15,38,0C,Saving...}
  928.   {CALL write_user}
  929.   {GOTO EC5}
  930.  
  931. {:EC13} {CALL blank_box}
  932.   {DISP 7 ,46,0F,%an7%%an9%DELETE%an3 a Caller Record}
  933.   {DISP 9 ,38,0F,Enter a Handle or ID#.}
  934.   {DISP 10,38,07,: } {SEND %an1}
  935.   {GETS ch,30,EC1}
  936.   {SETV to,%ch}
  937.   {DISP 7 ,46,0F,%an7%DELETE%an3 a Caller Record}
  938.   {DISP 11,38,,}
  939.   {CALL match_name_userno}
  940.   {COMP t,1} {SETV t} {IFCO ,EC13}
  941. {:EC14} {DISP 12,38,,%an7%DELETE%an1 %to%%an7?}
  942.   {DISP 13,45,07,(y/%an7%N%an0) :  ^H}
  943.   {GETS ch,1,EC13}
  944.   {COMP ch,n} {IFCO EC13}
  945.   {COMP ch,y} {IFCO ,EC14}
  946.   {DISP 15,38,,%an7%%an9%DELETING}
  947.   {SETV userno,%tono}
  948.   {EXEC-N DEL %userdir%%userno.USR}
  949.   {EXEC-N DEL %userdir%INDEX\%userno.DAT}
  950.   {EXEC-N DEL %userdir%DATA\%userno.DAT}
  951.   {EXEC-N DEL %msgsdir%E%userno-*.*}
  952.   {EXEC-N DEL %userdir%REGS\%userno.REG}
  953.   {EXEC-N DEL %msgsdir%INDEX\%userno.IDX}
  954.   {EXEC-N DEL %msgsdir%TAGS\%userno.TAG}
  955.   {EXEC-N DEL %readdir%TAGS\%userno.OLR}
  956.   {SETV s,1} {CALL update_clist} {SETV s}
  957.   {CALL get_cinfo}
  958.   {COMP userno,%high} {IFCO-L EC1}
  959.   {CALL read_data)
  960.   {SETV uhigh,%high} {SETV login_name,%l_caller} {SETV userno,%luserno}
  961.   {CALL write_data)
  962.   {GOTO EC1}
  963.  
  964. {:EFA}
  965.   {SEND %an0}
  966.   {DISP 15,3,,%an7%%an9 Scanning...}
  967.   {CALL get_finfo}
  968.   {CALL EO2}
  969. {:EF1} {SEND %an0}
  970.   {SETV dline,File Area(s)}
  971.   {CALL AE1}
  972.   {COMP ch,e} {IFCO EF5}
  973.   {COMP ch,r} {IFCO EF15}
  974.   {COMP ch,d} {IFCO EF13,EF2}
  975.  
  976. {:get_finfo}
  977.   {SETV high,0} {SETV total,0} {SETV na,0} {SETV temp,0}
  978. {:EF} {INCR temp} {COMP temp,%fhigh} {IFCO-G EF0}
  979.   {IFEX %filedir%F%temp.BAS,,EF}
  980.   {SETV high,%temp}
  981.   {INCR total} {GOTO EF}
  982. {:EF0} {INCR na} {IFEX %filedir%F%na.BAS,EF0}
  983.   {RETURN}
  984.  
  985. {:EF15}
  986.   {CALL blank_box}
  987.   {DISP 7 ,46,0E,Review File Area(s)}
  988. {:EF17} {DISP 9 ,38,0F,Begin at which area? %an0(1-%fhigh) :   ^H^H}
  989.   {GETS a,2,EF1}
  990.   {IFEX %filedir%F%a.BAS,,EF17}
  991. {:EF18} {ROPE %filedir%F%a.BAS,EF5} {READ bname} {READ bal} {RCLO}
  992.   {CALL blank_box}
  993.   {DISP 8 ,50,0E,File Area %a}
  994.   {DISP 10,38,07,Name: %an7%%bname}
  995.   {DISP 11,38,07,AL  : %an7%%bal}
  996.   {CALL spacebar}
  997.   {COMP ch, } {IFCO ,EF1}
  998. {:EF19} {INCR a}
  999.   {COMP a,%fhigh} {IFCO-G EF1}
  1000.   {IFEX %filedir%F%a.BAS,EF18,EF19}
  1001.  
  1002. {:EF2} {CALL blank_box}
  1003.   {DISP 7 ,49,0E,Add a File Area}
  1004.   {DISP 9 ,38,07,Name? %an7%%an12                              } {DISP 9 ,44,,} {SEND %an7%%an12}
  1005.   {GETS bname,30,EF1}
  1006.   {SEND %an0} {DISP 10,38,07,Access Level? }
  1007. {:EF11} {GETS bal,3,EF11}
  1008. {:EF3} {DISP 12,38,0C,Ok to save? (%an0%Y%an1,n) :%an0  ^H}
  1009.   {GETS-H ch,1,EF12}
  1010.   {COMP ch,y} {IFCO EF12}
  1011.   {COMP ch,n} {IFCO EF2,EF3}
  1012. {:EF12} {SETV fa,%na}
  1013.   {DISP 14,38,07,Saving area #%fa...}
  1014.   {COMP fa,%fhigh} {IFCO-LE EF16}
  1015.   {CALL read_data}
  1016.   {SETV fhigh,%fa} {SETV login_name,%l_caller} {SETV userno,%luserno}
  1017.   {CALL write_data}
  1018. {:EF16} {WOPE %filedir%F%fa.BAS} {WRIT %bname} {WRIT %bal} {WCLO}
  1019.   {WOPE %filedir%F%fa.LST}
  1020.   {WRIT -  unvalidated}
  1021.   {WRIT   Filename         Size   Description}
  1022.   {WRIT ------------------------------------------------------------------------------}
  1023.   {WCLO}
  1024.   {EXEC-N MD %filedir%F%fa}
  1025.   {GOTO EFA}
  1026.  
  1027. {:EF5} {CALL blank_box}
  1028.   {DISP 7 ,49,0E,Edit a File Area}
  1029.   {DISP 9 ,38,0F,Edit which? (1 - %fhigh) : }
  1030.   {GETS fa,2,EF1}
  1031.   {COMP fa,1} {IFCO-L EF5}
  1032.   {COMP fa,%fhigh} {IFCO-G EF5}
  1033.   {IFEX %filedir%F%fa.BAS,,EF5}
  1034.   {ROPE %filedir%F%fa.BAS,EF5} {READ bname} {READ bal} {RCLO}
  1035. {:EF7} {CALL blank_box}
  1036.   {DISP 7 ,50,0F,File Area #%fa}
  1037.   {DISP 9 ,38,07,Name: %an7%%bname}
  1038.   {DISP 10,38,07,AL  : %an7%%bal}
  1039.   {DISP 11,38,0D,(Press ENTER to keep same info)}
  1040.   {DISP 12,38,07,Name? %an7%%an12                              } {DISP 12,44,,} {SEND %an12}
  1041.   {GETS ch,30,EF9}
  1042.   {SETV bname,%ch}
  1043. {:EF9} {SEND %an0} {DISP 13,38,07,AL  : }
  1044.   {GETS ch,3,EF10}
  1045.   {SETV bal,%ch}
  1046. {:EF10} {DISP 15,38,0C, Saving...}
  1047.   {WOPE %filedir%F%fa.BAS} {WRIT %bname} {WRIT %bal} {WCLO}
  1048.   {GOTO EF5}
  1049.  
  1050. {:EF13} {CALL blank_box}
  1051.   {DISP 7 ,49,0F,%an7%%an9%DELETE%an3 a File Area}
  1052.   {DISP 9 ,38,0F,DELETE which? (1 - %fhigh) : }
  1053.   {GETS fa,2,EF1}
  1054.   {COMP fa,1} {IFCO-L EF13}
  1055.   {COMP fa,%fhigh} {IFCO-G EF13}
  1056.   {IFEX %filedir%F%fa.BAS,,EF13}
  1057.   {DISP 7 ,49,0F,%an7%DELETE%an3 a File Area}
  1058.   {ROPE %filedir%F%fa.BAS,EF13} {READ bname} {READ bal} {RCLO}
  1059.   {CALL blank_box}
  1060.   {DISP 7 ,38,0E,      File Area #%fa}
  1061.   {DISP 9 ,38,07,Name: %an0%%bname}
  1062.   {DISP 10,38,07,AL  : %an0%%bal}
  1063. {:EF14} {DISP 12,38,,%an7%DELETE?  %an0(y,%an7%N%an0) :  ^H}
  1064.   {GETS ch,1,EF13}
  1065.   {COMP ch,n} {IFCO EF13}
  1066.   {COMP ch,y} {IFCO ,EF14}
  1067.   {EXEC-N DEL %filedir%F%fa\*.*}
  1068.   {DISP 14,38,,%an7%%an9%DELETING}
  1069.   {EXEC-N DEL %filedir%F%fa.*}
  1070.   {EXEC-N RD %filedir%F%fa}
  1071.   {CALL get_finfo}
  1072.   {COMP fa,%high} {IFCO-L EF1}
  1073.   {CALL read_data)
  1074.   {SETV fhigh,%high} {SETV login_name,%l_caller} {SETV userno,%luserno}
  1075.   {CALL write_data)
  1076.   {GOTO EF1}
  1077.  
  1078. {:AE1}
  1079.   {CALL blank_box}
  1080.   {DISP 7 ,38,0E,%dline:}
  1081.   {DISP 10,38,07,High # . . . . . . .%an7 %high}
  1082.   {DISP 9 ,38,07,In use . . . . . . .%an7 %total}
  1083.   {DISP 11,38,07,Next available . . .%an7 %na}
  1084. {:AE2} {DISP 15,42,07,Press ENTER for Master SysMenu}
  1085.   {DISP 13,38,07,(%an7%A%an0)dd, (%an7%D%an0)elete, (%an7%E%an0)dit or (%an7%R%an0)eview?  ^H}
  1086.   {GETS-H ch,1,menu}
  1087.   {SETV dline,ader}
  1088.   {INST dline,%ch} {IFCO ,AE2}
  1089.   {RETURN}
  1090.  
  1091. {:list_ed}
  1092.   {CALL blank_box}
  1093.   {DISP 15,3,0E, Which? %an0(1 - %fhigh) :    ^H^H^H}
  1094.   {GETS ch,2,LE}
  1095.   {COMP ch,1} {IFCO-L list_ed}
  1096.   {COMP ch,%fhigh} {IFCO-G list_ed}
  1097.   {EDIT %filedir%F%ch.LST}
  1098. {:LE} {CALL EO2}
  1099.   {GOTO menu}
  1100.  
  1101. ///////////////////////////////////////////////////////////////////////////
  1102.  
  1103. {:blank_box}
  1104.   {SETV mic,6}
  1105.   {DISP 6 ,36,07,╔═════════════════════════════════════════╗
  1106.   {DISP 7 ,36,07,║                                         ║}
  1107.   {DISP 8 ,36,07,║                                         ║}
  1108.   {DISP 9 ,36,07,║                                         ║}
  1109.   {DISP 10,36,07,║                                         ║}
  1110.   {DISP 11,36,07,║                                         ║}
  1111.   {DISP 12,36,07,║                                         ║}
  1112.   {DISP 13,36,07,║                                         ║}
  1113.   {DISP 14,36,07,║                                         ║}
  1114.   {DISP 15,36,07,║                                         ║}
  1115.   {DISP 16,36,07,╚═════════════════════════════════════════╝}
  1116.   {SETV mic}
  1117.   {RETURN}
  1118.  
  1119. {:WF5}
  1120.   {DISP 6 ,36,17,╔═════════════════════════════════════════╗
  1121.   {DISP 7 ,36,17,║    Embryo     ____    by Shad Muegge    ║}
  1122.   {DISP 8 ,36,17,║   ---------^|\/ o  \------------------   ║}
  1123.   {DISP 9 ,36,17,║        ____^|    ,__^| Association of     ║}
  1124.   {DISP 10,36,17,║       /  o \/^|____/  Babble Fish        ║}
  1125.   {DISP 11,36,17,║      ^|__,    ^|____   Programmers        ║}
  1126.   {DISP 12,36,17,║       \____^|\/ o  \                     ║}
  1127.   {DISP 13,36,17,║            ^|    ,__^| MEMBER             ║}
  1128.   {DISP 14,36,17,║   ---------^|/\____/------------------   ║}
  1129.   {DISP 15,36,17,║                                         ║}
  1130.   {DISP 16,36,17,╚═════════════════════════════════════════╝}
  1131.   {RETURN}
  1132.  
  1133.