Patch Super Dram World

By  on  

My recent dive into retro gaming has opened my eyes to how much time and effort still goes into playing console games that are as old as I am.  The basic challenge has gone out of these games, understandably, so players have improvised new goals like speed runs, 100% completion challenges, and even playing through games blindfolded...

...but then some people take things to the next level:  creating patches to a game to make the game more difficult or take the game in a completely new direction.  The most popular game to reimagine is Super Mario World, thanks to utilities like Lunar Magic and Super Mario Maker, tools that let you use Super Mario World's assets and logic to create worlds of your own, both simple and complex.

The most hyped Super Mario World patch I've seen (and there are many) is Super Dram World.  Super Dram World is an insanely difficult game, requiring even the best players to dig deep to solve problems while crossing their fingers along the way when it comes to timing.  In this post, I'm going to introduce you to the concept behind creating these reimagined games and how to patch original ROMS to play them!

Why Patching?

Finding a download of a Super Dram World game is really difficult, but finding a Super Dram World patch is incredibly easy.  Why?  Because distributing a patched game is illegal -- you're effectively redistributing Nintendo's property.  You can, however, easily find the patch itself, which is not illegal.

It's a bit like a keygen or crack:  that bit of software isn't illegal but serving the patched software is.  Patching games is a bit of a hardship on the player but absolves the creator of legal jeopardy.

Patching Super Mario World to Create Super Dram World

We're about to create Super Dram World by patching Super Mario World but keep in mind this process is mostly the same for patching any older game.

Ensure Your Super Mario World ROM is Clean

Patching a game ROM is no different than applying a patch to any other software:  your patch needs to be applied to the right state of the repository to be successful.  You can use JSRomClean to ensure your ROM file (in this case a smc file) is clean Super Mario World ROM.

There are hundreds of Super Mario World mods so this is an important check.  JSRomClean employs a few edge JavaScript APIs to make this check so browser the source code if you're interested in seen these JavaScript APIs employed.

Note:  I can't provide you the clean Super Mario World file but a Google search should help you.  Be aware, however, that it took several downloads to find a suitable version due to the enthusiasm for modifying this game.

Download the Super Dram World Patch File

Download Super Dram World 2 here.  Patch files generally come in .ips or .bps file formats and should be relatively small files.  If you are looking to patch Super Mario World with a different game variant patch, download that patch file instead.

Applying the Patch

The .ips/.bps file must be patched onto the clean .smc ROM file.  The best Mac app for applying game patches is MultiPatch.  For Windows you can use Floating IPS. Each app has a super simple interface which you provide a path to the ROM and patch files and voila!

You can find hundreds of excellent game mods and patches at SMW Central.

Play Super Dram World!

When the patch applies cleanly you have a new .smc file that can be imported into any Super Nintendo emulator; I prefer OpenEmu on my Mac but Snes9x for Windows is also a popular choice.

The hassle you went through to patch Super Mario World will seem like a cake walk compared to actually playing Super Dram World.  The initial stage of Super Dram World sees you almost immediately killed if you don't jump immediately -- an appropriate warning to the punch in the mouth that comes by playing this game.

Don't take my word for it; watch the SDW world record holder struggle too:

;

Part of me thinks retro gamers are crazy but, looking back at the games I loved when I was a kid, I totally get the desire to find every exploit, execute every trick, and even patch games to feel that joy again.  I really wanted to write this post because my readers, mostly web designers and developers, think of patches in the sense of small code fixes;  stepping back a moment, patches to other software can completely change your perspective on how others patch code.

Have fun patching and playing Super Dram World.  Never let that kid inside of you go away!

Recent Features

  • By
    Vibration API

    Many of the new APIs provided to us by browser vendors are more targeted toward the mobile user than the desktop user.  One of those simple APIs the Vibration API.  The Vibration API allows developers to direct the device, using JavaScript, to vibrate in...

  • By
    An Interview with Eric Meyer

    Your early CSS books were instrumental in pushing my love for front end technologies. What was it about CSS that you fell in love with and drove you to write about it? At first blush, it was the simplicity of it as compared to the table-and-spacer...

Incredible Demos

  • By
    Face Detection with jQuery

    I've always been intrigued by recognition software because I cannot imagine the logic that goes into all of the algorithms. Whether it's voice, face, or other types of detection, people look and sound so different, pictures are shot differently, and from different angles, I...

  • By
    Creating the Treehouse Frog Animation

    Before we start, I want to say thank you to David for giving me this awesome opportunity to share this experience with you guys and say that I'm really flattered. I think that CSS animations are really great. When I first learned how CSS...

Discussion

  1. Chris

    Well I wasn’t expecting to see Dram World on this blog! Super cool to see you’re enjoying the madness too. Having beaten the original Dram World I can vouch for the difficulty… very fun game though :D

  2. Olivier

    Hey ! Thanks a lot for the walk through.
    Could you give me a tip why the first screen of the actual game starts with a whoomper and a time’s up ?
    Cheers

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!