mirror of https://github.com/wwarthen/RomWBW.git
committed by
GitHub
37 changed files with 422 additions and 243 deletions
@ -1,7 +1,9 @@ |
|||||
TOOLS = ../../Tools |
TOOLS = ../../Tools |
||||
SUBDIRS = Tunes |
|
||||
|
|
||||
include $(TOOLS)/Makefile.inc |
include $(TOOLS)/Makefile.inc |
||||
|
|
||||
|
all:: |
||||
|
mkdir -p Tunes |
||||
|
|
||||
clean:: |
clean:: |
||||
rm -f *.bin *.com *.img *.rom *.pdf *.log *.eeprom *.COM *.BIN |
|
||||
|
rm -f *.bin *.com *.img *.rom *.pdf *.log *.eeprom *.COM *.BIN Tunes/* |
||||
|
|||||
@ -1,6 +0,0 @@ |
|||||
TOOLS = ../../../Tools |
|
||||
|
|
||||
include $(TOOLS)/Makefile.inc |
|
||||
|
|
||||
clean:: |
|
||||
rm -f *.pt? *.mym |
|
||||
@ -1,7 +1,49 @@ |
|||||
prerequisites: |
|
||||
|
this tree now contains makefiles and tools to build on Linux and MacosX |
||||
|
Linux is rather more thoroughly tested compared to os-x. |
||||
|
|
||||
gcc |
|
||||
yacc |
|
||||
make |
|
||||
g++ |
|
||||
|
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. |
||||
|
|
||||
|
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. |
||||
|
|||||
@ -1,9 +0,0 @@ |
|||||
OBJECTS = *.pt3 *.mym |
|
||||
NODELETE = $(OBJECTS) |
|
||||
DEST = ../../../../Binary/Apps/Tunes |
|
||||
TOOLS = ../../../../Tools |
|
||||
|
|
||||
include $(TOOLS)/Makefile.inc |
|
||||
|
|
||||
clobber:: |
|
||||
-rm -f $(DEST)/*.pt3 $(DEST)/*.mym |
|
||||
@ -1,10 +1,25 @@ |
|||||
OBJECTS = ZETA2_std.rom |
OBJECTS = ZETA2_std.rom |
||||
|
MOREDIFF = camel80.bin game.bin hbios_rom.bin nascom.bin prefix.bin usrrom.bin \
|
||||
|
dbgmon.bin hbios_app.bin imgpad0.bin osimg1.bin romldr.bin \
|
||||
|
eastaegg.bin hbios_img.bin imgpad.bin osimg.bin tastybasic.bin \
|
||||
|
game.bin usrrom.bin |
||||
|
|
||||
SUBDIRS = |
SUBDIRS = |
||||
DEST = ../../Binary/Apps |
|
||||
|
DEST = ../../Binary |
||||
TOOLS =../../Tools |
TOOLS =../../Tools |
||||
OTHERS = *.bin *.z80 cpm.sys zsys.sys Build.inc |
OTHERS = *.bin *.z80 cpm.sys zsys.sys Build.inc |
||||
include $(TOOLS)/Makefile.inc |
include $(TOOLS)/Makefile.inc |
||||
|
DIFFPATH = $(DIFFTO)/Binary |
||||
|
|
||||
ZETA2_std.rom: |
ZETA2_std.rom: |
||||
bash Build.sh ZETA2 std 512 |
bash Build.sh ZETA2 std 512 |
||||
|
|
||||
|
hbios_rom.bin: hbios.asm |
||||
|
$(TASM) -dROMBOOT hbios.asm hbios_rom.bin |
||||
|
|
||||
|
hbios_app.bin: hbios.asm |
||||
|
$(TASM) -dAPPBOOT hbios.asm hbios_app.bin |
||||
|
|
||||
|
hbios_img.bin: hbios.asm |
||||
|
$(TASM) -dIMGBOOT hbios.asm hbios_img.bin |
||||
|
|
||||
|
|||||
Loading…
Reference in new issue