Cheats FAQ

From: Michael Current (aa700@cleveland.Freenet.Edu)
Date: 10/19/96-06:15:52 PM Z


From: aa700@cleveland.Freenet.Edu (Michael Current)
Subject: Cheats FAQ
Date: Sat Oct 19 18:15:52 1996


     Cheats, hints, hacks, and trainers for Atari 8-bit computer software
                maintained by Chad Wagner <cmwagner@gate.net>
                             November 13, 1995

-----------------------------------------------------------------------------
Please backup your original software before making these modifications,
because I will not be liable if you fail to patch your software properly.
By applying these patches you are agreeing to accept responsibility for
damage to software and hardware.
-----------------------------------------------------------------------------
You can currently get this FAQ from the following locations...

  ftp://ftp.gate.net/pub/users/cmwagner/faq/cheats.faq

Please submit anything that you may have that falls under the purpose of
this FAQ.  You can e-mail your submissions to cmwagner@gate.net.
-----------------------------------------------------------------------------
I did not think of the possiblity that some users may have boot disks and
some may have load files, there is now a type field which tells you how my
copy of this program was.  Since all references given are offsets, unless
otherwise stated.  If you can't find the byte sequences at the offsets given
then try doing a search on the patterns given.
-----------------------------------------------------------------------------
    Title: Bristles
Developer: Award Winner
Publisher: First Star Software
Submitter: Chad Wagner <cmwagner@gate.net>
     Type: binary load file

Memory map
----------
040A  Current player number, apparently used to keep track of up to four
      players, and most of the games counters use this as an index counter
      for each of the players lives, and other game play information.
037B  Lives left, indexed by $040A, for each player.
074E  Time left counter for current player.
599D  How many lives to increment per level completed.

Unlimited lives
---------------
5FB0: BD
5FB1: 7B
5FB2: 03
5FB3: D0  4C
5FB4: 47  F0
5FB5: A9  9F
5FB6: 01
5FB7: 8D
5FB8: BE
5FB9: 06

This is an easy modification, it only requires 3 bytes to be changed, starting
at offset 5FB3.  Essentially you are changing the code at this location to
JMP $9FF0, which is normally where the program branches to if the memory
location $037B is not zero, basically you are making it jump there whether
you have no lives left or not, and the counter will just roll over if you
die and have no lives left.  You will still die when time runs out, but it
is very brutal, since it will keep killing you, because it can't break
out of play mode due to this modification.

No decrementing of lives*
------------------------
4497: AE
4498: 0A
4499: 04
449A: DE  EA
449B: 7B  EA
449C: 03  EA
449D: AD
449E: 4E
449F: 07

This modification requires 3 bytes to be changed, starting at offset 449A.
This essentially NOP's out the DEC $037B code, causing lives not to be
decremented when you die.  You will still die when time runs out.

No incrementing of lives*
------------------------
5998: BD
5999: 7B
599A: 03
599B: 18
599C: 69
599D: 02  00
599E: 9D
599F: 7B
59A0: 03
59A1: A9
59A2: FF

Unlimited time*
--------------
41D3: AD
41D4: 4E
41D5: 07
41D6: D0  EA
41D7: 5B  EA
41D8: AD
41D9: 05
41DA: D0
41DB: 29
41DC: 0B
41DD: C9
41DE: 0B

This modification requires 2 bytes to be changed, starting at offset 41D6.
This NOP's out the branch, which causes the program to branch to a routine
which zero's out all counters and let's the lifes gone routine kill the
game.  This allows unlimited time to be played, but the border will be
flashing, as normal, once you go below 400 or so ticks.
-----------------------------------------------------------------------------

    Title: Moon Patrol
Developer: Williams
Publisher: Williams
Submitter: Chad Wagner <cmwagner@gate.net>
     Type: binary load file

Memory map
----------
0023  Lives left counter

No decrementing of lives*
------------------------
014C: C6  EA
014D: 23  EA
014E: A5
014F: 27
0150: 85
0151: 32

This modification requires 2 bytes to be changed, starting at offset 014C.
This essentially NOP's out the DEC $23 code, causing lives not to be
decremented when you die.

No incrementing of lives*
------------------------
3014: E6  EA
3015: 23  EA
3016: 20
3017: 36
3018: 83
3019: A2
301A: 00

This modification requires 2 bytes to be changed, starting at offset 3014.
This NOP's out the INC $23 code, causing lives not to be incremented.

Comments
--------
I have tested this and it does definately give you unlimited lives, but I
don't know if you get extra lives in Moon Patrol, I don't recall it, and
for some odd reason the game starts much faster (it normally plays a tune
before you can play), so this might not necessarily be the lives counter,
but it definately gives you unlimited lives.  I also do not know how it
handles multiple players, since this is not swapped with another memory
location nor is it indexed, so I am guessing this modification breaks
something related to checking if lives zero or decrease lives routines.

This version of Moon Patrol looked like a 5200 conversion, so it is possible
that Williams converted it from the 5200, or someone else did.
-----------------------------------------------------------------------------
    Title: Root Beer Tapper
Developer: ?
Publisher: ?
Submitter: Chad Wagner <cmwagner@gate.net>
     Type: binary load file

Memory map
----------
001A  Current player playing.
001C  Lives left, indexed by $001A.

No decrementing of lives*
------------------------
0501: D6 EA
0502: 1C EA
0503: F0 EA
0504: 03 EA
0505: 4C
0506: 36
0507: 42

This modification requires 4 bytes to be changed, starting at offset 0501.
This will NOP out the DEC $1C,X code, and the branch-if-equal (BEQ) code.

No incrementing of lives*
------------------------
16F2: F6 EA
16F3: 1C EA
16F4: D8
16F5: 20
16F6: E0
16F7: 4E

This modification requires 2 bytes to be changed, starting at offset 16F2.
This will NOP out the INC $1C,X code.
-----------------------------------------------------------------------------
    Title: Into Eagle's Nest
Developer: ?
Publisher: ?
Submitter: Russ Gilbert <Russ.Gilbert@apk.wariat.org>
     Type: ?
-----------------------------------------------------------------------------
Unlimited number of hits*
------------------------
Search for byte sequence $C9 $32 and change to $EA $18.

This gives unlimited number of hits. You can still run out of ammunition or
hit explosives.
-----------------------------------------------------------------------------
    Title: Stealth
Developer: ?
Publisher: ?
Submitter: Russ Gilbert <Russ.Gilbert@apk.wariat.org>
     Type: ?
-----------------------------------------------------------------------------
Unlimited number of attempts to fly to tower*
--------------------------------------------
Search for byte sequence $C6 $E5 and change to $E6 ($E5 stays same).

Gives unlimited number of 'attempts' to fly at tower.
-----------------------------------------------------------------------------
    Title: Kid Grid
Developer: ?
Publisher: ?
Submitter: Russ Gilbert <Russ.Gilbert@apk.wariat.org>
     Type: ?
-----------------------------------------------------------------------------
You have to know the address to alter.  (I guess he means you have to
load it into an assembly monitor and change it. -cmw)

  Address        Original          Change to
Speed of action:
 $2B5A           $1B               $22(increase to slow)
# of Kids to start:
 $3A72           $2                $8 or more
# of Stuns per round:
 $2B82           $8                $10 or more
-----------------------------------------------------------------------------
* denotes recommended patches by the editor of this document
-- 
Chad Wagner
cmwagner@gate.net
eg435@cleveland.freenet.edu

-- 
Michael Current, 8-Bit Atari FAQ & Vendor/Developer Lists maintainer
   User groups: CAIN, SPACE, NWPAC / mailto:mcurrent@carleton.edu


-----------------------------------------
Return to message index