home *** CD-ROM | disk | FTP | other *** search
- Welcome to the COMMO HOST MODE version 5.1
- Written by Jeff Bishop
- Released to the public domain.
-
- NOTE: Some parts of this host have been developed from the MOSTHOST
- package. These include the autobaud detection and the chat mode. ALL
- other parts are original. Credit is due in great appreciation to the
- MOSTHOST author.
-
- The next section of this macro contains all of the setup variables
- required. Change the name and passwords before running the host.
- To use Zmodem or Ymodem make sure that DSZ.COM is in your DOS path.
- Xmodem is internal to COMMO.
-
- Some external programs are required. These are: RV 2.42,
- DOORWAY 2.21, HSLINK 10D5 and DSZ/GSZ. Please make sure that the options you
- use from the menu have the supporting programs or else COMMO macro errors
- will occur.
-
- The supporting programs are registered trademarks of their respective
- corporations.
-
- ********************************************************************************
- The following section sets up the necessary variables and options for the
- JBHOST. Please make sure that these are set to your appropriate
- settings.
- ********************************************************************************
-
- {:setup} {sete quit}
- {setv autobaud,Y} Allow autobaud detection
- {setv dpass,shell} DOS PASSWORD for DOS menu
- {setv i_time,0} Inactive timeout setting
- {setv level,0} level for new users, 0=basic, 1=sysop level
- {setv minutes,0} Allowed minutes online (0 means no limit)
- {setv pdir,c:\com\} DSZ DRIVER DIRECTORY
- {SETV sdir,C:\COM} STARTING DIRECTORY
- {setv spass,shutdown} Regular shutdown password
- {EXEC CD %sdir} {setv sdir} Change to startup directory
-
- ********************************************************************************
- The next section starts the main body of the host mode.
- ********************************************************************************
-
- {:HOST} {setv novice,Y} {loca N} {spoc Y} {SEND AT|} {paus 2}
- {:HOST2} {loca n} {clea}
- {disp 1,1,,^(COMMO^) is in Host Mode.}
- {disp 2,1,,^(ESC^) to halt the host.}
- {disp 3,1,,^(1^) for local login mode.}
- {disp 4,1,,^(2^) to go to main menu locally}
- {disp 5,1,,^(3^) to view scroll back buffer}
- {disp 6,1,,^(4^) to change time limit allowed online}
- {disp 7,1,,^(5^) Set Timeout value}
- {disp 8,1,,^(q^) to exit host.} {disp 9,1}
-
- ********************************************************************************
- The next section handles the processing of the ring/options entered.
- ********************************************************************************
-
- {:rng1} {setg 0,,L} {setv rng} {gets rng,6,rng1}
- {comp rng,1} {ifco sysop}
- {comp rng,2} {ifco dolocal}
- {comp rng,3} {ifco dscroll}
- {comp rng,4} {ifco limit}
- {comp rng,5} {ifco timeset}
- {comp rng,q} {ifco quit2}
- {comp rng,RING} {ifco ,host}
-
- ********************************************************************************
- Answer the phone and process connect.
- ********************************************************************************
-
- {:rang} {SEND ^J^M~ATA^J^M~}
- {SETL 45,host}
- {GOLO C300,CONNECT^M}
- {GOLO C120,CONNECT 1200^M}
- {GOLO C240,CONNECT 2400^M}
- {GOLO C480,CONNECT 4800^M}
- {GOLO C960,CONNECT 9600^M}
- {GOLO C192,CONNECT 19200^M}
- {LOOK CONNECT 38400^M}
- {SETV mspeed,38400} {GOTO waitout}
- {:C300} {SETV mspeed,300} {GOTO waitout}
- {:C120} {SETV mspeed,1200} {GOTO waitout}
- {:C240} {SETV mspeed,2400} {GOTO waitout}
- {:C480} {SETV mspeed,4800} {GOTO waitout}
- {:C960} {SETV mspeed,9600} {GOTO waitout}
- {:C192} {SETV mspeed,19200}
- {:waitout} {comp autobaud,n} {ifco WO1} {PARM %mspeed}
- {:WO1} {setv rng} {setv mspeed} {setv tmp} {goto getuser}
-
- {:dscroll} {spoc N} {scroll} {goto host2}
- {:dolocal} {spoc N} {loca Y} {elap}
- {setv rng} {setv username,SYSOP} {setv ulevel,1} {goto menu2}
-
- ********************************************************************************
- This routine will be executed if the LIMIT option is selected.
- ********************************************************************************
-
- {:limit} {clea} {setv minutes,0}
- {input minutes,Enter the number of minutes allowed online}
- {goto host2}
-
- ********************************************************************************
- This routine handles the shutting down of the host mode.
- ********************************************************************************
-
- {:quit} {call cls} {send Shutting down the host^M^J} {call pk}
- {:quit2} {ifca ,quitgo} {elap} {hang Y} {paus 2}
- {:quitgo} {spoc y} {loca n} {setv user} {setv dpass} {setv spass}
- {setv minutes} {setv opt} {setv pdir} {setv NOVICE} {setv i_time}
- {setv autobaud} {setv username} {setv ulevel} {setv level}
- {clea} {macl commo.mac} {}
- {:sysop} {setv rng} {spoc N} {goto getuser}
- {:timeset} {clea} {setv i_time,0}
- {input i_time,Enter the number of seconds to allow before timeout? }
- {goto host2}
-
- ********************************************************************************
- The next set of routines handles the logging in of users.
- ********************************************************************************
-
- {:getuser} {elap} {loca y} {call cls}
- {ifex %_HOM%jbusers,,newuser}
- {send Welcome to the ^(COMMO^) host mode^M^J^M^J}
- {:ul} {setv y,0} {setg %i_time,tout,y,^M^J}
- {:t0} {setv username}
- {send Enter 'NEW' for new user^M^J^M^Jusername: }
- {gets username,20}
- {comp username,new} {ifco newuser}
- {call chk_usr}
- {comp uflag,Y} {ifco gpass}
- {incr Y} {comp-ge y,3} {ifco wuser}
- {send ^M^J^GWrong Entry^M^J} {goto t0}
- {:wuser} {setv username} {setv y}
- {call cls} {call wcerr} {goto host}
- {:gpass} {call entrpas} {comp pflag,Y} {ifco menu,host}
-
- ********************************************************************************
- This routines accepts a password and verifies it.
- ********************************************************************************
-
- {:entrpas} {setv pflag,Y} {call cls} {setv y,0}
- {:t1} {send Password: }
- {SETV tmp} {setg %i_time,tout,Y,^M^J}
- {gets-Hp tmp,20}
- {comp tmp,%password} {ifco xentrps}
- {incr Y} {comp Y,3} {ifco wpass}
- {send ^M^JTry again^m^j} {goto t1}
- {:wpass} {call wcerr} {setv pflag,N}
- {:xentrps} {setv tmp} {setv y} {retu}
-
- ********************************************************************************
- This routine handles new users comming into the system.
- ********************************************************************************
-
- {:newuser} {call cls}
- {send Welcome to the new user ^(COMMO^) Host mode screen^M^J}
- {:new1} {send Please enter your name: }
- {setv username} {setg %i_time,tout,Y,^M^J}
- {gets username,20} {comp username} {ifco new1}
- {:new2} {send ^M^JEnter password: }
- {setv pass} {setg %i_time,tout,Y,^M^J}
- {gets-Hp pass,20}
- {comp pass} {ifco new2}
- {:new3} {send ^M^JVerify Password: }
- {setv pass2}
- {setg %i_time,tout,Y,^M^J}
- {gets-Hp pass2,20}
- {comp pass2} {ifco new3}
- {comp pass,%pass2} {ifco yusr}
- {call wcerr} {goto newuser}
- {:yusr} {call cls}
- {send thank you, writing new user information to disk ...}
- {wope-a1 %_hom%jbusers} {writ %username} {writ %pass}
- {writ %novice} {writ %level}
- {wclo} {setv pass} {setv pass2} {setv uflag,Y} {call pk}
- {setv ulevel,0} {goto menu}
-
- ********************************************************************************
- The main menu routine.
- ********************************************************************************
-
- {:menu} {comp minutes,0} {ifco menu2}
- {comp minutes,%_elap} {ifco-le tout}
- {:menu2} {call cls}
- {send ^(COMMO^) Host Mode^M^J Version 5.1^m^j^m^j
- {send Main Menu^M^J^M^J}
- {send User: %username Level: %ULEVEL^M^J^M^J}
- {comp NOVICE,Y} {ifco ,menu3}
- {send ^(A^) Access DOS Menu^M^J}
- {send ^(C^) Chat with the Sysop^m^j}
- {send ^(D^) Download a File^M^J}
- {send ^(F^) File list of current directory^M^J}
- {send ^(G^) Good Bye (Logoff)^M^J}
- {send ^(H^) Help^m^j}
- {comp username,sysop} {ifco mm0}
- {disp ,,, ^(K^) Kill %username^M^J}
- {disp ,,, ^(L^) Lower Security for the User^M^J}
- {:MM0} {SEND ^(O^) time Online^M^J}
- {comp username,sysop} {ifco mmg}
- {disp ,,, ^(R^) Raise Security for the User^M^J}
- {:MMG} {SEND ^(s^) Shut Down Host^M^J}
- {send ^(T^) Timed shutdown (will come back at a specific time)^M^J}
- {SEND ^(U^) Upload a File^M^J}
- {send ^(v^) View an Archive^M^J}
- {send ^(X^) Expert Toggle^m^j^M^J}
- {disp 19,60,,^(!^) Bang to DOS}
- {disp 24,1} {goto menu4}
- {:menu3} {disp ,,, !} {send ,A,C,D,F,G,H,}
- {comp username,sysop} {ifco mmg1}
- {disp ,,,K,L,}
- {:MMG1} {send O,}
- {comp username,sysop} {ifco mmg2}
- {disp ,,,R,}
- {:MMG2} {send S,T,U,V,X: }
- {:menu4} {call gchoice}
- {comp opt} {ifco menu}
- {comp opt,A} {ifco dosmenu}
- {comp opt,C} {ifco ,mm1}
- {call page} {goto menu}
- {:mm1} {comp opt,D} {ifco dwnload}
- {comp opt,F} {ifco ,dir0}
- {call dir} {goto menu}
- {:dir0} {comp opt,G} {ifco ,mm2}
- {call goodbye} {goto menu}
- {:MM2} {comp opt,H} {ifco help}
- {comp opt,k} {ifco kill}
- {comp opt,l} {ifco lower}
- {comp opt,O} {ifco time}
- {comp opt,r} {ifco raise}
- {comp opt,S} {ifco shut}
- {comp opt,T} {ifco shut}
- {comp opt,U} {ifco upload}
- {comp opt,V} {ifco arcview}
- {comp opt,X} {ifco ,mm3}
- {call expert} {goto menu}
- {:MM3} {comp opt,!} {ifco ,mm4}
- {call bang} {goto menu}
- {:MM4} {goto menu}
- {:bang} {call cls} {send Sysop Shelling to DOS, Stand by...}
- {shell}
- {call cls} {send ^GSysop has returned} {call pk} {retu}
-
- ********************************************************************************
- This routine handles the expert toggle command.
- ********************************************************************************
-
- {:expert} {comp NOVICE,Y} {ifco ,chn}
- {setv NOVICE,N} {retu}
- {:chn} {setv NOVICE,Y} {retu}
-
- ********************************************************************************
- This routine handles the Good bye command.
- ********************************************************************************
-
- {:goodbye} {call cls} {send Are you Sure (Y/N)? }
- {setg %i_time,tout,Y,^M^J} {gets-h opt,1}
- {comp opt} {ifco goodn}
- {comp opt,Y} {ifco ,goodn}
- {:goody} {send ^m^jgood bye.^m^j}
- {:goody2} {ifca ,host} {hang Y} {goto host}
- {:goodn} {retu}
- {:help} {setv file,%_hom%jbhost.hlp} {call dispfil} {setv file} {goto menu}
- {:KILL} {comp username,sysop} {ifco menu} {goto goody2}
- {:lower} {comp username,sysop} {ifco menu}
- {setv ulevel,0} {call cls} {send ^G^GSecurity lowered^M^J}
- {call pk} {goto menu}
-
- ********************************************************************************
- This routine handles the pageing option.
- ********************************************************************************
-
- {:page} {SETG i_time,tout} {beep} {beep} {beep} {beep} {beep}
- {call cls}
- {SEND Type '/EXIT' to exit chat mode^M^J^M^J}
- {:p1} {SETV line}
- {:p2} {GETS-AH line,70}
- {COMP line,/exit} {IFCO p5}
- {LENG %line} {COMP %_len,65} {IFCO-LE p1} {SETV x,70}
- {:p3} {DECR x} {COMP x,50} {IFCO-LE p1}
- {SUBS ch,%x,1,%line} {COMP ch, } {IFCO ,p3} {INCR x}
- {SUBS line,%x,255,%line}
- {:p4} {COMP x,%_len} {IFCO-G p2} {INCR x} {GOTO p4}
- {:p5} {call pk} {setv line} {RETU}
-
- ********************************************************************************
- Show current date/time.
- ********************************************************************************
-
- {:raise} {comp username,sysop} {ifco menu}
- {setv ulevel,1} {call cls} {send ^G^GSecurity raised^M^J}
- {call pk} {goto menu}
- {:time} {call cls}
- {send Current date: %_DWT %_dat %_12H:%_min:%_SEC %_AMP^M^J^M^J}
- {send You have been online for %_elap minutes^M^J}
- {comp minutes,0} {ifco timeend}
- {setv tmp,%minutes} {decr tmp,%_elap}
- {send ^M^JTime remaining online is %tmp% minutes^M^J} {setv tmp}
- {:timeend} {call pk} {goto menu}
-
- ********************************************************************************
- This set of routines handles the archive viewing command.
- ********************************************************************************
-
- {:arcview} {call fname} {comp file} {ifco menu}
- {send ^m^jpreparing the listing.^m^j}
- {exec rv %file%>arclist.$$$}
- {setv file,arclist.$$$}
- {call dispfil} {exec del arclist.$$$}
- {setv alister} {setv file} {goto menu}
-
- ********************************************************************************
- This routine set handles the dos menu.
- ********************************************************************************
-
- {:dosmenu} {setv password,%dpass}
- {call entrpas} {comp pflag,Y} {ifco ,menu}
- {:dosmnu2} {call cls}
- {send DOS Menu^M^J^M^J}
- {comp NOVICE,Y} {ifco ,expdos}
- {send ^(C^) Change to a new Directory^M^J}
- {send ^(D^) Change to a different drive^M^J}
- {send ^(f^) File List of current directory^M^J}
- {send ^(G^) Good bye (logoff)^M^J}
- {send ^(P^) Page the Sysop for a Chat^M^J}
- {send ^(s^) Shell to DOS^M^J}
- {send ^(t^) Type a File^M^J}
- {send ^(X^) Expert Toggle^M^J}
- {send ^(-^) Previous Menu^M^J^m^j}
- {goto getdos}
- {:expdos} {send C,D,F,G,P,S,T,V,X,-: }
- {:getdos} {call gchoice}
- {comp opt} {ifco dosmnu2}
- {comp opt,c} {ifco chdir}
- {comp opt,d} {ifco chdrv}
- {comp opt,f} {ifco ,DIR1}
- {call dir} {goto dosmnu2}
- {:dir1} {comp opt,g} {ifco ,dm0}
- {call goodbye} {goto dosmnu2}
- {:dm0} {comp opt,p} {ifco ,dmp1}
- {call page} {goto dosmnu2}
- {:dmp1} {comp opt,S} {ifco shell}
- {comp opt,T} {ifco type}
- {comp opt,x} {ifco ,dm1}
- {call expert} {goto dosmnu2}
- {:DM1} {comp OPT,-} {ifco MENU}
- {comp opt,!} {ifco ,dm2}
- {call bang} {goto dosmnu2}
- {:dm2} {goto DOSmnu2}
-
- ********************************************************************************
- This is the change directory command.
- ********************************************************************************
-
- {:chdir} {call cls}
- {setv tmp} {send Directory Name: }
- {gets tmp,12}
- {comp tmp} {ifco dosmnu2}
- {exec cd %tmp}
- {send ^m^jcurrent Directory is now %tmp^m^j}
- {setv tmp} {call pk} {goto dosmnu2}
-
- ********************************************************************************
- This is the change drive command.
- ********************************************************************************
-
- {:chdrv} {call cls} {setv tmp}
- {send Drive: } {gets tmp,2}
- {comp tmp} {ifco dosmnu2}
- {exec %tmp}
- {send ^m^jcurrent Drive is now %tmp%^m^j}
- {setv tmp} {call pk} {goto dosmnu2}
-
- ********************************************************************************
- This is the directory command routine.
- ********************************************************************************
-
- {:dir} {exec dir>%_hom%dir$$$}
- {setv file,%_hom%dir$$$} {call dispfil}
- {exec del %_hom%dir$$$}
- {setv file} {retu}
-
- ********************************************************************************
- This routine handles the shell to DOS.
- ********************************************************************************
-
- {:shell} {call cls} {comp ulevel,0} {ifco nolevel}
- {send ^M^Jshelling to DOS^M^J} {ifca ,shell2}
- {send Type 'EXIT' to return to host}
- {exec DOORWAY com%_por% /M:60 /S:* /K:0 /G:ON /A:ON /V:D^U /b:Z /C:DOS}
- {goto shell3}
- {:shell2} {shell}
- {:shell3} {setv y} {setv tmp} {call pk} {goto dosmnu2}
- {:type} {call fname} {comp file} {ifco dosmnu2} {call dispfil} {goto dosmnu2}
-
- ********************************************************************************
- This handles either the timed or regular shutdown routine.
- ********************************************************************************
-
- {:shut} {comp ulevel,0} {ifco nolevel2}
- {setv password,%spass}
- {call entrpas} {comp pflag,Y} {ifco ,menu}
- {comp opt,T} {ifco event} {comp opt,s} {ifco quit}
-
- ********************************************************************************
- This routine handles the Timed shutdown command.
- ********************************************************************************
-
- {:event} {call cls}
- {send Enter the time in 24-hour format that the^M^J}
- {send host should be back online: }
- {setv tmp}
- {setg %i_time,tout,L,^M^J}
- {gets tmp,20} {comp tmp} {ifco endev}
- {send ^M^JThe host will be down until %tmp^M^J}
- {call pk} {ifca ,noev}
- {hang y} {paus 2}
- {:noev} {spoc N} {clea} {hold %tmp} {goto host}
- {:endev} {setv Y} {goto menu}
-
- ********************************************************************************
- This routine checks for users in the jbusers file.
- ********************************************************************************
-
- {:chk_usr} {ifex %_hom%jbusers,ugo_on,chk_end}
- {:ugo_on} {setv uflag} {rope %_hom%jbusers,chk_end}
- {:chkread} {read line}
- {comp line,%username} {ifco ,notusr}
- {:riteusr} {read password} {read novice} {read ulevel}
- {setv uflag,Y} {rclo} {retu}
- {:notusr} {read line} {read line} {read line} {setv line} {goto chkread}
- {:chk_end} {setv uflag,N} {setv line} {retu}
- {:cls} {SEND ^[[2J^[[1;1H} {retu}
-
- ********************************************************************************
- This routine will display a given file.
- ********************************************************************************
-
- {:dispfil} {setv x,0} {call cls}
- {rope %file,rd_end}
- {:disr} {setv line} {read line}
- {send %line%^M^J} {incr x}
- {comp x,21} {ifco np} {goto disr}
- {:np} {SEND ^M^JPress ^(S^) to stop, any other key to continue ...}
- {setg %i_time,tout} {gets-H tmp,1}
- {comp tmp,s} {ifco ,NP1}
- {setv x} {setv line} {rclo} {call cls} {retu}
- {:NP1} {send ^M^J} {setv x,0} {goto disr}
- {:rd_end} {setv line} {setv x} {call pk} {call cls} {retu}
-
- ********************************************************************************
- This routine will give an error message if the user is at level 0.
- ********************************************************************************
-
- {:nolevel} {call sysmsg} {goto dosmnu2}
- {:nolevel2}{call sysmsg} {goto menu2}
- {:sysmsg} {call cls}
- {send Sorry, you are not a level 1 user.^M^J}
- {send You can not perform this action at this level.^M^J}
- {send Contact the sysop for an increase in security.^M^J}
- {call pk} {retu}
-
- ********************************************************************************
- This routine handles the download menu.
- ********************************************************************************
-
- {:dwnload} {call fname} {comp file} {ifco menu}
- {:dwnld2} {call cls}
- {send Download menu^M^J^M^J}
- {comp novice,n} {ifco dwnexp}
- {send ^(A^) Ascii^M^J}
- {send ^(C^) Chat with the Sysop^M^J}
- {send ^(E^) Expert Mode Toggle^M^J}
- {send ^(G^) Good Bye (logoff)^M^J}
- {send ^(H^) HS/LINK^M^J}
- {send ^(X^) Xmodem^M^J}
- {send ^(Y^) Ymodem^M^J}
- {send ^(Z^) Zmodem^M^J}
- {send ^(-^) Previous menu^M^J^M^J}
- {goto dwnopt}
- {:dwnexp} {send A,C,E,G,H,X,Y,Z,-: }
- {:dwnopt} {call gchoice}
- {comp opt,-} {ifco menu2}
- {comp opt,A} {ifco dla}
- {comp opt,c} {ifco ,dwn1}
- {call page} {goto dwnld2}
- {:DWN1} {comp opt,e} {ifco ,dwex1}
- {call expert} {goto dwnld2}
- {:dwex1} {comp opt,g} {ifco ,dwn2}
- {call goodbye} {goto dwnld2}
- {:DWN2} {comp opt,h} {ifco dlh}
- {comp opt,X} {ifco dlx}
- {comp opt,Y} {ifco dly}
- {comp opt,Z} {ifco dlz}
- {comp opt,!} {ifco ,dwn3}
- {call bang} {goto dwnld2}
- {:DWN3} {goto dwnld2}
-
- ********************************************************************************
- The following routines will transfer files using different protocols.
- These are used for the download menu.
- ********************************************************************************
-
- {:dla} {call tdl} {asci-s0 %file}
- {setv file} {call pk} {goto dwnload}
- {:dlh} {call tdl}
- {exec-d %pdir%hslink.exe -p%_port %file}
- {ifer 1,dlh0,dlh1}
- {:dlh0} {call terr} {goto dwnload}
- {:dlh1} {setv opt} {setv file} {call pk} {goto dwnload}
- {:dlx} {call tdl}
- {sxmo %file} {ifer 1,dlx0,dlx1}
- {:dlx0} {call terr} {goto dwnload}
- {:DLX1} {setv file} {call pk}
- {goto dwnload}
- {:DLY} {setv opt, port %_port sb} {goto dlt}
- {:DLZ} {setv opt, port %_port sz -mrr} {goto dlt}
- {:dlt} {call tdl}
- {exec-d %pdir%%dszprog% %opt %file} {ifer 1,dlt0,dlt1}
- {:DLT0} {call terr} {goto dwnload}
- {:dlt1} {setv opt} {setv file} {call pk} {goto dwnload}
- {:tdl} {send ^m^jsending file now...^m^j} {retu}
-
- ********************************************************************************
- This routine will get a valid filename from the user.
- ********************************************************************************
-
- {:fname} {call cls} {setv file} {setv fnflag}
- {send ^M^jFilename: } {gets file,40}
- {comp file} {ifco yfile}
- {ifex %file,yfile}
- {:nfile} {send ^m^jFile not found!.^m^j} {call pk} {setv file}
- {:yfile} {retu}
-
- ********************************************************************************
- This routine gets the option for the menu currently in.
- ********************************************************************************
-
- {:gchoice} {comp novice,N} {ifco g_choi2} {send Your Choice? }
- {:g_choi2} {setv opt} {setg %i_time,tout,y,^m^j} {gets-h opt,1} {retu}
-
- ********************************************************************************
- This routine will ask for a key and will then pause.
- ********************************************************************************
-
- {:pk} {SEND ^M^JPress Any Key to continue: }
- {setg %i_time,tout,Y,^M^J} {gets-H tmp,1} {setv tmp} {retu}
- {:terr} {call cls} {send ^Gerror during transfer^M^J} {call pk} {retu}
- {:tout} {send ^G^G^m^jTimed out.^m^j} {call pk} {hang y} {paus 2} {goto host}
-
- ********************************************************************************
- This routine handles the upload menu.
- ********************************************************************************
-
- {:upload} {setv opt} {call cls}
- {send Upload Menu^M^J^M^J}
- {comp novice,n} {ifco upexp}
- {send ^(C^) Chat with the Sysop^M^J}
- {send ^(E^) Expert Mode Toggle^M^J}
- {send ^(G^) Good Bye (logoff)^M^J}
- {send ^(H^) HS/LINK^M^J}
- {send ^(X^) Xmodem^M^J}
- {send ^(Y^) Ymodem^M^J}
- {send ^(Z^) Zmodem^M^J}
- {send ^(-^) Previous Menu^M^J^M^J}
- {goto upopt}
- {:upexp} {send C,E,G,H,X,Y,Z,-: }
- {:upopt} {call gchoice}
- {comp opt} {ifco menu2}
- {comp opt,-} {ifco menu2}
- {comp opt,c} {ifco ,upl1}
- {call page} {goto upload}
- {:UPL1} {comp opt,e} {ifco ,upex1}
- {call expert} {goto upload}
- {:upex1} {comp opt,g} {ifco ,upl2}
- {call goodbye} {goto upload}
- {:UPL2} {comp opt,h} {ifco ulh}
- {comp opt,X} {ifco ulx}
- {comp opt,Y} {ifco uly}
- {comp opt,Z} {ifco ulz}
- {comp opt,!} {ifco ,upl3}
- {call bang} {goto upload}
- {:UPL3} {goto upload}
-
- ********************************************************************************
- The following routines are used for transfering files with different
- protocols.
- ********************************************************************************
-
- {:ulh} {call tup}
- {exec-d %pdir%HSLINK.exe -p%_port -u%dldir} {ifer 1,ulh0,ulh1}
- {:ULH0} {call terr} {goto upload}
- {:ulh1} {setv opt} {call pk} {goto menu}
- {:ulx} {call cls} {send Name of file to upload: }
- {gets file,40} {comp file} {ifco upload}
- {call tup} {rxmo %file} {ifer 1,ulx0,ulx1}
- {:ULX0} {call terr} {goto upload}
- {:ulx1} {setv file} {call pk} {goto menu}
- {:uly} {setv opt, port %_port rb} {goto ult}
- {:ulz} {setv opt, port %_port rz -m} {goto ult}
-
- ********************************************************************************
- This routine handles the uploading protocol transfers.
- ********************************************************************************
-
- {:ult} {call tup} {exec-d %pdir%%dszprog% %opt} {ifer 1,ult0,ult1}
- {:ULT0} {call terr} {goto upload}
- {:ult1} {setv opt} {call pk} {goto upload}
- {:tup} {send ^m^jReceiving file now...^m^j} {retu}
- {:wcerr} {setv opt} {send ^M^J^GWrong Entry} {call pk} {retu}
-