Zapping The Right Byte

By Harvey Kong Tin

 

Issue 29

Sep/Oct 87

Next Article >>

<< Prev Article

 

 

Are those games too hard? Cheat! Harvey Kong Tin shows you how!

I enjoy playing Arcade Games as a form of entertainment and while there have been some excellent games released, there have been many that, although playable, have been far too hard to complete. Have you completed SEA DRAGON, THE BLUE MAX, FORT APOCALPYSE, MINER 2049'er, SNOKIE, LASER HAWK, BOULDERDASH, BOULDERDASH II, and BRUCE LEE without cheating? I have. Have you completed DRELBS, ASTROCHASE, TAIL OF BETA LYRAE, DEATHZONE, SHAMUS II, KISSIN' KOUSINS, and DIAMONDS? I have, but had to resort to cheating!

This article gives you guidelines about how to conquer certain games by changing the number of lives to 50, 100 or, if possible, the maximum of 255 lives. You will need a suitable disk editor, and reference to the chart accompanying this article. Unfortunately I can only recommend this information for disk users. I don't know of a suitable cassette editor, and there are the added hassles of cassette copy protection (which I think is impossible for a byte editor to handle?), plus the long time involved with re-saving the changed program. My information is only approximate and you may require several tries to zap the right byte. So be patient and be careful!

Before you start zapping, I have to issue the warning that you are responsible for your own actions once you start editing bytes on your own disks. You do so at your own risk. I will not be held responsible, nor will PAGE 6, if you zap the wrong byte, and can't change it back to the original!

HOW I DISCOVERED THE SECRETS

I have no knowledge of Assembly/Machine Code programming, but I looked at the source codes of FIREBUG and PLANETARY DEFENSE from ANALOG Magazine and saw how the lives were initialised. In PLANETARY DEFENSE, it was with LDA #4, i.e. load 4 into the accumulator. On disk, this would appear as A9 04, but it is possible of course that this combination of bytes would appear several times during the program, and only one of them would control the lives. So, it was a matter of trial and error to narrow down which is the right byte. Although it is possible for a programmer to set the lives with a LDX command I have found it rare, only FIREBUG used LDX, and I presume using LDY is possible too? LDX appears as A2 and LDY as AO on the disk. In all the changes I have made in commercially released games, LDA was used for setting up the lives.

If a game has 3 lives, I checked for A903, or A904, or A902. There are several different ways a programmer may decide to count down the lives. Also, it is possible that the programmer may decide not to use LDA to set the lives at all. In that case, I have to give up the search, because I don't know what other options there are to look for. There are programs which I can't add extra lives to e.g. DOMAIN OF THE UNDEAD, PANIC EXPRESS, FLIP & FLOP and others.

HOW TO ZAP 'EM YOURSELF

Right, have you got your sector editor handy? Some are very easy to use, once you get use to zapping a few bytes. For convenience, you need one that has a HEX SEARCH, a MODIFY (so that you can make the change and write the changed sector to the disk) and other extras that are useful, are an ATASCII search and HEX and DEC convert.

Before you zap, take note of the original byte, and it's exact location, so that you can change it back to it's former self, in case anything goes wrong. One fail-safe way, is to only zap a copy if you are able to make one, because it is remotely possible that if copy protection is in the sector you zap, you would zap out the protection/and won't be able to load the program.

USING THE TABLE

Use the HEX SEARCH to find the reference bytes given, e.g. A903, to find out where it is on your disk, they should be at the location given but check first. Always keep a note of what the original byte was and where it was, before you change it. In the example of A903 you would change 03 to the number of lives you want. Remember it is in hexadecimal and the maximum of lives possible is 255 i.e. FF. In some cases using a large number of lives will disrupt the screen display too much, and recommend the maximum limits shown in the chart. Have fun!

FOOTNOTE

I do have a great respect for the programmers who have written the games, but I can't help thinking that in some cases they set the difficulty far too high. Even with 255 lives, some games are still too hard to successfully finish. Playability is a very important part of any program, yet many games seem to have been inadequately play-tested to their conclusion. If the games could have been successfully completed with reasonable practice, I would have not bothered trying to add extra lives to the program.

The information is only approximate and maybe other readers could provide more accurate information for a future chart, when they try any of the above edits. And perhaps readers could send in information on games I have not covered?

EXTRA LIVES INFORMATION

Program

Occ.

Sect No

Byte Loc.

(DD)

From

To

DROL   316 78 NO A904 32
THRESHOLD   159 32 NO A904 63
JUMPMAN   650 01 NO A906 32
BELLUM   95 08 NO A904 FF
MEDIATOR   145 0A NO A904 63
GHOSTCHASER 1st 3 C6 YES A904 FF
OLLIES FOLLIES 1st 61 A8 YES A904 FF
MONTEZUMA'S REVENGE 2nd 15   YES A905 FF
FIREFLEET   17 15 YES A904 FF
MATTERHORN   39   YES A903 63
SHAMUS CASE II   8 35 YES A904 FF
TAIL/BETA LYRAE   72   YES A907 FF
KISSIN' KOUSINS   8   YES A905 FF
DRELBS   17 08 YES A905 FF
This applies to the version with Title animation only. Even with 255 lives it is still too hard to complete and I recommend disabling the missiles too.

To disable missiles

 

16

F8

YES

A903

06

DEATHZONE

 

5

 

YES

A903

63

MOONSHUTTLE

9th

27

 

YES

A904

32

PINHEAD

1st

2

FC

YES

A905

63

ASTROCHASE

3rd

15

0F

YES

A903

FF

PREPPIE II

1sr

1

2E

YES

A902

63

GUNLAW

3rd

159

01

YES

A903

63

QUASIMODO II

2nd

29

63

YES

A904

FF

SCOOTER

1st

53

D9

YES

A904

63

NEPTUNE'S DAUGHTERS

1st

46

F9

YES

A905

63

AIRSTRIKE

4th

24

CE

YES

A903

14

JETBOOT JACK

1st

35

3C

YES

A905

63

DIAMONDS

2nd

5

54

YES

A903

35

SNOKIE

12th

53

5D

YES

A903

28

VENUS VOYAGER2

3rd

18

A5

YES

A907

63

STEEPLEJACK

last

53

BE

YES

A904

63

BATTY BUILDERS

 

2

AF

YES

A905

63

ELIMINATOR

1st

2

BD

YES

A906

32

BUSY BABY

4th

39

84

YES

A903

32

KID GRID

2nd

8

A2

YES

A905

63

This applies for the number of stuns, not lives

CLOWNS AND BALLOONS

 

31

C2

YES

A903

14

STELLAR SHUTTLE

last

27

F2

YES

A903

32

Occ. refers to which occurence of the byte combination to change. Where DD is YES, double the sector number if you are using Single/1050 Density. Please regard the Sector No. as approximate only. FF=255, 63=99, 32=50. In all the programs in the chart, LDA was used to set the lives. LDA=A9, remember not alter the A9, but the number that follows.

top