New DKC website released! Help needed with PAR code creation

General area for talk about ZSNES. The best place to ask for related questions as well as troubleshooting.

Moderator: ZSNES Mods

Post Reply
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

New DKC website released! Help needed with PAR code creation

Post by Qyzbud »

Hi guys,

I just wanted to announce to the DKC fans of ZSNES Forum that my Donkey Kong Country website is finally online!

Although the content is far from complete, the design is ready, and it's off to a great start. I think this will be a great resource for any fans of Donkey Kong Country, especially for those with adventurous spirits and inquisitive minds...

Take a look!
DKC-Atlas.com

I'd appreciate any feedback. =)


---


PAR CODE HELP REQUEST:

To compliment DKC Atlas, I have spent a few months creating terrain maps for each of the three games' levels, complete with collectable items, bonus level locations, hidden bananas and all other bits and pieces - quite a large task, to be sure!

Using ZSNES, I have made my own codes to accomplish many specific things in all three DKC games, such as camera positioning, animation freezing, level-viewing 'flyby' codes and so forth, as well as the obvious invincibility, moonjump, etc... So I'm pretty well up to PAR with code creation (excuse the pun!), but there's something I really need help with.

I need to freeze baddies in their exact starting location.

I've found a memory address in DKC3 which when set to a value of '10', will remove all sprites from the play area. Upon restoring the address with its previous value, any sprites will then be recreated in their initial location. This is extremely useful for mapping the exact point of origin for moving objects like baddies...

This is the code: (for the US version of DKC3)
7E197410

As hard as I've tried, I haven't been able to recreate this 'cheat' in either DKC or DKC2, but having it (or a similar variant) for use in these games would be invaluable for my project, as I value precision to the utmost degree.

Would anyone be able to help me with this? Any help or insight would be most appreciated!
Last edited by Qyzbud on Mon Feb 18, 2008 1:23 am, edited 1 time in total.
Super NES... Still the best.
DancemasterGlenn
Veteran
Posts: 637
Joined: Sat Apr 21, 2007 8:05 pm

Post by DancemasterGlenn »

I know this isn't even remotely helpful, but I just wanted to say that your site sounds AWESOME. I'll definitely be visiting that when you put it up. That said, I'm not up on codes, else I would help you with this. I hope someone who's got the smarts will figure it out for you!
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

Post by Qyzbud »

Well hey, thanks!

Even though your post wasn't an answer to my problem, I surely appreciate the kind thoughts and words.

:wink:
Super NES... Still the best.
Rydian
Lurker
Posts: 152
Joined: Mon Jul 02, 2007 9:10 pm
Location: Virginia
Contact:

Post by Rydian »

In DK3 (maybe 2, don't remember), I was trying to play through a fish level with an injured hand, so I could move, but not too fast since i was one-handing the keyboard. Unfortunately, it was the level where the fish that follows you gets hungry and you need to keep feeding it right right fish to get it off your back.

So I finally decided I would lock it's x position. And it worked quite well. Does the fact that ZSNES shows previous values for codes help at all? I don't have an exact solution, just throwing stuff out there.
Athlon XP 2800+
765MB DDR-333
AGP Geforce 6200

Took me, what, a year to update this info?
And meh, screw legs.
Oh... puns. I get it. Shame on me.
PHoNyMiKe
Retrosexual
Posts: 1011
Joined: Wed Jul 28, 2004 2:09 am
Location: Rapture

Post by PHoNyMiKe »

I looked a little into it, it seems on DKC there's I'm guessing 10 places for new enemies in ram. I was able to lock one character, but it had mixed results. if I left the screen they'd disappear, and if I stood in the right place I could see it spawn over and over again. I was hoping to just find the routine that moves enemies around, but couldn't. I could tell the horizontal position is all that needs to be modified, the vertical position is handled by the game engine.
[url=http://www.alexchiu.com/affiliates/clickthru.cgi?id=phonymike]ultimate immortality[/url]
[url=http://www.sloganizer.net/en/][img]http://www.sloganizer.net/en/image,zsnes,white,purple.png[/img][/url]
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

Post by Qyzbud »

Rydian, phOnYmIkE, thanks for your input.

Locking x-position is certainly a valid aproach. Many (if not all) baddies are given an absolute y-position, too, and it's not always at ground level... So if I can lock both co-ordinates for an object, I can ascertain its exact starting point. Hopefully I'll also be able to freeze its animation at frame 1 to further ensure precision.

phOnYmIkE, you mentioned having mixed results when locking a character- yeah, I've had the same trouble. It seems as though many codes are going to be needed to get reliable results with character freezing techniques. Baddies seem to be assigned their memory addresses on the fly, so it varies depending on what else is on screen or in memory, etc.

I'll keep at it. Any more ideas or further help researching/refining these 'freezing' methods would really helpful. Thanks again guys. :)
Super NES... Still the best.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

Here's two ways to go:

1. Each enemy type might have its own speed, a value stored somewhere in the ROM. If you can find them and set them to zero...

2. There ought to be some code that takes the speed value, negates it if necessary and adds it to the enemy's current x-pos. Overwriting that code with NOPs would disable that. (Maybe each enemy type has its own code, sort of like in OO programming.)
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

Post by Qyzbud »

Good thinking, creaothceann.

Zeroing the speed values is another method I attempted and had little success with. The reason for this is probably just that I wasn't as thorough in seeking a result through this method as I was with the x-pos approach. I should take another look.

I have tried to find speed values by cheat searching during situations where object speeds change, such as the deceleration/acceleration when a patrolling Kritter turns around. I thought I was onto something when I tried this approach in Trick Track Trek, where the baddies' movements are time-delayed... but I still couldn't get anything reliable working.

I just really wish I could get the effect in DKC that I got working in DKC3...

Oh well, back to trying it all again, with renewed conviction. :roll:
Super NES... Still the best.
Qyzbud
Rookie
Posts: 20
Joined: Fri Apr 21, 2006 3:34 pm
Location: Australia
Contact:

Post by Qyzbud »

This is an update to let you know that my DKC gaming site is finally online!

DKC Atlas
An Adventurer's guide to Donkey Kong Country

The content itself is far from complete, but I hope all DKC fans will find something they like.
Super NES... Still the best.
Post Reply