Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PCBoard 15.3 source v0.003a

89 views
Skip to first unread message

Trifle Menot

unread,
May 29, 2012, 9:07:40 PM5/29/12
to

Here is patch v0.003a. Apply it against v0.002. If you don't have a
patch tool, it's small enough to apply by hand.


003a
In PCBSETUP / FIDO Configuration / System Address, you may enter
a range of conference numbers for each node (AKA) line, and then
the AKA binds to those conferences. All conferences not covered
by a range specifier must use the first AKA by default. But the
default failed, and the FIDO MSGID line was missing its required
AKA address. Fixed.


diff -Nru /pcbsrcv/002/main/source/fido/pcbtoss.cpp main/source/fido/pcbtoss.cpp
--- main/source/fido/pcbtoss.cpp 2012-05-22 17:49:50 +0000
+++ main/source/fido/pcbtoss.cpp 2012-05-29 15:25:16 +0000
@@ -334,8 +334,10 @@

if(area.AreaTag[0] == '\x0') return;

- org = origins.getRec(area.OriginIndex);
+ if(area.AkaIndex == 0 || area.AkaIndex > akas.totRecs()) area.AkaIndex = 1;
addr = akas.getRec(area.AkaIndex);
+ if(area.OriginIndex == 0 || area.OriginIndex > origins.totRecs()) area.OriginIndex = 1;
+ org = origins.getRec(area.OriginIndex);

maxstrcpy(thisarea.Area_Name,area.AreaTag,sizeof(thisarea.Area_Name));
maxstrcpy(thisarea.origin,org.origin,sizeof(thisarea.origin));

VinylDoctor

unread,
Jan 5, 2013, 5:06:39 PM1/5/13
to
On Tuesday, May 29, 2012 6:07:40 PM UTC-7, Trifle Menot wrote:
> Here is patch v0.003a. Apply it against v0.002. If you don't have a patch tool, it's small enough to apply by hand. 003a In PCBSETUP / FIDO Configuration / System Address, you may enter a range of conference numbers for each node (AKA) line, and then the AKA binds to those conferences. All conferences not covered by a range specifier must use the first AKA by default. But the default failed, and the FIDO MSGID line was missing its required AKA address. Fixed. diff -Nru /pcbsrcv/002/main/source/fido/pcbtoss.cpp main/source/fido/pcbtoss.cpp --- main/source/fido/pcbtoss.cpp 2012-05-22 17:49:50 +0000 +++ main/source/fido/pcbtoss.cpp 2012-05-29 15:25:16 +0000 @@ -334,8 +334,10 @@ if(area.AreaTag[0] == '\x0') return; - org = origins.getRec(area.OriginIndex); + if(area.AkaIndex == 0 || area.AkaIndex > akas.totRecs()) area.AkaIndex = 1; addr = akas.getRec(area.AkaIndex); + if(area.OriginIndex == 0 || area.OriginIndex > origins.totRecs()) area.OriginIndex = 1; + org = origins.getRec(area.OriginIndex); maxstrcpy(thisarea.Area_Name,area.AreaTag,sizeof(thisarea.Area_Name)); maxstrcpy(thisarea.origin,org.origin,sizeof(thisarea.origin));

Hey, how are you doing?
I found why some pcboard files, like dostime.c give a gp fault error when compile on a modern os. it's the call: #pragma inline in 2 files that is doing it. some compiler pre-opp instructs. I comennted them out in those 2 files and now I can compile the bbs in a win xp sp3 command shell.

also, could you make us a pplc make file that works?

thanks

Corey

Trifle Menot

unread,
Jan 9, 2013, 1:37:47 AM1/9/13
to
On Sat, 5 Jan 2013 14:06:39 -0800 (PST), VinylDoctor
<vinyld...@gmail.com> wrote:

>Hey, how are you doing?

Still kicking.


> I found why some pcboard files, like dostime.c give a gp fault error
> when compile on a modern os. it's the call: #pragma inline

Yes that tickles a bcc bug that shows up in NTVDM.


> I comennted them out

Yes that's a work around.


> could you make us a pplc make file that works?

If you have big $$$

:-D

Seriously though, I have not even looked at it. But if you figured out
the #pragma problem, you could probably do it yourself. See:

Borland_C++_Version_3.1_Tools_and_Utilities_1992.pdf

and study the section on the make utility. You can download the .pdf
from bitsavers.



VinylDoctor

unread,
Feb 21, 2013, 5:18:14 PM2/21/13
to
On Tuesday, January 8, 2013 10:37:47 PM UTC-8, Trifle Menot wrote:
> On Sat, 5 Jan 2013 14:06:39 -0800 (PST), VinylDoctor <vinyld...@gmail.com> wrote: >Hey, how are you doing? Still kicking. > I found why some pcboard files, like dostime.c give a gp fault error > when compile on a modern os. it's the call: #pragma inline Yes that tickles a bcc bug that shows up in NTVDM. > I comennted them out Yes that's a work around. > could you make us a pplc make file that works? If you have big $$$ :-D Seriously though, I have not even looked at it. But if you figured out the #pragma problem, you could probably do it yourself. See: Borland_C++_Version_3.1_Tools_and_Utilities_1992.pdf and study the section on the make utility. You can download the .pdf from bitsavers.

been hacking since I last chatted.
fixing one error at a time like you said.
wont link. cant find llibce.lib
I looked everywhere, codebase, pcbkit, everywhere. I think clark got me on another missing modual.

Trifle Menot

unread,
Feb 22, 2013, 7:04:30 PM2/22/13
to
You need pcbkit_l.lib. I put that in a separate directory and never
used it, so it's not in the zip archive I posted. You should have it
though.

Have you looked at pplc.mak in main\153\? Using grep, I can't find any
mention of llibce.lib. I can't see why you need it.


VinylDoctor

unread,
Feb 23, 2013, 11:47:54 PM2/23/13
to
On Friday, February 22, 2013 4:04:30 PM UTC-8, Trifle Menot wrote:
> On Thu, 21 Feb 2013 14:18:14 -0800 (PST), VinylDoctor <vinyld...@gmail.com> wrote: >been hacking since I last chatted. >fixing one error at a time like you said. >wont link. cant find llibce.lib >I looked everywhere, codebase, pcbkit, everywhere. >I think clark got me on another missing modual. You need pcbkit_l.lib. I put that in a separate directory and never used it, so it's not in the zip archive I posted. You should have it though. Have you looked at pplc.mak in main\153\? Using grep, I can't find any mention of llibce.lib. I can't see why you need it.

realized I was trying to used the wrong pcbkit_l.lib fixed that. now I get Error: Undefined symbol _MAIN in module SOURCE\ASM\C0.ASM

Efudd

unread,
Feb 24, 2013, 3:20:02 PM2/24/13
to
On Saturday, February 23, 2013 11:47:54 PM UTC-5, VinylDoctor wrote:
>
..snip..
>
> realized I was trying to used the wrong pcbkit_l.lib fixed that. now I get Error: Undefined symbol _MAIN in module SOURCE\ASM\C0.ASM

I'm guessing that's because you didn't compile scomp.obj. main() is defined
there.

I currently am getting undefined symbols in things like fileexist, getcountryspecs, etc on linking pplc.exe despite telling the linker where
to find the libraries.

If I remove the libraries that contain those, then I get an appropriate error.
I'm guessing this is because I'm tlink/tasm dumb.

That said, at least some of the libraries (countryl.lib) seem to be missing
appropriate contents to perform the link. For example, getcoutnryspecs is
defined in COUNTRY\COUNTRY.C, but when the makefile for PCBoard was written
for those libraries, country.lib didn't get linked into countryl.lib. Adding
that to the library corrects the error.

However, things like 'fileexist' are already linked in misc_l.lib but the
linker still complains.

More hacking, I guess....

-e

Efudd

unread,
Feb 24, 2013, 8:42:51 PM2/24/13
to
On Sunday, February 24, 2013 3:20:02 PM UTC-5, Efudd wrote:
...

I appear to have finally built a working PPLC.EXE. I test compiled a random
PPS that I found on the internet and that was successful.

I'll try to package it all up into a makefile and post a link to it soon.

-e

VinylDoctor

unread,
Feb 24, 2013, 9:14:01 PM2/24/13
to
On Sunday, February 24, 2013 5:42:51 PM UTC-8, Efudd wrote:
> On Sunday, February 24, 2013 3:20:02 PM UTC-5, Efudd wrote: ... I appear to have finally built a working PPLC.EXE. I test compiled a random PPS that I found on the internet and that was successful. I'll try to package it all up into a makefile and post a link to it soon. -e

thanks. what was causing the error?

Efudd

unread,
Feb 24, 2013, 10:20:47 PM2/24/13
to
On Sunday, February 24, 2013 9:14:01 PM UTC-5, VinylDoctor wrote:
...snip...
> thanks. what was causing the error?

Lots.

I'm using the following layout:

\PCBS\B\C31\..
\PCBS\PCBSRC\LIB\...
\PCBS\PCBSRC\MAIN\...

In main, create a file pplc.bat with the contents from here: http://pastebin.com/BNn1ZZuX

In MAIN\153, create a file called PPLC.MAK with contents from here: http://pastebin.com/7Uu0u8c2

Edit MAIN\SOURCE\PPL\SCRMISC.CPP and add the following immediately after
the first "#ifdef LIB" (in other words, inside that ifdef):

--snip--
#if defined(__LARGE__) || defined (__COMPACT__)
statustype far Status;
#else
statustype Status;
#endof
--snip--

I believe that is the only modification to the source I made.

Once there, run \PCBS\DOBC31.BAT in a command window.. and then run pplc.bat

That should create a working pplc.exe in MAIN\OBJ\PPL

Let me know if if this works or doesn't... I may have missed a couple of other changes. I could diff it all, but I'm being lazy at the moment.

Good luck!

-e

VinylDoctor

unread,
Feb 25, 2013, 12:28:09 AM2/25/13
to
On Sunday, February 24, 2013 7:20:47 PM UTC-8, Efudd wrote:
> On Sunday, February 24, 2013 9:14:01 PM UTC-5, VinylDoctor wrote: ...snip... > thanks. what was causing the error? Lots. I'm using the following layout: \PCBS\B\C31\.. \PCBS\PCBSRC\LIB\... \PCBS\PCBSRC\MAIN\... In main, create a file pplc.bat with the contents from here: http://pastebin.com/BNn1ZZuX In MAIN\153, create a file called PPLC.MAK with contents from here: http://pastebin.com/7Uu0u8c2 Edit MAIN\SOURCE\PPL\SCRMISC.CPP and add the following immediately after the first "#ifdef LIB" (in other words, inside that ifdef): --snip-- #if defined(__LARGE__) || defined (__COMPACT__) statustype far Status; #else statustype Status; #endof --snip-- I believe that is the only modification to the source I made. Once there, run \PCBS\DOBC31.BAT in a command window.. and then run pplc.bat That should create a working pplc.exe in MAIN\OBJ\PPL Let me know if if this works or doesn't... I may have missed a couple of other changes. I could diff it all, but I'm being lazy at the moment. Good luck! -e

ok, if I do that I get this:
Error scrmisc.cpp 639:
Unexpected end of file in conditional started on line 50

I put that code right after the first ifdeflib like you said.

VinylDoctor

unread,
Feb 25, 2013, 12:29:39 AM2/25/13
to
On Sunday, February 24, 2013 7:20:47 PM UTC-8, Efudd wrote:
> On Sunday, February 24, 2013 9:14:01 PM UTC-5, VinylDoctor wrote: ...snip... > thanks. what was causing the error? Lots. I'm using the following layout: \PCBS\B\C31\.. \PCBS\PCBSRC\LIB\... \PCBS\PCBSRC\MAIN\... In main, create a file pplc.bat with the contents from here: http://pastebin.com/BNn1ZZuX In MAIN\153, create a file called PPLC.MAK with contents from here: http://pastebin.com/7Uu0u8c2 Edit MAIN\SOURCE\PPL\SCRMISC.CPP and add the following immediately after the first "#ifdef LIB" (in other words, inside that ifdef): --snip-- #if defined(__LARGE__) || defined (__COMPACT__) statustype far Status; #else statustype Status; #endof --snip-- I believe that is the only modification to the source I made. Once there, run \PCBS\DOBC31.BAT in a command window.. and then run pplc.bat That should create a working pplc.exe in MAIN\OBJ\PPL Let me know if if this works or doesn't... I may have missed a couple of other changes. I could diff it all, but I'm being lazy at the moment. Good luck! -e

hmm, can you put up that file for download? maybe I have it in the wrong place.
the scrmisc.cpp

Efudd

unread,
Feb 25, 2013, 12:31:23 AM2/25/13
to
spell #endif correctly.

I re-typed it in my response, didn't do a cut and paste. :)


VinylDoctor

unread,
Feb 25, 2013, 1:44:16 AM2/25/13
to
On Sunday, February 24, 2013 9:31:23 PM UTC-8, Efudd wrote:
> On Monday, February 25, 2013 12:28:09 AM UTC-5, VinylDoctor wrote: > On Sunday, February 24, 2013 7:20:47 PM UTC-8, Efudd wrote: > > > On Sunday, February 24, 2013 9:14:01 PM UTC-5, VinylDoctor wrote: ...snip... > thanks. what was causing the error? Lots. I'm using the following layout: \PCBS\B\C31\.. \PCBS\PCBSRC\LIB\... \PCBS\PCBSRC\MAIN\... In main, create a file pplc.bat with the contents from here: http://pastebin.com/BNn1ZZuX In MAIN\153, create a file called PPLC.MAK with contents from here: http://pastebin.com/7Uu0u8c2 Edit MAIN\SOURCE\PPL\SCRMISC.CPP and add the following immediately after the first "#ifdef LIB" (in other words, inside that ifdef): --snip-- #if defined(__LARGE__) || defined (__COMPACT__) statustype far Status; #else statustype Status; #endof --snip-- I believe that is the only modification to the source I made. Once there, run \PCBS\DOBC31.BAT in a command window.. and then run pplc.bat That should create a working pplc.exe in MAIN\OBJ\PPL Let me know if if this works or doesn't... I may have missed a couple of other changes. I could diff it all, but I'm being lazy at the moment. Good luck! -e > > > > ok, if I do that I get this: > > Error scrmisc.cpp 639: > > Unexpected end of file in conditional started on line 50 > > I put that code right after the first ifdeflib like you said. spell #endif correctly. I re-typed it in my response, didn't do a cut and paste. :)

hmm, fixed it. nope, same error.

Trifle Menot

unread,
Feb 25, 2013, 3:55:31 PM2/25/13
to
On Sun, 24 Feb 2013 19:20:47 -0800 (PST), Efudd <jason...@gmail.com>
wrote:
I don't have time to help with pplc.exe, but I'm willing to apply a diff
and produce a new v0.004 source archive to replace v0.002. I suppose it
should include the pcbkit library and whatever else is needed for making
pplc.exe.

Project feedback and/or ideas welcome.


VinylDoctor

unread,
Feb 25, 2013, 4:42:15 PM2/25/13
to
On Monday, February 25, 2013 12:55:31 PM UTC-8, Trifle Menot wrote:
> On Sun, 24 Feb 2013 19:20:47 -0800 (PST), Efudd <jason...@gmail.com> wrote: >On Sunday, February 24, 2013 9:14:01 PM UTC-5, VinylDoctor wrote: >...snip... >> thanks. what was causing the error? > >Lots. > >I'm using the following layout: > >\PCBS\B\C31\.. >\PCBS\PCBSRC\LIB\... >\PCBS\PCBSRC\MAIN\... > >In main, create a file pplc.bat with the contents from here: http://pastebin.com/BNn1ZZuX > >In MAIN\153, create a file called PPLC.MAK with contents from here: http://pastebin.com/7Uu0u8c2 > >Edit MAIN\SOURCE\PPL\SCRMISC.CPP and add the following immediately after >the first "#ifdef LIB" (in other words, inside that ifdef): > >--snip-- >#if defined(__LARGE__) || defined (__COMPACT__) >statustype far Status; >#else >statustype Status; >#endof >--snip-- > >I believe that is the only modification to the source I made. > >Once there, run \PCBS\DOBC31.BAT in a command window.. and then run pplc.bat > >That should create a working pplc.exe in MAIN\OBJ\PPL > >Let me know if if this works or doesn't... I may have missed a couple of other changes. >I could diff it all, but I'm being lazy at the moment. I don't have time to help with pplc.exe, but I'm willing to apply a diff and produce a new v0.004 source archive to replace v0.002. I suppose it should include the pcbkit library and whatever else is needed for making pplc.exe. Project feedback and/or ideas welcome.

welp, ok, but can you use the build layout trifle setup? thats what I use and hate to have to start over.

Efudd

unread,
Feb 25, 2013, 5:11:03 PM2/25/13
to
On Monday, February 25, 2013 3:55:31 PM UTC-5, Trifle Menot wrote:
...snip...
>
>
> I don't have time to help with pplc.exe, but I'm willing to apply a diff
>
> and produce a new v0.004 source archive to replace v0.002. I suppose it
>
> should include the pcbkit library and whatever else is needed for making
>
> pplc.exe.
>
>
>
> Project feedback and/or ideas welcome.

I'll post or pastebin a diff from v0.002 soon.

VinylDoctor, to the best of my awareness, the only difference between my
build layout and Trifle's is that I put "B" and "PCBSRC" under a subdirectory
"PCBS". Ain't that hard to type "mkdir PCBS" "move B PCBS" and "move PCBSRC PCBS".

anyway... pplc.exe is buildable.

I was unable to reuse/relink the library components built with the base
PCBoard build for some reason. It could be that (and trifle, I believe you
made those makefiles?) they are simply not being built with all of the
subcomponents.... I started rebuilding with more subcomponents, but still ended
up with linking failures against those libraries (missing symbols despite
them being public symbols in those libraries).

What I ended up doing, as you can see from the makefile, is manually piecing
together all of the unique code pieces from the library that were necessary
to build pplc.exe. I then combined those into "pcbkit_l.lib". I'm not sure
what pcbkit was originally.. I don't have that in any of the sources I've
seen so far.

-e

Trifle Menot

unread,
Feb 25, 2013, 5:52:32 PM2/25/13
to
On Mon, 25 Feb 2013 14:11:03 -0800 (PST), Efudd <jason...@gmail.com>
wrote:

>VinylDoctor, to the best of my awareness, the only difference between my
>build layout and Trifle's is that I put "B" and "PCBSRC" under a subdirectory

Good idea. I hoped it would build that way, but did not test. Did you
have any build problems?


VinylDoctor

unread,
Feb 25, 2013, 5:58:52 PM2/25/13
to
On Monday, February 25, 2013 2:11:03 PM UTC-8, Efudd wrote:
> On Monday, February 25, 2013 3:55:31 PM UTC-5, Trifle Menot wrote: ...snip... > > > I don't have time to help with pplc.exe, but I'm willing to apply a diff > > and produce a new v0.004 source archive to replace v0.002. I suppose it > > should include the pcbkit library and whatever else is needed for making > > pplc.exe. > > > > Project feedback and/or ideas welcome. I'll post or pastebin a diff from v0.002 soon. VinylDoctor, to the best of my awareness, the only difference between my build layout and Trifle's is that I put "B" and "PCBSRC" under a subdirectory "PCBS". Ain't that hard to type "mkdir PCBS" "move B PCBS" and "move PCBSRC PCBS". anyway... pplc.exe is buildable. I was unable to reuse/relink the library components built with the base PCBoard build for some reason. It could be that (and trifle, I believe you made those makefiles?) they are simply not being built with all of the subcomponents.... I started rebuilding with more subcomponents, but still ended up with linking failures against those libraries (missing symbols despite them being public symbols in those libraries). What I ended up doing, as you can see from the makefile, is manually piecing together all of the unique code pieces from the library that were necessary to build pplc.exe. I then combined those into "pcbkit_l.lib". I'm not sure what pcbkit was originally.. I don't have that in any of the sources I've seen so far. -e

crap. now I have to setup a speical system setup just to compile pplc.exe. I think I can see why no one whats to use the pcboard code. it will drive you bald.

Trifle Menot

unread,
Feb 25, 2013, 6:12:16 PM2/25/13
to
On Mon, 25 Feb 2013 14:11:03 -0800 (PST), Efudd <jason...@gmail.com>
wrote:

>I was unable to reuse/relink the library components built with the base
>PCBoard build for some reason. It could be that (and trifle, I believe you
>made those makefiles?) they are simply not being built with all of the
>subcomponents.... I started rebuilding with more subcomponents, but still ended
>up with linking failures against those libraries (missing symbols despite
>them being public symbols in those libraries).

>What I ended up doing, as you can see from the makefile, is manually piecing
>together all of the unique code pieces from the library that were necessary
>to build pplc.exe. I then combined those into "pcbkit_l.lib". I'm not sure
>what pcbkit was originally.. I don't have that in any of the sources I've
>seen so far.

I don't know how it was built either. All I saw was the prebuilt .lib.

I put that in another directory I called PCBXDOT (extra documentation
and tools). I have not used anything from it, so I did not include it
in the .zip archive. I think the Dr. has it too, because my work was
based on his original archive.

But if you learned how it build an equivalent of it, that's even better.


Trifle Menot

unread,
Feb 25, 2013, 6:30:55 PM2/25/13
to
On Mon, 25 Feb 2013 14:58:52 -0800 (PST), VinylDoctor
<vinyld...@gmail.com> wrote:

>crap. now I have to setup a speical system setup just to compile pplc.exe.

All the build paths should be relative. As src153.txt explains:


> \di.bat
> Sets up initial path. Modify as appropriate locally.
>
> \dobc31.bat
> Calls di.bat. Sets compiler path. Clears environment variables
> which may have been set by some other compiler, such as MSVC.



Modify di and dobc31 as needed to use a common parent subdirectory, and
you should be good to go.

Let me know if that does not work. Maybe I missed something.


Efudd

unread,
Feb 25, 2013, 6:44:41 PM2/25/13
to
On Monday, February 25, 2013 6:30:55 PM UTC-5, Trifle Menot wrote:
..snip..
> Modify di and dobc31 as needed to use a common parent subdirectory, and
> you should be good to go.
>
> Let me know if that does not work. Maybe I missed something.

I, unfortunately, did hard code \PCBS\$(THAT) into my makefile... So he may
have to work a teeny tiny bit (nothing a small regex won't fix) to my
changes. Maybe I'll try to clean it up some before making a patch... and
try to test it on the v.002 archive I have from scratch.

I sent him the .cpp file in question via email, but apparently he ran into
the same problem...

If you don't mind, I'd like to grab that PCBXDOT directory via some means.
At a minimum, just for completeness on my part, and it would allow me to
dump the public functions in that library.

-e

Trifle Menot

unread,
Feb 25, 2013, 7:18:41 PM2/25/13
to
On Mon, 25 Feb 2013 15:44:41 -0800 (PST), Efudd <jason...@gmail.com>
wrote:

>If you don't mind, I'd like to grab that PCBXDOT directory via some means.
>At a minimum, just for completeness on my part, and it would allow me to
>dump the public functions in that library.

This might work:

http://search.4shared.com/postDownload/yVP__2z9/PCBXDOT.html


They don't make it easy to find the right download button, but it's the
blue one, below the file name, on the left.



Trifle Menot

unread,
Feb 26, 2013, 2:10:13 AM2/26/13
to
On Mon, 25 Feb 2013 23:30:55 +0000, Trifle Menot
<trifl...@protocol.invalid> wrote:

>All the build paths should be relative.

That was my intent, but looks like I missed a few spots.

I see where main\153\pcb_bc31.386 expects \pcbsrc to be a top level
directory:

/o- \pcbsrc\main\obj\bc31\noscroll.obj+
/o- \pcbsrc\lib\bcdos\bc31\misc\large.386\swap.obj+
/o- \pcbsrc\main\obj\bc31\pcboard.obj+


Will try to fix in v0.004 ...


0 new messages