PATCH: Allowing the Pogo to always fly.

Completed patches for Keen1.
Yowza
Posts: 153
Joined: Tue Sep 02, 2003 11:21 am

Post by Yowza »

I've been meaning to ask about a patch like this for a while :D... Although, I was thinking of using the ankh in Keen 3 instead. Not sure exactly how it would work... I suppose you'd make it so that the pogo/jetpack could only be activated when you have ankh. It'd also be nice to have it all in one button (Alt), instead of pressing Alt to turn it on and Ctrl to actually fly. Not sure how well that would work though...

What would be REALLY nice (although probably not possible) is that pogo usually works, except when you have ankh, in which case it'd turn into a jetpack. Even ignoring all the sprite problems, that probably wouldn't work though.
User avatar
levellord
Crazy pAtChEr
Posts: 1401
Joined: Thu Nov 20, 2003 11:35 pm
Location: NewZealand
Contact:

Post by levellord »

Here's another patch to stop your jetpack bouncing off the ground:

#Pogo stops when Keen hits the ground.
%patch $409B $90 $90


To hack these directly into the executable the adress for this patch is $429B, and for the origional jetpack patch it is $414E.
KeenRush
Patch Maker
Posts: 1988
Joined: Sun Aug 31, 2003 2:52 pm
Location: Sand Yego
Contact:

Post by KeenRush »

For which Keen is that for? I haven't tried it, only checked what bytes it replaces, and doesn't make sense for me.
User avatar
levellord
Crazy pAtChEr
Posts: 1401
Joined: Thu Nov 20, 2003 11:35 pm
Location: NewZealand
Contact:

Post by levellord »

Keen 1.31, although I used a hexeditor that can be 'difficult' at times. I obtained it by getting the H.E to scan the executable and dumped versions of Keen 1 and matching their code. According to H.E it should replace the same code in the executable as the patch does in the dumped file.
lemm
Posts: 554
Joined: Sun Jul 05, 2009 12:32 pm

Post by lemm »

Ringman wrote:I understand the need to only patch and not hex edit, but I don't plan on releasing this to the public.

Thanks for the patch, but I'm still lost as to how to use that in a hex editor as opposed to ckpatching.

I'm sure that $34fe is the address, but what is $90 $90? If I put 9090 in the game crashes when using the pogo. Please explain what value needs to be put here in the exe file.

Code: Select all

	// seg000:3F49
	if (MEMW(god_mode) != 0 && MEMW(word_1B01C) != 0) {
		// seg000:3F57
		W_MEMW(keen_pos_y, 0xff38);
	}
// http://www.quantumg.net/keen1.c.txt
$90 is the opcode for NOP (i believe).

and at 0x3F49...

Code: Select all

00003f49: cmp word [0x5daa], byte +0x0
00003f4e: jz 0x3f5d
which means if god mode = 0, jump past the rest of the if block, skipping W_MEMW(keen_pos_y, 0xff38), which is what makes the jetpack do its thing. So if you replace this cmp with nothing, the zero flag will not be set and the jetpack code will be called.

Disclaimer: I know dick all about programming; I am probably not right
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Woah! You actually found that file! Sveeeet. I recommend posting it somewhere(s) more prominent.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Um.... what? Er... hurrah!
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

http://www.quantumg.net/keen1.c.txt

Someone's reverse-engineered Keen 1 code!
User avatar
Tulip
Posts: 394
Joined: Mon Jun 16, 2008 2:40 pm
Location: Heidelberg, Germany
Contact:

Post by Tulip »

Nickssoft posted that one a while ago at the PCKF.
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Wasn't the link down at the time though?
lemm
Posts: 554
Joined: Sun Jul 05, 2009 12:32 pm

Post by lemm »

Does anyone know how to do this for keens 2 and 3?
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Not me, though I do like to compare 2-3 with 1 for an idea of how things work. The executables are largely the same.
Post Reply