aboutsummaryrefslogtreecommitdiff
path: root/README.txt
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-01-12 03:43:23 -0500
committerB. Watson <yalhcru@gmail.com>2016-01-12 03:43:23 -0500
commitf90842d4decc6f9453e53785174c73674dc86a51 (patch)
treeec749af9e26555c8ea07d60e5de66ce174efc2ae /README.txt
parent235efa90197fe69b4c2cf681a277d10ed2eed4d2 (diff)
downloadtaipan-f90842d4decc6f9453e53785174c73674dc86a51.tar.gz
move memory layout around to free more code space
Diffstat (limited to 'README.txt')
-rw-r--r--README.txt110
1 files changed, 56 insertions, 54 deletions
diff --git a/README.txt b/README.txt
index 8bf0349..b1aef5d 100644
--- a/README.txt
+++ b/README.txt
@@ -121,18 +121,15 @@ arcade game).
Bugs! At least these:
-- Semi-fixed: When exiting to DOS and reloading, the title screen
- graphics are messed up. The playtester who reported this was running
- on real hardware (not an emulator). Getting the BSS below $9000 seems
- to have fixed it. I can't see how this is happening, but I expect it's
- related to this:
+- Exiting the game (Play again? N) needs to at minimum restore the
+ original text/background colors.
- The BSS can overlap the start of the title screen (it's very close
anyway). Consequences: There is a momentary graphics glitch when the
main game is done loading and before it shows the "name your firm"
screen. Also, we can't go back and display the title screen (but that's
not something really necessary anyway). The fix: make the damn code
- smaller!
+ smaller! Also, rearrange memory layout (see memory_layout.txt).
- After a battle, the prices don't get reset (or, not always?) when
entering the new port (confirm?).
@@ -168,20 +165,63 @@ Bugs! At least these:
I'm using the graphical title screen, I have a few more characters I
can redefine as damaged ship sections.
-- 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...
- or maybe not (need to double-check against the Apple version).
-
- One of my playtesters reported that, when running away from combat, it
said 4 billion ships were attacking (number of ships must have gone
negative). I was never able to reproduce this.
-- After a fight, "Arriving at Manila" or such would sometimes appears on the
- fight screen without clearing it first (if you ran away, you can still
- see ships). I *think* this is fixed, but I don't understand what caused
- it so I'm leaving it in this list in case I'm wrong.... and I'm wrong,
- because it just happened to me again. sea_battle() is returning something
- unexpected, but how?
+- After a fight, "Arriving at Manila" or such will sometimes appear on the
+ fight screen without clearing it first (ships still visible).
+ sea_battle() is returning something unexpected, but how?
+
+Deliberate differences between the Apple II and Atari ports:
+
+1. Atari: "Press ESC for help" rather than ESC to start.
+
+2. I made it possible to disable the sound, since it's kinda repetitive
+ and annoying, plus the game "freezes" while sounds are playing (no
+ threading on Atari!) which slows down gameplay.
+
+3. Added a way to change the background color and text brightness. Only
+ 3 brightness levels available, and only 3 colors: green, amber, and
+ black (to mimic the 3 most popular types of monitor used with Apple
+ computers back in the day).
+
+4. Prompts that only accept one character no longer require pressing Enter.
+ Gameplay is more streamlined this way. Apple and Linux are inconsistent:
+ some prompts need Enter, some don't. In the Atari port, the only prompts
+ that require Enter are:
+ - naming your firm
+ - entering a cash amount (but not if you hit a for "all")
+
+5. "We have 5 guns" is in an inverse video box. I think it looks nicer, and
+ it matches the "You can afford 5" inverse video box on the trading
+ screen.
+
+6. The + that indicates more ships offscreen is inverse video. I find
+ that I don't notice it's there, if it's normal video.
+
+7. "You're ship is overloaded" => "Your ship is overloaded". Sorry,
+ grammar nazi.
+
+8. Updating the port status screen, and text printing in general, happens
+ faster and cleaner-looking, due to using C and asm rather than BASIC,
+ and also because the static parts of the screen aren't redrawn unless
+ they need to be.
+
+9. The title screen now has a help menu and some key commands to change the
+ screen colors and enable/disable sound. The "Press 'ESC' to start"
+ has been changed to "Press 'ESC' for help", and any non-command key
+ starts the game.
+
+10. Apple uses floating point, no practical limit on cash/bank/debt.
+ Atari currently uses 32-bit unsigned longs, though float support
+ is soon to be added (at least for the bank).
+
+11. On Apple, price of General Cargo isn't always an integer (e.g. 6.5).
+
+12. On Apple, dead enemy ships sink one scanline at a time, and there are
+ at least 2 sinking speeds. On Atari, it's one character, 8 scanlines, at a time.
+
Differences between the Apple II original and Linux port:
@@ -213,44 +253,6 @@ and 6, 10 are Linux-style.
Added a few features not in the Apple or Linux versions:
-- I made it possible to disable the sound, since it's kinda repetitive
- and annoying, plus the game "freezes" while sounds are playing (no
- threading on Atari!) which slows down gameplay.
-
-- Added a way to change the background color and text brightness. Only
- 3 brightness levels available, and only 3 colors: green, amber, and
- black (to mimic the 3 most popular types of monitor used with Apple
- computers back in the day).
-
-I've made a few changes to the UI, compared to the Apple version:
-
-- Prompts that only accept one character no longer require pressing Enter.
- Gameplay is more streamlined this way. Apple and Linux are inconsistent:
- some prompts need Enter, some don't. In the Atari port, the only prompts
- that require Enter are:
- - naming your firm
- - entering a cash amount (but not if you hit a for "all")
-
-- "We have 5 guns" is in an inverse video box. I think it looks nicer, and
- it matches the "You can afford 5" inverse video box on the trading
- screen.
-
-- The + that indicates more ships offscreen is inverse video. I find
- that I don't notice it's there, if it's normal video.
-
-- "You're ship is overloaded" => "Your ship is overloaded". Sorry,
- grammar nazi.
-
-- Updating the port status screen, and text printing in general, happens
- faster and cleaner-looking, due to using C and asm rather than BASIC,
- and also because the static parts of the screen aren't redrawn unless
- they need to be.
-
-- The title screen now has a help menu and some key commands to change the
- screen colors and enable/disable sound. The "Press 'ESC' to start"
- has been changed to "Press 'ESC' for help", and any non-command key
- starts the game.
-
Other things that need doing to the code:
- Decide what to do about integer overflow. Possibilities: