aboutsummaryrefslogtreecommitdiff
path: root/README.txt
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-01-01 07:35:12 -0500
committerB. Watson <yalhcru@gmail.com>2016-01-01 07:35:12 -0500
commiteb26be6238c9d9254dbd7b01844e9f0b2a674a93 (patch)
tree138de65cc9c36c791a3aa476dcb1ee44608361b4 /README.txt
parent745aa81b83b9cea5468210bf65601fd3a1090787 (diff)
downloadtaipan-eb26be6238c9d9254dbd7b01844e9f0b2a674a93.tar.gz
graphical title, Makefile clean/documentation
Diffstat (limited to 'README.txt')
-rw-r--r--README.txt113
1 files changed, 57 insertions, 56 deletions
diff --git a/README.txt b/README.txt
index b65a535..f793dfa 100644
--- a/README.txt
+++ b/README.txt
@@ -1,10 +1,9 @@
Taipan for Atari 800
-This is a work in progress. It's a port of the C version for Linux
-and curses, with the font and screen layout from the original Apple
-II version.
+This is a work in progress. It's a port of the C version for Linux and
+curses, modified to look and play more like the original Apple II version.
-Currently the game is playable but incomplete, and has a few known bugs
+Currently the game is playable and complete, but has a few known bugs
(see "Bugs" section below) and probably a few unknown ones too.
The latest version of the source can be found here:
@@ -35,31 +34,38 @@ What's missing:
in this game). As a side effect of this, the "negative interest"
bug/feature is missing.
-- The title screen isn't as nice as the Apple version.
-
-Building:
-
-Prerequisites are GNU make, cc65 (I use version 2.13.0, any recent one
-should do), perl (any recent-ish version), and a *nix-like environment (I
-use Slackware Linux, if you're on Windows you might try Cygwin or Msys).
-
Build Requirements:
- GNU make. I use version 3.82, but I don't use any of its special
- features, so any version should do. In fact, BSD make might work.
+ features, so any version should do.
- cc65. Originally I used version 2.13.3, and part way through I
- upgraded to a git snapshot dated December 29, 2015.
+ upgraded to a git snapshot dated December 29, 2015. cc65-2.3.13
+ is probably broken right now, but it will be supported again.
+
+- gcc. I use version 4.8.2. 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).
- perl. I use version 5.18.1, probably any 5.x version will work.
- A UNIX/POSIX environment. At least, you need a 'cat' command and
- a shell that does I/O redirection.
+ 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 title screen or ship graphics, you'll need
+If you plan to edit the port status scrren or ship graphics, you'll need
the Atari800 emulator. It's also handy for actually playing the game,
whether you build it or use the provided binary.
+If you plan to edit the title screen, you'll need the ImageMagick library
+and its perl module (Image::Magick). Also you'll need something that
+can edit PNG images (I use the gimp, anything will do).
+
+Building:
+
+Hopefully you can just type "make" to create the binary. If it doesn't
+work, you're likely missing one or more of the requirements listed above.
+
Running:
The game binary is called "taipan.xex". It's a standard Atari DOS
@@ -74,7 +80,12 @@ floppy disk, you probably want a bootable DOS disk with Taipan renamed
to AUTORUN.SYS.
It's also possible to run Taipan in an emulator, such as Atari800,
-Atari++, or Altirra.
+Atari++, or Altirra. For Atari800, you should be able to do this:
+
+atari800 -nobasic taipan.xex
+
+Even though the title screen says to press Escape to start, you can
+really press any key to start the game.
License:
@@ -82,13 +93,13 @@ The legal status of this is quite murky. The original game is still
copyrighted, though quite a few clones of it have been made for various
platforms over the years with no complaints from the copyright holder.
-This Atari build includes font data ripped straight from the original
-Apple game, plus more font data ripped from the Atari 800's OS ROM.
+This Atari port includes font and graphics data ripped straight from
+the original Apple game, plus more font data ripped from the Atari 800's
+OS ROM.
-The Linux port of taipan, according to its .lsm file, is GPL. My C code
-is definitely a derivative work, so it's GPL also. The assembly code and
-title/ship graphics are my own work, and I release them under the GPL
-(version 2).
+The Linux port of taipan, according to its .lsm file, is GPL. My C code is
+definitely a derivative work, so it's GPL also. The assembly code and ship
+graphics are my own work, and I release them under the GPL (version 2).
Notes:
@@ -112,30 +123,11 @@ is a real issue (it's not like Taipan is a fast-paced arcade game).
Bugs! At least these:
-- Can't change orders in mid-battle. Whatever you pick for your first
- turn, you're stuck with. Not sure why yet.
-
-- The damage calculation is messed up. You can get killed in your first
- battle, one shot can occasionally destroy a 100% healthy ship.
-
-- When the lower-left ship get sunk, a little graphical "turd" gets
- left behind.
-
-- This may or may not be fixed: Occasionally the font gets partly
- corrupted in memory, by some rogue pointer or cc65 bug. The usual
- symptom is that the vertical bars of the "box" in the port status
- display get messed up. Still investigating this one. It ain't like
- the Atari has valgrind :)
-
- The "negative interest" bug is currently missing, due to using
unsigned values for debt. Plus, it's cheating. It'll get added back when
I either start using big numbers (floats or 64-bit ints or whatever),
or just decide to live with the limits of 32-bit ints.
-- The retirement display still uses ASCII | and - to draw a box. They
- should be using ATASCII line-drawing characters instead (like the port
- status does).
-
- Retirement score calculations are a bit off, due to using integer math.
- Not really a bug, but, the interest calculations for debt and the bank
@@ -148,10 +140,25 @@ Bugs! At least these:
- A few things in the screen layout are slightly off comapred to
the Apple version. Would really like to get it exact.
-- The cursor isn't getting disabled in a few places, and at some
- prompts it's not visible until you actually type something.
+- Control and graphics characters should be ignored at all input
+ prompts. Inverse video input should either be converted to
+ normal, or completely ignored.
+
+- Pressing either the inverse or caps-lock key at a timed prompt stops
+ the timer from ever expiring (until you press a regular key). This
+ can be fixed in timed_getch().
-- Escape key should actually work, when typing at prompts.
+- The 'Please limit your firm name to 22 characters' prompt is missing.
+ The Apple version actually allows you to type all you want until you
+ press Enter. This port works like the Linux version: as soon as you type
+ the 22nd character, it acts like you pressed Enter after it. A good
+ compromise might be to allow up to 22 characters, then any keypress
+ other than backspace or enter will show the "please limit" prompt.
+
+- Damaged ship graphics need work. I don't have enough unused font
+ characters to duplicate the Apple bitmapped graphics exactly, plus
+ each damage location must fit entirely within a character cell... but
+ a couple of my damaged sections are pretty hokey-looking.
- fancy_numbers() maybe should round when it's showing a decimal point.
If you have e.g. 1,190,000, that should show as 1.2 million, not 1.1...
@@ -182,17 +189,17 @@ and it complicates the code more than I want to deal with. Also #10
will probably not happen (to me, the slow ship-sinking of the Apple
version is annoying anyway).
-Right now, items 1, 2, 5, 7, and 9 are implemented Apple-style; and 3,
-6, 8, 10 are Linux-style. 4 is kinda halfway between (the graphics are
-6 of the enemy ships rather than a hi-res single ship).
+Right now, items 1, 2, 4, 5, 7, 8, and 9 are implemented Apple-style;
+and 3, 6, 10 are Linux-style.
Other things that need doing to the code:
-- Size optimization. Right now, the executable is almost 32K of code. I'd
+- Size optimization. Right now, the executable is almost 29K of code. I'd
like it to at least fit on a 16K cartridge. A lot of the C code is
redundant, and some things can be rewritten in asm if need be. I've
already eliminated all uses of printf() and its ilk, which removed 2K
- of library code from the executable.
+ of library code from the executable. Removing all other stdio.h functions
+ saved another 1/2K or so.
- In aid of the above: split splash_intro(), cash_or_guns(), name_firm() into
separate .xex segments. Have to write a linker script to generate an
@@ -216,12 +223,6 @@ Other things that need doing to the code:
- Temporarily add a "god mode" to allow me to test situations that would take
a lot of regular gameplay to reach.
-- The title screen could be rearranged a bit and use a custom display list
- to put all the text on top and bottom, with a GR.8 ship in the
- middle. The Apple version's ship is a 176x145 bitmap, 22 bytes wide,
- or 3190 bytes total on disk. Might use a narrow playfield to display
- it? Or use GR.15 for a greyscale (greenscale) image?
-
Future Ideas:
I may do a "Taipan Plus" at some point. The regular Taipan game will be