Death Rally - The Duel /special TI-83+ preview version - fixed/

by Patai Gergely

patai_gergely@fastmail.fm
http://cobb.host.sk


Emergency release information

People have reported problems with the file DRALLY.8XP. If it doesn't
work for you either, you can try sending DRALLY2.8XP instead. It's the
same program, but in a different format.

The current release works with the following shells: ION, PSE, Plasma

The following shells are not yet recommended: MirageOS, Izzard, ICE


General information

This is the demo version of my upcoming game: Death Rally - The Duel.

This special 83+ version was assembled due to the excessive demand
from the side of the TI community. I must bow before your will. :)

The project is nearing completion!

You can see the changes at the end of this file, in the history
section. 

For the time being, you can choose from eight tracks and five cars
to practice driving. This gameplay mode features a CPU driven ghost
car of the same brand as you have chosen, so you can compare your
driving skills to it. The AI is only experimental, but it drives quite
fast.

I'd like you to report any bugs and/or crashes, so there would be a
chance for me to fix them. Up to now I do not know of any fatal errors
(see the list of known bugs below).

By the way, don't forget to use the brakes. You will need them often.
Note that you should stay on the road if you want your lap counted.
Don't even waste your time with looking for shortcuts - there aren't
any. (Don't be fooled by The Crossing...) Of course, you won't be
penalised if you skid out in a corner, just make sure that you have
at least touched all of them in the proper order. The CPU driver
doesn't use them, so you can gain advantage with clever steering.

Requirements:

- you need ION (or a compatible) shell
- the file DRALLY (it is an ION executable)
- 7k of free memory (might be a bit less)


Game controls

In general, Mode is used to escape to the main menu and 2nd selects
anything currently highlighted. Everything else should be pretty
self-explanatory. The detailed controls are as follows:

Menu:
       up/down - choose menu item (the keys do not repeat)
           2nd - execute selection

Practice - track selection:
       up/down - choose track
           2nd - proceed to car selection
          mode - return to the main menu

Practice - car selection:
       up/down - choose car
    left/right - toggle info screen
           2nd - start practice
          mode - return to the main menu

Credits screen:
          mode - return to the main menu

In-game controls:
    left/right - steer
            up - accelerate
          down - decelerate/reverse
          mode - quit the race (return to the main menu)
         clear - quit the program (immediately)


Future additions:
  - soon the program will be ported to ION
  - gameplay features: practice, single race, championship...
  - lots of tracks
  - smaller and faster code
  - more gameplay features: AI, linkplay (if possible)
    note: I have yet to learn about a fast enough linking method that
    allows a two-calc game in the case of such a resource-consuming
    program


Thanks to:
  - Rth Istvn for thorough testing and constructive ideas :)
  - Joe Wingbermuehle for the IonFastCopy routine
  - The coder of ZASMLOAD for ZASMLOAD (used in the initial phase)
  - The guys on the Assembly-83 list for putting my self-esteem to
    the right place :)
  - And those on the Maxcoderz boards, because they want to be thanked
    so badly :D
  - Everyone who sent supporting (and demanding :) e-mail


Known bugs:
  - there are still occasional rendering errors on the left side, but
    they are never spectacular (only some doubled pixels); I have no
    idea whatsoever how to fix this
  - the menu selection looks strange at certain battery levels: instead
    of the gray line, a static pattern appears
  - not really a bug, but the consequence of a feature being not yet
    implemented: only lap numbers up to 5 are displayed properly;
    after the fifth lap, you will see garbage instead of the lap number


History (with the date of finishing the actual version and the size of
the main program):

2002/10/24 - Emergency re-release of Demo 11

2002/10/01 - Demo Release 11 (9672 bytes)
  - loads of new tracks added (by Rth Istvn)
  - the program is now ION compatible

Previous releases for the 83:

2002/09/09 - Demo Release 10 (9235 bytes)
  - two new car models added: A-model and Tuuli
  - improved physics:
      - cars can now have different driving properties
      - possibility of finetuning
      - no more odd reverse steering
      - no more rotation while parking
      - the car eventually comes to a stop if nothing is pressed
  - added CPU driver (currently only as a ghost opponent)
  - changed name

2002/08/25 - Demo Release 9 (7755 bytes)
  - slow progress again; I expected a more peaceful summer...
  - laps are checked and counted from now on
  - existing tracks were redesigned to be compatible with the checker
  - a new track was added
  - track selection screen redesigned a bit; track names are displayed
  - internal code restructuring

2002/06/02 - Demo Release 8 (7486 bytes)
  - car information block added
  - started implementation of the physics engine
  - top speed of cars increased by 50%
  - introduced advanced camera handling

2002/05/08 - Demo Release 7 (6252 bytes)
  - added support for more cars
  - new loader with program writeback; needs much less memory to run

2002/04/28 - Demo Release 6 (5956 bytes)
  - a virus attack almost washed away the whole project...
  - menu controls changed (2nd is used to select items)
  - added support for more tracks
  - added credits screen
  - memory requirements decreased despite the increased size

2002/04/02 - Demo Release 5 (5390 bytes)
  - new release just to show that there is actually some progress :)
  - many variables moved out of the user RAM
  - game menu introduced
  - more optimisations in the sprite and background drawing routines

2002/02/25 - Demo Release 4 (4807 bytes)
  - calculator file names changed
  - much better optimised sprite routine
  - some unused code was thrown out resulting in another great cut in
    size
  - loader rewritten, got 48 bytes shorter

2001/12/27 - Demo Release 3 (5332 bytes)
  - slow progress due to the fact that I started my university studies
    in September
  - fixed bugs in background drawing: rendering errors on the two
    sides finally cured
  - pregenerating the picture of the car: significant speed increase
  - limited sprite sizes had to be introduced for the same reason
  - history section included in the documentation

2001/07/08 - Demo Release 2 (4963 bytes)
  - improved speed and drastically reduced size (own memory management
    implemented)
  - added acceleration/deceleration: 64 different speed levels instead
    of 2

2001/06/12 - Demo Release 1 (>7000 bytes)
  - the core of the track drawing routine already done
  - vector graphics used for the picture of the car
