Category: spotlight

  • 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 22 time(s).

  • Self-Randomizer Showcase: Season 1, Episode 1

    For the episode listing, click here.

    Super Mario 64 Randomizer

    Brought to you by Final Fantasy Randomizer and Final Fantasy V Central

    Date: April 5, 2025

    Category: 120 Star, Regular, Random Seed

    Runner: RisingPhoenix64 (Rando 120-Star Current WR Holder)

    Commentary: LudwigVonKoopa (Rando 120-Star Speedrunner)

    Series info: https://ff5central.com/events/self-randomizer-showcase/

    Leaderboard: https://www.speedrun.com/sm64rando

    Follow the Runners:

    RisingPhoenix64 | YT | Twitch

    LudwingVonKoopa | YT | Twitch

    tags: sm64r, s1e1

    This post has been viewed 25 time(s).

  • Splintered Enters Early Access

    Richard Murtland is a solo indie developer and content creator who names Dragon Warrior as one of his favorite childhood games. You can follow Richard’s work via YouTube or X.

    Part Love Letter, Part Randomizer

    Hot on the heels of Splintered‘s Early Access release, Richard sits down with clymax of FFV Central to give our readers an inside look at the development journey.

    Q1: Looking over dotMake Studios’ developer page on Steam, Splintered appears to be your foray into indie development. Is this the game you’ve always wanted to make? Indie devs tend to have dev experience in some industry, so we’d like to ask: what’s your concurrent (or if none, former) line of work (before taking the plunge)?

    A1: In a lot of ways, yes! I wanted to make a game that pushed the envelope on something, and in this case that something is: a game that’s built from the ground up to support (and be supported by) a randomizer, making it a core part of the game loop. It’s been an exciting journey with a lot of interesting problems to solve.

    I was previously a software engineer.

    Q2: This should be an easy one: give us your elevator pitch on why solo-character RPGs are better than party-based RPGs.

    A2: I’m not sure if they are! But I’m also not sure if solo-character RPGs have been given their fair shake. In my mind, the 1v1 style combat of Dragon Quest 1 got left behind pretty quick. Sure, it’s appeared in some other games and other forms (monster battlers, Undertale, FFXVI -kidding-), but I always felt there was more to explore in the realm of a traditional 1v1 RPG. At the end of the day, I think it’d be great if someone played Splintered and went from “There’s not much you can do with just one character.” to “Oh, that was a lot of fun!”.

    Q3: We at FFV Central are no stranger to rando mods for classic JRPGs. (Our flagship release is a self-randomizer capable of dynamically toggling randomization of five different aspects of the game during a run.) What aspect of Splintered barely did not make the cut for randomization at least for the foreseeable future, and why?

    A3: So on one hand: I can’t think of an idea that I’ve been forced to leave behind, which was part of my goal with Splintered. Sure, some features are more difficult than others, but having complete control over the base game gives me a wide variety of possibilities at my finger tips. If there’s something I want to do, I just need to build/rebuild the features to support it.

    On the other hand: This freedom also comes with a cost. The game needs to be good start to finish. From the base game with Chapter 1, to the first randomized run with Chapter 2, and everything in between as players work their way towards the eventual Chapter 5.

    As I’m typing this, it’s four days after the Early Access Release and I’ve released 3 small patches. Fixing two edge case softlocks, putting my randomizer versioning to test (so that the majority of players that didn’t experience any issues can seamlessly continue their run as if nothing happened), and making improvements to the base game and accessibility based on feedback (which is actually one of the parts of development that I quite enjoy!). I’m excited to deliver the next content patch, which adds the in-game customizer that’s needed to really bring the randomizer to life, but I’ll be spending today working on a much needed Rebindable Keys feature and some related controller support. (Don’t worry though, the content patch will be out soon!)

    Q4: Without spoiling anything meant to be kept as a surprise, what major feature are you looking to add to Splintered either before it makes it out of early access or, if none, during its lifecycle? Any plans for a GOG release?

    A4: So a lot of the work for the “Clairvoyant Challenge Mode” is already done. It should arrive shortly after the customizer. I won’t spoil the features, but if you think “what would happen if your character was clairvoyant”, you can probably guess a few.

    No current plans for a GOG release, but I’ve heard some recent interest so I’ll be considering it around release time. I’m open to the idea, there’s just a lot of other things I’m focused on atm w/ the EA release.

    Q5: Even in the world of modding, it’s not easy for a solo modder as myself to go up against group mods or compilation mods, let alone in the gamedev sphere. Which parts of Splintered were done by you versus outsourced or acquired?

    A5: It’s just me (with the help of Unity, Famitracker, and Aseprite). I’ll be to hiring a professional translation service to localize the game to Japanese soon. Also, within this last year, Splintered‘s had a community begin to form around the game and they’re the best! They’ve been immensely helpful with their early feedback and participation in the recent Beta Tests.

    Q6: Tell us a bit about the tech behind Splintered: what’s the game engine, and how’s your experience with the engine thus far?

    A6: Splintered is made with Unity. It’s alright. It does everything I need it to do and I’m hoping I’ll need to make use of the porting features some day soon!

    Q7: Closing remarks: we recently conducted a player vote for a next franchise to rando-mod next. Dragon Warrior narrowly beat out Chrono Trigger, Secret of Mana, and Romancing Saga, and we’ve already begun looking at it. (Dragon Warrior was actually my first RPG, and its giveaway promo was what helped me convince my parents to get me a one-year subscription to Nintendo Power magazine.) Needless to say, 2025 is a great time to be a Dragon Warrior fan! Thank you for your love-letter randomizer and for your time for this interview.

    A7: Woohoo! Sounds like a wonderful choice and best of luck with the randomizer! Thanks for having me and for the interest in Splintered!

    If anyone wants to check out the game, you can find Splintered on Steam [link]. There’s currently a 10% release week sale that lasts until Friday morning (3/28 10am PST). There’s also a demo available.

    This post has been viewed 67 time(s).

  • Final Fantasy II

    The Most Bizarre Speedrun in All of FF?

    syo is a content creator specializing in analyzing the techniques used by speedrunners in FF games. You can follow syo’s projects via YouTube, Twitch, or Patreon.

    No, not Final Fantasy II (IV) on the SNES. FF II on the Famicom.

    Remembered more for its unconventional (by FF standards) system for character progression than for its existence in the 8-bit era of gaming, FF II gets a special treat for fans, in the form of a feature video from FF-speedrun content-creator syo. (The system would later find a new home in the sister franchise, SaGa.)

    Speaking with FFV Central about what prompted the video to be made in the first place, syo says:

    I became fascinated with the NES version when I learned about the use of the poison status to skip encounters.

    The whole idea is what hooked me to make the video when I first found out about the speedrun.

    Tactical Toxicity

    We at FFV Central certainly didn’t know why staying poisoned would make a run go quicker (before watching syo’s video, that is).

    All we could imagine was the punishment of playing through an RPG with the screen continually blurring in and out (or, apparently in this case, with audio blaring).

    On what else stood out when making the video, syo says:

    For [the] glitchless [speedrun category], I was surprised to learn that it’s significantly faster to have Firion solo carry the game, it seems wrong but it’s just how smart people figured out how to abuse the progression system.

    Here at FFV Central, we’ve also seen the surprising effectiveness of solo carries versus party-oriented approaches, and it’s interesting to see this strategy come up in FF II.

    For instance, notorious in the community of JRPG achievement hunters, the All Party Combinations Subset for Final Fantasy on Retro Achievements1 was ultimately designed to require party members not only being alive but also being within a certain level range of one another.2

    On what syo may have done differently in the video, syo says:

    Something I wish I’d touched on a bit more too is that on the overworld, encounters are always after a set amount of steps, so its very fast to just save 1 tile before an encounter, get the encounter, and then soft reset.

    This tricks the game into thinking you got the encounter and lets you continue walking freely.

    Sounds only slightly harder than entering the menu to do the same in the overworld in FFV. And much easier than memorizing a step route (typically the fastest option).

    Leaderboard Denied

    Speaking to FF Central further, syo lamented the lack of a recognized speedrun category for FF II’s English mod, despite some of the fascinating quirks this game offers to players. Says syo:

    I’d really like to see . . . [interested] reader[s] . . . try their hand at speedrunning the game. The [FF I & II speedrunning] discord is a great place to get started, and with enough interest, the goal of getting these categories made will come naturally.

    What do you think? Are you a fan of FF II on the Famicom? Do you think there should be a speedrun category for FF II in English?

    A Plan Forward

    If you have ideas to help make the leaderboard happen, check out the speedrunning Discord mentioned above or reach out to us.

    For example, for the English mod to both be eligible for a category and attract runners, the English mod would need some playtesting to confirm that all the time-saving glitches in the Japanese version remain intact in the English mod.

    It’d be preferable that such runs be recorded so that they can serve as a reference for the leaderboard moderators.

    Some measure of the time difference between the Japanese and English versions should also be documented.

    The modding team at FFV Central can investigate porting these glitches back over from the Japanese version if needed.

    This post has been viewed 23 time(s).

    1. Bravo to our community members who have bested this subset on Retro Achievements. A feature post may come soon. ↩︎
    2. But only after one of our modders (solidification) raised solo carrying as being a potential exploit, to the achievement author. ↩︎