mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Older CF Cards did not reset IDE registers to defaults values when reset. Implemented a work around.
76 lines
3.4 KiB
Plaintext
76 lines
3.4 KiB
Plaintext
This tree now contains makefiles and tools to build on Linux and
|
|
MacosX Linux is rather more thoroughly tested compared to os-x.
|
|
|
|
To get here, TASM and the propeller generation tools needed to be
|
|
replaced, and since the unix filesystem is usually case-sensitive,
|
|
and CP/M and windows are not, the cpm tools were made case-insensitive.
|
|
|
|
TASM was replaced with uz80as, which implements a subset of TASM and
|
|
fixes some bugs. however, I needed to add some functionality to make
|
|
it build the sources as they exist in this tree. in particular, one
|
|
thing to be very careful of is that TASM is not entirely consistent
|
|
with respect to the .DS directive. it's usually a bad idea to mix
|
|
.DS, .FILL, .DB with .ORG.
|
|
|
|
.DS n is best thought of as .ORG $ + n
|
|
.ORG changes the memory pointer, but does not change the file
|
|
output point. It works a lot more like M80, SLR* .PHASE
|
|
|
|
It assumes that you have some standard system tools and libraries
|
|
installed specifically: gcc, gnu make, libncurses
|
|
|
|
To build:
|
|
cd to the top directory and type "make".
|
|
|
|
By default, this will generate all of the standard configurations of
|
|
RomWBW for all platforms. If you want to customize the process to
|
|
only build one (or a subset) of the configurations, edit the "makefile"
|
|
in the HBIOS directory. If you create your own, custom configuration,
|
|
you can add it there as well.
|
|
|
|
For MacOS users, you may encounter a failure reading or writing files.
|
|
This is caused by protection features in MacOS (at least, in Catalina)
|
|
that prevent programs built on your local system (unsigned) from
|
|
running. To disable this feature:
|
|
|
|
1) Make sure you exit System Preferences.
|
|
2) Open a terminal session and type the following. You will need to
|
|
authenticate with an admin account. sudo spctl --master-disable
|
|
3) Exit terminal
|
|
4) Go into System Preferences and choose Security and Privacy
|
|
5) Select the General tab if it isn't already selected
|
|
6) You should now see a third selection under
|
|
"Allow apps downloaded from:" of Anywhere - select this.
|
|
7) Now you can run the build successfully.
|
|
|
|
DISCLAIMER: You do this at your own risk. I highly recommend that you
|
|
return the settings back to normal immediately after doing a build.
|
|
|
|
Heavy use is made of make's include facility and pattern rules. the
|
|
master rule set is in Tools/Makefile.inc. changes here will affect
|
|
almost every Makefile, and where exceptions are needed, the overrides
|
|
are applied in the lower Makefiles.
|
|
|
|
These tools can run a windows-linux regression test, where all the
|
|
binaries are compared to a baseline windows build.
|
|
|
|
Credit:
|
|
|
|
uz80as was written by Jorge Giner Cordero, jorge.giner@hotmail.com,
|
|
and the original source can be found at https://github.com/jorgicor/uz80as
|
|
|
|
the propeller tools use bstc and openspin, parallax tools from
|
|
http://www.fnarfbargle.com/bst.html https://github.com/parallaxinc/OpenSpin
|
|
note that bst is not open source or even currently maintained, so I could
|
|
not generate a version for 64 bit osx.
|
|
|
|
cpmtools were the most current I could find, and it has been hacked to do
|
|
case-insensitivity. these are not marked, and are not extensive.
|
|
|
|
zx is from distributed version, and also has local hacks for case insensitivity.
|
|
both zx and cpmtools ship with an overly complicated makefile generation system
|
|
and this is ignored.
|
|
|
|
This whole linux build framework is the work of Curt Mayer, curt@zen-room.org.
|
|
use it for whatever you like; this is not my day job.
|