Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Donkey Kong - is this possible?

103 views
Skip to first unread message

Steve Nickolas

unread,
Nov 19, 2012, 5:58:20 AM11/19/12
to
The existing Apple ][ port of Donkey Kong is very good. There's a couple
things I'd change if I knew how, though.

1. Pretty much the only missing thing from the game is the opening
cutscene (Kong carrying Pauline up the first stage and then stomping to
bend it, beginning of http://www.youtube.com/watch?v=E1Ey9OdQXV0 has
this).

2. In this version (just like the US Arcade version), on level 1, you only
play the Barrels and Rivets stages; on level 2, you play all but the
conveyor belt stage. I'd like to see if it could be patched to play all
four stages from level 1 up (like the Japan Arcade version and Crazy
Kong).

3. Is it possible to add Mockingboard support to this? XD

-uso.

BLuRry

unread,
Nov 19, 2012, 12:53:59 PM11/19/12
to
1) That and the music is off-pitch, and I think that can be fixed relatively easily.

3) Yes, probably. But I'd be more interested in using 5-2-2 DAC samples for DK's grunt. Given space constraints it may not be possible though.

Really the only think I dislike about this port is that the jumping looks like an inverted U shape and it doesn't feel natural compared to traditional Mario physics. I could investigate that some other time, but I suspect the jump works that way because of some kludgy movement code rather than a typical velocity-based mechanic used by other mario games. Identifying the responsible code shouldn't be too hard (metacheat works well for this) but replacing the code is a trickier endeavor.

Thanks for making this game hard drive installable!

-B

Steve Nickolas

unread,
Nov 19, 2012, 1:16:10 PM11/19/12
to
On Mon, 19 Nov 2012, BLuRry wrote:

> 1) That and the music is off-pitch, and I think that can be fixed
> relatively easily.

Slightly off, yeah.

> Thanks for making this game hard drive installable!

No prob. And it's something I'd do for more games if I knew how.

-uso.

BLuRry

unread,
Nov 19, 2012, 1:26:48 PM11/19/12
to
If you could pull it off for Marble Madness I would erect a statue in your honor. Seriously. However, it may be worth taking a shot at Epyx Maxx games as they were single-load affairs (e.g. spiderbot and radwarrior)

An epic feat would be anything in the Ultima series but I understand that is like asking someone to climb up a cliff with tweezers. ;-)

-B

Steve Nickolas

unread,
Nov 19, 2012, 2:06:14 PM11/19/12
to
On Mon, 19 Nov 2012, BLuRry wrote:

> If you could pull it off for Marble Madness I would erect a statue in
> your honor. Seriously. However, it may be worth taking a shot at Epyx
> Maxx games as they were single-load affairs (e.g. spiderbot and
> radwarrior)

Marble Madness appears to be a 64K game, which means it would step all
over ProDOS. That would make it incredibly hard to port.

> An epic feat would be anything in the Ultima series but I understand
> that is like asking someone to climb up a cliff with tweezers. ;-)

Well, 1 might not be too difficult as it's still FPBASIC...and there's a
ProDOS version of 3...

-uso.

BLuRry

unread,
Nov 19, 2012, 4:21:46 PM11/19/12
to
The prodos flavor for Ultima is kind of strange. It uses prodos as a stage 1 loader but the rest is virtually its own RWTS which is why they're not hard-drive installable (among other reasons). I see what you mean about the 64k marble madness. But it might be do-able if you shove exomized data into the AUX ram first and use an depacker in place of RWTS.

Reminds me, I really need to get with the program on those heuristics for tracing the lifecycle of data through the emulator. Would be a fun forensic tool to discover where things came from on disk.

-B

Steve Nickolas

unread,
Nov 23, 2012, 7:30:22 AM11/23/12
to
On Mon, 19 Nov 2012, Steve Nickolas wrote:

> 1. Pretty much the only missing thing from the game is the opening cutscene
> (Kong carrying Pauline up the first stage and then stomping to bend it,
> beginning of http://www.youtube.com/watch?v=E1Ey9OdQXV0 has this).

I found the address where I would need to hack this in - the entry point,
413C, is JMP'd to from 7D1B (1 player) and 7D25 (2 player).

My first attempt at doing anything on the cutscene is
http://1.buric.co/dk-l1gx.dsk.gz which contains the level 1 stage graphic
(as AFTER), and an attempt at recreating the backdrop for the cutscene (as
BEFORE).

At http://www.fitz42.net/dkong/games/dkong/dkong.htm you can see a couple
shots of what it is supposed to look like (I tried to make it blend in
with the game as it already exists).

Kong climbs the ladder with Pauline (some of this code is already present,
as this animation is already in the game as it is), sets her on the
platform, then stomps, causing each girder to bend down into the shape
seen in level 1. (The ladder pulls up behind him.) Finally, it plays
the "grumble grumble" sound (which is also played at the end of each
level). This animation is only shown upon starting a new game, so hacking
it in from 413C is probably a good enough place.

The BGM for this is the "dum-dum-dum-dum-DAAAAAAAAH", like in the Dragnet
theme, or TUMS commercials.

There is no need to have the full code to this resident; some of the
original setup code can be replaced to load it and then the code itself
can sit from A700-B6FF. Probably a lot of what is needed is already
there, as the climbing animation is used in all but the last stage of each
level.

-uso.

Steve Nickolas

unread,
Nov 23, 2012, 8:59:04 AM11/23/12
to
I found the "level victory" function, and some of the code I need, at
697A. But going through it, I haven't been able to figure out what part
does just the Kong climbing.

-uso.

Steve Nickolas

unread,
Nov 23, 2012, 2:38:26 PM11/23/12
to
Partial success:

On Mon, 19 Nov 2012, Steve Nickolas wrote:

> 2. In this version (just like the US Arcade version), on level 1, you only
> play the Barrels and Rivets stages; on level 2, you play all but the conveyor
> belt stage. I'd like to see if it could be patched to play all four stages
> from level 1 up (like the Japan Arcade version and Crazy Kong).

Before: 41E0: 40 AA BD E1 80 85 5C A9 FF 85 BE 2C 50 C0 2C 52
After: 41E0: 40 29 03 AA BD E6 80 85 5C A5 FF 85 BE EA 2C 50

41DE- BD F5 40 LDA $40F5,X 41DE- BD F5 40 LDA $40F5,X
41E1- AA TAX 41E1- 29 03 AND #$03
41E2- BD E1 80 LDA $80E1,X 41E3- AA TAX
41E5- 85 5C STA $5C 41E4- BD E6 80 LDA $80E6,X
41E7- A9 FF LDA #$FF 41E7- 85 5C STA $5C
41E9- 85 BE STA $BE 41E9- A5 FF LDA #$FF
41EB- 2C 50 C0 BIT $C050 41EB- 85 BE STA $BE
41ED- EA NOP
41EE- 2C 52 C0 BIT $C052 41EE- 2C 50 C0 BIT $C050
41F1- 2C 57 C0 BIT $C057 41F1- 2C 57 C0 BIT $C057

(The three BITs are redundant; they are repeated after.)

This appears on the original version on track $0B, sector $6, offset $E0.

Note that it only works on NORMAL mode. I am looking for where the
starting stage is determined so that I can change the starting stages for
HARDER and EXPERT, which are now 2 too early!

-uso.

Steve Nickolas

unread,
Nov 23, 2012, 2:55:58 PM11/23/12
to
Fixed. See below.
The second patch is at 805D, or T07 S7 offset 5D.
Before: 00 05 0E
After: 00 08 10

-uso.

Steve Nickolas

unread,
Nov 24, 2012, 7:30:20 AM11/24/12
to
On Mon, 19 Nov 2012, BLuRry wrote:

> Really the only think I dislike about this port is that the jumping
> looks like an inverted U shape and it doesn't feel natural compared to
> traditional Mario physics. I could investigate that some other time,
> but I suspect the jump works that way because of some kludgy movement
> code rather than a typical velocity-based mechanic used by other mario
> games. Identifying the responsible code shouldn't be too hard
> (metacheat works well for this) but replacing the code is a trickier
> endeavor.

The address appears to be 465C for a straight jump,
46E3 for a left jump and 474E for a right jump.

-uso.

BLuRry

unread,
Nov 25, 2012, 2:53:55 PM11/25/12
to
You're not making a good case for the argument that you can't do 6502 code. ;-)

Thanks for the update Steve!!

-B
0 new messages