Рет қаралды 30,104
Subscribe to my channel here:
kzfaq.info...
A much better, updated version can be found here on my website:
www.c64brain.com/gamehacks/pi...
Please check out my Twitch channel as hacking is now used with professional tools. Thank you.
/ all
If you have ever wondered how to hack into a Commodore 64 game then you've come to the right place.
Pitfall II Hack explained:
I am now in the process of creating a blog on my website to explain what I learned about David Crane's masterpiece. It provides a background of my experience with the Commodore 64, showing how it eventually led to hacking. You will also find out where the sprites are stored in memory. I hope you enjoy it. Give me feedback on any suggestions you may have.
In this video you will learn how to hack into a game through the assembly language. The trick to this is to search through memory locations for familiar addresses, such as 53278 (collision register). The important point to remember is to not change the operand, but the values, x/y registers, etc. It is therefore necessary to have a basic grasp on assembly before attempting this. Now for the more experienced developer, you can use an alternative operand and replace it with another. As an example, last night I learned how to speed up the balloon rising but replacing a zero page ADC addressing with an immediate ADC. It therefore bypassed the static setting from the zero page location and forced an immediate result to the calculation, which resulted in increased speed.
At the beginning I found where the water level was drawn at and raised it. It didn't occur to me at the time as I thought I was altering the scrolling. So this is actually controlled with a raster interrupt that is drawn when the horizontal beam scans the screen. I changed location 53265 to achieve this effect.
I was able to change the screen character display (seen earlier in the video). However most of the video is simple changes to the background, but finally at the end I managed to turn off the collision detection between sprites (location 53278).
I am using the Final Cartridge III to force a soft reset to my Commodore 64. This then allows you to select a menu where you can access the monitor. From there all you have to do is find the proper starting address to run the game. For Pitfall II a SYS 32777 enables a successful run (it enters the interrupt vector - SEI). Then just start decompiling the program and looking at the memory.
I hope you found this interesting. I used to love breaking into my Commodore 64 software. I once managed to increase my life counter in the game Panther so I had unlimited lives. It's fun once you get the hang of it.
So to recap. The changes that were made did the following:
Changed the scrolling (it appears jumpy).
Changed some of the background characters
Changed the background color
Altered the sprite data pointers (Pitfall Harry and the vulture)
Turned off collision detection
Where the collision detection was found t
LDA $D01E
STA $93,X
RTS
So $D01E converted from hexadecimal to decimal is 53278 which manages the sprite to sprite collisions. What I did was use another page 0 memory location that apparently was not being used by the game and the system then had nowhere to search for the proper setting of this location.
Thanks for watching.
Websites:
www.c64brain.com/
www.atari65xe.com/
programmermind.com/
www.fineartpencil.com/
Discord (Talk with Admin)
/ discord (New)!
Facebook (sign up here to get updates)
/ c64-brain-102232354880493
Mewe:
mewe.com/group/5fb4584ba7e4cb...
Twitter:
/ c64brain
Instagram:
/ c64brain
Pinterest
/ yochatwitme
Reddit:
/ 8bitretroman
Tumblr:
www.tumblr.com/blog/stmorrow
CBM Prg Studio Download (free):
www.ajordison.co.uk/download....
VICE C64 Emulator download (free):
vice-emu.sourceforge.io/
CharPad download (free):
subchristsoftware.itch.io/cha...