(shouting)

Romhacks running on actual hardware

do you like them video games? what about those there romhacks? well pop on in here and talk about them then! what are you waiting for?!
Post Reply
Marcaek
Posts: 47
Joined: 12 years ago

Romhacks running on actual hardware

Post by Marcaek »

Could someone reccommend some hacks to play which would work on an actual cart? Would any of the VIPs fit this criteria?
User avatar
This Eye o' Mine
Posts: 199
Joined: 5 years ago
Pronouns: Nah, I'm good
Location: Ooh, yes please

Re: Romhacks running on actual hardware

Post by This Eye o' Mine »

The main issue with ROM hacks breaking is the old AddMusic tools made by Carol and Romi relying on inaccurate emulation to allow them to upload music into memory where it really shouldn't go, causing music data in RAM to often be overwritten during gameplay when played on more accurate emulators and actual hardware. There's also a couple other similar things that can break gameplay, like old custom sprite tools causing stuff to not be loaded properly when played on an actual SNES.

Any romhacks made in the last couple of years (say since about 2012, 2013?) should be using hardware accurate tools for inserting custom stuff, and thus should work, especially if you find them on SMWC. The VIP 4 patch that's in the LP thread right now will work since it's been fixed, though I'd suggest waiting for the next update which will fix some graphical issues in the end game that happen on actual hardware. VIP 1 and 2 also shouldn't break due to not having any custom music, though I can't give any guarantees on that. VIP 3 and 5 definitely will screw up due to their music. Finally, the version of ASMT that's up on SMWC now was fixed by Maks, so it should work too.

I'm actually part of a team that's planning to fix (and translate) more hacks in the future to work on real hardware, with the VIPs being up there on the priority list. You might want to keep an eye out for our thread once it goes up. Also check out the patches in this guy's thread, which I haven't tried yet personally, but which have apparently been tested to work on the accurate emulator BSNES, and therefore there's no reason they shouldn't work on real hardware: viewtopic.php?f=11&t=17793
Image
Image
Image
Marcaek
Posts: 47
Joined: 12 years ago

Re: Romhacks running on actual hardware

Post by Marcaek »

I assume JUMP would work on an actual console? That in particular is something I would like to try out.
User avatar
This Eye o' Mine
Posts: 199
Joined: 5 years ago
Pronouns: Nah, I'm good
Location: Ooh, yes please

Re: Romhacks running on actual hardware

Post by This Eye o' Mine »

JUMP is a fairly modern hack, and its page on SMWC doesn't have any tags to note that it would break, so I'd say it's safe to assume it will work.
Image
Image
Image
User avatar
Petzi
Posts: 111
Joined: 14 years ago

Re: Romhacks running on actual hardware

Post by Petzi »

How do you guys tell whether a romhack can be played on a real console? The most obvious way I can think of is testing it on the most accurate emulator around (or better yet, a real console) but surely you don't visit each room of each level to make sure it's working. Do you look for signs that those specific tools you mention were used? Do you have a fairly standard list of bugs, or do you catch some really odd ones? Thanks!
Oui oui. Je suis très jambon.
User avatar
aterraformer
Posts: 330
Joined: 12 years ago
Location: The Astral

Re: Romhacks running on actual hardware

Post by aterraformer »

You can look on the smwc page and sometimes get lucky, it'll say doesn't work on accurate emulators or nothing (and be correct). If you try the hack in higan, bizhawk, snes9x v1.53+, or console, usually it will crash within a few levels if it will. Cave levels tend to have echo so they are your best bet. Any hack on or before about 2013 and has custom music has a high chance of being broken but there are some exceptions. Hacks with all vanilla music tend to work though, unless there's a different kind of problem, which is rare to hacks like Super Mario Odyssey (unsupported chip) or SMW Returns (old sprite tool, maybe?).
raocow wrote:the plan is to wait for Jump to be released and then replacing the graphics without telling anyone involved with Jump.
Image
Image
User avatar
Petzi
Posts: 111
Joined: 14 years ago

Re: Romhacks running on actual hardware

Post by Petzi »

Very interesting stuff! And how do you fix them? Do you have any special tools to automate the process?
Oui oui. Je suis très jambon.
User avatar
This Eye o' Mine
Posts: 199
Joined: 5 years ago
Pronouns: Nah, I'm good
Location: Ooh, yes please

Re: Romhacks running on actual hardware

Post by This Eye o' Mine »

A basic check is just looking at the SMWC page for it and checking if any curator has put a 'fixme' tag on it, typically with a list of the main issues (though in most cases it only tends to list broken AddMusic as a compatibility issue, since obviously once that happens you won't be able to play any further).

The thing that in most cases completely breaks old hacks is old AddMusic tools, and there's ways of detecting that these were used, as well as methods to fix them. There's a bunch of other things that can go wrong though, with one of the more prominent ones I've personally encountered being old SpriteTool spawning missingno style enemies due to the assumptions it makes about the state of RAM (which a real console handles differently from ZSNES), and improper assumptions about how multiplication and division instructions work resulting in custom code that uses them getting the wrong result, often leading (for example) to custom sprite projectiles that are meant to be aimed at the player either not moving at all or flying off in the wrong direction. Fixing hacks up does involve doing at least one full run through of it on BSNES to find these unanticipated bugs (after either fixing the music or temporarily preventing it from loading in the first place so that it won't halt progress), and then finding and analysing the bit of code responsible for them.

We do have a basic list of the most common things that go wrong, so when they're encountered we tend to know what to look for, but every now and then there's something that comes completely out of left field, taking a more in-depth look.

Of course, even if we didn't go through the hack to find all these issues, it's good form to do a full run through after fixing them just to make sure nothing has broken as a result anyway. Stuff can catch you off-guard like that.
Image
Image
Image
User avatar
This Eye o' Mine
Posts: 199
Joined: 5 years ago
Pronouns: Nah, I'm good
Location: Ooh, yes please

Re: Romhacks running on actual hardware

Post by This Eye o' Mine »

Petzi wrote: 5 years ago Very interesting stuff! And how do you fix them? Do you have any special tools to automate the process?
I haven't tried this method myself, but some of the hack fixes that were done so far were apparently done by either finding the music resources used originally, or extracting them with programs that turns the music code in the ROM into the more higher-level abstract stuff that AddMusic tools use, so that they can then be reinserted with a modern AddMusic tool.

However, this doesn't always work that well, since the original resources aren't always easy to find, and apparently some of the tools mentioned don't produce the most accurate results (I can't really comment on that too much), so VIP 4 was fixed using a different method. Maks laboriously went through all of the music code and copied it into ASM format, so that it could then be reinserted with the load address of the music changed to no longer conflict with echo data. The advantage to this is that all the resources are already in the rom, and there's no tools involved that might alter the data without you knowing; the original AddMusic code setup and music data is preserved (besides load address and pointers), so you know for sure the result will be authentic. Downside is that copying the data by hand like that takes a lot of time and work, and it tends to require a bit more of an understanding of how and what stuff is loaded where into Audio RAM, so that you know where you can redirect stuff. In order to help with the first issue we've recently been working on some software that automates the process of copying down the music data into ASM. It's still under development, and it's still got its share of bugs, but with some manual working around those it's given enough output so far to help fix a couple of hacks with it, which will be going up on the forums just as soon as we've tested them out.
Image
Image
Image
User avatar
Petzi
Posts: 111
Joined: 14 years ago

Re: Romhacks running on actual hardware

Post by Petzi »

Thanks for the detailed replies, it sounds like a very cool project. Of course it's a shame that it needs to be done in the first place. Maybe it would be easier to make modified consoles that behave like ZSNES and then ship them out to people who want to play these romhacks :P
Oui oui. Je suis très jambon.
Marcaek
Posts: 47
Joined: 12 years ago

Re: Romhacks running on actual hardware

Post by Marcaek »

Here's another question: VLDC9, hardware compat or not? I expect due to the nature as a contest compilation perhaps it isn't, but would love to be wrong.
User avatar
BobisOnlyBob
Mythical Quadruped
Posts: 1793
Joined: 11 years ago
Location: the world is no longer a place

Re: Romhacks running on actual hardware

Post by BobisOnlyBob »

Crunchy wrote: 5 years ago Here's another question: VLDC9, hardware compat or not? I expect due to the nature as a contest compilation perhaps it isn't, but would love to be wrong.
Oh god please say yes I need to hear this theme coming from actual SNES hardware if possible
User avatar
This Eye o' Mine
Posts: 199
Joined: 5 years ago
Pronouns: Nah, I'm good
Location: Ooh, yes please

Re: Romhacks running on actual hardware

Post by This Eye o' Mine »

Without having tested it myself, I'm going to say the answer is likely yes, for a couple of reasons:

1. It's run by SMWC, which for about quite a number of years now has been extremely adamant about stuff getting uploaded to the site being able to run on accurate emulators/consoles.
2. It's a vanilla contest, meaning you're only allowed to use what Lunar Magic lets you do, and so there's no opportunity for outside ASM breaking stuff (unless a level just flat-out breaks the vanilla rule, which I vaguely recall happening once?).
3. The one non-vanilla thing that is allowed, the music, is nowadays inserted with tools that take the limitations of the SNES console into account. Tools that upload music data into the echo buffer aren't even available on SMWC in any way shape or form anymore (because archiving stuff for future reference is bad apparently).
4. I think raocow in his LP used Snes9x, which is I think accurate enough to cause hacks with music issues to break, and his LP went fine. Though I'm not sure what version of Snes9x raocow was using (older versions would have no problem with broken music).

That said, there's still ways conceivable that would break the experience on an actual SNES. Lax curating or oversights could let some of the more obscure hardware compatibility bugs go through (I don't know how the process of compiling everything into one hack went), it's still possible for music to break in certain circumstances when uploaded even with modern tools, etc. But without having done any actual testing myself, I would say it's still really unlikely to have any game-crashing issues.
Image
Image
Image
Post Reply