[Coco] To Tormod

Gene Heskett gheskett at wdtv.com
Tue Oct 21 18:57:01 EDT 2014


On Tuesday 21 October 2014 16:31:27 Tormod Volden did opine
And Gene did reply:
> On Tue, Oct 21, 2014 at 9:36 PM, Gene Heskett wrote:
> > Greetings all;
> > 
> > I finally got around, since its cold & mugly wet weather today, to
> > running my /opt/getnitros9 script, which renames the existing
> > lwtools, toolshed, and nitros9 trees on my hard drive by appending
> > todays date to the dirname of each one's root, then pulls new copies
> > and builds it all.  So I now
> 
> It would be faster and more resource-friendly if you pull/update into
> a repo_dir that you don't touch otherwise (this will be super fast,
> especially when there are no changes), then make a local clone with hg
> clone repo_dir build_dir-$(date) (this is super fast and efficient
> too, using hard-links when possible) and then build in this copy,
> which you can keep or delete at will.
> 
> > have a copy of the latest as of today, Oct 21 at about 15:15. 
> > Amazingly to me, my script still worked!
> > 
> > Unforch the root makefile does not make any dsk's for level3, which I
> > thought I would make one last pass at making it work before embarking
> > on my own version of a level3 that gives every driver its own 8k
> > piece of ram to play in.
> > 
> > Any guidance available here, or do I go kick the tires on the nitros9
> > root makefile?
> 
> There hasn't been much going on in level3 since 2010. It is not built
> by default. I made it build last time I worked on this, but I don't
> know how well it works. See my notes in:
> hg log -v -r 2916:56f26b87fa8a
> 
> It should be possible, after having all dependencies built with for
> instance "make PORTS=coco3_6309" in the top folder (which builds
> level2), to go into level3/coco3_6309 and then run "make dsk" there.
> 
> Regards,
> Tormod

So far I have added a 6809 version define in $NITROS9DIR/rules make as 
that was only good for the 6309 version.  I don't know of a reason it 
would not build on a 6809 although there might be something 6309 specific 
in nitros9.asm.  Haven't looked as the build doesn't get that far.

I have disk space enough that I'd druther keep older versions around, they 
have bailed me out on several occasions because I could go back and look 
at known working code. boot_tc3.asm being a prime example, I got the clues 
that let me fix that from a os9 pull before it was named nitros9.

Since the makefiles shipped in the level 3 directory are only a list with 
no actions, I copied the level2 makefile in and adjusted it for level 3.

Now I have replaced all the "Level 3" string in the makefiles os9format 
commands with "Level $(LEVEL)". This in the subdirs of level3

But just stepping into the level3 directory and typing make dsk bails out 
very quickly. As follows:

gene at coyote:/opt/nitros9/level3$ make
**************************************************
*                                                *
*             NitrOS-9 Level 3 Ports             *
*                                                *
**************************************************
(cd coco3; make);  (cd coco3_6309; make);
make[1]: Entering directory `/opt/nitros9/level3/coco3'
**************************************************
*                                                *
*        NitrOS-9/6809 Level 3 Distribution      *
*                                                *
**************************************************
(cd cmds; make);  (cd modules; make);  (cd defs; make);  (cd sys; make);  
(cd bootfiles; make);
make[2]: Entering directory `/opt/nitros9/level3/coco3/cmds'
lwasm --6309 --format=os9 --
pragma=pcaspcr,nosymbolcase,condundefzero,undefextern,dollarnotlocal --
includedir=. --includedir=/opt/nitros9/defs -DNOS9VER=3 -DNOS9MAJ=2 -
DNOS9MIN=9 -DNOS9DBG=1 -Dcoco3=1 -i=/opt/nitros9/3rdparty/packages/basic09 
/opt/nitros9/level1/cmds/asm.asm -oasm
Unknown option 'i'. See lwasm --usage.

Which apparently works just fine in the level2 trees.

make[2]: *** [asm] Error 1
make[2]: Leaving directory `/opt/nitros9/level3/coco3/cmds'
make[2]: Entering directory `/opt/nitros9/level3/coco3/modules'
lwasm --6309 --format=os9 --
pragma=pcaspcr,nosymbolcase,condundefzero,undefextern,dollarnotlocal --
includedir=. --includedir=/opt/nitros9/defs 
/opt/nitros9/level1/modules/rel.asm -orel_32 -DNOS9VER=3 -DNOS9MAJ=2 -
DNOS9MIN=9 -DNOS9DBG=1 -Dcoco3=1 -I/opt/nitros9/level1/modules -aWidth=32
Unknown option 'a'. See lwasm --usage.

No clue where the -aWidth32 is coming from

make[2]: *** [rel_32] Error 1
make[2]: Leaving directory `/opt/nitros9/level3/coco3/modules'
make[2]: Entering directory `/opt/nitros9/level3/coco3/defs'
make[2]: *** No rule to make target `/opt/nitros9/defs/os9defs', needed by 
`OS9Defs'.  Stop.
make[2]: Leaving directory `/opt/nitros9/level3/coco3/defs'
make[2]: Entering directory `/opt/nitros9/level3/coco3/sys'
ln -s -f /opt/nitros9/level1/sys/errmsg
ln -s -f /opt/nitros9/level1/sys/password
make[2]: Leaving directory `/opt/nitros9/level3/coco3/sys'
make[2]: Entering directory `/opt/nitros9/level3/coco3/bootfiles'
make[2]: *** No rule to make target `../modules/scf.mn', needed by 
`bootfile_40d'.  Stop.

Not yet investigated

make[2]: Leaving directory `/opt/nitros9/level3/coco3/bootfiles'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/opt/nitros9/level3/coco3'
make[1]: Entering directory `/opt/nitros9/level3/coco3_6309'
**************************************************
*                                                *
*        NitrOS-9/6309 Level 3 Distribution      *
*                                                *
**************************************************
(cd cmds; make);  (cd modules; make);  (cd defs; make);  (cd sys; make);  
(cd bootfiles; make);
make[2]: Entering directory `/opt/nitros9/level3/coco3_6309/cmds'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/opt/nitros9/level3/coco3_6309/cmds'
make[2]: Entering directory `/opt/nitros9/level3/coco3_6309/modules'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/opt/nitros9/level3/coco3_6309/modules'
make[2]: Entering directory `/opt/nitros9/level3/coco3_6309/defs'
make[2]: *** No rule to make target `/opt/nitros9/defs/os9defs', needed by 
`OS9Defs'.  Stop.

Not yet investigated

make[2]: Leaving directory `/opt/nitros9/level3/coco3_6309/defs'
make[2]: Entering directory `/opt/nitros9/level3/coco3_6309/sys'
ln -s -f /opt/nitros9/level1/sys/errmsg
ln -s -f /opt/nitros9/level1/sys/password
make[2]: Leaving directory `/opt/nitros9/level3/coco3_6309/sys'
make[2]: Entering directory `/opt/nitros9/level3/coco3_6309/bootfiles'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/opt/nitros9/level3/coco3_6309/bootfiles'
make[1]: Leaving directory `/opt/nitros9/level3/coco3_6309'
gene at coyote:/opt/nitros9/level3$ 

and its done in 100 milliseconds.

So essentially nothing gets made, and I have not found where the bad 
options being fed to lwasm are coming from.  Notes interspersed with the 
make output above.

That rel_32  error, and the OS9Defs error is also scattered throughout the 
otherwise successful build of the rest of the dsk's as this was built.

I also note 2 other items, lwasm is being passed the --6309 flag for 
everything, and ports.mak was never incorporated into the level3 tree.  
Build fixing that underway now.  I think...

2 hours later I have a 6309L3/coco3_6309 dsk built and mounted to /x0 in 
drivewire, now all I have to do is concoct the mb and bootlist scripts.  
Those 2 directories of the mountable image are empty.  Everything else 
seems to be there however.

But while I have a 63C09 in my machine, it seems like we ought to see if 
we can redefine that --6309 flag being constantly fed to lwasm.  I suppose 
its possible that the makefiles, and the src code files can switch it in 
and out, but it seems like a crash generator button that a typu could very 
easily trigger on a 6809 powered machine.

Anyway, thats where I am for today.  ??  Were there ever supposedly valid 
mb and bootlist files for level 3?

And, are we still calling it 3.2.9? Seems like enough progress has been 
made to call it 3.2.10, or if I can hack level3 into working, 3.3.0!

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
US V Castleman, SCOTUS, Mar 2014 is grounds for Impeaching SCOTUS


More information about the Coco mailing list