[Coco] LWTools & Nitros9 Build

Robert Gault robert.gault at att.net
Fri Jan 16 21:11:49 EST 2015


Bill Nobel wrote:
> Ok, this is a shout out to getting the LWTools & minGW installed onto a PC.  I have been trying to figure this out, but get stalled.  I have MinGW installed but no make or how to install LWToolls to work together.  I want to get to the point of compiling the Nitros9 code to create the .dsk images.
>
> I am use to the old fashioned method of asm on a real Coco (or emulator).  I am finding this doesn’t work with the newest sources as they need a lot of LF conversions in EVERY source file. I would rather get it all working from the PC.
>
> Bill Nobel
>
>

Well, this no doubt is software specific. My PC is running WinXP and I have, I 
believe, mingw 5.1.6 and msys 1.0.10 installed. There may well be more recent 
versions. There is information on the subject here
http://sourceforge.net/p/nitros9/wiki/Building_NitrOS9/

Anyway, I have copies of the source code for lwtools, toolshed, and nitrOS-9 
installed sub-directories of msys/1.0/home. You can either compile lwtools and 
toolshed or download the packages.
I have installed in msys/1.0/local/bin the following files:
ar2.exe
cecb.exe
decb.exe
lwar.exe
lwasm.exe
lwobjdump.exe
plus the previous tools
makewav.exe
mamou.exe
os9.exe
rdump.exe
rlink.exe
rma.exe
tocgen.exe
With the current NitrOS-9 source, you should just need the lwtools package.

If you have a very fast computer, you can go to the root directory of the 
NitrOS-9 package and run Make from there. My system being old, that would not be 
practical and I normally start from the directory of a specific system such as 
level2/coco3_6309 or level2/coco3_6309/modules.
The makefiles are not well suited for this specially if you have more than one 
version of NitrOS-9 code. That is because all makefiles need to have a pointer 
to rules.mak (root directory). Unfortunately the makefiles typically include the 
line
include $(NITROS9DIR)/rules.mak
assuming that $(NITROS9DIR) is defined in the root directory. I find I need to 
add to most makefiles something like the lines:
ifndef	NITROS9DIR
NITROS9DIR	= $(HOME)/nitros9_Oct30_2014
endif
It would be much better if all the makefiles were of the type
include ../../rules.mak
but that is not the case for most of them.

So at any low level directory  Make  will compile the contents. At a system 
directory such as coco3_6309   make dsk   will compile all needed files and 
create the .dsk images.

Specifically for Bill :) who certainly wants to compile Level3, the makefiles 
should be considered beta versions that give problematic results. The needed 
.asm codes need to be added and it is critical that the vpath line in makefiles 
get directories in the right priority or you will get level2 results rather than 
level3.

Robert



More information about the Coco mailing list