________________________________________________________________________

  P H O E N I X   -   The ultimate (?) shoot-em-up for TI-89/92/92+/V200!!
  
                   Version 7.6 - Released September 14, 2004

       This program is freely redistributable.  There is no warranty.
  
       E-Mail - pad@calc.org          Web Page - http://pad.calc.org/
 ________________________________________________________________________


 _____________________________________ TABLE OF CONTENTS

 1. Introduction ..................................................... 28  
 2. System requirements .............................................. 55
 3. Legal stuff ...................................................... 69  
 4. Instructions ..................................................... 88
                                           Installation/Startup ...... 90
                                           Gameplay ................. 121
 5. Shop Items ...................................................... 183
 6. Player Ships .................................................... 264
 7. Contacting the Programmer ....................................... 303
 8. Acknowledgements ................................................ 334
 9. Version History ................................................. 367
 10. The Future ..................................................... 598

 _____________________________________ INTRODUCTION

Phoenix is a free/open source shoot-em-up style game for the TI-89, TI-89
Titanium, TI-92, TI-92 Plus, and Voyage 200 calculators.  This game was
mostly written in the early part of 1998 forthe TI-92.  It is now also
available for the TI-89 and TI-92 Plus.  This game was written completely in
68000 assembly language to fully take advantage of the calculator's
capabilities.  It's features include many levels, many enemies, smooth
gameplay, and the ability to purchase upgrades to your ship and new ships.
The current version also has multiple difficulty levels and a high score
table, and game saving capability.

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 should read the help sections on these sites, or the
FAQ on my web page.

    http://www.ticalc.org/       
    http://www.calc.org/        
    http://www.calcgames.org/    

Modification of this program is encouraged.  To facilitate this, I have
made this program free/opensource software, and supplied another document,
'INTERNAL.TXT', which describes the internal workings of the program.

 _____________________________________ SYSTEM REQUIREMENTS 

 For TI-92 and TI-92 II users:
    * Fargo II must be installed
    * 16K of memory is needed to store the game
    * 4K of free memory is needed to run the game

 For TI-89, TI-89 Titanium, TI-92 Plus, and Voyage 200 users:
    * 16K of memory is needed to store the game
    * No shell or kernel is required (but it will work with one)
    * All hardware and AMS versions are OK (at least up to AMS version 2.08
      and hardware version 2.00, which were the most recent versions at the
      time of release; it should probably work on newer versions also)

 _____________________________________ 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 entire program is copyrighted by me, but may be freely used, copied,
and/or modified by any means with no restrictions.

However, I would appreciate if you at least do the following if you are
making a modified version:

 - Don't add any restrictions to its distribution or modification
 - Supply complete source code
 - Give me a reasonable amount of credit

 _____________________________________ INSTRUCTIONS

Part I: Installation / startup

You can run this program just as you would any other program; simply send
the "phoenix" program to the calculator and run it, by typing the command
'phoenix()' on the home screen.

If you are using a TI-92, you must have the Fargo II operating system
installed first.  Then send 'phoenix.92p' to the calculator.

If you are using a TI-89 or TI-89 Titanium, no shell or kernel is
required, though Phoenix should work with one.  You only need to send
'phoenix.89z' to the calculator.

If you are using a TI-92 Plus or Voyage 200, no shell or kernel is
required, though Phoenix should work with one.  You only need to send
'phoenix.9xz' to the calculator.

Note that (on the TI-89 and TI-92 Plus) some shells may not allow you to run
Phoenix from them.  This particularly may occur under certain old versions
of Universal OS which have a bug with a kernel function for launching
programs.  If this happens, it is not a bug in Phoenix.  You can work around
this problem by running it from the home screen instead.  You can also
select the program's name from the var-link menu if you don't feel like
typing it.

If you have AMS version 2.03, you may get an error message that says
something like "ASAP or exec string too long".  This is because this version
of the AMS has a very annoying limit on the size of programs.  To solve
this problem, you can upgrade to a newer version of the AMS (available from
TI's web site) or use one of the various programs that defeats the limit.

Part II: Gameplay

When you first run Phoenix, you will see the title screen.  This screen will
identify the game and give you a list showing what each fucntion key does.
F1, F2, F3, and F4 will select the difficulty level and start the game.  The
higher numbered keys will give you a more difficult game, but you get a
higher bonus if you win if you play a higher difficulty level.  The other
function keys display additional information.

TI-89 only:  After choosing the difficulty level, you then go to the speed
selection.  Normal speed runs the game at the same speed versions 3.0 and
before on the TI-89, as well as all TI-92 versions of Phoenix.  If you select
Fast, it will run 1.5 times the normal speed.  This makes the game much
harder, but you will get an extra bonus if you finish at this speed.

Inverse Mode:  To play the game in inverse colors (white ships on a black
background), type a capital "I" while on the title screen; the game will then
be played in inverse.

Once you select the 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 the line on the bottom of the
screen which seperates the game play area from the title.  The line
originally goes all the way across the screen but gets shorter whenever you
are damaged.  Colliding with the walls will damage your ship very quickly,
so be careful not to get too close to them!  If the line completely runs
out, you will be destroyed the next time you are hit.

The LOCK key on the TI-92 or 2nd on the TI-89 will fire the selected weapon.
If you hold it down, it will fire automatically, but at a rather slow rate.
You can probably fire much more rapidly if you click the button as fast as
possible.  The default auto-fire rate is 3 shots per second.  If you purchase
the rapid-fire unit, the rate will be 10 shots per second.  Firing at an
extremely high rate is not always useful, since you are limited in the number
of bullets you can have on screen at a time.  The limit will initially be 16,
but you can purchase extra bullets during the game to raise it to 24.

To select weapons, use the corresponding function keys (TI-92) or the number
keys (TI-89).  You can only have one weapon selected at a time, but you can
change weapons as often as you want to.  It is possible for bullets from
several different weapon types to be on the screen at the same time.  When
you first start playing, only weapon 1 will be available.  However, you can
purchase additional weapons later on in the game.

The APPS key will save the game and then exit.  Because of the trick that
Phoenix uses to save the game without taking up extra memory, the saved game
may not be kept permanently.  If you do a lot of stuff on your calcultor
after saving the game, you will probably lose the saved game.  If you copy
Phoenix from one calculator to another, the saved game will not be kept.
If the saved game does remain, it will resume automatically the next time
you run Phoenix.

If you complete the entire game, you will reach a scoring screen.  This
tells you the amount of points you get in each category, as well as your
total score.  If you enter the high score table, you can type in your name.
You can enter up to 19 characters here.  Once you've finished the whole
game, it will continuously loop back through everything.  You are only
scored for the first time you go through the game.  The high score table is
also displayed when you lose the game.  If you don't finish the game, you
don't get a chance to have a high score.

 _____________________________________ SHOP ITEMS

At certain points in the game, you will have the oppurtunity to enter the
Phoenix Shop wehere you can purchase various useful items.  You will only
enter the shop if you have at least 50 credits.  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. 

The following items are available at the Phoenix shop:


Price   Item                Description

  $50   Shield Recharge     This increase your shield strength by 1 step if
                            it has been damaged.

 $100   Extra Bullet        This increases the number of bullets that can be
                            on the screen at once.  Initially, you can have
                            16 bullets on the screen at once.  By purchasing
                            extra bullets, you can increase this limit to 24.

 $250   Double Shoot        This weapon allows your ship to fire two shots
                            at once.  Both shots a fired straight ahead.
                            Once you have purchased this weapon, you can
                            select it by pressing F2 (TI-92) or 2 (TI-89).

 $400   Triple Shoot        This weapon allows your ship to fire three shots
                            at once.  One shot is fired straight ahead, and
                            the other two are fired to the sides.  These
                            shots travel faster than normal ones.  Once you
                            have purchased this weapon, you can select it by
                            pressing F3 (TI-92) or 3 (TI-89).

 $500   Quadruple Shoot     This weapon fires four shots at a time.  Two
                            shots will be fired from each side of the
                            ship.  The shots will alternate between
                            moving forward and moving to the side.  From
                            each side of the ship, one of the shots will
                            go left and one will go right.  Once you have
                            purchased this weapon, you can select it by
                            pressing F4 (TI-92) or 4 (TI-89).                        

$1000   Rapid-Fire Unit     This allows you to fire rapidly by simply holding
                            down the fire button.  You can fire 10 shots per
                            second with this, provided the total number of
                            bullets on-screen remains within your limit.
                            
$1250   Dual Plasma         This is a much more powerful weapon than the
                            previous ones.  It fires two plasma shots at a
                            time.  Each of them does seven times as much
                            damage as a shot from the first four weapons.
                            Once you have purchased this weapon, you can
                            select it by pressing F5 (TI-92) or 5 (TI-89).

$1500   Heavy Destroyer     This supplies you with the Heavy Destroyter ship.
                            See the next section for a description of it.

$1750   Golden Arches       This is a very unique weapon.  It fires shots
                            which travel backwards and then swing forwards.
                            This weapon does slightly more damage than the
                            the Dual Plasma Cannon, although it can be
                            difficult to control.  Once you have purchased
                            this weapon, you can select it by pressing F6
                            (TI-92) or 6 (TI-89).

$2000   The Phoenix         This supplies you with The Phoenix, the ultimate
                            ship.  See the next section for its description.

$2500   Triple Plasma       This weapon is similar to the Dual Plasma Cannon,
                            but it fires three bullets instead of two.  Once
                            you have purchased this weapon, you can select it
                            by pressing F7 (TI-92) or 7 (TI-92).

$3000   Deluxe Plasma       This is the most powerful weapon in the game.
                            It fires four shots at a time, each of which does
                            10 times as much damage as the bullets from the
                            first four weapons.  This weapon is selected with
                            the F8 key (TI-92) or the 8 key (TI-89).

 _____________________________________ PLAYER SHIPS


There are three possible ships you can use.  If you accumulate enough
credits, you may purchase some of the more advanced ships.  Note that you
always trade in your old ship when purchasing a new one, so you cannot
switch back without purchasing another ship of the previous type.

If you are playing on the Beginner or Intermediate levels, you will be able
to receive a new ship for free after completeling a certain portion of the
game.

The possible ships are:

1. SIGMA (Default Ship)

This is the standard ship.  It has no special features.

2. Heavy Destroyer ($1500)

This ship is slightly larger than Sigma, so you will be more likely to be
hit when using it.  However, it has several useful defensive mechanisms
which more than make up for this.  It comes with heavy armor, allowing you
to survive up to 5 hits after the shields are gone.  The armor cannot be
repaired after it is damaged.  In addition, this ship has a radar scrambler
which confuses guided projectiles.  This ship also has a special weapon,
which can be activated by pressing SPACE (Diamond on the TI-89).  This will
fire two large guided bombs in rapid succession.  These bombs will target
the toughest enemy that exists when they are fired.

3. The Phoenix ($2000)

This ship is smaller and faster.  In addition, it has a special weapon which
can be activated by pressing SPACE (Diamond on the TI-89).  It can be fired a
maximum of once every 3 seconds.  This weapon fires 8 projectiles in a spread
in front of the ship.  It also generates an energy field which will destroy
approximately half of the enemy bullets on the screen as well as some of the
player's bullets.

 _____________________________________ 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 Monster you have and which calulator you use in any mail you send me.
My main E-Mail address is:

        pad@ocf.berkeley.edu

I will usually answer my E-Mail within a week.  If you don't get any answer
in two weeks, you can try sending to the following backup addresses:

        pad@calc.org
        pad@davnet.org
        padavidson@wisc.edu
        pad@cs.wisc.edu

If your E-Mail is set up to block all messages except those from certain
addresses, always be sure that you have un-blocked my address before
sending anything to me (best to un-block all of them, since I might answer
from a different one than you sent to).

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://www.ocf.berkeley.edu/~pad/
        http://pad.calc.org/

 _____________________________________ ACKNOWLEDGEMENTS

This game is my 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:

David Ellsworth            Fargo II and the Fargo II development tools,
                           also a small bit of FLIB code I used

Olivier Lesteven           TEOS and the TEOS development tools

Brian Anderson and         The A68K assembler, used to assemble almost all
Charlie Gibbs              calculator assembly programs, including Phoenix

Tleilax                    DB92, an amazing on-calculator debugger

Rusty Wagner of ACZ        The VTI calculator emulator, which provides the
                           ultimate testing environment on a computer

Scott Noveck of ACZ        Suggesting the name of Ship III (The Phoenix)

Zeljko Juric               The TI-GCC library, whose documentation helped
                           to explain some ROM functions and also showed
                           me how to do OS key-reading and HW detection, and
                           also for writing the launcher program "phxrun"
                           that is needed for AMS 2.03

The inspiration for this game comes primarily from these computer games:

Battle Squadron (Amiga) - Innerprise, 1989
Deluxe Galaga (Amiga) - Edgar M. Vidgal, 1993-1994
Tyrian (PC) - Epic Megagames, 1995 

 _____________________________________ VERSION HISTORY

 Version  Date       Bytes  Lines  Description

    0.01  22-Mar-98   2279   1021  First version

    0.02  23-Mar-98   2833   1237  Fixed small collision detection bug
                                   Added level 3 and implemented bosses

    0.03  24-Mar-98   3955   1503  Timing fixed
                                   Damage to player's ship implemented
                                   Enemies changed
                                   Increased number of levels to 6
                                   Default weapon changed to single shot
                                   Title screen added
                                   Implemented enemy explosions

    0.04  25-Mar-98   4746   1737  Optimized scrolling
                                   Added 6 more levels
                                   Implemented auto-fire

    0.05  26-Mar-98   4879   1801  Added Weapon 2
                          
    0.10  29-Mar-98   6926   2422  Fixed bullet selection
                                   Added Weapons 3 and 4
                                   Added pause capability
                                   Made large explosions for bosses
                                   Added Phoenix Shop
                                   Added money to collect

    0.30  30-Mar-98   8726   2916  Fixed money size
                                   Added arrow-shooting enemies
                                   Added cross enemies and bosses
                                   Added radar scrambler
                                   Added plasma cannons

    0.60   1-Apr-98   8906   2982  Implemented "Golden Arches"

    0.61   5-Apr-98   8902   2979  Widened ship's boundaries
                                   "$" bonuses now give only $25

    0.70   3-May-98  10470   3444  Screen sides now tile-based
                                   Graphics completely redrawn each frame
                                   Removed Single Plasma Cannon
                                   Added ultimate weapon
                                   Created two levels of rapid-fire
                                   "$" bonus value raised to $50
                                   Added final enemy
                                   Put small delay between levels
                                   Made "Golden Arches" more powerful

    0.72   4-May-98  10893   3603  Full power start-up gone
                                   New levels added (total of 28)
                                   Level delay removed
                                   Added "operator" enemies

    0.73   4-May-98  10981   3611  Added another level (total of 29)
                                   Fixed small level loading bug
                                   Made the final level harder
                                   Optimized enemy bullet routines

    0.80  25-May-98  11712   3907  Changed some weapons a little
                                   Lowered prices in Phoenix Shop
                                   Phoenix Shop entry changed a little
                                   Optimized enemy firing
                                   Added "Random X" level series
                                   Added triangle levels (total of 36)
                                   Modified enemy control

    0.81  23-Aug-98  11753   3920  Changed some enemy movement patterns
                                   Fixed a couple of small bugs
                                   Optimized display a little

    0.83  14-Sep-98  12806   4195  Implemented scoring
                                   Partially implemented difficulty selection
                                   Optimized some code
                                   Fixed enemy entrance problem

    1.00  23-Sep-98  13498   4467  Implemented difficulty levels
                                   Adjusted default scores

    2.0    7-Feb-99  14898   5062  Optimized display routines
                                   Split source into multiple files
                                   Restored cursor speed on exit
                                   Modified quadruple weapon slightly
                                   Reduced memory usaged a lot
                                   Added expert difficulty level
                                   Redesigned title screen
                                   Improved shop display
                                   Added save-game capability
                                   Fixed an enemy bullet bug
                                   Added $500 bonuses
                                   Added horizontal speed increase
                                   Replaced "Deluxe Plasma Cannon"
                                   No longer needs FLIB

    3.0   10-Mar-99  15591   5380  Fixed prices in shop
                                   Adjusted end-of-game display
                                   Added new enemies
                                   Added new levels
                                   Enemy handling improved
                                   Fixed small bug with spinning enemies

    3.5   19-Oct-99  15582   5767  Now uses same source for all calcs
                                   Fixed ROM 1.05 incompatibly on TI-89, 92+
                                   Fixed display problems on the TI-89

    3.6   20-Oct-99  15582   5772  Fixed shop display on the TI-89

    3.7   22-Oct-99  15582   5800  Fixed some more serious shop problems
                                   Corrected TI-89 title screen text

    3.8   23-Oct-99  15580   5804  Fixed save game problem

    3.9   24-Oct-99  15580   5804  Fixed highscore entry problem

    5.0   17-Apr-00  16401   6293  Implemented two new ships for the player
                                   Switched to TEOS build tools on 89/92+
                                   Made shields equal on TI-89
                                   Changed some shop prices
                                   Removed two shop items
                                   Optimized player weapon code for space
                                   Added internal documentation text file
                                   Added lots of new comments to the code
                                   Fixed a very small collision-detection bug
                                   Slightly improved guided enemy bullets
                                   Redesigned player boundaries
                                   Optimized initialization code
                                    
    5.1   18-Apr-00  16385   6293  Fixed top line corruption on TI-89
                                   Now works in Universal OS
                                   Fixed shop display on TI-89
                                   Fixed going off screen after buying ship
                                   Buying new ship gives full shields
                                   Optimized free ship screen

    5.2   19-Apr-00  16375   6338  Scaled shield bar for TI-89
                                   Fixed boss explosion / money drop
                                   Fixed free ship font size on TI-89
                                   Fixed top line display on TI-89
                                   Protected against over-purchasing shields

    6.0   14-May-00  16237   6838  Split enemy firing into separate file
                                   Redesigned level loading
                                   Increased power of Ship III's weapon
                                   Added more comments to the code
                                   Optimized all 3 main object structures
                                   Completed internal documentation
                                   Made Ship II smaller so it's hit less
                                   Removed top line on TI-89
                                   Archive no longer contains subdirectory
                                   Fixed bug in free ship screen
                                   Made wheel enemies have large explosions
                                   Solid spinners can become small ships
                                   Made super-bosses fire more powerfully
                                   Changed special weapon to Diamond on TI-89
                                   Made Ship III weapon destroy fewer bullets
                                   New shield shown on ship purchase
                                   Ship III weapon no longer destroys money
                                   Added inverse display mode
                                   Fixed slight positioning error on weapon 6

    7.0a   8-Jun-00  17335   7384  Fixed collision detection bug in inverse
                                   Implemented true collision detection
                                   Optimized various routines
                                   Removed the Ship III penalty
                                   Named the additional ships
                                   Changed Heavy Destroyer's special weapon
                                   Added swooping wave ships & levels
                                   Added final mega-boss

    7.0b  12-Jun-00  17271   7432  Fixed serious interrupt bug
                                   Fixed shop exiting slow-down problem
                                   Optimized code
                                   Reformatted source to 8 space tabs

    7.0c  25-Jun-00  17271   7521  Made TI-89/92+ versions "nostub"

    7.0   30-Jul-00  17026   7499  Redesigned some level laoding (smaller)
                                   Implemented crash protection
                                   Optimized several routines for size
                                   Fixed various bugs
                                   Rewrote player bullet handling (smaller)

    7.01  31-Jul-00  17021   7512  Fixed Heavy Destroyer special weapon bug
                                   Fixed minor title screen bug
                                   Updated internal documentation
                                   Fixed bug in crash handler
                                   Slightly adjusted golden arches

    7.02   5-Aug-00  17033   7517  Fixed bug making some enemies invincible
                                   Correct title screen text
                                   Fixed serious superboss shooting bug

    7.1   21-Aug-00  17285   7665  Fixed lock-up on TI-89 when archived
                                   Implemented text "compression"
                                   Implemented ON-key break debugging option
                                   Added 'Legal Info' on title screen
                                   Can no longer over-purchase bullets
                                   Stopped free ship keypress falling through
                                   Fixed non-finishing bug
                                   Fixed scoring with respect to speed

    7.2    5-Nov-00  17277   7690  Runs at same speed on HW2 as HW1
                                   Fixed 2 bugs on the TI-92/92+
                                   Several small optimizations

    7.3   26-Nov-00  17281   7691  Free ship level doesn't remove money
                                   Fixed damage calculaton with Ship II
                                   Removed unused files from distribution

    7.4    5-Feb-01  16278   7619  Made some enemy bullets smoother
                                   Optimizations (1K smaller on TI-92/92+)
                                   Fixed possible bug in HW version detection
                                   Boss firing alignment improved
                                   Over-purchase protection on all shop items
                                   Added 'phxrun' launcher for AMS 2.03 users
                                   Rearranged shop display slightly
                                   Fixed possible bug in crash handler

   7.42    3-Aug-01  16286   7619  Restores hardware settings better on exit

   7.5    27-Mar-03  16210   7626  No longer stops clock on AMS 2.08
                                   Optimized various things
                                   Buying weapon auto-selectes it

   7.51    6-Apr-04  16214   7626  Compatible with TI-89 Titanium

   7.6    14-Sep-04  16138   7653  Optimized for size
                                   Updated manual
    
 ______________________________________ THE FUTURE

This is probably the last major version of this game.  I may make some more
releases in the 7.x series to fix bugs (though I hope there aren't any) or
to make minor changes, but I don't expect to do anything more than that.

In addition to this Phoenix, I have already released a "Platinum Edition" of
Phoenix, which has grayscale, scrolling backgrounds, and some new levels
and many enhancements to the existing ones.  This new version is now
essentially complete.
