Skip to main content
2e7e72c917128082ab54e4ab1ec61ab6

November of this year my old man decided to throw in the rag, after 39 years with the same company, Jimmy T finally set sail for retirement.

So as a retirement, birthday ,delayed Christmas present, I wanted to get him something that would merge homage to his work & an activity for the retired life.

Growing up, my older brother and I’s Dad was a lot of things… that’s normally used as a preamble to describe a questionable person, but our dad was literally, a lot of things. Insofar as when we were younger we called him ‘the master of everything’. In observance of this, I had quite the list of ideas to work with.

After peddling between a few ideas, I ended up on an arcade machine, specifically, that of the Donkey Kong flavor. As early as I can remember my dad was weirdly good at Donkey Kong, setting high scores whenever we went to restaurants, bars, and he could sniff out a machine.

So, for newfound abundance of freetime, I settled on the idea of a basic arcade panel + a few sprite edits to customize a version of the game with respect to his professional career. Little did I know the rabbit hole I was already falling into.

What started as wanting to build a simple panel (just stick and buttons) felt hacky, so we might as well go full body, if we’re gonna go body we might as well use the Donkey Kong schematics, if we’re gonna use the Donkey Kong shape, we might as well use the artwork……. eventual 3am Google search history deciding between the 30mm joystick ball and 25mm ball.

Finally coming up for air, I’d found perfect repo’s of the cabinet, artwork, joystick, button (colors) and traditional mechanical switches.

Pics of final build below

Software

Turns out hardware wasn’t going to be the real time suck though, wanting to customize an additional ROM to be ‘Conagra-ized’ created a couple more weeks of runway; rapid firing process/steps

  • Huge shoutout to Paul Goes with DonkeyKongHacks.com for the guides on
    • How to set up a DOS emulator
    • How to read a hexadecimal table
    • How to identify necessary addresses in RAM
    • and modern day LLM’s for tranlsating his pdf’s from Dutch → English
  • Additional shoutout to the likely deeply autistic developer who built Turaco (a sprite edittor allegeldy named after his favorite bird)
  • Last but not least, the team behind the entire deassembly of the DK source code
  • Seen below is an example workflow that was followed to edit the DK Hacks Anniversary edition sign DK sign from 40 to 39. This consisted of whiteboarding the current image as is, 4 pieces together sprites, then sizing up all available sprites in memory to find which addresses correspond with the image.
  • Eventually, the final custom ROM was finished with:
    • Custom sprites for Conagra products in place of hammers, balloons, etc
    • Redesigned backgrounds, sighs, etc.
    • A level-two killscreen that forces a ‘Works Over’ cutscene, complete with jimmy buffet 8-bit background (done via lua script that watchpoints for change to level 3 and readdresses memeory to zero lives)

Front End

In observance of how awful the standad front ends appear to be and how much of a headache it would be to set up multi-kong versions we went with DKAFE at fan made DK front end that acts as a simple .py.

After trying to compile on rpi for way longer than I care to admit, I realized my pi was just too underpowered and eventually moved to a simple old optiplex PC which is an absolute truck by comparison.

Forked the github for my version, some custom edits to make things easier, rolled a custom MAME build and called it a day.

fun notes I forgot:

  • There is a hidden block in the DK 1981 source code that says ‘if you find this call for a job, sincerly Nintendo HQ’ I called and it’s now some public utility line
  • If you copyright/name part of the DK splash screen your game will crash 100% of the time as this is apparently an intentionally load bearing checksum
  • 100% of this would have been way faster without a custom rom if I instead rolled a lua script but I’m infinitely more glad with what I learned the other way

Leave a Reply