Category : BBS Programs+Doors
Archive   : TONSMOD.ZIP
Filename : JAFO13.MOD

 
Output of file : JAFO13.MOD contained in archive : TONSMOD.ZIP
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Mod Name : JAFO13.MOD Mod Author: JAFO 1@1 TerraNET ³
³ Difficulty : ÛÛÛÛÛ±±±±± 1@8857 IceNET ³
³ WWIV Version : 4.22 1@8861 WWIVnet ³
³ Mod Date : 02/20/93 1@18868 WWIVLink ³
³ Files Affected: EXTRN.C, FCNS.H, MAKEFILE.MAK ³
³ Description : Give Upload Event EMS/disk Swap Ability ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

ÍÍ[ Description ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

This modification uses the XSPAWN library of routines to give WWIV the ability
to swap out to EMS/disk for the upload event. This will allow you to run
almost any upload event checker with no problems!

WARNING: I have tested this modification here on Blue Thunder, and it SEEMS
to work fine. If however, it causes your system to blow up, please
remember this warning. You are installing this modification at YOUR
own risk. I cannot guarantee anything. I believe this modification
is of good quality, but again, nothing is guaranteed.

Also, this modification requires the use of TASM (Turbo Assembler).
If you don't have this program, you cannot use this mod. Sorry.

NOTICE: XSPAWN is copyrighted by Whitney Software, Inc. Please read the
documentation in XSPAWN.ZIP for more information about it.

ÍÍ[ Legend ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

= Existing line - Do not change
+ Add this line
% Change this line

ÍÍ[ Step 1 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

Please back up your source code. Even the best programmers make mistakes.

ÍÍ[ Step 2 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

In EXTRN.C, add the following line.

= #include "vars.h"
+ #include "xspawn.h"
+
= #pragma hdrstop

ÍÍ[ Step 3 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

Now, add the following function right after "int do_it".

int do_it_ul(char *cl)
{
int i,i1,l;
char s[160];
char *ss[30];

sl1(1,"");
strcpy(s,cl);
ss[0]=s;
i=1;
l=strlen(s);
for (i1=1; i1 if (s[i1]==32) {
s[i1]=0;
ss[i++]=&(s[i1+1]);
}
ss[i]=NULL;
funcs[20]=NULL;
strcpy(_swappath,syscfg.tempdir);
i=xspawnvpe(P_WAIT,ss[0],ss,xenviron);
funcs[20]=NULL;
return(i);
}

ÍÍ[ Step 4 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

In "int do_remote", make the following changes.

= sprintf(x,"%s /C %s", getenv("COMSPEC"), s);
% if (ccc==1)
= rc=do_it(x);
+ else if (ccc==2)
+ rc=do_it_ul(x);
= else
= rc=do_it(s);
= initporte(syscfg.primaryport);

ÍÍ[ Step 5 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ


In "int run_external_ul", change the line indicated.

= int run_external_ul(char *s)
= {
= int i;
=
= checking_event=1;
% i=do_remote(s,2);
= checking_event=0;
= return(i);
= }

ÍÍ[ Step 6 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

In FCNS.H, add the following line.

= void initporte(int port_num);
= int do_it(char *cl);
+ int do_it_ul(char *cl);
= int do_remote(char *s, int ccc);

ÍÍ[ Step 7 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

Now, we need to link BBS.EXE with XSPAWN's XSPNTPPL.LIB library file. To do
this, we have to modify MAKEFILE.MAK. If you use a project file, simply
add XSPNTPPL.LIB to your project file, and skip Step 7 and 8. Step 7 is for
users of TC++ ONLY. If you use BC++, skip to Step 8. Also note that I use
BC++, so if this step doesn't work, please let me know!

First, search for the following section in MAKEFILE.MAK, and add
"$(OVER_START) xspntppl $(OVER_END)" on the last line.

$(EXE)bbs.exe: $(BBS_NRM) $(BBS_OVL) version.c
$(TCC_VER)
tlink /c /x @&&^
$(TC)\lib\c0l.obj $(OBJ)version.obj $(BBS_NRM) $(OVER_START) $(BBS_OVL) $(OVER_END)
$(EXE)bbs
bbs.map /* Add me */
$(TC)\lib\$(LIB87) $(TC)\lib\mathl $(OVER_LIB) $(TC)\lib\cl $(OVER_START) xspntppl $(OVER_END)

Second, search for the following section, and add "+xspntppl" to the last
line.

$(EXE)bbs.exe: $(BBS_NRM) $(BBS_OVL) linkfile version.c
$(TCC_VER) /* Add me */
tlink /c /x @linkfile,$(EXE)bbs,bbs.map,$(TC)\lib\$(LIB87)+$(TC)\lib\mathl+$(TC)\lib\cl+xspntppl

ÍÍ[ Step 8 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

This step is for BC++ users only. We need to modify MAKEFILE.MAK to link
the library in, as stated in Step 5. So, search for the following section
and add "$(OVER_START) xspntppl $(OVER_END)" to the last line.

bbs.exe: $(BBS_NRM) $(BBS_OVL) version.c
$(TCC_VER)
tlink /c /x @&&^
c0l $(OBJ)\version.obj $(BBS_O_NRM) $(OVER_START) $(BBS_O_OVL) $(OVER_END)
$*
nul /* Add me */
$(LIB87) mathl $(OVER_LIB) cl $(OVER_START) xspntppl $(OVER_END)

ÍÍ[ Step 9 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

Now you must create the XSPAWN library file. Create a temporary directory,
and unzip XSPAWN.ZIP into it. Run the XTCPP.BAT file. If you are using BC++
you need to change the line in that batch file that calls "tcc" to "bcc".
Once it has finished, copy the XSPNTPPL.LIB and XSPAWN.H files into your
source directory.

ÍÍ[ Step 10 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

Compile your source.

ÍÍ[ Disclaimer ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

Don't complain to me if your board gets fried, your hard disk goes nuts, or
something terrible happens. The code in this mod should be harmless, but I
can't guarantee it will work for you. It works on my board.

JAFO 1@1 TerraNET
1@8857 IceNET
1@8861 WWIVnet
1@18868 WWIVLink


  3 Responses to “Category : BBS Programs+Doors
Archive   : TONSMOD.ZIP
Filename : JAFO13.MOD

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/