home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
comm
/
mbbs25a4.zip
/
MACROFIL.MAC
< prev
next >
Wrap
Text File
|
1993-05-30
|
18KB
|
609 lines
MACROFIL.MAC 2.5 ALPHA
by Jeff Oberlee (C)opyright 1992,93
{:alr} {MACL MACROBBS.MAC,WF3} {:alu} {MACL MACROBBS.MAC,bbs}
{:esc_menu}
{IFCA ,ESM} {SEND ^J^M%an7%%an9%Time comes to a grinding halt! %an0}
{:ESM} {SETE-P0 ESM2} {SETV ch}
{PARM ,,,,0}
{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} {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}
{: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}
{:view_scroll}
{SCROLL}
{GOTO CT4}
{: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} {COMP s,1} {IFCO UC5}
{:UC4} {WRIT %ch}
{WRIT %login_name}
{WRIT %password}
{:UC5} {READ dline} {WRIT %dline} {GOTO UC5}
{:UC1} {WCLO}
{EXEC-N COPY %datadir%TEMP.000 %datadir%CALLERS.LST}
{EXEC-N DEL %datadir%TEMP.000}
{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}
{RETURN}
{:time_out}
{MACL MACROBBS.MAC,time_out}
{:cls}
{CLEA}
{COMP on,} {IFCO CLS3}
{COMP mnu,A} {IFCO CLS1}
{SEND ^[[2J}
{GOTO CLS2}
{:CLS1} {SEND ^L}
{:CLS2} {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}
{:dsp_file}
{IFEX %dump_file,,DF5}
{SETV count,0}
{ROPE %dump_file,DF3}
{PUSH}
{:DF1} {READ dline} {SEND ^M%dline^J^M}
{INCR count} {COMP count,22} {IFCO DF4,DF1}
{:DF3} {SETV dline} {SETV ch} {SETV count}
{POPS}
{SETG 300,time_out}
{RETURN}
{:DF4} {SETV count,0}
{SEND More? (Y,n) : }
{SETG 300,DF1}
{:DF6} {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,DF1}
{:DF5} {SEND ^J^M^G%an1%Error: %an7%File not found: %dump_file}
{COMP expert,ON} {IFCO DF9}
{CALL press_any_key}
{:DF9} {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}
{:expert_tog}
{COMP expert,ON}
{IFCO ET1}
{SETV expert,ON}
{GOTO ET2}
{:ET1} {SETV expert,OFF}
{:ET2} {RETURN}
{:cd}
{IFCA cd1}
{COMP on,1} {IFCO time_out}
{:cd1} {COMP on,1} {IFCO ,cd2}
{COMP _ela,%tlc} {IFCO-GE time_out}
{:cd2} {RETURN}
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
{:start}
{PUSH}
{:FX1}
{SETE time_out}
{CALL cd}
{SETV mac,FIL}
{ROPE %filedir%F%fa.BAS} {READ bname} {READ bal} {RCLO}
{SETE-P0 esc_menu}
{COMP expert,ON} {IFCO FX3}
{:FX10} {CALL cls}
{SEND ^J^M^J^J%an2}
{SEND ^J^M ┌───────────────────────────────────────────────────┐}
{SEND ^J^M │ %an0▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ %an7%File Base %an0▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ %an2│}
{SEND ^J^M └───────────────────────────────────────────────────┘}
{SEND ^J^M [%an0%<%an2] Reverse [%an0%A%an2] Area List [%an0%>%an2] Forward^J^M}
{SEND ^J^M %an2[%an0%L%an2] List this area's files [%an0%P%an2] Protocol Menu %an4[%an0%M%an4] Message Base}
{SEND ^J^M %an2[%an0%U%an2] UPLOAD (give) a file [%an0%C%an2] Chat %an1[%an0%H%an1] Hall of Fame}
{SEND ^J^M %an2[%an0%D%an2] DOWNLOAD (take) a file [%an0%X%an2] Xpert Toggle %an0[%an0%Q%an0] MAIN MENU^J^M}
{:FX3}
{SEND ^J^M^J%an2%File Base}
{SEND ^J^M%an2[%an0%%bname%%an2] %an0%%_tim^J^M}
{SETV ch,%tlc} {DECR ch,%_ela}
{SEND %an0%Mins Left: %an0%%ch %an2 Proto: %an0%%protocol^J^M}
{:FX2} {SEND ^M} {COMP expert,ON} {IFCO ,FX11}
{SEND %an2(%an0?%an2=menu) }
{:FX11} {SEND %an7%FB Command: ^H}
{SETG 300,time_out}
{:FX5} {IFCA FX9}
{COMP mspeed,local} {IFCO ,time_out}
{:FX9} {CALL cd}
{GETS-H ch,1,FX9}
{:FX6}
{COMP ch,*} {IFCO time_out}
{COMP ch,?} {IFCO FX10}
{COMP ch,q} {IFCO main}
{COMP ch,m} {IFCO msg_base}
{COMP ch,h} {IFCO hall}
{COMP ch,<} {IFCO fast_bak}
{COMP ch,>} {IFCO fast_for}
{COMP ch,a} {IFCO area_chg}
{COMP ch,c} {IFCO chat}
{COMP ch,x} {IFCO expert_tog}
{COMP ch,l} {IFCO list_files}
{COMP ch,p} {IFCO get_protocol}
{SETV dline,ud} {INST dline,%ch} {IFCO ,FX2} {COMP al,0} {IFCO FX7}
{COMP ch,u} {IFCO ufiles}
{COMP ch,d} {IFCO dfiles}
{:FX7} {SEND ^J^M%an1%Sorry, your access level does not allow.^J^M} {GOTO FX2}
{:main}
{SETV files} {SETV dfiles} {SETV desc}
{MACL MACROBBS.MAC,main_menu}
{:msg_base}
{IFEX MACROMSG.MAC,,FX2}
{IFEX %msgsdir%A%a.BAS,MB2}
{IFEX %msgsdir%A*.BAS,,FX2}
{SETV a,0}
{:MB1} {INCR a}
{COMP a,%mhigh} {IFCO-G FX2}
{IFEX %msgsdir%A%a.BAS,,MB1}
{:MB2}
{ROPE %msgsdir%A%a.BAS,MB1} {READ ch} {READ ch} {RCLO}
{COMP ch,%al} {IFCO-G MB1}
{SETV files} {SETV dfiles} {SETV desc}
{MACL MACROMSG.MAC,start}
{:hall}
{IFEX MACROREG.MAC,,FX2}
{SETV files} {SETV dfiles} {SETV desc}
{MACL MACROREG.MAC,start}
{:fast_for}
{COMP fa,%fhigh} {IFCO ,FF0}
{SETV ch,0} {GOTO FF1}
{:FF0}
{SETV ch,%fa}
{:FF1}
{INCR ch}
{COMP ch,%fhigh} {IFCO-G FX2}
{IFEX %filedir%F%ch.BAS,,FF1}
{ROPE %filedir%F%ch.BAS,FF1} {READ dline} {READ temp} {RCLO}
{COMP al,%temp} {IFCO-L FF1}
{SETV fa,%ch}
{ROPE %filedir%F%fa.BAS} {READ bname} {READ bal} {RCLO}
{:FF2} {GOTO FX3}
{:fast_bak}
{COMP fa,1} {IFCO ,FB0}
{SETV ch,%fhigh} {INCR ch} {GOTO FB1}
{:FB0}
{SETV ch,%fa}
{:FB1}
{DECR ch}
{COMP ch,1} {IFCO-L FX2}
{IFEX %filedir%F%ch.BAS,,FB1}
{ROPE %filedir%F%ch.BAS,FB1} {READ dline} {READ temp} {RCLO}
{COMP al,%temp} {IFCO-L FB1}
{SETV fa,%ch}
{ROPE %filedir%F%fa.BAS} {READ bname} {READ bal} {RCLO}
{:FB2} {GOTO FX3}
{:area_chg}
{IFEX %datadir%FAREAS%mnu.MNU,,AC11}
{SETV dump_file,%datadir%FAREAS%mnu.MNU}
{CALL ascii_ul}
{GOTO AC6}
{:AC11}
{CALL cls}
{SETV df} {SETV count,0} {SETV mcount,0}
{SEND ^J^M%an7%File Area(s):^J^M^J}
{:AC1}
{INCR count}
{COMP count,%fhigh} {IFCO-G AC2}
{IFEX %filedir%F%count.BAS,,AC1}
{ROPE %filedir%F%count.BAS,AC1} {READ bname} {READ bal} {RCLO}
{COMP al,%bal} {IFCO-L AC1}
{COMP df,2} {IFCO AC5}
{SETV ch,35} {LENG %bname} {DECR ch,%_len} {SUBS dline,1,%ch, }
{SEND %an7%%count> %an2%%bname%%dline}
{SETV df,2}
{GOTO AC1}
{:AC5}
{SEND %an7%%count> %an2%%bname^J^M}
{SETV df,1}
{INCR mcount}
{COMP mcount,20} {IFCO ,AC1}
{CALL screen_full}
{COMP ch,y} {IFCO AC1,AC3}
{:AC2} {COMP df,2} {IFCO AC6}
{SEND ^J^M} {GOTO AC3}
{:AC6} {SEND ^J^M^J}
{:AC3} {SEND ^M%an7%Which will it be?%an0 ^H^H}
{SETG 120,time_out}
{GETS ch,2,AC4}
{COMP ch,1} {IFCO-L AC3}
{COMP ch,%fhigh} {IFCO-G AC3}
{IFEX %filedir%F%ch.BAS,,AC3}
{ROPE %filedir%F%ch.BAS,AC3} {READ bname} {READ bal} {RCLO}
{COMP al,%bal} {IFCO-L AC3}
{SETV fa,%ch}
{:AC4} {RETURN}
{:dfiles}
{CALL cls}
{SEND ^J^M%an2%Enter the name of the file you wish to download. (ENTER=abort)^J^M}
{:DX4} {SEND %an7%Filename:%an0 }
{GETS files,12,DX1}
{SETV transdir,%filedir%F%fa}
{SETV filepath,%transdir\%files}
{IFEX %filepath,,DX3}
{COMP protocol,} {IFCO ,DX0}
{CALL get_protocol}
{:DX0} {SETV tran,S}
{SETV proto,S%protocol}
{CALL transfer}
{:DX10}
{COMP %_err,0} {IFCO DX2}
{WOPE-A %datadir%LOG-1.LOG} {WRIT ▒░▒░▒ ERRONEOUS DOWNLOAD at %_tim of %filepath ▒░▒░▒} {WCLO}
{SEND ^J^M%an1%Erroneous download.^J^M}
{COMP expert,ON} {IFCO DX1}
{CALL press_any_key}
{:DX1}
{SETV files} {SETV filepath} {SETV tran} {SETV transdir} {SETV proto}
{POPS-C}
{GOTO start}
{:DX2} {WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : successful download of %filepath} {WCLO}
{SEND ^J^M%an7%Successful download.^J^M}
{GOTO DX1}
{:DX3} {SEND ^J^M%an1%Invalid filename. Please try again.^J^M}
{GOTO DX4}
{:DX10} {COMP expert,ON} {IFCO DX1}
{CALL press_any_key}
{GOTO DX1}
{:ufiles}
{CALL cls}
{COMP mspeed,local} {IFCO UF15}
{SEND ^J^M^J%an7%Upload a file to %an3%%bname%%an7? %an0(y,%an7%N%an0) : }
{:UF9} {GETS-H ch,1,UF1}
{COMP ch,n} {IFCO UF1}
{COMP ch,y} {IFCO UF15}
{SEND ^H} {GOTO UF9}
{:UF15}
{SEND ^J^M^J%an4%Enter the name of the file you wish to upload. (ENTER=abort)^J^M}
{:UF8} {SEND %an7%Filename:%an0 }
{COMP mspeed,local} {IFCO UF16}
{GETS files,12,UF1}
{INST files,*} {IFCO UF7}
{INST files,?} {IFCO UF7}
{INST files,,} {IFCO UF7}
{GOTO UF17}
{:UF16} {GETS files,12,UF1}
{:UF17}
{SETV transdir,%filedir%F%fa}
{SETV filepath,%transdir\%files}
{COMP mspeed,local} {IFCO ,UF5}
{IFEX %filepath,,UF7}
{SEND ^J^M}
{EXEC-N MBBSDIR %filepath}
{ROPE TEMP.000,UF14}
{WOPE-A %transdir.LST}
{:UF10} {READ dline}
{COMP %dline,} {IFCO UF10}
{SUBS ch,1,1,%dline} {COMP ch, } {IFCO UF10} {COMP ch,.} {IFCO UF10}
{INST %dline,<DIR>} {IFCO UF10}
{SUBS dline,1,23,%dline}
{SEND ^J^M%an3%%dline }
{SEND %an1%Upload this file? %an0(Yes,%an7%N%an0%o,Quit) : }
{:UF11} {GETS-H ch,1,UF10}
{COMP ch,n} {IFCO UF10}
{COMP ch,q} {IFCO UF13}
{COMP ch,y} {IFCO UF12}
{SEND ^H} {GOTO UF11}
{:UF12} {SEND ^J^M%an7%File description:%an0 }
{GETS desc,53,UF10}
{WRIT %dline %desc}
{GOTO UF10}
{:UF13} {RCLO}
{:UF14} {WCLO}
{EXEC-N DEL TEMP.000}
{GOTO UF1}
{:UF5}
{IFEX %filepath,UF4}
{COMP protocol,} {IFCO ,UF0}
{CALL get_protocol}
{:UF0} {SETV tran,R}
{SETV proto,R%protocol}
{SETV tl,%tlc}
{CALL transfer}
{:UF18}
{SETV ch,%_ela} {DECR ch,%tl} {INCR tlc,%ch} {SETV tl}
{COMP %_err,0} {IFCO ,UF3}
{WOPE-A %datadir%LOG-1.LOG} {WRIT %_tim : successful upload of %filepath} {WCLO}
{:UF6} {EXEC-N MBBSDIR %filepath}
{ROPE TEMP.000,UF14}
{:UF20} {READ dline}
{COMP %dline,} {IFCO UF20}
{SUBS ch,1,1,%dline} {COMP ch, } {IFCO UF20} {COMP ch,.} {IFCO UF20}
{INST %dline,<DIR>} {IFCO UF20}
{RCLO}
{SUBS dline,1,23,%dline}
{SEND ^J^M%an7%File description:%an0 }
{:UF2} {GETS desc,53,UF2}
{WOPE-A %transdir.LST} {WRIT - %dline %desc} {WCLO}
{:UF1} {SETV files} {SETV desc} {SETV filepath}
{SETV tran} {SETV transdir} {SETV proto} {SETV tl}
{POPS-C}
{GOTO start}
{:UF3} {WOPE-A %datadir%LOG-1.LOG} {WRIT ▒░▒░▒ ERRONEOUS UPLOAD at %_tim of %filepath ▒░▒░▒} {WCLO}
{EXEC-N DEL TEMP.000}
{GOTO UF1}
{:UF4} {SEND ^J^M%an1%File already exists.^J^M} {GOTO UF8}
{:UF7} {SEND ^J^M%an1%Invalid filename. Please try again.^J^M} {GOTO UF8}
0{:list_files}
{CALL cls}
{SETV dump_file,%filedir%F%fa.LST}
{CALL dsp_file}
{COMP expert,ON} {IFCO LF}
{CALL Press_Any_Key}
{:LF} {RETURN}
{:get_protocol}
{PUSH}
{SEND ^J^M}
{:GP2} {COMP expert,ON} {IFCO GP4}
{:GP5} {CALL CLS}
{SEND ^J^M%an1}
{SEND ^J^M ┌───────────────────────────────────────────────────┐}
{SEND ^J^M │ %an0▒▒▒▒▒▒▒▒▒▒▒▒ %an7%File Transfer Protocols %an0▒▒▒▒▒▒▒▒▒▒▒▒ %an1│}
{SEND ^J^M └───────────────────────────────────────────────────┘^J^M}
{IFEX MBBSPROT.LST,,GP7}
{ROPE MBBSPROT.LST,GP7}
{:GP8} {READ ch} {LENG %ch} {COMP _len,1} {IFCO ,GP8}
{IFEX MBXPRO-%ch.MAC,,GP8}
{READ dline}
{SEND ^J^M %an1[%an0%%ch%%an1] %dline}
{GOTO GP8}
{:GP7}
{SEND ^J^M %an1[%an0%G%an1] Ymodem-G}
{SEND ^J^M %an1[%an0%Y%an1] Ymodem}
{SEND ^J^M %an1[%an0%K%an1] Xmodem-1k}
{SEND ^J^M %an1[%an0%X%an1] Xmodem-CRC^J^M}
{:GP4} {SEND ^J^M}
{:GP1} {SEND ^M%an1%Protocol:%an0 ^H}
{SETG 300,time_out}
{:GP3} {GETS-H ch,1,GP3}
{COMP ch,*} {IFCO time_out}
{COMP ch,?} {IFCO GP1}
{COMP ch,,} {IFCO GP1}
{IFEX MBXPRO-%ch.MAC,GP6}
{SETV dline,xkyg} {INST dline,%ch} {IFCO ,GP1}
{:GP6}
{SETV protocol,%ch}
{POPS}
{RETURN}
{:transfer}
{IFEX MBXPRO-%protocol.MAC,,TF1}
{ROPE MBXPRO-%protocol.MAC,TF1}
{READ dline} {READ pname} {READ path} {RCLO}
{IFEX %path,,TF0}
{MACL MBXPRO-%protocol.MAC,start}
{:pdoor}
{COMP tran,s} {IFCO DX10,UF18}
{:TF0}
{SEND ^J^M%an1"%path" not found.}
{:TF1}
{COMP proto,sy} {IFCO s_y}
{COMP proto,sg} {IFCO s_y}
{COMP proto,sk} {IFCO s_x}
{COMP proto,sx} {IFCO s_x}
{COMP proto,ry} {IFCO r_y}
{COMP proto,rg} {IFCO r_yg}
{COMP proto,rk} {IFCO r_x}
{COMP proto,rx} {IFCO r_x}
{SEND ^J^M^J%an1%Invalid protocol.^J^M}
{COMP expert,ON} {IFCO DL1}
{CALL press_any_key}
{:DL1} {SETV proto}
{POPS}
{RETURN}
{:s_y}
{SEND ^J^MStart your YMODEM download now.}
{SYMO-K %filepath}
{:RPM}
{COMP %_err,0}
{RETURN}
{:s_x}
{SEND ^J^MStart your XMODEM-CRC download now.}
{SXMO-K %filepath}
{GOTO RPM}
{:r_y}
{SEND ^J^MStart your YMODEM upload now.}
{RYMO %filepath}
{GOTO RPM}
{:r_yg}
{SEND ^J^MStart your YMODEM-G upload now.}
{RYMO-G %filepath}
{GOTO RPM}
{:r_x}
{SEND ^J^MStart your XMODEM-CRC upload now.}
{RXMO %filepath}
{GOTO RPM}