________________________________________________________________________ Phoenix - The ultimate (?) shoot-em-up for the TI-82, TI-85 and TI-86 (and the TI-83) Version 0.90 - Released November 25, 2000 This program is in the public domain. There is no warranty. E-Mail - pad@calc.org Web Page - http://pad.calc.org/ ________________________________________________________________________ _____________________________________ TABLE OF CONTENTS 1. Introduction ..................................................... 26 2. System requirements .............................................. 45 3. Legal stuff ...................................................... 61 4. Instructions ..................................................... 82 5. External Levels ................................................. 156 5. Shop Items ...................................................... 183 6. Contacting the Programmer ....................................... 233 7. Acknowledgements ................................................ 265 8. Version History ................................................. 300 9. The Future ...................................................... 363 _____________________________________ INTRODUCTION Phoenix is a free/open source shoot-em-up style game for the TI-82, TI-85 and TI-86 calculators. This game was written completely in Z80 assembly language to fully take advantage of the calculator's capabilities. If you want to obtain other calculator programs or learn more about TI calculators, I would suggest visiting the web sites listed below. They all have large archives as well as help sections. If you don't know how to transfer programs to your calculator, or how to run them once you've transferred them, you need to read their help pages to learn these things. http://www.ticalc.org/ ticalc.org http://www.calc.org/ Dimension-TI Modification of this program is encouraged. To facilitate this, I have placed the program in public domain, and supplied another document, 'INTERNAL.TXT', which describes the internal workings of the program. This program was ported by Mouse (Mouse47@aol.com) please direct all 83-specific questions to him _____________________________________ SYSTEM REQUIREMENTS For TI-82 users: * CrASH 1.6 (or above) must be installed * 7.5K of memory is needed to store the game * this version will not work with MirageOS TI-82 emulation on the TI-83+ For TI-85 users: * Usgard 1.5 (or above) must be installed * 8K of memory is needed to store the game * 1.25K of free memory is needed to run the game For TI-86 users: * 8.2K of memory is needed to store the game * no other software is needed _____________________________________ LEGAL STUFF Since you did not pay me anything for the right to use this software, there is no warranty of any kind. This software has been tested, and at the time of release the author was not aware of any serious problems with it. However, there is still a possibility of unforeseen problems. If you do encounter any problems with this program, please inform me as soon as possible (of course, I cannot guarantee that I will fix such problems). This software is in the public domain, which means that it is not copyrighted at all. Thus you may use, copy, or modify it any way you want. However, I would appreciate if you at least do the following if you are making a modified version: - Don't restrict distribution of it - Supply source code - Give me a reasonable amount of credit - Make your version also public domain, or copyrighted under a license that still allows users to distibute modified versions freely _____________________________________ INSTRUCTIONS Note: These instructions refer to keys on the TI-85 and TI-86. If you are using a TI-82, substitute the number keys 1-5 for the function keys F1-F5, and use MODE in place of EXIT and DEL in place of MORE. When you first run Phoenix, you will see the title screen. This screen just identifies the game, and gives you a small menu. As you can probably tell, F2 and F3 display additional information screens, and F1 starts the game. When you press F1 to start the game, you next see the difficulty level selection screen. Press one of the indicated keys to choose a difficulty level. The difficulty level chosen determines how much money you get, as well as how large your bonus is, as follows: Difficulty Bonus Value of each $ dropped Beginner 0 100 Intermediate 5000 50 Advanced 15000 20 The next screen lets you select the speed of gameplay. As you can probably guess, you get a larger bonus at higher speeds, as given in the following table (note that frame rate vary slightly between calculators and depending on your battery power): Speed Bonus TI-82 framerate TI-85/86 framerate Slow 0 26 frames per second 25 frames per second Medium 1000 n/a 29 frames per second Fast 5000 34 frames per second 35 frames per second After selecting a difficulty level, the game play will begin almost immediately. Your ship (an object which vaguely resembles the Greek letter sigma (summation symbol) on its side) can be controlled by the cursor pad. The condition of your ship is indicated by a vertical bar on the right side of the screen. In ideal condition, it goes all the to the top; it will get shorter as you are damaged. Note that on the TI-85 and TI-86, this is at the edge of the background image, so it won't be noticeable if you are at full strength; however, it's easy to notice when you are damaged. Also, if your ship is nearly destroyed, the image will change from a solid ship to a dotted one. You can fire your weapon by pressing the 2nd key. When you start the game, you do not have auto-fire capability, so you must repeatedly press the 2nd key to shoot multiple shots. However, you can purchase a weapon upgrade that gives you auto-fire capabilitiy; then, you only need to hold down the 2nd key to fire rapidly (see the next section for more on purchasing upgrades). You can select from among the available weapons with the function keys. When you start the game, only the F1 weapon is available, but you can buy additional weapons that are more powerful during the game. At any time, you can press the EXIT key to quit immediately. Pressing the MORE key will save your current position in the game and then exit. Gameplay will resume immediately where you left off the next time your run Phoenix. If you complete the entire game, your final score will be shown. You must press ENTER to continue. Then you will be shown the high score table. If you have gotten a high score, you will be prompted to enter your name. You can enter letters by pressing the keys with the letters above them, and can backspace with the DEL key. Press ENTER when done. After the high scores are shown, press any key to resume the game (you will have everything you finished with, so the game may no longer be challenging; you can't get another high score during additional rounds). You can only get a high score if you finish the entire game. Scores are based on the amount of your shield remaining, the difficulty level you chose, and the time taken to finish the game. The amount of money you have also slightly affects your score. To view the high scores, press ALPHA on the title screen. _____________________________________ EXTERNAL LEVELS The current version of Phoenix supports external levels on the TI-85 and TI-86 (but not on the TI-82). To play an external level, simply run the level file. It will load the level and start the game immediately. The main Phoenix program must be on the calculator with the original name for this to work. Note that external level support is very limited at the moment. Currently, included, so levels will not very flexible, limiting what kind of levels can be created. In particular, all enemy types used must be similar to those already existing (in general, enemies can be positioned anywhere, as long as they move in the normal way after being positioned; the patterns of the circular enemies can be changed; strengths of any enemies can be changed; and images of bosses, spinners, and "plain" enemies can be changed). In the current version, you cannot save the game, or achieve high scores when playing external levels. There is also no documentation on creating external levels. If you want to make one, you will have to look at the sample external levels (and the internal level definitions) and probably also the program's source code. Beware that the format may change in later versions anyway. Most of these problems should be fixed (at least partially) in later versions of the game. _____________________________________ SHOP ITEMS At certain points in the game, you will have the oppurtunity to enter the Phoenix Shop where you can purchase various useful items. You will only enter the shop if you have some money. You can collect money while playing the game by moving your ship over it (the money is represented by $ and $$ symbols). When you collect money, it is automatically teleported to the First Intergalactic Bank so that you can easily spend it anywhere in the universe. You will not be allowed to purchase weapons you already have, or buy extra shield when your shields are already full, so you don't need to worry about wasting money by accidentally buying such things. The following items are available at the Phoenix shop: Price Item Description $100 Extra shield This increases your shield strength by 1 step if it has been damaged. $300 Weapon (F2) Gives you the (F2) weapon, which fires two shots at once. These shots are equally destructive as the default weapon, but move faster. $500 Companion Ship This gives you a companion ship. This ship will automatically follow your ship, and fire its weapon against your enemies. The shields of the companion ship can't be recharged; they start with the same power of the shields on your ship. If the companion is damaged, you can replace it with a new one by buying it again. Its weapon is 5 times as powerful as your default weapon, and fires about 4 times per second. $750 Weapon Upgrade Gives you auto-fire capability, and upgrades the standard (F1) weapon to double its power. $1000 Weapon (F3) Gives you the (F3) weapon, which fires three shots at once. The ones fired left and right are 1.5 times as destructive as the default weapon, and the shot fired straight ahead is twice as destructive as the default weapon $1250 Weapon (F4) Gives you the (F4) weapon. This fires two shots at a time, at angles moving sligtly left and right, alternating between firing from the left and right sides of your ship. Each shot is 4 times as destructive as the default weapon. $2000 Weapon (F5) The most powerful weapon of all. _____________________________________ CONTACTING THE PROGRAMMER If you find any bugs in this game or have suggestions or comments about it, please tell me in E-Mail! If you are writing to report a bug, please be sure to tell me exactly what the problem is and describe exactly what you did before the problem occured. If you don't do so, it will be very hard for me to tell what is going wrong! You should also tell me which version of Phoenix you have and which calulator you use in any mail you send me. My main E-Mail address is: pad@calc.org I will usually answer my E-Mail within a week. If I don't, you can try to write to one of my other addresses below. I will not be replying from that address, so if your E-Mail is set up to block all messages except those from certain addressses, you'll have to send it to one of the other addresses and un-block that address. This sort of blocking has caused trouble for me before since some people didn't even un-block the address they sent to. The other addresses at which you can E-Mail me are: pad@ocf.berkeley.edu pad@csua.berkeley.edu luezma@netscape.net ariwsi@rocketmail.com You can always get the latest version of this game, as well as other programs of mine, from my web page. The addresses are: http://pad.calc.org/ http://www.ocf.berkeley.edu/~pad/ http://surf.to/eeulplek/ _____________________________________ ACKNOWLEDGEMENTS The vast majority of this game is my (Patrick Davidson's) own work. However, there are a few others whose assistance was invaluable in producing this game, and there efforts will be acknowledged here, in no particular order: Joe Wingbermuehle For the fast TI-82 display copy routine Sam Heald / The Void Various suggestions, including using the routine above Dan Englender / TCPA Converting the game to MirageOS for the TI-83+ Andreas Finne / TCPA Converting the game to Ion for the TI-83 David Boozer All of these people were instrumental in Magnus Hagander developing assembly support for the TI-85 and/or Dan Eble the Usgard system. Rob Taylor Sam Davies Jimmy Mardell Austin Butler Mel Tsai Dines Justesen Researching assembly capabilities on the TI-82 and developing the original Ash system. Hideaki Omuro Developing the CrASH system for the TI-82. Jeff Mears Alan Bailey The Asm86 TI-86 development tools If you should be here but were left out (or worse, I misspelled your name) just E-Mail and I'll be sure to fix it for the next release. _____________________________________ VERSION HISTORY Sizes listed here are for the TI-85 version. Line counts here contain all source files that make up the TI-85 and TI-86 versions, but don't count the source conversion program or the source files specific to the TI-82. Version Date Bytes Lines Description 0.01 28-Aug-00 4012 2926 First release Nine levels 0.02 31-Aug-00 4202 3093 Implemented game saving Began to write internal documentation Circle/bar enemies shoot diagonally Fixed enemy movement bug Fixed TI-86 menu annoyance Fixed TI-86 down + left bug Added 3 levels Decreased amount of money dropped 0.10 5-Sep-00 5627 4156 Optimized and improved collision detection TI-86 keyboard input more precise Now restores scrolling on TI-86 Reduced auto-fire rate Decreased speed to ~30 frames per second Implemented weapon 4 Increased maximum player bullets to 16 Implemented companion ship Implemented bouncing enemies Added 3 levels for them Implemented difficulty levels 0.20 11-Sep-00 Added TI-82 version 0.50 30-Sep-00 7105 5086 Implemented high scores Improved TI-82 and TI-86 memory use Implemented weapon 5 Optimized player firing Halved money falling rate Implemented double buffering on TI-85/86 Switched to faster TI-82 display routine Increased TI-85/86 speed to ~35 fps Optimized collision detection TI-82 speed now stable at ~34 fps Implemented spinning enemies & levels Adjusted shop prices 0.51 1-Oct-00 Speed bonus fixed for TI-82 TI-82 screen clearing optimized TI-82 high score display fixed Other small optimizations for TI-82 only 0.90 25-Nov-00 8229 5907 Redesigned level loader Changed drawing mode to OR Added superboss enemy & levels Implemented speed selection Fixed TI-85 save game problem Implemented shield indicator Enemy bullets explode when player is hit Added operator enemy & levels Added swooping enemy & levels Fixed name input bug ______________________________________ THE FUTURE At this point, I consider this game to be fairly complete. However, I still do plan to make a few more changes, including more complete external level support, a few new levels, and optimizations. Also, I will try to fix any bugs that may be found in it. In addition to Phoenix, I do plan to develop several new games for both the Z80 and 68K-based calculators.