[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