简体   繁体   中英

Crack C64 game with sprite collision

I'm trying to crack an old commodore game called "Katz und maus". I already realized the infinite lives, rewrite scores and I'm halfway on implementing the level jump. I think sprite collision will be the key to finish the level jump.

The problem is I could not find any part in the code which might responsible for sprite/character collision.

I tried to find it with an action replay emulator: no results.

In MC monitor I searched D01E and D01F but all the matches caused because of opcodes:

H 0000 FFFF 1E D0

H 0000 FFFF 1F D0

I also tried to look for LDA $D01E and LDA $D01F, but no results:

H 0000 FFFF AD 1E D0

H 0000 FFFF AD 1F D0

What else can I check? Thanks!

Were I writing a game that used the VIC2 heavily (I suppose all games do), I would consider storing the base address of the VIC2 somewhere and then accessing the registers in it using indexed addressing. So you could look for any code that stores the base address (or any address in the VIC2 range) at a location. Any such code would first have to do LDA #$D0 at some point (or LDX or LDY ).

Another thing to check is whether your program messes with the interrupt routines. The VIC2 can be programmed to raise an interrupt when it detects a sprite collision.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM