aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILDING.txt31
-rw-r--r--Makefile7
-rw-r--r--RUNNING.txt18
3 files changed, 32 insertions, 24 deletions
diff --git a/BUILDING.txt b/BUILDING.txt
index 3a7adf5..4e2a4df 100644
--- a/BUILDING.txt
+++ b/BUILDING.txt
@@ -1,20 +1,21 @@
Build Requirements for Atari 8-bit Taipan:
+- cc65. At least version 2.15. 2.13.x and 2.14 are specifically known
+ not to work. To build the regular executable (taipan.xex), you can
+ use any version from 2.15 to 2.19 (latest as of this writing). If
+ you're still using cc65-2.14, it's about 8 years old, isn't it time
+ to upgrade?
+
- make. I've used GNU make 3.82 and 4.1. I also occasionally test
with an old version of BSD make, but not often. If you can't get
BSD make to work for you, install gmake from ports/pkgsrc or whatever
your platform uses.
-- cc65. At least version 2.15. 2.13.x and 2.14 are specifically known
- not to work. To build the regular executable (taipan.xex), you can
- use any version from 2.15 to 2.19 (latest as of this writing). To
- build the cartridge image, you specifically need cc65 2.15 (newer
- versions won't do, until I fix it).
-
-- gcc. I've used versions 4.8.2 and 5.5.0. Probably any version will do.
- It's only needed for convfont.c (and there's nothing gcc-specific
- about it, so really you just need any C compiler, see HOSTCC in the
- Makefile).
+- gcc. I've used versions 4.8.2 and 5.5.0, probably any version will do.
+ I've also tested with clang and pcc. Pretty much any C compiler
+ that produces native binaries for your platform should work. It's
+ used for various host tools (convfont.c, textcomp.c, mkcart.c,
+ gzip2deflate.c)
- perl. I used version 5.18.1 and later upgraded to 5.22.2. Probably
any 5.x version will work.
@@ -27,8 +28,8 @@ Build Requirements for Atari 8-bit Taipan:
have it, the git hash will be built into the binary and appear on
the title screen.
-- A UNIX/POSIX environment. At least, you need a 'cat' command and
- a shell that does I/O redirection. Linux, BSD, and Mac OS X should
+- A UNIX/POSIX environment. At least, you need command like cat, cp, rm,
+ and a shell that does I/O redirection. Linux, BSD, and Mac OS X should
be fine. If you're on Windows, try Cygwin.
If you plan to edit the port status screen, you'll need the Atari800
@@ -43,5 +44,7 @@ it doesn't work, you're likely missing one or more of the requirements
listed above.
If you'd prefer a cartridge image, "make cart" will build both a raw image
-(taipan.rom) and an image with an Atari800 CART header (taipan.cart). You'll
-specifically need cc65 version 2.15 for this (for now, anyway).
+(taipan.rom) and an image with an Atari800 CART header (taipan.cart).
+
+Once you've compiled Taipan, see RUNNING.txt to find out what to do
+with the executable.
diff --git a/Makefile b/Makefile
index 062875b..648140b 100644
--- a/Makefile
+++ b/Makefile
@@ -328,11 +328,14 @@ messages.c: messages.pl textcomp
mkcart: mkcart.c
$(HOSTCC) $(HOSTCFLAGS) -o mkcart mkcart.c
+cartbank2.cfg: cartbank2.cfg.old cartbank2.cfg.new cartbank2.sh
+ sh cartbank2.sh
+
# cc65 doc atari.html explains how to produce a raw binary file.
# using a custom crt0 to get rid of the extra RTS cc65 puts there for
# SpartaDOS compatibility (which has no effect on a cartridge image,
# except to waste 1 byte).
-romable_taimain.raw: $(TAIMAIN_C_SRC) $(TAIMAIN_ASM_SRC) $(TAIMAIN_HDRS) $(BIGNUM_SRC) $(BIGNUM_HDRS) $(TAIMAIN_LIBS) crt0_cart.s messages.c
+romable_taimain.raw: cartbank2.cfg $(TAIMAIN_C_SRC) $(TAIMAIN_ASM_SRC) $(TAIMAIN_HDRS) $(BIGNUM_SRC) $(BIGNUM_HDRS) $(TAIMAIN_LIBS) crt0_cart.s messages.c
$(CC) --config cartbank2.cfg -m taipan.map -t atari -T -I. -L. -DFONT_ADDR=0x9c00 --start-addr 0x400 -Wl -D__STACKSIZE__=0x200 -O -Wl -D__SYSTEM_CHECK__=1 -Wl -D__AUTOSTART__=1 -Wl -D__EXEHDR__=1 -DCART_TARGET=1 --asm-define CART_TARGET=1 -DBIGNUM=BIGFLOAT -o romable_taimain.raw $(TAIMAIN_C_SRC) $(TAIMAIN_ASM_SRC) $(BIGNUM_SRC) $(TAIMAIN_LIBS) crt0_cart.s
# 256 bytes of $ff filler, for the last page of each code bank. Wasting
@@ -400,7 +403,7 @@ testcart: clean cart
# Obligatory clean and distclean rules.
clean:
- rm -f *.o *.lst convfont mkcart gzip2deflate *.xex AUTORUN.SYS taipan.atr dos2.atr mydos.atr fenders.atr ver.dat help.dat tags cartmsg.dat splitrom.raw.* taipan.rom taipan.cart bank[0-9] fill256 blankbank romable_taimain.raw splitrom.raw.* comptitle.s comptitle.dat conio/*.o conio/*.lib messages.c textcomp titledata.dat
+ rm -f *.o *.lst convfont mkcart gzip2deflate *.xex AUTORUN.SYS taipan.atr dos2.atr mydos.atr fenders.atr ver.dat help.dat tags cartmsg.dat splitrom.raw.* taipan.rom taipan.cart bank[0-9] fill256 blankbank romable_taimain.raw splitrom.raw.* comptitle.s comptitle.dat conio/*.o conio/*.lib messages.c textcomp titledata.dat cartbank2.cfg
distclean: clean
rm -f *~ core .*.swp 1.* 2.* 1 2 3 map map.* *.map a b c foo bar baz
diff --git a/RUNNING.txt b/RUNNING.txt
index 87b53d2..0c37e25 100644
--- a/RUNNING.txt
+++ b/RUNNING.txt
@@ -13,8 +13,9 @@ The game binary is called "taipan.xex". It's a standard Atari DOS
'binary load' file, which expects to be run with no cartridges
inserted. It may or may not work with a cartridge in, depending on
which cart (some don't allow disk boots, and it has to be an 8K cart,
-not 16K). On XL/XE machines, you don't have to hold down Option to
-disable BASIC.
+not >= 16K). On XL/XE machines, you don't have to hold down Option to
+disable BASIC. In fact, you shouldn't have to remove the BASIC cart on
+a 400/800 (but I haven't tested this recently).
You can run it on a real Atari computer: any 400/800/XL/XE model should
be fine, so long as it has at least 40K of RAM. Use a SIO2PC cable and
@@ -48,7 +49,10 @@ Cartridge
---------
The cartridge image is a 32KB XEGS bankswitched cartridge (what
-Atari800 and Altirra call "type 12"). Two ROM images are built:
+Atari800 and Altirra call "type 12"). Unlike the .xex version, the
+cartridge will work on a 32KB Atari.
+
+Two ROM images are built:
taipan.cart is a "tagged" cartridge image, for use with emulators that
know how to read the cartridge type from the CAR header.
@@ -64,17 +68,15 @@ The cartridge can be run in the Atari800 emulator thus:
atari800 taipan.cart
-For atari++, use the raw ROM image, since it doesn't support .cart
-images:
+For atari++, use the raw ROM image, since it doesn't fully support
+.cart images:
- atari++ -cartpath taipan.rom -carttype xegs
+ atari++ -carttype xegs -cartpath taipan.rom
For Altirra, one of these should work:
Altirra taipan.cart
Altirra64 taipan.cart
-Unlike the .xex version, the cartridge will work on a 32KB Atari.
-
Coming soon: You will also be able to purchase a Taipan cartridge from
the AtariAge store. Maybe.