Blog

  • Porting NES Games to SNES

    By Rumbleminze on April 15, 2024. Reproduced with permission.

    Rumbleminze, a fan of all things retro tech, is co-author of the Kid Icarus Randomizer romhack and whose recent work includes porting NES games to run natively on the SNES. You can follow these and other projects via Rumbleminze’s IAGithub, YouTube, or Ko-Fi.

    Intro

    This [post] is going to go over the process I use to port NES games to the Super Nintendo. Something to keep in mind while we go through this process: I’m by no means an expert on all these things. But I do know what’s worked for me. If you have ideas on ways to improve it, I’d love to hear them! Please reach out to me on Bsky.

    Why though?

    The most frequent question I get is “why?”. There are a lot of great reasons for porting games from the NES to the SNES. Here’s a few:

    1. eliminate slowdown
    2. eliminate sprite flicker
    3. allow for MSU-1 enhancements like CD quality music and videos
    4. Take advantage of FastROM cartridge chips
    5. Up-rez-ing the sprites to 16-bit
    6. better video output on SNES instead of NES
    7. Much, much more room for romhacks/enhancements
    8. Most importantly, it’s fun!! Finding ways to port these games is, to me, like solving a big puzzle.

    The Overall Process

    To accomplish my ports, I follow this general approach:

    1. Take the original NES ROM, and break it up into it’s requisite memory banks by creating .asm files for each bank.
    2. Use a buildable SNES game skeleton, with the NES games memory banks mapped to various convienent banks in the SNES game.
    3. Hook up the SNES skeleton to jump to the NES initialization/nmi at the proper times
    4. Slowly replace routines of the NES byte code with decompiled assembly, aquired from running the NES game in Mesen2.
    5. Find and modify the NES specific logic and tile graphics to work on the nes. Especially things like:
      • All writes to Video Memory
      • Deal with differences in screen resolution / BG size / Mirroring
      • Update audio to use Membler’s 2A03 emulator
      • Properly handle bank switching

    [Editor’s note: for the remainder of this post, covering tools, goals, and limitations, please visit Rumbleminze’s blog.]

    This post has been viewed 28 time(s).

  • Lufia: Fortified Released

    You can follow clymax’s projects via FFVC or YouTube.

    The Lufia & the Fortress of Doom: Fortified mod has been released courtesy of clymax.

    Like all of clymax’s rando mods, it’s a self-randomizer, so just simply reset the game to play a new seed.

    A release build for Romhack Plaza is being considered, or you can get early access to the dev build on Game Jolt.

    Release Build: Features

    No more random encounters.

    Development Build: Features

    Chest items have been randomized. Seeding not yet supported.

    Random encounters can now be triggered by holding down the A button.

    So, what do you think? What sets Lufia apart from other JRPGs on the SNES? What other part of the game would you like to see randomized?

    This post has been viewed 37 time(s).

  • Rando-Speedrun Pilot

    Update: this pilot has been replaced by the Whirlwind Fiesta event, which you can access here.

    Supporting the Speedrun Community

    Under a new pilot program, players are eligible to request an early-access build of a randomizer mod by clymax, at no charge, provided that the player will use the build to submit a run to the relevant Speedrun.com (SRC) leaderboard for verification.

    1. The player is required to have at least one verified run on SRC at the time of making the request. A link to the run page on SRC must be provided.
    2. The verified run must be in a game of the same genre as the mod being requested. E.g., turn-based RPG, action RPG, adventure.
    3. The player will be asked to prove that he or she is indeed the owner of the relevant account on SRC.
    4. The player is also required to state which speedrun category the player is planning to run in.
    5. It is acceptable to ultimately submit a run in a different category if the player changes his or her mind. But please notify clymax before you do the run, so he can confirm it is still a valid category.
    6. The player will be expected to submit a run within three months of receiving the build.
    7. The video of the run must be a listed video.
    8. FFV Central and the pilot host are permitted to use the game footage to promote the site, mod, pilot, etc.
    9. No rom will be provided; only a patch file will be provided.
    10. Once your run is verified, you can repeat the process if you wish. There is currently no limit to the number of builds you can request under this pilot.
    11. A global monthly redemption quota across all pilots may apply, and a redemption waitlist can be maintained.
    12. Acceptance of a player into the pilot is at the discretion of the pilot host and/or mod author. A player can be declined entry into the pilot for any reason or for no reason.
    13. To avoid competing with similar events being hosted, such as the Whirlwind Fiesta, this pilot is suspended during such events. The pilot can also end at any time at the discretion of the pilot host and/or mod author, so sign up today!

    Interested players, please make a redemption post in the help channel of the Discord. For ADV games or ARPGs, please make your request in our sister Discord, BoO Central.

    This post has been viewed 159 time(s).

  • Lufia II: Arise Released

    You can follow clymax’s projects via FFVC or YouTube.

    The Lufia II: Rise of the Sinistrals: Arise mod has been released courtesy of clymax.

    Like all of clymax’s rando mods, it’s a self-randomizer, so just simply reset the game to play a new seed.

    A release build for Romhack Plaza is being considered, or you can get early access to the dev build on Game Jolt.

    Release Build: Features

    No more random encounters in the overworld.

    Development Build: Features

    Chest items have been fully randomized. Seeding not yet supported.

    The config toggle for message speed now doubles for turning off rando chests.

    You can now hold the B button to trigger overworld encounters.

    So what do you think? How do you think Lufia II compares to its prequel or to predecessor RPGs such as Dragon Quest? Do you prefer the normal progression in Lufia II or its Ancient Cave challenge dungeon?

    This post has been viewed 24 time(s).