home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
comm
/
mbbs25a4.zip
/
MACROBBS.MAC
< prev
next >
Wrap
Text File
|
1993-05-30
|
57KB
|
2,022 lines
MacroBBS 2.5 ALPHA
by Jeff Oberlee (C)opyright 1992,93
{:ALR} {GOTO WF3} {:ALU} {GOTO BBS}
{:setup}
{CLEA}
{STAT n} {LIGH y} {LOCA n} {SPOC y} {CURS n}
{SETE time_out}
{DISP 1,1,0F,Setup}
{SETV s}
┌── * CONFIGURATION *
│
│ {IFEX %_hom%MACROBBS.CFG,,err}
│ {DISP 2,1,0E,Reading MacroBBS configuration...}
│ {ROPE %_hom%MACROBBS.CFG,err}
│ {READ bbs}
│ {COMP bbs,BBS's name here} {IFCO err}
│ {READ sysop}
│ {READ syspass}
│ {READ datadir}
│ {IFEX %datadir%*.*,,err}
│ {READ msgsdir}
│ {READ max}
│ {READ userdir}
│ {IFEX %userdir%*.*,,err}
│ {READ filedir}
│ {READ mspeed}
│ {READ initstr}
│ {READ bw}
│ {READ term}
│ {SETV dline,atv} {INST %dline,%term} {IFCO ,err}
│ {READ cb}
│ {READ dal}
│ {READ sal}
│ {READ ring}
│ {READ connect}
│ {READ tlc}
│ {READ lock}
│ {READ bink}
│ {READ para}
│ {READ nicd}
│ {READ uicd}
│ {READ pp}
│ {READ busy}
│ {READ nual}
│ {READ maindir}
│ {IFEX %maindir%\*.*,,err}
│ {READ clr1}
│ {READ hang}
│ {READ hflo} {HFLO %hflo} {SETV hflo}
│
│ {COMP bink,y} {IFCO ,RC1}
│ {SEND ^J^MResetting...}
│ {READ myno}
│ {READ tagline}
│ {:RC1} {RCLO}
│ {RETURN}
└──
{:init}
{DISP 3,1,0E,Initializing modem...} {DISP 4,1,,}
{SEND %initstr^J^M}
{RETURN}
{:err} {RCLO}
{CLEA} {SEND ^G^G}
{SPOC n} {LOCA n}
{DISP 2,2,0C,MacroBBS must be configured for your system before it will work properly.}
{DISP 3,2,07,You should only have to do this once to initialize the system. But you may}
{DISP 4,2,07,re-configure MacroBBS whenever you want to make changes.}
{DISP 6,2,0F,PLEASE be sure to answer ALL questions accurately and make SURE}
{DISP 7,2,0F,all disk directories that you specify do indeed exist on your disk.}
{PAUS 3}
{:ER0} {DISP 10,2,07,Press the SPACEBAR to run the CONFIG module.... ^H}
{:ER!} {GETS-H ch,1,ER1}
{COMP ch, } {IFCO ER2,ER0}
{:ER2} {MACL MACROCFG.MAC,start}
{:cd}
{IFCA cd1}
{COMP on,1} {IFCO time_out}
{:cd1} {COMP on,1} {IFCO ,cd2}
{COMP _ela,%tlc} {IFCO-GE gby2}
{:cd2} {RETURN}
{:cls}
{COMP mnu,A} {IFCO CLS1}
{SEND ^[[2J}
{GOTO CLS2}
{:CLS1} {SEND ^L}
{:CLS2}
{COMP on,} {IFCO CLS3}
{DISP 1,1,4F,│ }
{DISP 1,3,4E,%login_name #%userno}
{DISP 1,40,47,AL=%al}
{DISP 1,49,47,%mspeed}
{DISP 1,57,47,%_ela mins}
{DISP 1,70,4F,%an9%%chat}
{DISP 2,1,4F,│ }
{DISP 2,3,47,%rname - %from}
{DISP 3,1,4F,└──────────────────────────────────────────────────────────────────────────────}
{DISP 4,1,07,}
{:CLS3} {RETURN}
{:press_any_key}
{COMP mnu,a} {IFCO PAK1}
{SEND %an3%%an9^[[24;1h^[[24;1f[Press Any Key]%an0}
{GOTO PAK2}
{:PAK1} {SEND ^J^M^J[Press Any Key]}
{:PAK2} {SETG 300,time_out}
{GETS-H temp,1,PAK}
{:PAK} {SEND ^M ^M}
{SETV temp}
{RETURN}
{:ascii_ul}
{COMP mnu,A} {IFCO AU1}
{SEND ^[[2J} {GOTO AU2}
{:AU1} {SEND ^L}
{:AU2}
{IFEX %dump_file,,AU3}
{PARM ,,,,%uicd}
{ASCI-S0 %dump_file,}
{PARM ,,,,%nicd}
{:AU3} {RETURN}
{:dsp_file}
{IFEX %dump_file,,DF5}
{SETE time_out}
{SETV count,0}
{ROPE %dump_file,DF3}
{COMP e,1} {IFCO ,DF}
{INCR count,2} {READ dline}
{READ dline} {SEND %an7%To: %an3%%dline^J^M} {INCR count}
{READ dline} {SEND %an7%From: %an1%%dline^J^M} {INCR count}
{READ dline} {SEND %an7%Subj: %an4%%dline^J^M} {INCR count}
{READ dline} {SEND %an7%Date: %an0%%dline^J^M} {INCR count}
{:DF} {PUSH}
{SETE-P0 esc_menu}
{:DF1} {READ dline}
{COMP e,1} {IFCO ,DF8}
{COMP dline,&▀▀▀▀▀▀ Quote ▀▀▀▀▀▀} {IFCO ,DF11}
{SETV dline,%an4▀▀▀▀▀▀ %an7%Quote %an4▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀%an7}
{GOTO DF12}
{:DF11} {COMP dline,&▄▄▄▄▄▄ UnQuote ▄▄▄▄▄▄} {IFCO ,DF12}
{SETV dline,%an4▄▄▄▄▄▄ %an7%UnQuote %an4▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄%an0}
{:DF12} {SEND ^M%dline^J^M}
{GOTO DF10}
{:DF8} {SEND ^M%dline^J^M}
{:DF10} {INCR count}
{COMP count,22} {IFCO DF4}
{GOTO DF1}
{:DF2} {RCLO}
{:DF3} {SETV dline} {SETV ch} {SETV count}
{SETG 300,time_out}
{POPS}
{RETURN}
{:DF4} {SETV count,0}
{SEND More? (Y,n) : }
{SETG 300,DF9}
{:DF6} {CALL cd}
{GETS-H ch,1,DF7}
{COMP ch,y} {IFCO DF7}
{COMP ch,n} {IFCO DF7}
{SEND ^H} {GOTO DF6}
{:DF7} {SEND ^M ^M}
{COMP ch,n} {IFCO DF2}
{:DF9} {COMP clr2,n} {IFCO DF1}
{CALL CLS}
{SEND ^J^M}
{GOTO DF1}
{:DF5} {SEND ^J^M^G%an1%Error: %an7%File not found: %dump_file}
{CALL press_any_key}
{SETG 300,time_out}
{RETURN}
{:screen_full}
{SEND %an4%More? %an7(Y,n) %an0: }
{CALL cd}
{SETG 300,SF3}
{:SF1} {GETS-H ch,1,SF2}
{COMP ch,y} {IFCO SF4}
{COMP ch,n} {IFCO SF4}
{SEND ^H} {GOTO SF1}
{:SF2} {SETV ch,y} {GOTO SF4}
{:SF3} {SETV ch,n}
{:SF4} {SEND ^M ^M}
{SETG 300,time_out}
{RETURN}
{:expert_tog}
{COMP expert,ON}
{IFCO ET1}
{SETV expert,ON}
{GOTO ET2}
{:ET1} {SETV expert,OFF}
{:ET2} {RETURN}
{:esc_menu}
{IFCA ,ESM} {SEND ^J^M%an7%%an9%Time comes to a grinding halt! %an0}
{:ESM} {SETE-P0 ESM2} {SETV ch}
{PARM ,,,,%nicd}
{INPU ch, PRESS: [ENTER] to CHAT, [U]seredit, [D]OS, [H]angup}
{COMP ch,h} {IFCO ESM4}
{COMP ch,d} {IFCO ESM5}
{COMP on,} {IFCO ESM}
{COMP ch,u} {IFCO ESM8}
{COMP ch,} {IFCO ,ESM}
{:ESM1} {COMP cf,} {IFCO CT8,ESM}
{:ESM2} {SETE-P0 esc_menu}
{IFCA ,ESM6} {SEND %an3%Then suddenly...} {PAUS 1}
{:ESM6} {RETURN}
{:ESM5} {SHEL} {EXEC-N CD %maindir} {GOTO ESM}
{:ESM8} {COMP login_name,} {IFCO ESM}
{SETV lname,%login_name} {INPU lname,EDIT: Handle (3-30 characters)}
{COMP lname,1} {IFCO-GE ESM8}
{LENG %lname} {COMP _len,3} {IFCO-L ESM8}
{LENG %lname} {COMP _len,30} {IFCO-G ESM8}
{:ESM10} {SETV ch,%al} {INPU ch,EDIT: Access Level (0-999)}
{COMP ch,999} {IFCO-G ESM10}
{:ESM9} {SETV temp,%pcpd} {INPU temp,EDIT: Time limit per Day/Call (D/C)}
{COMP temp,c} {IFCO ESM11}
{COMP temp,d} {IFCO ,ESM9}
{:ESM11}
{SETV al,%ch}
{SETV pcpd,%temp}
{SETV row,%_row} {SETV col,%_col} {DISP 2,2,0F,%an9 * Saving * }
{COMP lname,%login_name} {IFCO ESM7}
{SETV login_name,%lname}
{SETE time_out}
{CALL update_clist}
{:ESM7} {CALL write_user}
{DISP 2,2,07, }
{DISP %row,%col,,}
{SETV row} {SETV col} {SETV lname}
{GOTO ESM}
{:ESM4} {SETV s,2} {GOTO time_out}
{:get_name}
{PUSH}
{:GN1} {CALL cd}
{SEND ^J^M%an7%Enter your name or handle:%an4 }
{:GN0} {GETS lname,30,GN0}
{SEND ^J^M%an3%Checking...}
{LENG %lname} {COMP %_len,3} {IFCO-L GN2}
{COMP lname,new} {IFCO GN6}
{COMP lname,1} {IFCO-GE GN6}
{IFEX %datadir%CALLERS.LST,,GN5}
{ROPE %datadir%CALLERS.LST,GN5}
{:GN4} {READ ch} {READ dline} {READ cline}
{COMP lname,%dline} {IFCO GN3,GN4}
{:GN5} {SEND %an7 OK}
{SETV login_name,%lname} {SETV lname} {SETV dline} {SETV cline}
{POPS}
{RETURN}
{:GN2} {SEND ^G%an1%Invalid handle. %an0%Must be at least 3 characters long.}
{GOTO GN1}
{:GN3} {RCLO} {SEND ^G%an1%Sorry! That handle is being used already.^J^M}
{:GN6} {SEND %an1%Please choose something else...}
{GOTO GN1}
{:get_rname}
{PUSH}
{SEND ^J^M%an7%For the records, what's your REAL name?}
{SEND ^J^M%an0(Press ENTER if your system handle IS your real name.)^J^M}
{SEND %an0->%an5 }
{GETS rname,30,GN7}
{:GN8} {POPS}
{RETURN}
{:GN7} {SETV rname,%login_name}
{SEND %rname}
{GOTO GN8}
{:get_from}
{PUSH}
{SEND ^J^M%an7%Where are you calling from? %an0(City, State)^J^M}
{SEND %an0->%an1 }
{:GN9} {GETS from,30,GN9}
{POPS}
{RETURN}
{:get_pass}
{CALL cd}
{:GP1} {GETS-P pass,15,GP1}
{CALL cd}
{RETURN}
{:read_user}
{ROPE %userdir%%userno.USR,RU1}
{READ login_name}
{READ password}
{READ al}
{READ protocol}
{READ expert}
{READ a}
{READ fa}
{READ l_call}
{READ rname}
{READ from}
{READ pcpd}
{READ clr2}
{READ arcer}
{READ arc}
{RCLO}
{:RU1}
{IFEX %msgsdir%INDEX\%userno.IDX,,RU3}
{ROPE %msgsdir%INDEX\%userno.IDX,RU3}
{SETV mic,0}
{:RU2} {INCR mic}
{READ a%mic} {COMP mic,%mhigh} {IFCO ,RU2} {RCLO}
{:RU3}
{SETV mic}
{RETURN}
{:write_user}
{WOPE %userdir%%userno.USR}
{WRIT %login_name}
{WRIT %password}
{WRIT %al}
{WRIT %protocol}
{WRIT %expert}
{WRIT %a}
{WRIT %fa}
{WRIT %_dwt %_dat}
{WRIT %rname}
{WRIT %from}
{WRIT %pcpd}
{WRIT %clr2}
{WRIT %arcer}
{WRIT %arc}
{WCLO}
{WOPE %msgsdir%INDEX\%userno.IDX}
{SETV mic,0}
{:WU1} {INCR mic}
{COMP mic,%mhigh} {IFCO-G WU2}
{SETV-S ch,a%mic} {COMP ch,} {IFCO WU3}
{WRIT %ch} {GOTO WU1}
{:WU3} {WRIT 1} {SETV a%mic,1} {GOTO WU1}
{:WU2}
{WCLO}
{SETV mic}
{RETURN}
{:read_data}
{ROPE %datadir%CALLER.DAT,RD1}
{READ %callno}
{READ %tdcalls}
{READ pub}
{READ pvt}
{READ ttu}
{READ tf}
{READ ldate}
{READ stime}
{READ ftime}
{READ l_caller}
{READ luserno}
{READ uhigh}
{READ mhigh}
{READ fhigh}
{RCLO}
{:RD1} {RETURN}
{:write_data}
{WOPE %datadir%CALLER.DAT}
{WRIT %callno}
{WRIT %tdcalls}
{WRIT %pub}
{WRIT %pvt}
{WRIT %ttu}
{WRIT tf}
{WRIT %ldate}
{WRIT %stime}
{WRIT %ftime}
{WRIT %login_name}
{WRIT %userno}
{WRIT %uhigh}
{WRIT %mhigh}
{WRIT %fhigh}
{WCLO}
{RETURN}
{:new_user}
{SETV new,1}
{SETV dump_file,%datadir%NEWUSER%mnu.MNU}
{CALL ascii_ul}
{CALL get_name}
{CALL get_rname}
{CALL get_from}
{:NU10} {PUSH}
{SEND ^J^M%an7%Please choose a password. You will need it each time you log-on.^J^M}
{:NU1} {SEND %an0%Password:%an3 }
{:NU7} {CALL cd}
{GETS password,15,NU7}
{LENG %password} {COMP %_len,4} {IFCO-GE NU3}
{SEND ^J^M%an1%Invalid password. %an0%Must be at least 4 characters long.^J^M}
{GOTO NU1}
{:NU3}
{IFEX MACRODAT.MAC,,NU11}
{MACL MACRODAT.MAC,get_protocol}
{:NU11} {SETV count,0} {SETV al,%nual} {SETV pcpd,d}
{:NU2} {INCR count} {IFEX %userdir%%count.USR,NU2}
{SETV userno,%count}
{SEND ^J^M^J%an3%Your Caller ID# is%an0 %userno}
{COMP userno,%uhigh} {IFCO-LE NU9}
{SETV uhigh,%userno}
{WOPE-A %datadir%TIMEUSED.LOG} {WRIT %tlc} {WCLO}
{:NU9} {SEND ^J^M%an1%Saving your information...}
{WOPE-A %datadir%LOG-1.LOG} {WRIT ▒▒ NEW CALLER ▒▒ %login_name #%userno} {WCLO}
{:NU6}
{SETV mic,0}
{:AI} {INCR mic}
{COMP mic,%mhigh} {IFCO-G AI2}
{SETV a%mic,1} {GOTO AI}
{:AI2} {SETV mic}
{CALL write_user}
{WOPE-A %datadir%CALLERS.LST}
{WRIT %userno}
{WRIT %login_name}
{WRIT %password}
{WCLO}
{CALL write_data}
{SEND ^J^M%an0%Please re-enter your name and password for verification.^J^M}
{:NU8} {GOTO login_user}
{:login_user}
{PUSH}
{SETV success} {SETV tries,0}
{:LU0} {INCR tries} {COMP tries,5} {IFCO LU4}
{SEND ^J^M%an2%Login : %an7}
{SETG 300,gbye}
{CALL cd}
{GETS to,30,LU0}
{CALL cd}
{INST to,*} {IFCO LU0}
{INST to,?} {IFCO LU0}
{INST to,,} {IFCO LU0}
{SETG 300,time_out}
{COMP to,new} {IFCO ,LU8}
{COMP new,1} {IFCO LU0,new_user}
{:LU8} {SEND ^J^M^J%an3%%an9%Verifying}
{IFEX %userdir%%to.USR,,LU12}
{SETV userno,%to}
{CALL read_user}
{SETV dline,%password} {SETV tono,%userno}
{GOTO LU11}
{:LU12} {CALL match_name_userno}
{SEND ^M}
{COMP t,1} {SETV t} {IFCO LU11}
{:LU6} {SEND %an0 Type "%an7%%an9%NEW%an0" if you're 100%% POSITIVE you logged-in correctly.^J^M}
{WOPE-A %datadir%LOG-1.LOG} {WRIT ▒░▒░▒ NAME NOT FOUND: "%to" ▒░▒░▒} {WCLO}
{GOTO LU0}
{:LU11} {SETV new}
{POPS}
{:LU7} {PUSH}
{SETV ptries,0}
{:LU3} {INCR ptries}
{COMP ptries,4} {IFCO LU4}
{SEND ^M%an2%Password:%an7 }
{CALL get_pass}
{COMP dline,%pass} {IFCO LU5}
{SEND ^J^M%an1%Incorrect password.^J^M^J}
{WOPE-A %datadir%LOG-1.LOG} {WRIT ▒░▒░▒ ENTERED INCORRECT PASSWORD: "%pass" ▒░▒░▒} {WCLO}
{GOTO LU3}
{:LU5}
{SEND ^J^M}
{SETV userno,%tono}
{CALL read_user}
{COMP rname,} {IFCO ,LU9}
{CALL get_rname}
{:LU9} {COMP from,} {IFCO ,LU10}
{CALL get_from}
{:LU10} {SETV success,y}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %login_name #%userno} {WCLO}
{SEND ^J^M%an0%One moment please...}
{:LU4}
{SETV tries} {SETV ptries} {SETV lname} {SETV pass}
{SETV dline} {SETV to} {SETV tono}
{POPS}
{GOTO BB}
{:edit_system}
{SETE-P0 esc_menu}
{SEND ^M ^M}
{:ES0}
{PUSH}
{SEND ^J^M%an1%Editor: %an7%A%an0%bort,%an7%C%an0%ont,%an7%D%an0%elete,%an7%E%an0%dit,%an7%I%an0%nsert,%an7%L%an0%ist,%an7%R%an0%eplace,%an7%S%an0%ave: %an3}
{SETG 300,time_out}
{:ES1} {GETS-H ch,1,ES1}
{COMP ch,a} {IFCO abort}
{COMP ch,c} {IFCO continue}
{COMP ch,d} {IFCO delete}
{COMP ch,e} {IFCO edit_line}
{COMP ch,i} {IFCO insert}
{COMP ch,l} {IFCO list}
{COMP ch,r} {IFCO replace}
{COMP ch,s} {IFCO save}
{:ES3} {SEND ^H} {GOTO ES1}
{:abort}
{SETE time_out}
{POPS}
{SEND bort^J^M}
{SETV dline}
{GOTO BB13}
{:continue}
{COMP lineno,%max} {IFCO ES3}
{SETE time_out}
{POPS}
{SEND ontinue^J^M}
{SEND ^M%an7%Ok. Carry on... :)%an3^J^M}
{GOTO BB27}
{:delete}
{COMP lineno,0} {IFCO ES3}
{SEND elete}
{SEND ^J^M^J}
{:D5} {SEND ^M%an7%DELETE%an4 From Line #:%an0 ^H^H^H}
{GETS ch1,3,R1}
{COMP ch1,1} {IFCO-L D5}
{COMP ch1,%lineno} {IFCO-G D5}
{SEND ^J^M}
{:D6} {SEND ^M%an4 To Line #:%an0 ^H^H^H}
{GETS ch2,3,R1}
{COMP ch2,%ch1} {IFCO-L D6}
{COMP ch2,%lineno} {IFCO-G D6}
{CALL range_dsp}
{SEND ^J^M^J%an7%Are you sure? %an0(%an7%Y%an0,n) :%an7 }
{:D3} {GETS-H ch,1,D4}
{COMP ch,y} {IFCO D4}
{COMP ch,n} {IFCO R1}
{SEND ^H} {GOTO D3}
{:D4} {COMP ch2,%lineno} {IFCO D2}
{:D7} {INCR ch2} {SETV-S line%ch1,line%ch2} {INCR ch1}
{COMP ch2,%lineno} {IFCO ,D7}
{:D2} {DECR ch1} {SETV lineno,%ch1}
{:D8} {SEND ^J^M%an0%Line(s) deleted.^J^M}
{:D1} {RETURN}
{:edit_line}
{COMP lineno,0} {IFCO ES3}
{SEND dit^J^M^J}
{:EL5} {SEND ^M%an4%Line # to EDIT:%an0 ^H^H^H}
{GETS no,3,R1}
{COMP no,1} {IFCO-L EL5}
{COMP no,%lineno} {IFCO-G EL5}
{SEND ^J^M}
{SETV-S dline,line%no}
{:EL0}
{SEND ^J^M%an5%Line %no reads:^J^M}
{SEND %an7%%dline^J^M}
{SEND ^J^M%an0%Type the string to replace, or press ENTER to abort.^J^M%an3}
{GETS oldstr,60,EL1}
{INST dline,%oldstr}
{COMP %_pos,0} {IFCO-G EL2}
{SEND ^J^M^J%an1%String not found.^J^M}
{GOTO EL0}
{:EL2} {SETV spos,%_pos}
{LENG %oldstr} {SETV olen,%_len}
{SETV mx,0}
{SETV ch,79} {LENG %dline} {DECR ch,%_len}
{INCR mx,%ch} {INCR mx,%olen}
{SEND ^J^M^J%an0%Type the replacement string, or press ENTER to cut.^J^M%an3}
{GETS newstr,%mx,EL3}
{:EL3} {SEND ^J^M}
{DECR spos}
{SUBS lstr,1,%spos,%dline}
{INCR spos,%olen} {INCR spos}
{SUBS rstr,%spos,100,%dline}
{SETV dline,%lstr%%newstr%%rstr%}
{SETV line%no,%dline}
{GOTO EL0}
{:EL1} {SETV olen} {SETV spos} {SETV lstr} {SETV rstr} {SETV newstr} {SETV mx}
{RETURN}
{:insert}
{COMP lineno,0} {IFCO ES3}
{COMP lineno,%max} {IFCO ES3}
{SEND nsert^J^M^J}
{:I4} {SEND ^M%an4%Line # to insert BEFORE:%an0 ^H^H^H}
{GETS no,3,R1}
{COMP no,1} {IFCO-L I4}
{COMP no,%lineno} {IFCO-G I4}
{SEND ^J^M^J%an5%INSERTING between these lines:}
{COMP no,1} {IFCO ,I2}
{SETV dline,*** BEGINNING OF MESSAGE ***}
{GOTO I3}
{:I2} {DECR no} {SETV-S dline,line%no} {INCR no}
{:I3} {SEND ^J^M^J%an7%%dline^J^M}
{SETV-S dline,line%no}
{SEND ^J^M%an7%%dline^J^M}
{SEND ^J^M%an0%Type the text for Line %no, or press ENTER to abort.^J^M%an3}
{GETS dline,79,I1} {SEND ^J^M}
{SETV ch1,%lineno} {INCR lineno} {SETV ch2,%lineno}
{:I5} {SETV-S line%ch2,line%ch1}
{DECR ch2} {DECR ch1}
{COMP ch2,%no} {IFCO ,I5}
{SETV line%ch2,%dline}
{SEND %an0%Line inserted.^J^M}
{:I1} {RETURN}
{:list}
{COMP lineno,0} {IFCO ES3}
{SEND ist^J^M}
{SETV no,0} {SETV count,1}
{SEND ^J^M}
{:L0} {SEND ^M%an7%Start listing at which line #?%an0 [1-%lineno, ENTER=1] :%an7 ^H^H^H}
{GETS-H ch,3,L2}
{COMP ch,1} {IFCO-L L0}
{COMP ch,%lineno} {IFCO-G L0}
{SETV count,%ch}
{:L2} {SEND ^J^M%an7%Include line numbers? %an0(y,%an7%N%an0) :%an7 }
{:L1} {GETS-H temp,1,L4}
{COMP temp,y} {IFCO L4}
{COMP temp,n} {IFCO L4}
{SEND ^H} {GOTO L1}
{:L4}
{SEND ^J^M^J%an3%Your message reads:^J^M^J%an0}
{:L6} {INCR no}
{SETV-S dline,line%count}
{COMP dline,&▀▀▀▀▀▀ Quote ▀▀▀▀▀▀} {IFCO ,L11}
{SETV dline,%an4▀▀▀▀▀▀ %an7%Quote %an4▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀%an7}
{GOTO L12}
{:L11} {COMP dline,&▄▄▄▄▄▄ UnQuote ▄▄▄▄▄▄} {IFCO ,L12}
{SETV dline,%an4▄▄▄▄▄▄ %an7%UnQuote %an4▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄%an0}
{:L12} {SEND %dline%%an0}
{COMP temp,y} {IFCO ,L7}
{SEND ^M%an7%%count:%an0}
{:L7} {SEND ^J^M}
{COMP count,%lineno} {IFCO L10}
{INCR count}
{COMP no,21} {IFCO ,L6}
{CALL screen_full}
{COMP ch,y} {SETV no,0} {IFCO L6}
{:L10} {SETV dline} {SETV count} {SETV no}
{RETURN}
{:replace}
{COMP lineno,0} {IFCO ES3}
{SEND eplace^J^M^J}
{:R2} {SEND ^M%an4%Line # to REPLACE:%an0 ^H^H^H}
{GETS no,3,R1}
{COMP no,1} {IFCO-L R2}
{COMP no,%lineno} {IFCO-G R2}
{SETV-S dline,line%no)
{SEND ^J^M^J%an5%Line %no reads:^J^M}
{SEND %an7%%dline^J^M}
{SEND ^J^M%an0%Type the new line, or press ENTER to abort.^J^M%an3}
{GETS dline,79,I1}
{SETV line%no,%dline}
{SEND ^J^M%an0%Line replaced.}
{:R1} {SEND ^J^M}
{RETURN}
{:save}
{SETE time_out}
{POPS}
{SEND ave}
{:S0} {SEND ^J^M^J%an1%Saving...}
{WOPE %dump_file}
{WRIT %userno}
{WRIT %to}
{WRIT %login_name}
{WRIT %subj}
{WRIT %_dat %_tim}
{WRIT }
{SETV ch,0}
{:S1} {INCR ch}
{COMP ch,%lineno} {IFCO-G S2}
{SETV-S dline,line%ch} {SETV line%ch}
{WRIT %dline}
{GOTO S1}
{:S2} {WCLO}
{SEND %an0%Ok}
{SETV subj} {SETV lineno} {SETV qcount}
{GOTO BB11}
{:range_dsp}
{SETV ch,%ch1}
{SEND ^J^M}
{:RDS}
{SETV-S dline,line%ch}
{SEND ^J^M%an7%%dline}
{COMP ch,%ch2} {IFCO-GE RDS1}
{INCR ch} {GOTO RDS}
{:RDS1} {RETURN}
{:quote}
{COMP r,1} {IFCO ,BB27}
{:Q1}
{SETV count,0}
{ROPE %quotemsg,Q7}
{READ dline} {READ dline} {READ dline}
{READ dline} {READ dline} {READ dline}
{SEND ^M ^M%an7%%an12 ^M}
{SEND Quoting %to ...^J^M}
{SEND %an7%%an12 SPACEBAR = Quote Line N = Skip Line Q = Quit ^J^M}
{:Q2} {SEND ^M%an0%%an13 ^M}
{READ dline}
{COMP dline,&▀▀▀▀▀▀ Quote ▀▀▀▀▀▀} {IFCO ,Q10}
{SETV dline,▀▀▀▀▀▀ Quote ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀}
{GOTO Q5}
{:Q10} {COMP dline,&▄▄▄▄▄▄ UnQuote ▄▄▄▄▄▄} {IFCO ,Q5}
{SETV dline,▄▄▄▄▄▄ UnQuote ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄}
{:Q5} {SEND %an0%%dline}
{:Q6} {GETS-H ch,1,Q6}
{COMP ch, } {IFCO Q3}
{COMP ch,n} {IFCO Q2}
{COMP ch,q} {IFCO ,Q6}
{RCLO}
{:Q7}
{COMP count,0} {IFCO Q9}
{INCR count} {INCR lineno}
{SETV line%lineno,&▄▄▄▄▄▄ UnQuote ▄▄▄▄▄▄}
{COMP lineno,%max} {IFCO BB32}
{INCR count} {INCR lineno}
{SETV line%lineno,}
{COMP lineno,%max} {IFCO BB32}
{SEND ^J^M%an7%Finished quoting. Please continue your message ...^J^M}
{GOTO BB27}
{:Q3} {COMP count,0} {IFCO ,Q8}
{INCR count} {INCR lineno}
{SETV line%lineno,&▀▀▀▀▀▀ Quote ▀▀▀▀▀▀}
{COMP lineno,%max} {IFCO BB32}
{:Q8}
{INCR count} {INCR lineno}
{SETV line%lineno,%dline}
{COMP lineno,%max} {IFCO BB32}
{GOTO Q2}
{:Q9} {SEND ^J^M%an7%No lines quoted. Please continue your message ...^J^M}
{GOTO BB27}
{:chat}
{SETV temp,0} {SETV ccount,0}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Chat request} {WCLO}
{SEND ^J^M^J%an4%Paging %sysop ...^J^M}
{SPOC n} {SEND %an3%Press %an0[ESC]%an3 then %an0[ENTER]%an3 to chat with%an7 %login_name %an3...^J^M} {SPOC y}
{:CT7} {INCR ccount} {SETV-S ch,an%ccount}
{SEND %ch█}
{SEND ^G} {SEND ^G} {SEND ^G} {PAUS 2}
{COMP ccount,5} {IFCO-G ,CT7}
{:CT6} {SETV chat,CHAT}
{SEND ^M%an0%Sorry, %sysop isn't around right now.^J^M}
{SEND %an0%However, the chat flag has been set.^J^M^J}
{GOTO CT9}
{:CT8} {SETV tl,%_ela}
{SETG 300,time_out}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Started chat} {WCLO}
{COMP cb,y} {IFCO ,CT14}
{CAPT y,%datadir%CHAT.LOG}
{:CT14} {SEND ^J^M^J%an3%You've just entered . . . %an7%The Twilight Zone. %an3%Reality vanishes.^J^M}
{SEND %an2(Type "%an0%bye!%an2" on a blank line to exit when desired.)^J^M}
{SETV cf,1} {SETV co1,%an0} {SETV co2,%an3}
{SETE-P0 esc_menu}
{PUSH}
{:CT2} {COMP cf,1} {IFCO CT3}
{SEND %co2} {SETV cf,1} {GOTO CT4}
{:CT3} {SEND %co1} {SETV cf,2}
{:CT4} {SETV cline}
{:CT5} {SEND ^J}
{:CT13} {SEND ^M%cline}
{GETS-AH cline,78,CT2}
{COMP cline,/c} ......... {IFCO switch_c}
{COMP cline,bye!} ....... {IFCO CT1}
{COMP cline,bye!!} ...... {IFCO time_out}
{COMP cline,/scroll} .... {IFCO view_scroll}
{COMP cline,NO CARRIER} . {IFCO time_out}
{LENG %cline}
{COMP %_len,78} {IFCO-L CT4}
{SETV ccount,79}
{:CT11} {DECR ccount}
{COMP ccount,60} {IFCO-LE CT4}
{SUBS ch,%ccount,1,%cline}
{COMP ch, } {IFCO ,CT11}
{COMP ccount,78} {IFCO CT4}
{INCR ccount}
{SUBS cline,%ccount,100,%cline}
{:CT12} {COMP ccount,%_len} {IFCO-G CT5}
{SEND ^H ^H}
{INCR ccount}
{GOTO CT12}
{:CT1} {CAPT n}
{SETV ch,%_ela} {DECR ch,%tl} {INCR tlc,%ch} {SETV tl}
{SEND ^J^M^J%an3%You've just left . . . %an7%The Twilight Zone. %an3%Reality restored.^J^M^J}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Ended chat} {WCLO}
{SETV cf} {SETV co1} {SETV co2} {SETV chat} {SETV cline}
{POPS}
{:CT9} {SETV ccount}
{SETE-P0 esc_menu}
{CALL press_any_key}
{RETURN}
{:switch_c}
{:SW1} {SEND ^M%an0(0 %an1%1 %an2%2 %an3%3 %an4%4 %an5%5 %an6%6 %an7%7%an0) ^H}
{GETS-H ch,1,SW1}
{COMP ch,0} {IFCO-L SW1}
{COMP ch,7} {IFCO-G SW1}
{SEND ^M ^M}
{COMP cf,1} {IFCO ,SW3}
{SETV-S co2,an%ch} {SEND %co2} {GOTO SW4}
{:SW3} {SETV-S co1,an%ch} {SEND %co1}
{:SW4} {SETV cline}
{GOTO CT13}
{:update_clist}
{ROPE %datadir%CALLERS.LST,UC1}
{WOPE %datadir%TEMP.000}
{:UC2}
{READ ch} {READ cline} {READ dline}
{COMP ch,%userno} {IFCO UC3}
{WRIT %ch} {WRIT %cline} {WRIT %dline} {GOTO UC2}
{:UC3}
{WRIT %userno}
{WRIT %login_name}
{WRIT %password}
{:UC4}
{READ dline} {WRIT %dline} {GOTO UC4}
{:UC1}
{WCLO}
{EXEC-N COPY %datadir%TEMP.000 %datadir%CALLERS.LST}
{EXEC-N DEL %datadir%TEMP.000}
{RETURN}
{:main_menu}
{PUSH}
{SETE-P0 esc_menu}
{:MM1} {CALL cd}
{:MM9} {COMP expert,ON} {IFCO MM2}
{:MM15} {CALL cls}
{LENG %bbs} {SETV ch,80} {DECR ch,%_len} {DIVI ch,2}
{SUBS dline,1,%ch, }
{SEND ^J^M^J^J}
{SEND ^J^M%an3%%dline%%bbs^J^M}
{SEND ^J^M%an7 Main Menu^J^M}
{SEND ^J^M%an0[%an3%M%an0] Message Base [%an3%B%an0] Bulletin/Text [%an3%H%an0] Hall of Fame [%an3%C%an0] Chat }
{SEND ^J^M%an0[%an3%O%an0] Msg Packer [%an3%E%an0] External Stuff [%an3%L%an0] List Members [%an3%V%an0] Version/BBS }
{SEND ^J^M%an0[%an3%F%an0] File Base [%an3%Y%an0] Your Config [%an3%R%an0] Read E-mail [%an3%G%an0] Goodbye }
{COMP al,1} {IFCO-GE ,MM18}
{SEND ^J^M}
{SEND %an0[%an3%S%an0] Send E-mail }
{SEND %an0[%an3%I%an0] Intromsg }
{:MM16}
{COMP al,%dal} {IFCO-GE ,MM18}
{SEND %an0[%an3%D%an0] DOS Doorway }
{SEND %an0[%an3%U%an0] Usage Logs }
{SEND %an0[%an3%!%an0] Remote Config }
{:MM18}
{SEND ^J^M^J%an0 [%an3%A%an0] ANSI Toggle [%an3%X%an0] Xpert Toggle}
{SEND ^J^M%an0 [%an3*%an0] Quick log-off (from all menus)}
{:MM2} {SEND ^J^M^J%an3%Main Menu %an0%%_tim^J^M}
{SETV ch,%tlc} {DECR ch,%_ela}
{SEND %an0%Mins Left: %ch^J^M}
{:MM8} {SEND ^M} {COMP expert,ON} {IFCO ,MM17}
{SEND %an3(%an7?%an3%=menu) }
{:MM17} {SEND %an7%MM Command: ^H}
{:MM3} {CALL cd}
{SETG 300,time_out}
{GETS-H ch,1,MM3}
{COMP ch,*} {IFCO time_out}
{COMP ch,m} {IFCO msg_base}
{COMP ch,o} {IFCO msg_pack}
{COMP ch,f} {IFCO file_base}
{COMP ch,h} {IFCO hall}
{COMP ch,e} {IFCO externals}
{COMP ch,b} {IFCO bulletins}
{COMP ch,y} {IFCO user_info}
{COMP ch,g} {IFCO MM5}
{COMP ch,r} {IFCO email}
{COMP ch,c} {IFCO chat}
{COMP ch,a} {IFCO color_tog}
{COMP ch,x} {IFCO expert_tog}
{COMP ch,v} {IFCO ver}
{COMP ch,l} {IFCO SP13}
{COMP ch,?} {IFCO MM15}
{COMP al,0} {IFCO MM8}
{COMP ch,s} {IFCO send_email}
{COMP ch,i} {IFCO intromsg}
{COMP al,%dal} {IFCO-GE ,MM8}
{COMP ch,d} {IFCO dos}
{COMP ch,u} {IFCO SP14}
{COMP ch,!} {IFCO sysop,MM8}
{:MM5} {SEND ^J^M^J%an7%Are you sure? %an0(%an7%Y%an0,n) :%an3 }
{SETG 60,MM10}
{:MM13} {GETS-H ch,1,MM10}
{COMP ch,y} {IFCO MM10}
{COMP ch,n} {IFCO MM2}
{SEND ^H} {GOTO MM13}
{:MM10} {SEND ^J^M^J%an3%Drop a note to %sysop? %an0(y,%an7%N%an0) :%an3 }
{SETG 60,gby}
{:MM11} {GETS-H ch,1,gby}
{COMP ch,y} {IFCO MM12}
{COMP ch,n} {IFCO gby}
{SEND ^H} {GOTO MM11}
{:MM12} {SETG 300,time_out}
{SETV f,1} {SETV to,%sysop} {SETV tono,1} {CALL SE4} {GOTO gby}
{:color_tog}
{COMP mnu,a} {IFCO ansi,ascii}
{RETURN}
{:bulletins}
{IFEX MACROBUL.MAC,,MM8}
{MACL MACROBUL.MAC,start}
{:externals}
{IFEX MACRODOR.MAC,,MM8}
{MACL MACRODOR.MAC,start}
{:ver}
{SEND ^J^M^J %an3%Macro%an7%BBS %an0(tm) %an7%2.5 ALPHA}
{SEND ^J^M^J %an7(C)opyright 1992,93 by Jeff Oberlee%an0 -%an7 All Rights Reserved}
{GOTO MM2}
{:sysop}
{IFEX MACROSYS.MAC,,MM8}
{MACL MACROSYS.MAC,menu}
{:msg_pack}
{IFEX MACROPAK.MAC,,MM8}
{MACL MACROPAK.MAC,start}
{:msg_base}
{IFEX MACROMSG.MAC,,MM8}
{IFEX %msgsdir%A%a.BAS,MB2}
{IFEX %msgsdir%A*.BAS,,MM8}
{SETV a,0}
{:MB1} {INCR a}
{COMP a,%mhigh} {IFCO-G MM8}
{IFEX %msgsdir%A%a.BAS,,MB1}
{:MB2}
{ROPE %msgsdir%A%a.BAS,MB1} {READ ch} {READ ch} {RCLO}
{COMP ch,%al} {IFCO-G MB1}
{MACL MACROMSG.MAC,start}
{:file_base}
{IFEX MACROFIL.MAC,,MM8}
{IFEX %filedir%F%fa.BAS,FX2}
{IFEX %filedir%F*.BAS,,MM8}
{SETV fa,0}
{:FX1} {INCR fa}
{COMP fa,%fhigh} {IFCO-G MM8}
{IFEX %filedir%F%fa.BAS,,FX1}
{:FX2}
{ROPE %filedir%F%fa.BAS,FX1} {READ ch} {READ ch} {RCLO}
{COMP ch,%al} {IFCO-G FX1}
{MACL MACROFIL.MAC,start}
{:hall}
{IFEX MACROREG.MAC,,MM8}
{MACL MACROREG.MAC,start}
{:email}
{IFEX %msgsdir%E%userno-1.PVT,BB10}
{SEND ^J^M^J%an0 Sorry. Your E-mailbox is empty.}
{GOTO MM2}
{:user_info}
{IFEX MACRODAT.MAC,,MM8}
{MACL MACRODAT.MAC,user_info}
{:intromsg}
{IFEX MACRODAT.MAC,,MM8}
{MACL MACRODAT.MAC,intro_msg}
{:dos}
{SEND ^J^M^J%an1%DOS password: %an0}
{CALL get_pass}
{COMP pass,%syspass} {SETV pass} {IFCO ,DS4}
{COMP mspeed,local} {IFCO DS2}
{IFEX DOORWAY.EXE,,DS3}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : ▓▓ ENTERED DOS VIA DOORWAY.EXE ▓▓} {WCLO}
{EXEC DOORWAY COM%_port /M:60 /G:ON /A:ON /V:D^U /O:T /S:* /C:DOS}
{EXEC-N CD %maindir}
{:DS1} {RETURN}
{:DS2} {SHELL}
{EXEC-N CD %maindir}
{GOTO MM2}
{:DS3} {SEND ^J^M%an1%DOORWAY.EXE is not installed.}
{:DS4} {GOTO MM2}
{:view_scroll}
{SCROLL}
{COMP on,} {IFCO WF0,CT4}
{:m_init}
{CLEA}
{SPOC y}
{SETV count,0}
{DISP 2,1,0F,Initializing modem...}
{DISP 3,1,0F,}
{PARM %mspeed,%para}
{SEND %initstr^J^M}
{GOTO WFC}
{:m_init_w}
{SPOC y}
{SETV count,0}
{CALL EO2}
{DISP 15,4,0F,%an9%Initializing} {PAUS 1}
{PARM %mspeed,%para}
{SEND %initstr^J^M}
{CALL EO2}
{GOTO WF0}
{:sys_files}
{CALL get_syspass}
{CALL EO2}
{MACL MACROCFG.MAC,menu}
{:call_log}
{CLEA} {STAT y}
{:CL1} {DISP 3,6,0F, (%an3%T%an7)oday or (%an3%A%an7)ll? ^H}
{GETS-H ch,1,WFC}
{COMP ch,t} {IFCO CL2}
{COMP ch,a} {IFCO ,CL1}
{SETV dump_file,%datadir%CALLERS.ALL} {GOTO CL3}
{:CL2} {SETV dump_file,%datadir%CALLERS.TDY}
{:CL3} {CLEA}
{DISP 1,1,0F,Date Time On Time Off Handle}
{DISP 2,1,07,}
{CALL dsp_file}
{CALL press_any_key}
{GOTO WFC}
{:use_log}
{CLEA} {STAT y}
{:USE1} {DISP 3,6,0F, (%an3%D%an7%)ata or (%an3%C%an7%)hart? ^H}
{GETS-H ch,1,WFC}
{COMP ch,c} {IFCO USE2}
{COMP ch,d} {IFCO ,USE1}
{CLEA}
{DISP 1,1,0F,Date Calls Active Public Private}
{DISP 2,1,07,}
{SETV dump_file,%datadir%STATS.LOG}
{CALL dsp_file}
{:USE3} {CALL press_any_key}
{GOTO WFC}
{:USE2} {ROPE %datadir%CHART.LOG,USE6}
{:USE4} {CLEA}
{SETV count,0}
{DISP 1,1,0F,Date %an0├%an2--1--2--3--4--5--6--7--8--9--%an3%0--1--2--3--4--5--6--7--8--9--%an1%0--1--2--3--4}
{DISP 2,1,0F,}
{:USE5} {READ dline}
{SEND %an0│ %an2░ ░ ░ ░ ░ ░ ░ ░ ░ %an3░ ░ ░ ░ ░ ░ ░ ░ ░ ░ %an1░ ░ ░ ░ ░^M}
{SEND %an0%%dline^J^M}
{INCR count} {COMP count,21} {IFCO-L USE5}
{SEND %an0├%an2--1--2--3--4--5--6--7--8--9--%an3%0--1--2--3--4--5--6--7--8--9--%an1%0--1--2--3--4^J^M}
{CALL screen_full}
{COMP ch,y} {IFCO USE4}
{RCLO}
{:USE6} {SEND %an0├%an2--1--2--3--4--5--6--7--8--9--%an3%0--1--2--3--4--5--6--7--8--9--%an1%0--1--2--3--4}
{GOTO USE3}
{:dos_shell}
{SHELL}
{EXEC-N CD %maindir}
{GOTO WF0}
{:get_syspass}
{COMP on,} {IFCO ,GS1}
{DISP 25,32,87, } {DISP 15,3,87,}
{SPOC y} {LOCA n} {SEND %busy^J^M} {PAUS %pp} {SPOC n} {LOCA y}
{CALL EO2}
{:GS1} {DISP 15,3,0C, PASSWORD%an0: }
{GETS-P ch,15,GS}
{COMP ch,%syspass} {IFCO ,GS}
{RETURN}
{:GS} {POPS}
{GOTO m_init_w}
{:special}
{CALL get_syspass}
{:SP0} {CLEA} {STAT n} {SPOC n}
{CALL ansi}
{SETV login_name,%sysop}
{SEND ^J^M^J^J^J %an1%Special Functions Menu^J^M^J}
{SEND %an7%1.%an3 Read SYSOP mail %an7 5.%an3 Edit a letter^J^M}
{SEND %an7%2.%an3 Read another's mail %an7 6.%an3 System logs^J^M}
{SEND %an7%3.%an3 Send e-mail to ... %an7 7.%an3 List Members^J^M}
{SEND %an7%4.%an3 Mail count %an7 8.%an3 Re-config MacroBBS^J^M^J}
{:SP1}
{SEND ^M %an4%Which? %an0(1-8, ENTER=quit) :%an7 ^H}
{GETS-H ch,1,m_init}
{COMP ch,1} {IFCO SP2}
{COMP ch,2} {IFCO SP3}
{COMP ch,3} {IFCO SP7}
{COMP ch,4} {IFCO SP8}
{COMP ch,5} {IFCO SP9}
{COMP ch,6} {IFCO SP14}
{COMP ch,7} {IFCO SP13}
{COMP ch,8} {IFCO ,SP1}
{:SP11} {MACL MACROCFG.MAC,start}
{:SP13} {STAT y} {SETV mcount,1}
{:SP21} {CALL CLS} {SETV count,0}
{SEND ^J^M%an1 # Handle^J^M^J}
{:SP15} {IFEX %userdir%%mcount.USR,,SP18}
{ROPE %userdir%%mcount.USR,SP18} {READ dline} {RCLO}
{SEND %an7 %mcount. %an3%%dline^J^M}
{INCR count}
{:SP18} {INCR mcount} {COMP mcount,%uhigh} {IFCO-G SP16}
{COMP count,18} {IFCO ,SP15}
{CALL screen_full}
{COMP ch,y} {IFCO SP21}
{:SP16} {CALL press_any_key}
{COMP on,} {IFCO SP0}
{RETURN}
{:SP2} {SETV userno,1}
{GOTO SP6}
{:SP3} {SEND ^J^M%an0 Read whose mail?}
{CALL SP10}
{:SP6} {IFEX %msgsdir%E%userno-1.PVT,,SP0}
{CALL mail_count}
{SETV total,%ch} {SETV ch,1}
{STAT y} {CALL BB42}
{GOTO SP0}
{:SP7} {SETV userno,1}
{CALL send_email}
{GOTO SP0}
{:SP8} {SEND ^J^M%an0 Count whose mail?}
{CALL SP10}
{CALL mail_count}
{SEND ^J^M^J %an7%%to %an3%has %an7%%ch %an3%letter(s) waiting.}
{CALL press_any_key}
{GOTO SP0}
{:SP9} {SEND ^J^M%an0 To whom is the letter addressed?}
{CALL SP10}
{CALL mail_count}
{SEND ^J^M}
{:SP12} {SEND ^M%an4 Edit which letter? %an0(1 - %ch) : ^H^H}
{GETS to,2,SP0}
{COMP to,%ch} {IFCO-G SP12}
{IFEX %msgsdir%E%userno-%to.PVT,,SP12}
{EDIT %msgsdir%E%userno-%to.PVT}
{GOTO SP0}
{:SP14} {SEND ^J^M^J}
{:SP20} {SEND ^M%an4 View which? %an0(1-7, Q=quit) : ^H}
{GETS-H ch,1}
{COMP ch,q} {IFCO ,SP23}
{COMP on,} {IFCO SP0,MM2}
{:SP23} {COMP ch,1} {IFCO-L SP20}
{COMP ch,7} {IFCO-G SP20}
{IFEX %datadir%LOG-%ch.LOG,,SP20}
{SETV dump_file,%datadir%LOG-%ch.LOG}
{CLEA} {STAT y}
{COMP on,} {IFCO SP24}
{CALL cls}
{:SP24} {CALL dsp_file}
{CALL press_any_key}
{COMP on,} {IFCO SP0,MM1}
{:SP10} {SEND ^J^M%an3 Enter a handle or ID# %an0[ENTER=quit]^J^M}
{:SP22} {SEND ^M%an0 : }
{SEND ^M%an0 : }
{:SP4} {GETS to,30,SP19}
{SEND %an0 : }
{CALL match_name_userno}
{COMP t,1} {IFCO ,SP22} {SETV t}
{SETV userno,%tono}
{RETURN}
{:SP19} {POPS}
{GOTO SP0}
{:wait_for_call}
{PUSH}
{SETE cancel}
{:WFC} {SETV s} {SETV count,0}
{:WF7} {SETV userno,1} {CALL mail_count}
{CALL read_data} {SETV login_name,%l_caller} {SETV userno,%luserno}
{COMP ldate,%_dat} {IFCO ,midnight}
{STAT n} {CLEA}
{:WF8} {DISP 1,2,0C,%bbs}
{DISP 25, 4,02,System Time: }
{DISP 25,57,02,Date: }
{CALL WF6}
{CALL WF5}
{DISP 2 ,36,0C,╔%an3 ▄ ▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄▄%an0 (tm) %an1═══════════╗}
{DISP 3 ,36,0C,║%an3 ██▄██ █▄█ █ █▄█▄ █ █%an7 2.5 ALPHA %an1 ║}
{DISP 4 ,36,0C,║%an3 █ ▀ █ █ █ █▄▄ █ █ █▄▄█%an0 by Jeff Oberlee%an1 ║}
{DISP 5 ,36,0C,╚═════════%an7 B B S%an1 ═════════════════════════╝}
{DISP 18, 4,0C,Last Caller: %an0%%l_caller #%luserno}
{DISP 19, 4,0C,Last Date : %an0%%ldate}
{DISP 20, 4,0C,Logon Time : %an0%%stime}
{DISP 21, 4,0C,Logoff Time: %an0%%ftime}
{DISP 22, 4,0C,Calls Today: %an0%%tdcalls}
{DISP 23, 4,0C,Mins Active: %an0%%ttu}
{DISP 19,37,07, ____ }
{DISP 20,37,07,^|\/ o \ }
{DISP 21,37,07,^| ,__^| }
{DISP 22,37,07,^|/\____/ }
{DISP 19,60,09,Pub Posted : %an0%%pub}
{DISP 20,60,09,Pvt Mailed : %an0%%pvt}
{DISP 18,60,09,Sysop Mail : %an0%%ch}
{DISP 22,60,09,Total Calls: %an0%%callno}
{:WF0}
{SETE-P0 m_init}
{DISP 25,32,87,Waiting for a Call}
{DISP 25,17,07,%_tim} {DISP 25,63,07,%_dat (%_dwt)}
{DISP 15,3,02, Command: } {DISP 15,3,02, Command%an0: }
{SPOC y} {LOCA y} {CURS y}
{SETG 30,blink,l}
{:WF1} {GETS-L ch,10,WF1}
{SETG 0,,l}
{COMP ch,%ring} {IFCO WF9}
{COMP ch,i} {IFCO m_init_w}
{COMP ch,1} {IFCO WF2}
{SPOC n}
{SETE cancel}
{COMP ch,c} {IFCO call_log}
{COMP ch,u} {IFCO use_log}
{COMP ch,s} {IFCO special}
{COMP ch,2} {IFCO view_scroll}
{COMP ch,3} {IFCO edit_menu}
{COMP ch,4} {IFCO edit_a_file}
{COMP ch,5} {IFCO sys_file}
{COMP ch,d} {IFCO dos_shell}
{COMP ch,q} {IFCO WF3,WF0}
{:WF2}
{SETV mspeed,LOCAL}
{SETV on,2} {SETV nicd,0} {SETV uicd,0}
{SEND %busy^J^M}
{SPOC n}
{POPS-C}
{GOTO BBS1}
{:WF9}
{DISP 15,3,, } {DISP 15,4,,}
{SETG 2,RNG2}
{:RNG1} {GETS ch,20,RNG1}
{DISP 15,3,, } {DISP 15,4,,}
{GOTO RNG1}
{:RNG2} {DISP 25,32,8E,Waiting to CONNECT} {DISP 15,4,,}
{SEND ATA^J^M}
{DISP 15,4,0F,ATA%an9: } {DISP 14,1,,}
{SETL 45,m_init}
{GOLO 300,%connect^M}
{GOLO 1200,%connect 1200}
{GOLO 2400,%connect 2400}
{GOLO 4800,%connect 4800}
{GOLO 7200,%connect 7200}
{GOLO 9600,%connect 9600}
{GOLO 12000,%connect 12000}
{GOLO 14400,%connect 14400}
{GOLO 19200,%connect 19200}
{GOLO m_init_w,%ring}
{GOLO m_init,NO CARRIER}
{LOOK %connect 38400}
{SETV mspeed,38400} (SETV uicd,0}
{GOTO WF10}
{:300} {SETV mspeed,300} {GOTO WF10}
{:1200} {SETV mspeed,1200} {GOTO WF10}
{:2400} {SETV mspeed,2400} {GOTO WF10}
{:4800} {SETV mspeed,4800} {GOTO WF10}
{:7200} {SETV mspeed,7200} {GOTO WF10}
{:9600} {SETV mspeed,9600} {GOTO WF10}
{:12000} {SETV mspeed,12000} {GOTO WF10}
{:14400} {SETV mspeed,14400} {GOTO WF10}
{:19200} {SETV mspeed,19200} {GOTO WF10}
{:bink1}
{EXIT}
{:bink}
{CALL setup}
{STAT y} {SPOC y} {LOCA y} {CURS y}
{COMP term,a} {IFCO asn1}
{CALL ascii}
{GOTO asn2}
{:asn1} {CALL ansi}
{:asn2} {SETV-E mspeed,BD}
{COMP mspeed,mid} {IFCO ,asn3}
{IFCA asn3}
{CALL read_data}
{COMP ldate,%_dat} {IFCO bink1,midnight}
{:asn3}
{COMP mspeed,local} {IFCO ,WF10}
{CALL bbs_line}
{GOTO m_init}
{:WF10}
{COMP bink,y} {IFCO WF105}
{PAUS 10}
{:WF105}
{COMP lock,y} {IFCO WF11}
{PARM %mspeed,%para,,,%nicd}
{:WF11}
{SETV on,1}
{POPS-C}
{GOTO BBS1}
{:blank_wait}
{SETE-P0 m_init}
{CLEA}
{SETG 60,BW2}
{:BW1} {GETS-H ch,1}
{GOTO WFC}
{:BW2} {COMP %_dat,%ldate} {IFCO ,midnight}
{GOTO BW1}
{:WF5}
{DISP 6 ,36,17,╔═════════════════════════════════════════╗
{DISP 7 ,36,17,║ Embryo ____ by Shad Muegge ║}
{DISP 8 ,36,17,║ ---------^|\/ o \------------------ ║}
{DISP 9 ,36,17,║ ____^| ,__^| Association of ║}
{DISP 10,36,17,║ / o \/^|____/ Babble Fish ║}
{DISP 11,36,17,║ ^|__, ^|____ Programmers ║}
{DISP 12,36,17,║ \____^|\/ o \ ║}
{DISP 13,36,17,║ ^| ,__^| MEMBER ║}
{DISP 14,36,17,║ ---------^|/\____/------------------ ║}
{DISP 15,36,17,║ ║}
{DISP 16,36,17,╚═════════════════════════════════════════╝}
{RETURN}
{:WF6}
{DISP 2,2,47,╔════════════════════════════════╗}
{DISP 3,2,47,║%an3%%an13 MacroBBS:%an0%%an13 OFF-LINE ║}
{DISP 4,2,47,╠════════════════════════════════╣}
{DISP 5,2,47,║%an7%%an13 OPTIONS MISC%an0%%an13 ║}
{DISP 6,2,47,║ 1. Log-on (local) D - DOS ║}
{DISP 7,2,47,║ 2. See Scrollback I - Init ║}
{DISP 8,2,47,║ 3. Text/Bulletins S - Spec ║}
{DISP 9,2,47,║ 4. Edit Ext. File Q - Quit ║}
{DISP 10,2,47,║ 5. Master SysMenu ESC-Reset ║}
{DISP 11,2,47,║ %an7%%an13%LOGS%an0%%an13 ║}
{DISP 12,2,47,║ C - Calls U - Usage ║}
{DISP 13,2,47,╚════════════════════════════════╝}
{:EO2}
{DISP 14,1,07, ╔════════════════════════════════╗}
{DISP 15,1,07, ║ ║}
{DISP 16,1,07, ╚════════════════════════════════╝}
{DISP 17,1,, }
{RETURN}
{:cancel}
{RCLO}
{GOTO BBS}
{:WF3} {CLEA}
{SPOC y} {LOCA n}
{SETV mic,0}
{:WF305} {INCR mic} {SETV a%mic} {COMP mic,%mhigh} {IFCO-L WF305}
{SETV mic} {SETV pcpd} {SETV arcer} {SETV arc} {SETV mac}
{SETV a} {SETV e} {SETV f} {SETV n} {SETV r} {SETV t} {SETV ta} {SETV em}
{SETV aa} {SETV ch} {SETV temp} {SETV cf} {SETV na} {SETV mx} {SETV mic}
{SETV new} {SETV df} {SETV em} {SETV tl} {SETV ta} {SETV on} {SETV fa}
{SETV rname} {SETV from} {SETV l_call}
{SETV fido} {SETV tnod} {SETV fnod} {SETV myno}
{SETV al}
{SETV bal}
{SETV bname}
{SETV ccount}
{SETV chat}
{SETV cline}
{SETV co1}
{SETV co2}
{SETV ch1}
{SETV ch2}
{SETV count}
{SETV dfiles}
{SETV dline}
{SETV dump_file}
{SETV ecount}
{SETV expert}
{SETV files}
{SETV fline}
{SETV high}
{SETV himsgno}
{SETV line}
{SETV lname}
{SETV login_name}
{SETV lomsgno}
{SETV maxmsg}
{SETV mcount}
{SETV msgno}
{SETV nual}
{SETV password}
{SETV proto}
{SETV qcount}
{SETV protocol}
{SETV quotemsg}
{SETV reads}
{SETV subj}
{SETV to}
{SETV tono}
{SETV total}
{SETV trace}
{SETV userno}
{COMP s,5} {IFCO ,CU} {RETURN}
{:CU} {STAT y}
{CALL ascii}
{SETV mnu} {SETV s} {SETV busy} {SETV nicd} {SETV uicd} {SETV pp} {SETV term}
{SETV maindir} {SETV datadir} {SETV filedir} {SETV msgsdir} {SETV userdir}
{SETV cb} {SETV bw} {SETV lock} {SETV bink} {SETV para} {SETV clr1} {SETV clr2}
{SETV bbs} {SETV sysop} {SETV syspass} {SETV initstr} {SETV dal} {SETV sal}
{SETV connect} {SETV ring} {SETV tlc} {SETV max} {SETV mspeed} {SETV tagline}
{SETV hang} {SETV callno} {SETV uhigh} {SETV mhigh} {SETV fhigh}
{SETV ttu} {SETV pub} {SETV pvt} {SETV l_caller} {SETV luserno}
{SETV stime} {SETV ftime} {SETV ldate} {SETV tdcalls} {SETV tf}
{DISP 2,1,0E,Exiting to ^(COMMO^) ...^J^M}
{LIGH n}
{INIT}
{MACL COMMO.MAC}
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
{:edit_menu}
{COMP clr1,y} {IFCO ,ECLR1}
{CLEA}
{:ECLR1}
{DISP 2,2,0C,╔════════════════════════════════╗}
{DISP 3,2,0C,║ %an7 EdIT MENU %an1 ║}
{DISP 4,2,0C,╠════════════════════════════════╣}
{DISP 5,2,0C,║ ║}
{DISP 6,2,0C,║ %an7 1.%an0 Logon NOTICES %an1 ║}
{DISP 7,2,0C,║ ║}
{DISP 8,2,0C,║ %an7 2.%an0 Bulletins Config %an1 ║}
{DISP 9,2,0C,║ ║}
{DISP 10,2,0C,║ %an7 3.%an0 Archivers Config %an1 ║}
{DISP 11,2,0C,║ ║}
{DISP 12,2,0C,║ %an0 Select 1-3, ENTER=quit %an1 ║}
{DISP 13,2,0C,╚════════════════════════════════╝}
{CALL EO2}
{SETG 0,,n}
{:NE1}
{GETS-H ch,1,edexit}
{COMP ch,1} {IFCO note_ed}
{COMP ch,2} {IFCO bull_ed}
{COMP ch,3} {IFCO arc_ed}
{GOTO NE1}
{:bull_ed}
{CALL warn}
{EDIT MBBSBULL.LST}
{GOTO ECLR1}
{:note_ed}
{CALL warn}
{EDIT %datadir%NOTICES.DAT}
{GOTO ECLR1}
{:arc_ed}
{CALL warn}
{EDIT MBBSARCH.LST}
{GOTO ECLR1}
{:edexit}
{COMP clr1,y} {IFCO ,ECLR2}
{GOTO WFC}
{:ECLR2}
{CALL WF6}
{GOTO WF0}
{:warn}
{COMP clr1,y} {IFCO ,WCLR}
{CLEA}
{:WCLR}
{DISP 6,5,0E, You are about to enter}
{DISP 7,5,0E,^(COMMO^)'s text editor to}
{DISP 8,5,0E,customize a file which will}
{DISP 9,5,0E,be used by MacroBBS. }
{DISP 10,5,0F, }
{DISP 12,5,0F, }
{DISP 11,5,0F,Press any key to continue...}
{SETG 0,,n} {GETS-H ch,1}
{RETURN}
{:edit_a_file}
{SPOC y} {LOCA n} {SEND %busy^J^M} {PAUS %pp} {SPOC n} {LOCA y}
{SETV ch,%_hom}
{DISP 13,36,17,╚═════════════════════════════════════════╝}
{COMP clr1,y} {IFCO ,CLR1}
{CLEA}
{:CLR1}
{DISP 14, 2,0F,╔════════════%an3 Type full path of file to edit, then press ENTER%an7 ═════════════╗}
{DISP 15, 2,0F,║ ║}
{DISP 16, 2,0F,╚═══════════════════════════════════════════════════════════════════════════╝}
{:EAF2} {DISP 15,4,09,Path: }
{DISP 15, 4,0E,Path: %an0%%ch}
{GETS-A ch,67,EAF1}
{INST %ch,.} {IFCO ,EAF2}
{IFEX %ch,,EAF2}
{EDIT %ch}
{SETV ch,%_hom}
{GOTO EAF2}
{:EAF1}
{COMP clr1,y} {IFCO ,CLR2}
{GOTO m_init}
{:CLR2}
{CALL WF5}
{CALL EO2}
{GOTO m_init_w}
{:blink}
{INCR count}
{COMP %_dat,%ldate} {IFCO ,midnight}
{CURS n}
{DISP 20,37,07,\}
{DISP 21,37,07,\}
{DISP 22,37,07,\}
{PAUS 1}
{DISP 20,37,07,^|}
{DISP 21,37,07,^|}
{DISP 22,37,07,^|}
{DISP 15,13,07,}
{COMP bw,y} {IFCO blank_wait}
{CURS y}
{COMP count,15} {IFCO-GE m_init_w,WF0}
{:midnight}
{CLEA}
{SEND %busy^J^M}
{MACL MACRONYT.MAC,start}
{:mail_count}
{SETV ch,0}
{:MC1} {INCR ch}
{IFEX %msgsdir%E%userno-%ch.PVT,MC1}
{DECR ch}
{RETURN}
{:send_email}
{SETE time_out}
{CALL cls}
{SETV f,1}
{SEND ^J^M%an0% (Enter a Handle or ID#)^J^M}
{SEND %an7%To: %an7%%an12 ^M}
{SEND %an7%To: %an7%%an12}
{GETS to,30,BB16}
{SEND ^J^M}
{CALL match_name_userno}
{COMP t,1} {IFCO ,send_email} {SETV t}
{SEND %an3%Send email to %an7%%to (#%tono)%an3? %an0(%an7%Y%an0,n) : %an7}
{:SE1} {GETS-H ch,1,SE4}
{COMP ch,y} {IFCO SE4}
{COMP ch,n} {IFCO send_email}
{SEND ^H} {GOTO SE1}
{:match_name_userno}
{IFEX %datadir%CALLERS.LST,,MNU2}
{ROPE %datadir%CALLERS.LST,MNU2}
{:MNU1} {READ ch} {READ lname} {READ dline}
{COMP to,%ch} {IFCO MNU5}
{COMP to,%lname} {IFCO ,MNU1}
{:MNU5} {SETV to,%lname}
{SETV tono,%ch}
{RCLO}
{SETV t,1}
{GOTO MNU4}
{:MNU2} {SEND %an1%ID not found.} {PAUS 1}
{:MNU4} {RETURN}
{:BBS}
{CLEA}
{POPS-C}
{SETV on} {SETV s,5}
{CALL WF3}
{CALL setup}
{COMP bink,y} {IFCO ,BK2}
{IFCA bink1}
{SETG 2,BK1}
{:BK0} {GETS-H ch,1,BK0}
{COMP ch, } {IFCO BK2}
{:BK1} {COMP bink,y} {IFCO bink1}
{:BK2} {CALL init}
{PARM %mspeed,%para,,%term}
{COMP term,a} {IFCO BK3}
{CALL ascii}
{GOTO BK4}
{:BK3} {CALL ansi}
{:BK4} {CALL bbs_line}
{GOTO wait_for_call}
{:BBS_line}
{SETV dline} {SETV cline}
{LENG %bbs} {SETV ch,52} {DECR ch,%_len}
{SUBS dline,1,%ch,░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░}
{COMP myno,} {IFCO BB38}
{LENG %myno} {SETV ch,20} {DECR ch,%_len}
{SUBS cline,1,%ch,░░░░░░░░░░░░░░░░░░░░░░}
{SETV bbs,%an3░%an0 %bbs%%an3 %dline%%cline%%an0 %myno %an3░}
{GOTO BB41}
{:BB38} {SETV bbs,%an3░%an0 %bbs%%an3 %dline░░░░░░░░░░░░░░░░░░░░░░}
{:BB41} {SETV dline} {SETV cline}
{RETURN}
{:BBS1}
{SETV ring} {SETV connect} {SETV initstr} {SETV busy}
{SETV bw} {SETV bink} {SETV lock} {SETV para} {SETV pp}
{SETV login_name} {SETV userno} {SETV rname} {SETV from}
{SETV expert,OFF} {SETV a,1} {SETV fa,1} {SETV pcpd,d}
{CLEA} {STAT y} {ELAP}
{SETE-P0 esc_menu}
{WOPE-A %datadir%LOG-1.LOG} {WRIT █████ Connect: %mspeed on %_dat %_tim █████} {WRIT } {WCLO}
{SEND ^[[2J^L}
{ROPE %_hom%MACROBBS.CFG,} {READ bbs} {RCLO}
{SEND ^J^M^J}
{SEND MacroBBS (tm) 2.5 ALPHA^J^M}
{SEND (C)opyright 1992,93 by Jeff Oberlee - All Rights Reserved^J^M^J^J}
{SEND Welcome to %bbs}
{COMP myno,} {IFCO BB37}
{SEND - FidoNet node %myno}
{:BB37}
{CALL cd}
{COMP term,A} {IFCO ,BB24}
{COMP on,1} {IFCO ,BB23}
{:BB22}
{RTRA y,26,94}
{RTRA 27,94}
{SEND ^J^M^J^J Testing video mode...}
{PARM ,,,T}
{SEND ^[[6n}
{SETL 3,BB24}
{LOOK [}
{LOOK ;}
{PARM ,,,%term}
{SEND %an3 ANSI detected.}
{PAUS 2}
{:BB23}
{CALL ansi}
{GOTO BB25}
{:BB24}
{PARM ,,,%term}
{CALL ascii}
{:BB25}
{RTRA-I n}
{SETV dump_file,%datadir%LOGON%mnu.MNU}
{CALL ascii_ul}
{CALL read_data}
{ELAP}
{GOTO login_user}
{:BB} {SETV new} {SETV lock}
{COMP success,y} {IFCO ,gbye}
{:BB1} {SETV stime,%_tim} {SETV reads,0} {SETV ftime,%_tim}
{IFEX %datadir%TIMEUSED.LOG,BB00}
{WOPE %datadir%TIMEUSED.LOG}
{SETV ch,0}
{:BB000} {INCR ch}
{WRIT %tlc}
{COMP ch,%uhigh} {IFCO ,BB000}
{WCLO}
{:BB00}
{ROPE %datadir%TIMEUSED.LOG,BB01}
{SETV ch,0}
{:BB02} {INCR ch} {READ tlc} {COMP ch,%userno} {IFCO ,BB02}
{RCLO}
{COMP tlc,0} {IFCO time_out}
{:BB01}
{COMP on,2} {IFCO BB15}
{INCR callno} {INCR tdcalls}
{CALL write_data}
{:BB15}
{CALL write_user}
{PUSH}
{CALL cls}
{SEND ^J^M^J%an3 Greetings %an7%%login_name%%an3%! Glad you could drop by!^J^M}
{SEND ^J^M%an1 You are caller #%an0%%callno^J^M}
{SEND ^J^M%an5 The last person online was none other than %an7%%l_caller %an0%#%luserno^J^M^J}
{SEND %an7 You last called on %an4%%l_call^J^M} {SETV l_call}
{SEND %an7 Allotted time this call: %an4%%tlc%%an7 minute(s)^J^M^J}
{IFEX %datadir%INTROMSG.MSG,,BB2}
{SETE time_out}
{ROPE %datadir%INTROMSG.MSG,BB2} {READ ch}
{SEND ^J^M%an1 INTROMSG %an0%by %an7%%ch^J^M^J}
{:BB26} {READ dline} {SEND %dline^J^M} {GOTO BB26}
{:BB2}
{POPS}
{SETV dline}
{SETE-P0 esc_menu}
{CALL press_any_key}
{:BB17}
{SETE time_out}
{IFEX %datadir%PERSONAL.DAT,,BB21}
{IFEX %userdir%DATA\%userno.DAT,BB21}
{IFEX MACRODAT.MAC,,BB21}
{MACL MACRODAT.MAC,start}
{:BB21}
{SETE-P0 esc_menu}
{SETV dump_file,%datadir%NOTICES.DAT}
{IFEX %dump_file,,BB35}
{CALL cls} {SEND ^J^M%an7 NOTICES^J^M%an5}
{CALL dsp_file}
{CALL press_any_key}
{:BB35}
{CALL cls}
{SETE time_out}
{IFEX %_hom%QUOTED.EXE,,BB10}
{SETV dump_file,%datadir%TEMP.000}
{SEND ^J^M%an7...and I quote:^J^M^J%an3}
{EXEC-N %_hom%QUOTED.EXE > %dump_file}
{CALL dsp_file}
{SEND ^J^M%an1────────────────────────────────────-}
{:BB10}
{IFEX %msgsdir%E%userno-1.PVT,,BB18}
{CALL mail_count}
{SETV total,%ch} {SETV ch,1}
{SEND ^J^M^J%an7%Ltr# From: Subject:}
{SEND ^J^M-----------------------------------------------------------------------------^J^M-
{SETV temp,0}
{:RE7} {INCR temp}
{ROPE %msgsdir%E%userno-%ch.PVT,RE8}
{SETV mx,9} {SETV dline,%ch}
{LENG %dline} {DECR mx,%_len} {SUBS cline,1,%mx, }
{SEND ^M%an0%%dline%%cline}
{READ dline} {READ dline}
{SETV mx,31}
{READ dline} {LENG %dline} {DECR mx,%_len} {SUBS cline,1,%mx, }
{SEND %an1%%dline%%cline}
{READ dline}
{SEND %an4%%dline^J^M}
{RCLO}
{:RE8} {INCR ch} {COMP ch,%total} {IFCO-G RE9}
{IFEX %msgsdir%E%userno-%ch.PVT,,RE8}
{COMP temp,20} {IFCO RE11}
{GOTO RE7}
{:RE11} {SETV aa,%ch}
{CALL screen_full}
{COMP ch,y} {IFCO RE12}
{COMP expert,ON} {IFCO MB4,MB8}
{:RE12} {SETV ch,%aa}
{GOTO RE5}
{:RE6} {IFEX %msgsdir%E%userno-%ch.PVT,RE5}
{:RE3} {SEND ^J^M%an1%That message does not exist.^J^M}
{GOTO RE1}
{:RE9}
{SETE time_out}
{SEND ^J^M%an7 Read your private mail? %an0(%an7%Y%an0,n) : %an3}
{:BB33} {GETS-H ch,1,BB36}
{COMP ch,n} {IFCO BB3}
{COMP ch,y} {IFCO BB36}
{SEND ^H} {GOTO BB33}
{:BB36} {POPS}
{:BB42} offline entry point
{SETV mcount,0}
{:BB4}
{INCR mcount}
{:BB14}
{SETV dump_file,%msgsdir%E%userno-%mcount.PVT}
{IFEX %dump_file,,BB5}
{CALL cls}
{SEND %an7%Letter #%mcount of %total^J^M^J}
{SETV e,1} {CALL dsp_file} {SETV e}
{:BB6}
{PUSH}
{SETE-P0 esc_menu}
{SEND ^J^M%an5%E-mail Menu%an0%: %an7%R%an0%eply, %an7%P%an0%rev, %an7%A%an0%gain, %an7%N%an0%ext, %an7%J%an0%ump or %an7%Q%an0%uit? }
{:BB8} {GETS-H ch,1,FW60}
{COMP ch,a} {IFCO FW1}
{COMP ch,n} {IFCO FW16}
{COMP ch,p} {IFCO FW4}
{COMP ch,j} {IFCO FW22}
{COMP ch,q} {IFCO BB20}
{COMP ch,r} {IFCO BB7}
{SEND ^H} {GOTO BB8}
{:FW1}
{SETE time_out}
{POPS}
{SEND gain}
{GOTO BB14}
{:FW16}
{SETE time_out}
{SEND ext}
{:FW60} {POPS}
{GOTO BB4}
{:FW4}
{SETE time_out}
{POPS}
{SEND revious}
{COMP mcount,1} {IFCO ,FW2}
{SEND ^J^M^J%an7<Beginning of %an5%E-mail%an7>^J^M} {GOTO BB6}
{:FW2} {DECR mcount,2}
{GOTO BB4}
{:FW22}
{SETE time_out}
{POPS}
{SEND ump^J^M^J}
{:FW23} {SEND ^M%an4%Enter a letter number to jump to. %an0(1-%total) :%an0 ^H^H^H}
{GETS ch,3,BB6}
{COMP ch,1} {IFCO-L FW23}
{:FW47}
{COMP ch,%total} {IFCO-LE FW48}
{GOTO FW23}
{:FW48} {IFEX %msgsdir%E%userno-%ch.PVT,FW49}
{SEND ^J^M%an7%Message #%ch not found.} {PAUS 1}
{INCR ch} {GOTO FW47}
{:FW49}
{SETV mcount,%ch}
{GOTO BB14}
{:BB20}
{SETE time_out}
{POPS}
{SEND uit}
{GOTO BB5}
{:BB7}
{SETE time_out}
{POPS}
{SEND eply}
{SETV r,1}
{SETV quotemsg,%msgsdir%E%userno-%mcount.PVT}
{ROPE %quotemsg,BB6} {READ tono} {READ to} {READ to} {READ subj} {RCLO}
{CALL cls}
{:SE4} {SETV ecount,0}
{:BB9} {INCR ecount} {IFEX %msgsdir%E%tono-%ecount.PVT,BB9}
{SETV dump_file,%msgsdir%E%tono-%ecount.PVT}
{SETE time_out}
{SEND ^J^M^J}
{COMP r,1} {IFCO ,E3}
{SEND %an0 (Press ENTER for "%an7%%subj%%an0")^J^M}
{:E3} {SEND ^M%an7%Subj: %an12 ^M}
{SEND %an7%Subj: %an12}
{COMP r,1} {IFCO ,E5}
{GETS sub,30,E4}
{SETV %subj,%sub} {SETV sub}
{GOTO E6}
{:E4} {SEND %subj}
{GOTO E6}
{:E5} {GETS subj,30,E5}
{:E6}
{SEND %an0^J^M}
{CALL cls}
{SETV lineno,0}
{SEND ^J^M^J%an7%Maximum of %max lines.^J^M}
{SEND %an4-------------%an0 /s - save %an4-------%an0 /e - editor %an4-------%an0 /abt - abort %an4--------------^J^M}
{COMP r,1} {IFCO ,BB27}
{SEND %an4-------------------------------%an0 /q - quoter %an4-----------------------------------^J^M}
{:BB27} {SETV dline}
{:BB28} {SEND ^J^M%an3%%dline}
{SETG ,BB13}
{GETS-AH dline,78,BB12}
{COMP dline,/e} ..... {IFCO edit_system}
{COMP dline,/q} ..... {IFCO quote}
{COMP dline,/s} ..... {IFCO S0}
{COMP dline,/abt} ... {IFCO BB13}
{LENG %dline} {COMP %_len,78} {IFCO-L BB12}
{SETV ccount,79}
{:BB29} {DECR ccount}
{COMP ccount,60} {IFCO-LE BB12}
{SUBS ch,%ccount,1,%dline}
{COMP ch, } {IFCO ,BB29}
{COMP ccount,78} {IFCO BB12}
{SETV ch,%ccount}
{:BB30} {INCR ccount} {SEND ^H ^H}
{COMP ccount,%_len} {IFCO ,BB30}
{SUBS cline,1,%ch,%dline}
{INCR lineno} {SETV line%lineno,%cline}
{SETV cline}
{INCR ch}
{SUBS dline,%ch,100,%dline}
{COMP lineno,%max} {IFCO-L BB28,BB32}
{:BB12} {INCR lineno} {SETV line%lineno,%dline}
{COMP lineno,%max} {IFCO-L BB27}
{:BB32} {RCLO}
{SEND ^J^M%an7%You have reached the line limit.^J^M}
{GOTO edit_system}
{:BB11} save
{COMP on,} {IFCO BB16}
{CALL read_data} {INCR pvt} {CALL write_data}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Sent private email to %to #%tono} {WCLO}
{GOTO BB16}
{:BB13}
{SEND ^J^M%an1%Message aborted.} {PAUS 1}
{SEND ^J^M}
{:BB16}
{SETV r} {COMP f,1} {IFCO ,BB6}
{SETV f} {SEND %an0}
{:BB19}
{SETV mcount} {SETV ecount} {SETV total}
{RETURN}
{:BB5}
{COMP on,} {IFCO BB19}
{CALL cls}
{SEND ^J^M^J%an7 That's all for now...^J^M^J}
{SETV line} {SETV lname} {SETV dline}
{:BB39} {SEND ^M%an3 Delete your e-mail? %an0(y,%an7%N%an0) :%an7 ^H}
{GETS-H ch,1,BB3}
{COMP ch,n} {IFCO BB3}
{COMP ch,y} {IFCO ,BB39}
{:BB40} {SEND ^J^M^J%an3 Deleting e-mail...}
{EXEC-N DEL %msgsdir%E%userno-*.PVT}
{SEND %an0%Ok}
{GOTO BB3}
{:BB18}
{SEND ^J^M^J%an0 Sorry. Your E-mailbox is empty.^J^M^J}
{COMP expert,ON} {IFCO BB3}
{CALL press_any_key}
{:BB3}
{SETV mcount} {SETV ecount} {SETV total}
{GOTO main_menu}
{:ansi}
{SETV mnu,n}
{SETV an0,^[[0;2;37m}
{SETV an1,^[[0;1;31m}
{SETV an2,^[[0;2;32m}
{SETV an3,^[[0;1;33m}
{SETV an4,^[[0;1;34m}
{SETV an5,^[[0;1;35m}
{SETV an6,^[[0;1;36m}
{SETV an7,^[[0;1;37m}
{SETV an9,^[[5m} {SETV an12,^[[44m} {SETV an13,^[[41m}
{RETURN}
{:ascii}
{SETV mnu,A}
{SETV an0} {SETV an1} {SETV an2} {SETV an3} {SETV an4} {SETV an5}
{SETV an6} {SETV an7} {SETV an9} {SETV an12} {SETV an13}
{RETURN}
{:time_out}
{RCLO}
{WCLO}
{POPS-C}
{CAPT n}
{STAT n}
{:TKO2}
{COMP success,y} {SETV success} {IFCO ,gbye}
{CALL write_user}
{COMP cline,bye!!} {IFCO gby4}
{COMP ch,*} {IFCO gby3}
{COMP _ela,%tlc} {IFCO-GE gby2}
{COMP on,2} {IFCO gby3}
{COMP on,1} {IFCO ,bbs}
{IFCA ,gby5}
{COMP s,2} {IFCO gbye}
{WOPE-A %datadir%LOG-1.LOG} {WRIT Read: %reads}
{SEND ^J^M^J%an7%Idle timer expired. Please call back later.%an0^J^M}
{WRIT ▒░▒░▒ USER ABSENT ▒░▒░▒}
{WRIT ▒░▒░▒ AUTO-DISCONNECT: %_dat %_tim ▒░▒░▒} {WRIT } {WCLO}
{GOTO GB2}
{:gby5}
{WOPE-A %datadir%LOG-1.LOG} {WRIT Read: %reads}
{WRIT ▒░▒░▒ DISCONNECTED: %_dat %_tim ▒░▒░▒} {WRIT } {WCLO}
{COMP on,1} {IFCO GB2,bbs}
{:gby4}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : Ended chat} {WCLO}
{:gby3}
{WOPE-A %datadir%LOG-1.LOG} {WRIT Read: %reads}
{WRIT ▓▓▓▓▓ XPRESS Logoff: %_dat %_tim ▓▓▓▓▓} {WRIT } {WCLO}
{COMP on,1} {IFCO GB2}
{GOTO bbs}
{:gby2}
{SEND ^J^M^J%an1%%an9%Your time on-line for today has expired.}
{WOPE-A %datadir%LOG-1.LOG} {WRIT Read: %reads}
{WRIT ▒░▒░▒ OUT OF TIME ▒░▒░▒}
{WRIT ▒░▒░▒ AUTO-DISCONNECT: %_dat %_tim ▒░▒░▒} {WRIT } {WCLO}
{GOTO GB2}
{:gby}
{WOPE-A %datadir%LOG-1.LOG} {WRIT Read: %reads}
{WRIT ░░░░░ Logoff: %_dat %_tim ░░░░░} {WRIT } {WCLO}
{SEND ^J^M^J}
{SETV dump_file,%datadir%LOGOFF%mnu.MNU}
{CALL ascii_ul}
{:GB2}
{SETV ftime,%_tim}
{INCR ttu,%_ela}
{COMP hang,n} {IFCO GB4}
{HANG y} {HANG y}
{:GB4} {SEND ^J^M%an3%Saving...}
{CALL write_data}
{COMP pcpd,c} {IFCO GB3}
{SEND ^J^M%an1%Updating Time Usage log...}
{CALL updat_tu}
{:GB3}
{COMP on,2} {IFCO bbs}
{SEND ^J^M%an1%Updating Caller log...}
{WOPE-A %datadir%CALLERS.TDY}
{WRIT %_dat %stime TO %ftime %login_name #%userno} {WCLO}
{:hng} {GOTO bbs}
{:gbye} {HANG y}
{WOPE-A %datadir%LOG-1.LOG}
{WRIT ▒░▒░▒ DISCONNECTED: %_dat %_tim ▒░▒░▒} {WRIT } {WCLO}
{GOTO bbs}
{:updat_tu}
{DECR %tlc,%_ela}
{IFEX %datadir%TIMEUSED.LOG,,UT0}
{ROPE %datadir%TIMEUSED.LOG,UT1}
{WOPE %datadir%TEMP.000}
{SETV ch,0}
{:UT2} {INCR ch} {READ dline}
{COMP ch,%userno} {IFCO UT3}
{WRIT %dline} {GOTO UT2}
{:UT3} {WRIT %tlc}
{:UT4} {READ dline} {WRIT %dline} {GOTO UT4}
{:UT1}
{WCLO}
{EXEC-N COPY %datadir%TEMP.000 %datadir%TIMEUSED.LOG}
{:UT0}
{RETURN}