The thread of POKEs

General software. From trouble with the Banyan Tree to OCP Art Studio, post any general software chat here. Could include game challenges...
User avatar
R-Tape
Site Admin
Posts: 1676
Joined: Thu Nov 09, 2017 11:46 am

The thread of POKEs

Post by R-Tape » Thu Sep 27, 2018 3:54 pm

A dumping area for miscellaneous POKEs, one day destined for the Tip-Shop.

A Trick of the Tale. No eyestraining death effect:

POKE 33485,201

It wouldn't be so bad if you only saw it once in a while, but the game's rock hard!
0 x

User avatar
Juan F. Ramirez
Dynamite Dan
Posts: 1085
Joined: Tue Nov 14, 2017 6:55 am
Location: Málaga, Spain

Re: The thread of POKEs

Post by Juan F. Ramirez » Thu Sep 27, 2018 8:21 pm

I still remember the day I discovered POKEs and how to use them. It was with Sabre Wulf. I could easily cross the jungle and it was cool!

I realized it opened a whole world of posibilities ! :twisted:

After checking the Tipshop I think it was POKE 47219, 201 ('Ghost jungle), IIRC.
1 x

User avatar
g0blinish
Dizzy
Posts: 63
Joined: Sun Jun 17, 2018 1:54 pm

Re: The thread of POKEs

Post by g0blinish » Fri Sep 28, 2018 8:56 pm

a couple years ago I'd got idea to find POKES:
1. start game and dump whole memory
2. collect items or loose life N times. Save dump again.

3. compare all dumps and check values what differ or close to known values.

Gosh, all efforts doesn't help to find cheat, even on AtAri.
1 x

Ralf
Manic Miner
Posts: 874
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: The thread of POKEs

Post by Ralf » Fri Sep 28, 2018 9:12 pm

a couple years ago I'd got idea to find POKES:
1. start game and dump whole memory
2. collect items or loose life N times. Save dump again.

3. compare all dumps and check values what differ or close to known values.
Goblinish, this is a nice idea. So nice that someone actually invented it before you ;)

So, there is an utility called Hokey Pokey:
http://www.worldofspectrum.org/pub/sinc ... key102.zip

It does exactly what you say. You save a snapshot of your game, lose a life, save a second snapshot and compare the memory.

I used it several times myself. Sometimes I failed to find the poke as my searched value was saved in memory in some more complicated way. But sometimes it helped me ;)

Finding the proper cell is often only the first step. When I find where energy, time or number of lives is stored, I want next to find instructions that change that value and replace them with my poke.
1 x

User avatar
R-Tape
Site Admin
Posts: 1676
Joined: Thu Nov 09, 2017 11:46 am

Re: The thread of POKEs

Post by R-Tape » Fri Sep 28, 2018 9:52 pm

Ralf wrote:
Fri Sep 28, 2018 9:12 pm
So, there is an utility called Hokey Pokey:
http://www.worldofspectrum.org/pub/sinc ... key102.zip
Oooh handy. Sooner or later we'll have to start incorporating utilities like these into ZXDB.

I'm not an advanced PEEKer and POKer, but I do alright. I rarely have success searching for the #lives counter though—it's usually the DEC (HL) or DEC A that I look for; or I just read the code until I see things that make sense. We have so many AGD games these days that one knows which bits of code to look for (usually 32028,x), in fact knowing Jonathan's usual voracious anti-hack efforts, I'm surprised he didn't incorporate prophylactic measures into the engine.

With the 'Trick of the Tale' POKE above, I just opened the SPIN debugger during the annoying death effect. It doesn't always work as the point of interrupt is usually taken, but in this case the program counter was smack in the middle of the OUT instructions that most coders will recognise as an effect of some kind.

I had trouble with daveysludge's Pooper Scooper recently. I found the byte that completed the level when zero, but I couldn't find the lives counter, or decrement lives. Anyone?
0 x

User avatar
djnzx48
Microbot
Posts: 190
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: The thread of POKEs

Post by djnzx48 » Sat Sep 29, 2018 6:25 am

Lives counter is at 59193, POKE 25729, 0 for infinite lives and POKE 45504, x for number of lives. I used the cheats finder in SpecEmu to get these and it's really easy to use, especially as it lets you set breakpoints on memory accesses.
0 x

Ralf
Manic Miner
Posts: 874
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: The thread of POKEs

Post by Ralf » Sat Sep 29, 2018 8:39 am

I just read the code until I see things that make sense
The next level of experience would be using conditional breakpoints ;)
So if you know which memory cell stores lives and the value of lives is currently 3 then put a global breakpoint on condition

[Lives]<>3

and lose a life, you will get into debugger at exact instruction that changed [Lives] value.

I do it in Spin emulator, maybe other tools enable it as well.
0 x

User avatar
g0blinish
Dizzy
Posts: 63
Joined: Sun Jun 17, 2018 1:54 pm

Re: The thread of POKEs

Post by g0blinish » Sat Sep 29, 2018 1:40 pm

a good cheat for an emulator: Freeze memory cell option.
0 x

pavero
Microbot
Posts: 108
Joined: Sat Dec 09, 2017 11:49 pm
Location: Czech Republic
Contact:

Re: The thread of POKEs

Post by pavero » Sat Sep 29, 2018 2:07 pm

djnzx48 wrote:
Sat Sep 29, 2018 6:25 am
Lives counter is at 59193, POKE 25729, 0 for infinite lives and POKE 45504, x for number of lives. I used the cheats finder in SpecEmu to get these and it's really easy to use, especially as it lets you set breakpoints on memory accesses.
I have found these addresses for infinite lives at least ...

25729,0 : 43049,0 : 43129,0 : 44049,0 : 44133,0 : 57400,0 : 63561,0 : 63642,0
0 x

User avatar
R-Tape
Site Admin
Posts: 1676
Joined: Thu Nov 09, 2017 11:46 am

Re: The thread of POKEs

Post by R-Tape » Sun Nov 04, 2018 3:14 pm

One for S.E.U.D developers. These stop bonus 1 + 2 being automatically collected when they fall off the end of the screen:

Code: Select all

49191,201
49206,201
0 x

Post Reply