[Coco] OS-9 / NitOS-9 C programmers, lend me your makefiles

William Carlin whcarlinjr at gmail.com
Sun Nov 15 15:42:43 EST 2020


Jeff,

I was thinking about the scanf/fscanf/sscanf being missing from the
sources.  I went and did an rdump -a on both the MWC Clib.l and the Kreider
Clib.l and the relocatable shows that they both had the exact same Create
date of Sep 17, 1983 23:43 ; Edition 4 ; Code 07f0 ; Data 0000 0084

It looks like Carl may have decided that the MWC versions were good enough
so he just included them into his library.

William Carlin, Jr.

On Sun, Nov 15, 2020 at 2:50 AM Jeff Teunissen <deek at d2dc.net> wrote:

> I've actually stopped using c_prep entirely here, and have switched to
> a different C preprocessor.
>
> I think the 'cpp' in CoCoC is a descendent of the original c.prep. It
> may be found in the directory Source/Compiler/CPP. It's pretty
> excellent and mostly ANSI-compatible. I've added a few features, like
> #error, #file, #warning, stringification using #, token pasting using
> ##, and optionally restricting macro expansion to only happen outside
> of string/character literals.
>
> Most importantly for me at least, it seems to be faster and consume
> less memory than c_prep, which is important for future enhancements.
> Rather than using a static array for definitions, cpp uses a linked
> list, so it's not wasting as much memory and can thus handle many more
> definitions.
>
> I do have a copy of the (C and assembly) Kreider library. It's also in
> CoCoC, and can be found in the directory Source/Libs/KLibc; once I've
> got the whole toolchain (C compiler, assembler, linker) building,
> maintainable, etc. I do plan to start really fixing up the bugs in the
> C library. I have noticed the Y2K bug in ctime(), but I discovered
> that it's missing the source code to scanf/fscanf/sscanf so I've been
> disassembling it.
>
> On Sun, Nov 15, 2020 at 1:11 AM William Carlin <whcarlinjr at gmail.com>
> wrote:
> >
> > Jeff,
> >
> > Here is the link to the folder on my Google Drive.  The files are under
> the
> > "Microware C Projects" folder.  I have uploaded the two .lzh archives and
> > the same files are also on a DriveWire disk, "Make91SRC.os9"  The source
> > code to MROFF is also there if you did not grab that when I previously
> > shared it with you. That is in the "CLib_Kreider_91_doc.lzh" archive.
> >
> >
> https://drive.google.com/drive/folders/1IZ89kvYU04sfVYufnyqBuvOFZDs59CLv?usp=sharing
> >
> > To compile you are going to need:
> > cc252 (cc v2.5.2)  This should already be on the EOU beta 5 disk.
> > Otherwise you can find it on the Climax C Compiler release on the Color
> > Computer Archive
> > The Kreider clib.l  This should also be on the EOU 5 beta disk.
> > I also use Kreider's fixed version of cstart.r but that should not
> prevent
> > compilation.  This should also be on the EOU beta 5 disk.
> > You will also need my updated version of c_prep v1.9  I am unofficially
> > bumping the version up to 1.10.
> >
> > I have allowed/fixed source line concatenation of more than one line of
> > code.  If more than one line of consecutive code ends with a backslash
> '\'
> > the lines will be concatenated into a single line of code.  Leading
> spaces
> > are removed so you can make your source look "pretty".
> >
> > I have also fixed the __FILE__, __DATE__, and __TIME__ built in macros to
> > be enclosed in double quotes when expanded.  Previously these macros were
> > not enclosed in double quotes when expanded and could not be displayed
> with
> > the %s printf format argument.  This also allows for easy inclusion in
> the
> > format text as the preprocessor correctly concatenates consecutive double
> > quotes.  If there is a way to make the preprocessor enclose an expanded
> > macro with double quotes around it, I have not been able to find it.  In
> > GNU you can prepend a '#' in front of the macro to stringify it.
> However,
> > C-prep 1.9 does not include this feature.
> >
> > #__FILE__ will expand to "filename.c" (GNU)
> > __FILE__ will expand to filename.c (OS-9, both MWC c.prep and c_prep
> v1.9)
> >
> > BTW, the __DATE__ macro is not Y2K compatible.  This has more to do with
> > the implementation of ctime() in the Kreider clib.l
> >
> > BTW if you have a copy of the assembly source code for the Kreider CLib,
> > please drop that in the Incoming folder on my Google Drive.  The Y2K fix
> > should be as simple as adding 1900 to the D register before moving it off
> > to be included in the returned date string.
> >
> > William Carlin, Jr.
> >
> >
> > On Sat, Nov 14, 2020 at 11:37 PM Jeff Teunissen <deek at d2dc.net> wrote:
> >
> > > I noticed there's a bug in the OS-9 port in that when Neil changed the
> > > code to work with spaces, he actually changed it to work _only_ with
> > > spaces and not tabs. Unfortunately, this means that the OS9 version
> > > _cannot_ use Makefiles that are compatible with every other Make in
> > > the world, and vice versa. This is an oversight that needs correcting;
> > > if you get to it before I do, awesome, otherwise I'll do it. :)
> > >
> > > On Sat, Nov 14, 2020 at 11:17 PM William Carlin <whcarlinjr at gmail.com>
> > > wrote:
> > > >
> > > > Jeff,
> > > >
> > > > I saw all the references to EON in the source but I couldn't find any
> > > > reference to it on Google.  There is a modern OS called EON but I do
> not
> > > > think it has any relation to the EON referenced in PD Make.
> > > >
> > > > I'll LHArc my source code, copy it up to my Google Drive, and then
> share
> > > > the link here.  The reason I wanted to know how to add empty
> directories
> > > to
> > > > the LZH archives was to archive this source code when the time to
> share
> > > it
> > > > out was appropriate.
> > > >
> > > > William Carlin, Jr.
> > > >
> > > >
> > > > On Sat, Nov 14, 2020 at 7:25 AM Jeff Teunissen <deek at d2dc.net>
> wrote:
> > > >
> > > > > More information discovered about our favorite Make:
> > > > >
> > > > > It was originally written for an OS I have never heard of, called
> > > > > "eon", by someone named Neil Russell. I surmise Neil had been
> either
> > > > > working or studying at an Australian university when he wrote it,
> from
> > > > > his ACSNet email address.
> > > > >
> > > > > A later version Neil posted in December 1986, though, suggested he
> was
> > > > > by then working at Fairlight (makers of the Fairlight CMI digital
> > > > > music workstation) and had ported it to OS-9 (whether 6809 or OSK,
> I
> > > > > do not know). This is still not the same program we know on the
> CoCo,
> > > > > because it doesn't read a /DD/Sys/Make.default data file for its
> > > > > defaults -- they're compiled in.
> > > > >
> > > > > Still, some interesting history there that I will have to integrate
> > > into
> > > > > CoCoC.
> > > > >
> > > > > --
> > > > > Coco mailing list
> > > > > Coco at maltedmedia.com
> > > > > https://pairlist5.pair.net/mailman/listinfo/coco
> > > > >
> > > >
> > > > --
> > > > Coco mailing list
> > > > Coco at maltedmedia.com
> > > > https://pairlist5.pair.net/mailman/listinfo/coco
> > >
> > > --
> > > Coco mailing list
> > > Coco at maltedmedia.com
> > > https://pairlist5.pair.net/mailman/listinfo/coco
> > >
> >
> > --
> > Coco mailing list
> > Coco at maltedmedia.com
> > https://pairlist5.pair.net/mailman/listinfo/coco
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>


More information about the Coco mailing list