ZX Power #04
09 января 2000
  Cheats  

Likbez - CHEATS & POKES. The last two parts of the cycle.

<b>Likbez</b> - CHEATS & POKES. The last two parts of the cycle.
CHEAT and POKES
 in game programs


        Part 2

(C) 1996-99, Alexander Desyatnichenko
__________________________________________


   Thus, our assumption is justified. DEC A team at 46,278
number of lives decreases by one
then again sent to the permanent
storage in cell 48249. Well, let's try
guide the work of this procedure in its
channel, deletion of the command DEC A. The easiest way, of 
course, to score a zero, which is translated to machine 
language code will be mean that in the cell during the program 
will not run no operation (NOP), well, the language

BASIC it sounds even easier - POKE
646278.0.

   Now, if you insert a boot
line with an expression before launching
Games team RANDOMIZE USR, how much
would be your hero in the game did not die, it all
will still be in stock 8 other lives, other
words, you make him immortal. Similarly, the game looks and a 
procedure that adds life with a successful game: 


            45314 LD A, (48249)

            45317 CP # 08

            RET NC 45319

            45320 AND A

            45 321 INC A

            45322 DAA

            45323 LD (48249), A

            CALL 45326 47988


   Rostral first checks to see if the number of lives of eight, 
and if it less, there will be increased by one team INC A. Let 
no team scares you DAA, - it is needed to prepare a number of

lives to print on the screen subroutine
located at 47988. Takoy same
CALL 47988 you'll find and post-treatment,
defining and consuming lives. Commonly used are two ways to 
prepare the numbers for Print: or the same number of lives once 
given the # 30 more than necessary, as done in WAR MACHINE (LD 
A, # 35), or by adding the number # 30 to the number of lives 
before printing (ADD A, # 30). 

   In many games, given the number of lives, bypassing the 
battery, using the register HL. So, in a game CORSARIOS 2 is 
done so: LD HL, # 05. Often decrease the life also produced 
through the same Register:



               LD HL, 24851

               DEC (HL)

               JP P, 25018


   It was a piece of game BATMAN 3, and
Program P-47 the FREEDOM FIGHTER used the combined method:


               LD HL, 29964

               LD A, (HL)

               DEC A

               LD (HL), A


   Pursuing obessmerchivaniem games soon
you come with such a situation, when
scoring zero command DEC A or DEC (HL),
at the first pogibanii program will
a familiar message: "GAME OVER". The point
that many of the program immediately after
make grabbing the flag checking, and NOP command in that case, 
let the program in the wrong steppe. In this case, and, better 
yet, in any case, instead of NOP to be used single-byte command 
OR A and OR (HL), respectively. This you may have

observed by looking at lists POKES, where
addresses instead of zero is entered 182 or
183.

   And now the other, less spreading of ways. The game NETHER 
WORLD, for example, you can find another way dec lives:



            33547 LD A, (65405)

            33550 SUB # 01

            33552 LD (65405), A


   In this case it is sufficient instead of # 01
put # 00 and let them take at zero lives every time. 
Sufficiently original method of taking a life by using the SBC, 
as is done in the game SABRINA: 


              LD HL, (24618)

              PUSH DE

              EX DE, HL

              LD HL, # 01

              EX DE, HL

              AND A

              SBC HL, DE

              POP DE

              LD (24618), HL


   Disrupt the normal operation of such a fragment is more 
difficult, but it is also possible, for example, scoring zero 
in the SBC HL, DE and yedinichku in LD HL, # 01. By the way, 
sometimes it happens that such podprogramy end directive RET 
and called from the main program's through CALL. Togda simpler 
way - supply RET (from BASIC - 201) in the same

beginning of a subroutine CALL to here
how come, so with nothing and left without doing any edinigo 
action. Among hackers is valued precisely this way infinizatsii 
games when a small Number POKES achieved the highest returns.


   In the complex, difficult and, as a rule,
very interesting games often all limits in the
including the number of lives are saved in
a separate table, the sample from which
made through the index registers.
Thus, the program CASANOVA number of lives given as LD (IX 
+43), # 05 and, accordingly, diminish as the DEC (IX +43), a in 
the game TERMINATOR 2, you can watch phenomenon: DEC (IY-5). 
Often these plates are kept separate and after the GAME

OVER LDIR holds her to a job
as is done in PRINCE CLUMSY or RETURN
of the JEDI:


               LD HL, 54079

               LD DE, 54059

               LD BC, 20

               LDIR


   And shortly after taking a life itself:


               LD HL, 54059

               LD A, (HL)

               OR A

               SCF

               RET Z

               DEC (HL)


   In some programs, events
planned in such a way that the number of
errors with every bad case of increases and, when reaching a 
certain value the game ends. For the first time I have a I saw 
the game HAMMER BOY: 


               LD A, (42097)

               INC A

               LD (42097), A


   Incidentally, in this game, counting errors in a similar way 
is in two places and if even one of them reaches the limit, 
you'll need to start playing again. Similar kind of methods are 
also applicable in cases where control of one and the same 
limit of one and the same fragment program is not possible or 
if the various Error consuming different amounts of lives.


   It is natural that after the hackers
began to "cycle" of the game, the programmers
manufacturers have begun to take action
against such activities. In
routines that reduce the number of lives
began to be applied, as in a game TARGET RENEGADE, undocumented 
commands, or as in JUNGLE WARRIOR, a shift of bits in a byte.

Find things much harder, and that
can you say, if you make a good coder
pose the problem to taking a life
so that no one has found, I think
many would have coped. In such cases, you can go for a trick 
and do something another. So, once I could not find

taking a life in the game MAD MIX, but easy
found a site where to set the number of lives and a fragment, 
where there was a check remaining values ​​are:



               LD A, # 03

               LD (24624), A

               .....

               LD A, (24624)

               AND A

               RET Z


   Even this was enough to her
immortalize, because each test is
times after once they take away life. A
What if instead of checking to do again
entering in the 24624 C grade? Especially because
such a programm will occupy as
proverochki program, the same five bytes. So the game will now 
take life, but immediately after that, instead of

test, install all of the same three lives.


  5. Infinite time, weapons, energy.


   It frequently happens that in the heat
quickly shoot all the ammunition,
and then suck his finger, until they kill. Naturally, there is 
a desire to do it all infinitely eternal. Well, that complex 
nothing, especially as it is done roughly the same methods. For 
example, in the game HAWKSTORM you are given 50 rounds. 
Exploring native code, it is easy to detect LD A, 50, and then, 
respectively, and cherished DEC A. 

   Time is also often given, and
subtract the standard, that's how it looks in the game ROBOCOP 
2: 


               LD HL, 43224

               DEC (HL)

               RET NZ


   But in some cases and harder when the hours, minutes and 
seconds are set, checked and subtracted (or increase) 
separately. Well, very very often faced with the most 
interesting kind of limits - of energy. Let's start with the 
simplest form of the representation of energy - a numeric,

when the energy is displayed as a large
number such as 100 or 1000 units. This can be seen for example 
in the game CAPITAN TRUENO, but, once again, everything is 
standard: 


               LD HL, 58943

               DEC (HL)

               JP Z, 24042


   In contrast, the number of lives, often
subtract several units of energy,
as in the game TIME MACHINE:


               LD A, (60499)

               SUB # 03

               LD (60499), A


   Sometimes the most difficult task is
determine how many units of energy is our character at the 
beginning of the game to from what was then danced in the 
search process. Because energy is often displayed on screen in 
the form of stripes. Well, if it consists of individual 
elements and their like in Game FORGOTTEN WORLDS, for example, 
can count. But when such a gradation is not,

on that just do not have to hope -
take it slowly when killed, through the
how many strokes will Khan or, say,
estimate for the pixels around, and
then try to find something like that ...

   Well, now the most extended ones method of grabbing power of 
games in the series SIRWOOD. So, it was possible to determine 
what was originally given 48 units of energy and stored it is 
in the 59850 cell, subtract the same with the command SUB: 


                 LD C, 2

                 LD A, (59850)

                 SUB C

                 BIT 7, A

                 JP NZ, 39989

                 BIT 7, C

                 JR Z, LOOP

                 CP 1948

                 JR C, LOOP

                 LD A, 48

                 LD (59850), A

                 JP 42272

            LOOP LD (59850), A


   How to see a number of drifting
takes energy, it is subtracted from A
with subsequent testing. This grabbing
has many advantages, because you can deduct different amounts 
of energy. Such it may be necessary when, for example, requires 
that different kinds of monsters of varying strength applied to 
the hero of damage. Agree, it makes the game more attractive 
and realistic. In principle, this subroutine provides plenty of 
space for your Creativity can be for her to pick up a few 
different POKES and each will sell its infinite life, well, 
very simple here, of course, just score zero command SUB C. 
Something like this found in Teenage Mutant Ninja Turtles 
(TURTLES): 


               LD A, (24422)

               LD B, A

               LD A, 16

               SUB B


   Moreover, in this game one program
subtract the energy of all four turtles
which is certainly convenient in terms of obessmerchivaniya. 
But when you try to pass further, you will have another limit -

time during which the turtles must have time
turn off all computers, so have
"Cycle" is now more and his! Do not be surprised, like you find 
a good yet many, especially in games where each

a new level a new job. Or here's another
situation - in the game HUMAN KILLING MACHINE
after you immortalize it, the first
levels will walk easily, but then at the last level, after each 
of your stroke the enemy as quickly rests, that you do not

have time to knock him this energy! Hence,
will have to find a place where it is added
energy and eliminate this surprise.

   And here is an atypical case of grabbing power from the full 
game XENON: 


               LD HL, 52262

               NEG

               ADD A, (HL)

               LD (HL), A

               RET C

               LD (HL), # 00


   Is sufficiently original to work with
energy in the game BRONX:


               LD A, (64813)

               XOR (IY-107)

               LD (64813), A


   Again, the games of ATLANTIS SOFTWARE
(SHOW BROTHERS), written at some
macro language and compiled into machine
code. All limits are given here in terms of HL, and
protsedurkoy handled working with
memory cell in which this limit is stored. Enough to put there 
RET, to immortalize one reception all the limitations. 

   And yet such zamorochki. The game CORSARIOS
with the numerical representation of energy, according to the
screen is given 600 units. Digging in
program failed to find a place to
featured a number. After playing a little more closely and 
looked closer to the way diminish the energy, I noticed that 
enabled only the first two digits, and Last zero there like a 
beauty ... A minute later my assumption is justified since 
found LD HL, 60, and more a minute later the game was already 
in obessmerchenom form.



   6. IMMORTAL as the most powerful form of

               immortality.


   Compared with INFINITE LIVES, word
IMMORTAL (invulnerability) appeared in the lexicon sinkleristov 
not so long ago. In 1992, in England was released programm 
HAKER AMAZING, which contains numerous POKES and firm cheats, 
among whom there were also a new word. Many users experienced 
published there IMMORTAL, were simply amazed by their work, 
then this concept is firmly stuck in our own midst. Remember, 
VN Rodionov in the game R-TYPE called this mystical POKE? 

   What is it? You've probably seen
how many games, after your hero uhryukayut, he appears again, 
but while a few seconds pomigivaet, though preparing for new 
adventures. Moreover, until it blinks, it is virtually 
invulnerable that is, it does not take a bullet, do not press 
the tanks, and sometimes he did not even sink in water. Who 
porastoropney, that in those seconds could even contrive 
proprygat several sites, passing thus difficult place,

thing, where your hero is honored to be murdered last time. But 
what if you do, so that the character of all time, the game 
became so invincible, only to not pomigival? This is what will 
be the most that neither is IMMORTAL! But how do I find it? You 
can, for the time that the character pomigivaet somewhere is 
given and taken away. Here's an example, perhaps the most 
famous games BUBBLE BOBBLE:



           43832 BIT Z, (IY +90)

           43836 JP Z, 43998


   Time of invulnerability is stored in the plate
go check it and if we replace JP Z by
JP and put the number instead of 90 150 (in the
cell is always what we need now)
You can easily become invulnerable. And now, a fragment of 
SOLOMON'S KEY: 


           49318 LD HL, (49813)

           49321 LD A, L

           49322 OR H

           49323 JP Z, 49390

           49326 LD DE, (43206)

           CALL 49330 49356

           49333 OR A

           49334 RET Z


   If this fragment to replace the conventional
RET Z output to a cardinal, and RET,
thus cutting off part of the program responsible for handling 
the collision with the enemy, there would be more on them 
distractions and concentrate on the logical specification of 
this very exciting game. And in the game JACK the NIPPER 2 to 
address 41218 is an entire subroutine is responsible for the 
conditions of the collision with the enemy, water and the walls 
and if these protsedurkah substitute for solid OR A XOR A, then 
we can customize the program completely on your

taste, such as jumping, no breaking, with
any height.

   Now the main principle of the search invulnerability. So, 
you first need to find where in the game away the life and then 
watch from the this place higher, figuring that perform those 
portions of programs that worked before take life. So you can 
find a fragment, where the collision is being processed, and 
then let him in your scenario. Usually have to do

RET to a subroutine or circumvent it,
putting an unconditional JR. Sometimes, though,
is sufficient, as in CABAL, scoring zero DEC A, or, as in F1 
TORNADO SIMULATOR, fix SUB # 01. 



            the end of the second part
__________________________________________




Other articles:

Authors - The authors of the journal and editorial contacts.

Entry - Welcome and opening remarks.

Entry - Describes the features of the shell.

Entry - Content.

Game room - GLADIATOR. Analysis fightingovoy interesting game.

Game room - BARD-S TALE. Sequel to "storm" classic RPG.

Game room - SUPAPLEX. Presentation of the Kharkov boulder dash-eobraznoy game.

Game room - SNAKE Presentation written in Kharkov nondeterministic games.

Game room - SNAKE-HELP1. Tips for playing Snake.

Game room - SNAKE-HELP2. Principles of the game and the story of creation.

Game room - SOLDIERS. The story of the author that he created a strategic game.

Game room - The Ship. Information about the new strategic project.

Game room - BRAIN PRESSURE. A story about a new puzzle game.

Game room - PSEVDOSHASHKI. Another logical game.

Interview - Interview with the creators of the acclaimed game Mirror Group ART WORK.

Interview - An Interview with DEMIURGE ASH.

Interview - An Interview with MIDISOFT / EM.

Interview - An interview with ENERGY MINDS.

Interview - X-PROmotion. XPJ story about a trip to Donetsk.

Interview - SSG-99. The story took place in Sevastopol on the Party

Interview - An interview with a group of Feodosia - X-THEME.

Likbez - RESTORATION OF GAME # 3. The final article.

Likbez - algorithms for fast 3D-graphics № 2. Additions and comments.

Likbez - CHEATS & POKES. The last two parts of the cycle.

Room with laughter - ABM system administrators. A selection of jokes.

Room with laughter - HOW TO MAKE A JOURNAL. Tips 'experts'

Room with laughter - HAMLET # 1. The first part of the new version of the immortal tragedy.

Room with laughter - WHITE PENGUIN. Antinovella on a well-known game.

melomania - Music lovers # 2. The second issue of the music category.

melomania - Album Review. Review of heavy-metal CD for the 98/99 years.

melomania - VOODOO (Russian) Translation of the album King Diamond-98.

melomania - VOODOO (English) The original text of the album.

Review - NOVE? .. Arguments on the subject of fresh software, a list of new games.

Review - Review of recent electronic journals for the ZX Spectrum.

Review - GAMES. Familiarity with the latest gaming software: Kozel, hunting moles, White Eagle, Leprikon, 1912 a secret book, King, CHIF, Raven Black - new missions.

Around the World - Intel: the skeptics wrong again?

Around the World - New cars Silicon Graphics: PC or workstation?

Around the World - News from the MacWorld Expo.

Miscellaneous - OUR beggary. Essay on Chekhov.

Miscellaneous - ROLE PLAYING GAMES. The history of role-playing games.

Miscellaneous - CHAMPIONSHIP snakes. New competition.

Miscellaneous - AGAIN AY. An article about the correction of sounding music. coprocessor.

Miscellaneous - ADVERTISING.

Miscellaneous - COMPETITION.

Desktop - DIGITAL SOUND EDITOR. The presentation of digital audio editor.

Desktop - NEOS. The story about the new operating system for the Spectrum.

Desktop - INTERMINAL. The new terminal program.

Teverna - the first installment, devoted to the game program: the concept of the game "Tavern."

Mail - Letters from readers.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Entry - the first e-newspaper city Dnepropetrovsk.
Samples pen - memory: story of the game "Black Crow".

В этот день...   3 December