diff options
| -rw-r--r-- | BUGS.txt | 30 | ||||
| -rw-r--r-- | BUILDING.txt | 47 | ||||
| -rw-r--r-- | GAMEPLAY.txt | 128 | ||||
| -rw-r--r-- | LICENSE.txt | 39 | ||||
| -rw-r--r-- | NOTES.txt | 174 | ||||
| -rw-r--r-- | README.txt | 295 | ||||
| -rw-r--r-- | RUNNING.txt | 80 | 
7 files changed, 515 insertions, 278 deletions
| diff --git a/BUGS.txt b/BUGS.txt new file mode 100644 index 0000000..9d9f429 --- /dev/null +++ b/BUGS.txt @@ -0,0 +1,30 @@ +Bug List for Atari 8-bit Taipan +------------------------------- + +- The "negative interest" bug is currently missing, due to using +  unsigned values for debt. Plus, it's cheating. I'm undecided +  whether or not to use a bignum for debt; if I do, it will be +  possible to have negative debt. + +- Not really a bug, but, the interest calculation for debt is slightly +  different, due to using integer math. Very small debt amounts will grow +  much faster than they should, then stabilize and converge towards the +  correct values over time. This only happens when you have less than +  10 in debt, which (at least for me) is a pretty rare situation. + +- A few things in the screen layout are slightly off compared to +  the Apple version. Would really like to get it exact. + +- 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 would 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. Also, now that +  I'm using the graphical title screen, I have a few more characters I +  can redefine as damaged ship sections. diff --git a/BUILDING.txt b/BUILDING.txt new file mode 100644 index 0000000..3a7adf5 --- /dev/null +++ b/BUILDING.txt @@ -0,0 +1,47 @@ +Build Requirements for Atari 8-bit Taipan: + +- 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). + +- perl. I used version 5.18.1 and later upgraded to 5.22.2. Probably +  any 5.x version will work. + +- perl's Image::Magick module (which in turn requires the C ImageMagick +  library). I've used versions 6.8.6 and 6.9.4, probably any recent version +  will do. + +- git. You don't exactly *need* this to build the code, but if you +  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 +  be fine. If you're on Windows, try Cygwin. + +If you plan to edit the port status screen, you'll need the Atari800 +emulator. It's also handy for actually playing the game, whether you +build it or use the provided binary. + + +Building: + +Hopefully you can just type "make" to create the taipan.xex binary. If +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). diff --git a/GAMEPLAY.txt b/GAMEPLAY.txt new file mode 100644 index 0000000..ab937ee --- /dev/null +++ b/GAMEPLAY.txt @@ -0,0 +1,128 @@ + +Note: This manual is nowhere near complete! + +User's Manual for Atari 8-bit Taipan +------------------------------------ + +To play Taipan, first load the game from disk or insert the +cartridge. See RUNNING.txt for details on how to load the game. + + +Gameplay Summary +---------------- + +Taipan is turn-based. Each turn consists of a trading phase (when your +ship is in port) and a transport phase (when your ship is sailing to +another port). If you're attacked by pirates during transport, there +is also a combat phase. + +During trading, you can buy and sell cargo at any port. Hong Kong is +your home port: that's where your bank and warehouse are located, +so when you're in Hong Kong you have the option to Visit Bank and +Transfer Cargo. + +Hong Kong is also where the shipyard is located. If your ship is +damanged, repairs are available (for a price) when you arrive in +Hong Kong. + +There's also a gentleman known as Elder Brother Wu in Hong Kong. He +loans money and collects donations for the local church, and is +rumored to have connections with Li Yuen's pirate gang. + +When you're ready to leave port, choose Quit Trading from the menu. +You'll be asked for a destination, and then your ship will set sail. +This is the transport phase of the turn. + +During transport, you might encounter a storm at sea. If this +happens when your ship is heavily damaged, there's a chance your +ship will sink, so make sure to keep your ship in good repair. Even +a well-maintained ship can be blown off course (to some other port +besides your chosen destination). + +You also might get attacked by pirates. If this happens, you enter the +combat phase of the turn. Otherwise, you'll arrive in port and begin +your next turn. + +During combat, you have three choices: Fight, Run, or Throw Cargo. If +your ship doesn't have any guns, don't bother trying to fight. Running +away is always an option, but the enemy will chase you, so you can't +always escape right away. Throw Cargo means you have your crew throw +some of your cargo into the water, in hopes that it will distract the +pirates or satisfy their greed, allowing you to get away safely. + +When the battle first starts, you choose between Fight, Run, or Throw +Cargo. During the fight, you can change your orders at any time by +pressing the key for the new order (F, R, or T). + + +Details +------- + +Once the game is loaded, you'll see the title screen, with a picture +of a sailing ship (a lorcha, to be exact). At the title screen, you +can customize gameplay before starting the game, using these keystrokes: + +B - Change background color. This cycles through all 16 hues available +    on the Atari. +T - Change text brightness. Cycles through 4 levels, from bright to dark. +S - Enable/disable sound. This controls the "whistle" alert sounds in the +    game, but not the key click sound. On XL/XE machines, the keyclick +    will be disabled; on 400/800 it will be enabled. +Space or Return - Start the game. For the disk version, the rest of the +    game will load from disk (once it's loaded, you can turn off the drive; +    Taipan doesn't use it). For the cartridge version, the game starts +    immediately. +Escape - Shows help, listing the above keystrokes on the bottom line of the +    screen. Each press of Escape cycles to the next keystroke. + +When the game starts, the first thing you'll do is "name your firm". This +is the name of your trading company, and can be anything you like, up to +22 characters. The name doesn't affect gameplay; it's just for fun. + +The next screen offers you the choice of starting with either: + +1 - Cash, and a debt (but no guns) +2 - 5 guns, no cash, and no debt. + +Your ship has a cargo capacity of 60 units either way, but each gun +takes up 10 units so option 2 gives you only 10 units for carrying +cargo. Later in the game, you'll get the options to buy guns and +upgrade your ship to higher capacity. + +If you choose option 1, you can start trading immediately, but +remember to pay back your debt to Elder Brother Wu (he lives in Hong +Kong; go there to make payments). Very Bad Things can happen to those +who ignore this advice. The debt has interest that accrues every turn, +so don't wait too long. You'll also have to run if you get attacked +(or throw cargo, once you've bought some): You won't have guns to +fight back with, at first. + +With option 2, it takes longer to start trading. You'll have to sail +around to different ports, waiting to be attacked by pirates. If you +defeat them in battle, you'll collect plunder from them in the form +of cash, which you can use to start trading. However, you won't get +very rich with only 10 cargo units on your ship, so upgrade as soon +as you get the offer! + +Once you've made the choice, the game proper begins. You'll start out in +Hong Kong. Whenever you're in a port, the Status screen is displayed. This +shows lots of information [todo, fill in] + +Trading in the world of Taipan works just like real life: buy low and sell high. +There are 4 cargo types, in order from least expensive to most: + +General Cargo - this is the miscellaneous stuff that cargo ships +carry. It might be raw materials (sugar, tar, coffee, pig iron), or +finished goods (casks of wine, clothing, jewelry). To simplify gameplay, +these are lumped together as one category. + +Arms - Weaponry. Muskets (flintlock and otherwise), swords, etc. You +can't use these to fight other ships; they're just cargo, but +commanding a better price than General Cargo. + +Silk - Bolts of raw silk cloth. Pretty expensive stuff. + +Opium - A highly addictive drug, but not without medical uses. It's +risky to trade in opium becase it's illegal in most ports. However, +the potential gains may be worth the risk. + diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..4c3d426 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,39 @@ +License Info for Atari 8-bit Taipan +----------------------------------- + +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 (whoever that actually is). + +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 (version +uspecified). It's very obviously a derivative work of the Apple +BASIC version, so I'm not sure it was really legal to release as +GPL. But it's been out there for decades unchallenged... My C code is +definitely a derivative work of the Linux port, so it's GPL also. The +assembly code and host tools (convfont, mkcart, etc) are my own work, +and I release them under the GPL (version 2). + +I'm not sure how to handle binary redistributions. Most people are +just going to grab the taipan.xex file and use it, and it'll end up in +various Atari archives. If I *don't* provide a binary, *nobody but me* +will ever play this game (seriously, there aren't a lot of Atari 8-bit +gamers who also would know how to set up a build environment for cc65, +or even be interested in trying). + +Since the Atari is such a limited platform, I can't really include +e.g. clickable (or even copy/pastable) links pointing to the +source. Including the text of the GPL in the binary is impossible, +or at least impractical: the GPLv2 license is around 18KB in size, or +approximately half the usable memory in an Atari, or 2/3 the size +of the existing Taipan binary. + +I hate to be this way but... I'm going to just allow binary +redistribution, unless/until the author of the Linux Taipan C game +complains about it. And when he does, I'm going to ask him if he +actually got permission from the author of the Apple BASIC version to +release his derivative work as GPL. diff --git a/NOTES.txt b/NOTES.txt new file mode 100644 index 0000000..6d8d37f --- /dev/null +++ b/NOTES.txt @@ -0,0 +1,174 @@ +Notes for Atari 8-bit Taipan +---------------------------- + +The Atari executable file format allows for concatenating executables. +The result is still a valid executable. I use this to load the splash +screen and custom font directly into memory before the main program loads. +The Makefile documents how all this works, but it might seem pretty +hairy if you're new to the Atari, Makefiles, and/or Perl. + +The Apple version of the game was expected to be run on a monochrome +monitor. Like many other ports from the Apple to the Atari, there will +be color artifacts when using a composite monitor. For best results, +use a monochrome monitor. If you can't, at least try using a color +monitor with S-Video (separate chroma/luma) inputs. If all else fails, +try turning the color knob all the way down (and the contrast as high +as you can stand it). In emulators, you can just disable artifacting. + +On PAL systems, the ship explosions and sinking animations will be 20% +slower, and the prompt timeouts will be 20% longer (1 sec => 1.2 sec). I +don't think this is a real issue (it's not like Taipan is a fast-paced +arcade game). + + +Deliberate differences between the Apple II and Atari ports: + +1. "Press ESC for help" rather than ESC to start. Starting the game is +   done with the space bar or return key. + +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 +   4 brightness levels, but all 16 Atari hues are available. + +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 an amount of cash or items (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. (Grammar nazi? That's a run-on sentence...) + +10. Apple uses floating point, no practical limit on cash/bank/debt. +    Atari currently uses 32-bit unsigned longs for cash and debt, +    though the bank is now floating point. This leads to these gameplay +    changes: + +    - If you try to make a sale, take out a loan, or withdraw from the bank +      an amount that would put you over 4.3 billion cash, you get a +      message "you cannot carry so much cash", and the transaction is +      aborted. + +    - If your debt goes above 2 billion, you die and the game is over. + +    Making cash a floating point value is possible, but not worth the +    effort as it's a *terrible* idea to carry billions (or even millions) +    of cash around, due to the possibility of getting robbed. By the time +    someone plays the game long enough to earn billions in cash, he'll know +    to leave most of it in the bank, not carry it around. + +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, and the speed is always the same. + +13. When entering numeric amounts, the Atari Shift-Delete key works as +    expected. + +14. When entering numeric amounts, pressing K or M inserts 3 or 6 zeroes. +    This means you can type e.g. 100,000 as 100K, and 10,000,000 as 10M. + +15. When playing on an 800, the standard Atari keyclicks will be heard. +    Disabling these on an 800 is non-trivial. On XL/XE machines, they are +    disabled to mimic the Apple version. + + +Differences between the Apple II original and Linux port: + +1. Linux has an 80-column screen layout, Apple is 40. +2. Apple version uses a custom font (actually, two, but I'm ignoring that). +3. Apple has sound, Linux does not. +4. Apple has graphical title screen, Linux has ASCII art. +5. Apple has graphical ships during battles, Linux has ASCII art. +6. On Apple, price of General Cargo isn't always an integer (e.g. 6.5). +   As a consequence, the cash and bank amounts aren't always ints either. +7. On Apple, some Y/N prompts (like 'Do you have business with Elder Brother +   Wu') you can press Enter for No. Linux port waits until you hit Y or N. +8. On Apple, ships show damage (get holes in them) as they get shot up. +9. On Linux, you can overpay McHenry (though you get no benefit from it). +   On Apple, payment amount gets clamped to the repair price, so you can +   e.g. be asked to pay 50,000 when you have 70,000 and safely enter A +   (you'll end up 100% repaired and still have 20,000 cash). +10. On Apple, dead enemy ships sink one scanline at a time, and there are +    at least 2 sinking speeds. On Linux, it's one character at a time. + +The plan for the Atari port is to mimic the Apple version as closely as +possible... except #6 above. It doesn't really add anything to the game, +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, 3, 4, 5, 7, 8, and 9 are implemented Apple-style; +and 6, 10 are Linux-style. + +Future Ideas: + +- A 5200 version. Most of the existing code will work there, but there's +  no keyboard, have to use the keypad on the joystick. Y/N prompts could +  use 1/0 and/or the side buttons, naming the firm would go away (just +  hardcode "Atari, Inc" or somesuch as the firm name), entering amounts +  would use the keypad (# and * for A and Enter, maybe the side buttons +  for K and M). Cargo types might be 1 for General Cargo, 2 for Arms, +  etc (have to display that on screen), and have "1-Fight, 2-Run, 3-Throw +  Cargo" in combat. + +- Seen on a web version of Taipan played on a phone: A Turbo option for +  combat. Basically you press T to skip all the delays. It's still +  possible to change your orders in mid-fight, but you have to be +  quick. My implementation of this will make Turbo a toggle, not sure +  if the web version does that. There will be some kind of indicator +  "Press T for Turbo", which changes to "Turbo mode: Press T for normal", +  something like that. + +I may do a "Taipan Plus" at some point. The regular Taipan game will be +faithful to the original, and the Plus version could have some or all of: + +- More ports to dock at, some of which might have their own warehouses, +  repair yards, etc. + +- More trade goods, not all of which are available at all ports. + +- Actual market trends, rather than a base price + random number. There +  might be news events that cause prices to go up/down (e.g. Arms are +  up at Saigon because there's a gang war in progress, Opium is up at +  some port but the chances of getting busted are higher). This feature +  actually exists in Art Canfil's TRS-80 Taipan "version 10". + +- Ability to control a fleet of ships. Each one will either be a cargo +  ship or a warship. + +- A "Turbo Combat" feature like one of the phone versions I've seen. You +  set your orders and hit Turbo, and it finishes the fight instantly, +  but you can't change your mind about your orders (fight until you win +  or die, or run until you escape or die). + +- Special missions. Someone at some port needs you to transport documents +  or whatever, to some other port... you will almost certainly be attacked +  by whoever's trying to get the documents though. + +- Rival trading companies. Their activities can influence prices, and +  you can fight them and possibly salvage actual cargo. + +- Variable passage of time. Distant ports take longer to get to. Also, +  winds or ship damage can slow you down. + +I dunno how many of the above will fit in the Atari's RAM. Probably have +to rewrite the whole game from scratch in assembly before adding features. + @@ -1,10 +1,11 @@  Taipan for Atari 800 +--------------------  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. +curses, modified to look and play more like the Apple II version.  Currently the game is playable and complete, but has a few known bugs -(see "Bugs" section below) and probably a few unknown ones too. +(see BUGS.txt) and probably a few unknown ones too.  The latest version of the source can be found here:  https://slackware.uk/~urchlay/repos/taipan @@ -15,288 +16,26 @@ https://slackware.uk/~urchlay/src/taipan.xex  ...though it might be outdated. -Linux/curses port can be found here: +The Linux/curses port I used as a starting point can be found here:  http://www.ibiblio.org/pub/linux/games/textrpg/ -Original Apple II BASIC source, plus a browser version of the game, +The Apple II BASIC source, plus a browser version of the game,  can be found here: http://www.taipangame.com/  What's missing: -- Large integer (or floating point) support for Debt and Cash (the -  Bank is floating point though). As a side effect of this, the "negative -  interest" bug/feature is missing. +I mention this up front, because some players consider this a major +issue: The "negative interest" bug/feature/cheat doesn't work. If you +never heard of it, don't worry about it: It's more fun to play without +cheating anyway. -Build Requirements: -- make. I use GNU make 3.82, and occasionally test with an old -  version of BSD make (which works). +Further Documentation +--------------------- -- cc65. Originally I used version 2.13.3, and part way through I -  upgraded to a git snapshot dated December 29, 2015. Building with -  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, see HOSTCC in the Makefile). - -- perl. I use version 5.18.1, probably any 5.x version will work. - -- perl's Image::Magick module (which in turn requires the C ImageMagick -  library). I use version 6.8.6, probably any recent version will do. - -- git. You don't exactly *need* this to build the code, but if you -  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 -  be fine. If you're on Windows, try Cygwin. - -If you plan to edit the port status screen, you'll need the Atari800 -emulator. It's also handy for actually playing the game, whether you -build it or use the provided binary. - - -Building: - -Hopefully you can just type "make" to create the taipan.xex binary. If -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). - - -Running: - -The game binary is called "taipan.xex". It's a standard Atari DOS -'binary load' file, which expects to be run with BASIC disabled and no -cartridges inserted. - -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 48K of RAM. Use a SIO2PC cable and -software like Atariserver (Linux) or APE (Windows) to serve the game to -the Atari. If you can come up with a way to actually copy it to a real -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. For Atari800, you should be able to do this: - -atari800 -nobasic taipan.xex - -The cartridge image is a 64KB XEGS bankswitched cartridge (what Atari800 -calls "type 13"). It can be run in the emulator thus: - -atari800 taipan.cart - -For burning to an EPROM, you'll need to build or scavenge a cartridge -with the correct banking logic, and burn taipan.rom to a 64KB chip. - -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. - - -License: - -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 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 (version -uspecified). My C code is definitely a derivative work, so it's GPL -also. The assembly code and host tools (convfont, mkcart) are my own work, -and I release them under the GPL (version 2). - -Notes: - -The Atari executable file format allows for concatenating executables. -The result is still a valid executable. I use this to load the splash -screen and custom font directly into memory before the main program loads. -The Makefile documents how all this works, but it might seem pretty -hairy if you're new to the Atari, Makefiles, and/or Perl. - -The Apple version of the game was expected to be run on a monochrome -monitor. Like many other ports from the Apple to the Atari, there will -be color artifacts when using a composite monitor. For best results, -use a monochrome monitor. If you can't, at least try using a color -monitor with S-Video (separate chroma/luma) inputs. If all else fails, -try turning the color knob all the way down (and the contrast as high -as you can stand it). In emulators, you can just disable artifacting. - -On PAL systems, the ship explosions and sinking animations will be 20% -slower, and the prompt timeouts will be 20% longer (1 sec => 1.2 sec). I -don't think this is a real issue (it's not like Taipan is a fast-paced -arcade game). - -BUGS! At least these: - -- The "negative interest" bug is currently missing, due to using -  unsigned values for debt. Plus, it's cheating. I'm undecided -  whether or not to use a bignum for debt; if I do, it will be -  possible to have negative debt. - -- Not really a bug, but, the interest calculation for debt is slightly -  different, due to using integer math. Very small debt amounts will grow -  much faster than they should, then stabilize and converge towards the -  correct values over time. This only happens when you have less than -  10 in debt, which (at least for me) is a pretty rare situation. - -- A few things in the screen layout are slightly off comapred to -  the Apple version. Would really like to get it exact. - -- 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. Also, now that -  I'm using the graphical title screen, I have a few more characters I -  can redefine as damaged ship sections. - -Deliberate differences between the Apple II and Atari ports: - -1. "Press ESC for help" rather than ESC to start. Starting the game is -   done with the space bar or return key. - -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 -   4 brightness levels, but all 16 Atari hues are available. - -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 an amount of cash or items (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. (Grammar nazi? That's a run-on sentence...) - -10. Apple uses floating point, no practical limit on cash/bank/debt. -    Atari currently uses 32-bit unsigned longs for cash and debt, -    though the bank is now floating point. This leads to these gameplay -    changes: - -    - If you try to make a sale, take out a loan, or withdraw from the bank -      an amount that would put you over 4.3 billion cash, you get a -      message "you cannot carry so much cash", and the transaction is -      aborted. - -    - If your debt goes above 2 billion, you die and the game is over. - -    Making cash a floating point value is possible, but not worth the -    effort as it's a *terrible* idea to carry billions (or even millions) -    of cash around, due to the possibility of getting robbed. By the time -    someone plays the game long enough to earn billions in cash, he'll know -    to leave most of it in the bank, not carry it around. - -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, and the speed is always the same. - -13. When entering numeric amounts, the Atari Shift-Delete key works as -    expected. - -14. When entering numeric amounts, pressing K or M inserts 3 or 6 zeroes. -    This means you can type e.g. 100,000 as 100K, and 10,000,000 as 10M. - -15. When playing on an 800, the standard Atari keyclicks will be heard. -    Disabling these on an 800 is non-trivial. On XL/XE machines, they are -    disabled to mimic the Apple version. - - -Differences between the Apple II original and Linux port: - -1. Linux has an 80-column screen layout, Apple is 40. -2. Apple version uses a custom font (actually, two, but I'm ignoring that). -3. Apple has sound, Linux does not. -4. Apple has graphical title screen, Linux has ASCII art. -5. Apple has graphical ships during battles, Linux has ASCII art. -6. On Apple, price of General Cargo isn't always an integer (e.g. 6.5). -   As a consequence, the cash and bank amounts aren't always ints either. -7. On Apple, some Y/N prompts (like 'Do you have business with Elder Brother -   Wu') you can press Enter for No. Linux port waits until you hit Y or N. -8. On Apple, ships show damage (get holes in them) as they get shot up. -9. On Linux, you can overpay McHenry (though you get no benefit from it). -   On Apple, payment amount gets clamped to the repair price, so you can -   e.g. be asked to pay 50,000 when you have 70,000 and safely enter A -   (you'll end up 100% repaired and still have 20,000 cash). -10. On Apple, dead enemy ships sink one scanline at a time, and there are -    at least 2 sinking speeds. On Linux, it's one character at a time. - -The plan for the Atari port is to mimic the Apple version as closely as -possible... except #6 above. It doesn't really add anything to the game, -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, 3, 4, 5, 7, 8, and 9 are implemented Apple-style; -and 6, 10 are Linux-style. - -Future Ideas: - -I may do a "Taipan Plus" at some point. The regular Taipan game will be -faithful to the original, and the Plus version could have some or all of: - -- More ports to dock at, some of which might have their own warehouses, -  repair yards, etc. - -- More trade goods, not all of which are available at all ports. - -- Actual market trends, rather than a base price + random number. There -  might be news events that cause prices to go up/down (e.g. Arms are -  up at Saigon because there's a gang war in progress, Opium is up at -  some port but the chances of getting busted are higher). This feature -  actually exists in Art Canfil's TRS-80 Taipan "version 10". - -- Ability to control a fleet of ships. Each one will either be a cargo -  ship or a warship. - -- A "Turbo Combat" feature like one of the phone versions I've seen. You -  set your orders and hit Turbo, and it finishes the fight instantly, -  but you can't change your mind about your orders (fight until you win -  or die, or run until you escape or die). - -- Special missions. Someone at some port needs you to transport documents -  or whatever, to some other port... you will almost certainly be attacked -  by whoever's trying to get the documents though. - -- Rival trading companies. Their activities can influence prices, and -  you can fight them and possibly salvage actual cargo. - -- Variable passage of time. Distant ports take longer to get to. Also, -  winds or ship damage can slow you down. - -I dunno how many of the above will fit in the Atari's RAM. Probably have -to rewrite the whole game from scratch in assembly before adding features. +GAMEPLAY.txt - user's manual, explains how to play Taipan. +RUNNING.txt - instructions on how to run Taipan. +BUILDING.txt - build instructions, for compiling Taipan yourself. +BUGS.txt - guess what this is? +NOTES.txt - implementation details, blue-sky plans. +LICENSE.txt - legal stuff. Or possibly not. diff --git a/RUNNING.txt b/RUNNING.txt new file mode 100644 index 0000000..87b53d2 --- /dev/null +++ b/RUNNING.txt @@ -0,0 +1,80 @@ +Running Taipan on a real or emulated Atari +------------------------------------------ + +Even though this version of Taipan is written more-or-less in C, +it's not portable to other platforms. You can't compile it for Linux +or Windows. To run it, you have to use an Atari 8-bit computer, real +or emulated. + +Disk Executable +--------------- + +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. + +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 +software like Atariserver (Linux) or APE (Windows) to serve the game to +the Atari. If you can come up with a way to actually copy it to a real +floppy disk, you probably want a bootable DOS disk with Taipan renamed +to AUTORUN.SYS. Other options are MyPicoDOS (supports fast SIO if your +drive does) and Fenders 3-sector loader. + +It's also possible to run Taipan in an emulator, such as Atari800, +Atari++, or Altirra. For Atari800, you should be able to do this: + +  atari800 -nobasic taipan.xex + +For atari++, use: + +  atari++ -image.1 taipan.xex + +For Altirra, try this: + +  Altirra /run taipan.xex + +For 64-bit builds of Altirra: + +  Altirra64 /run taipan.xex + +[Altirra instructions courtesy of MoparStephen, with thanks] + + +Cartridge +--------- + +The cartridge image is a 32KB XEGS bankswitched cartridge (what +Atari800 and Altirra call "type 12"). 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. + +taipan.rom is the raw ROM image, exactly 32KB in size. Use this with +emulators that don't understand CAR headers. This is also what you'd +use on real hardware. For burning to an EPROM, you'll need to build +or scavenge a cartridge with the correct banking logic, and burn +taipan.rom (the raw ROM image) to a 32KB chip. You could also use a +multi-cart (flash or similar). + +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: + +  atari++ -cartpath taipan.rom -carttype xegs + +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. | 
