• We are evaluating the impact of various features on site performance. You may see Bookmarks, Similar Threads, and other features come and go while we run tests.

SNES Mini Classic Hacking | More games, more borders, more gooder.

Which is the better SNES game?

  • Alien 3

    Votes: 58 62.4%
  • Beavis and Butt-head

    Votes: 35 37.6%

  • Total voters
    93
  • Poll closed .
OP
OP
Robin64
Oct 25, 2017
2,068
0
England
The high-res text isn't nearly as unreadable as it was in Marvelous. The game is definitely very playable. A shame it's not 'perfect' though.

Great work either way everyone!
I find that the Japanese characters in low res are more tolerable than English letters. Because our letters have lots of vertical straight lines, and often together like the letter m, they blur horribly.
 
Jan 20, 2018
141
0
London
twitter.com
So attempting to create an SFROM using the english patch in this post and the VC and PCM patches just crashes the SFROM tool
Noted. I'm getting a crash too. I'll look into it.
I had a pre-patched translation of the Rudras rom, from emuparadise I think (Aeon genesis Eng patch). I had already added this to hakchi, so I threw that sfrom into the SfromTool, added the VC .cnp and checked on the preset ID etc, and it outputted the new patched .sfrom just fine. This ran in Canoe no problems (except the lack of high res text obviously).
 
Still pondering the whole logic behind this PID stuff. They are not part of the 'core' rom but in the footer telling canoe which parts of the emulation to start/enhance. Did I get it right?

So they trigger something? Isn't there a way to connect some PIDs (or parts of them) to the functions they trigger? Maybe it would thus be possible to create 'synthetic' PIDs for our purpose?

Way to simple thinking probably...
 
OP
OP
Robin64
Oct 25, 2017
2,068
0
England
So I'm guessing there is no way to get every SNES game on this still, correct? In other words, I need to be selective about what I load due to space constraints. Correct?
Being selective helps you curate your collection, too, and you're more likely to play a small amount of awesome games than if you have a list of 721 in front of you. Just how I see it.
 
Oct 27, 2017
3,562
0
So I'm guessing there is no way to get every SNES game on this still, correct? In other words, I need to be selective about what I load due to space constraints. Correct?
Yes, if you use USB storage. Otherwise no, you must be choosy, but you can fit upwards to 150 without issue so you should be fine getting all your favorites on there.
 
Jan 23, 2018
73
0
I had a pre-patched translation of the Rudras rom, from emuparadise I think (Aeon genesis Eng patch). I had already added this to hakchi, so I threw that sfrom into the SfromTool, added the VC .cnp and checked on the preset ID etc, and it outputted the new patched .sfrom just fine. This ran in Canoe no problems (except the lack of high res text obviously).
If you did that, then the VC patch was not applied at all. It's hard for me to explain, but I'll just say that the "Select SFROM" import option wasn't designed for patching. It was designed just for editing header bytes. Generate a sfrom from scratch.

I already have a related issue noted for me to address, so I'll look into seeing what I can do better for this issue at the same time.
 
Oct 27, 2017
57
0
It goes without saying really, but I still want to give a massive thanks to DarkAkuma and everyone else whos putting in the work you all are doing on this. I can't wait to see how the SNES mini looks compatibility wise in the coming months!
 
Jan 20, 2018
141
0
London
twitter.com
If you did that, then the VC patch was not applied at all. It's hard for me to explain, but I'll just say that the "Select SFROM" import option wasn't designed for patching. It was designed just for editing header bytes. Generate a sfrom from scratch.

I already have a related issue noted for me to address, so I'll look into seeing what I can do better for this issue at the same time.
Very good to know... thanks. So. Many. Variables. :)
 
Oct 28, 2017
809
0
Still pondering the whole logic behind this PID stuff. They are not part of the 'core' rom but in the footer telling canoe which parts of the emulation to start/enhance. Did I get it right?

So they trigger something? Isn't there a way to connect some PIDs (or parts of them) to the functions they trigger? Maybe it would thus be possible to create 'synthetic' PIDs for our purpose?

Way to simple thinking probably...
You're essentially correct about their use: They tell Canoe how to behave for each rom. Either turn on or off some parts of the emulation, tweak the timing of various components so that the game runs properly, support specific hardware features or external chips, and more or less "cheat" and hack away at broken games until they work, etc... In a way Canoe is a very poor general purpose emulator, but a very fast one with tweaks and hacks for most individual games that makes them appear to run flawlessly, so you'd never notice how shoddy it is until you start throwing unexpected games at it.

From a corporate development standpoint, it makes total sense: It made the emulator fast and able to run on the Wii's very weak hardware, and it made it quick to develop and maintain. A new game we want to release doesn't work by default? Well then when we detect its PID, we apply this hack, change this timing, change a few things here and there, comment out that code, add a new code path there, yaddi yadda and boom, the game works, call it a day, next game.

Since PIDs are hardcoded into Canoe, there's no way to create new ones unfortunately. This would need for someone to decompile Canoe and hack in new PIDs that would enable/disable or fix components that we need to get broken games to work. That's very hard and I wouldn't hold my breath for it. (Hell at that point if someone had that kind of knowledge, I'd rather they try to fix Retroarch's horrid input lag instead.)
 
Oct 25, 2017
2,052
0
Burlington, NC
Posting to say thanks everyone for all their work, I received a SNES Classic as an early birthday gift from my wife. I've put a lot of games I haven't played in a while on there thanks to the guides and technical information here, as well as getting Tactics Ogre to run (wow!) and I'm watching progress on Rudra (played the english translation a while back) and probably going to snag Treasure Hunter G as well.

I see that Tales of Phantasia doesn't work (the english translation) yet, as well as Star Ocean.

It's exceptionally wonderful to play FFIV Namingway Edition with no problems, as well as FFV GBA Script port.

I'm not willing to go further beyond into other system emulation just yet (want to keep it just to SNES atm to focus my efforts) so that's for another day.

Looking at my list of games however, I see there's much much more to go, which is exciting!

I'll also be attempting Front Mission: Gun Hazard and various Fire Emblems to fill out the JP list.
 
Oct 27, 2017
1,108
0
www.last.fm
Say, is there a good canoe compatible translation for legend of the mystical ninja 2 out there?
I found a topic about a guy making one but he hasn't updated for almost a year. i'm pretty sure nothing complete exists. it looks like these guys might release one soon, but who knows if that means in a month or a year. just keep checking back every once in a while I guess.
 
It worries me that I need to uninstall the snes9x core. Do I really need to uninstall the old core?

"Step 7. Uninstall the old snes9x2010 core from your SNES Classic using the uninstall mods menu."

"Step 8. Install your new snes9x_10_25_17 mod to your SNES Classic using the install mods menu."

Also one of the comments on that reddit claims some roms aren't working anymore with that new core.
I use those Manic cores exclusively and they are excellent and often have newer additions and features than the clover retroarch cores
You can have both cores installed and just use one core for that one game.
Indeed, this is how you should approach it. I have 3 SNES emulators installed:
1. Canoe, for as many games as possible
2. snes9x as fallback for any non-Canoe games
3. snes9x05 for certain specific games that only work in this version.

To do this you use the "dual core" versions of both snes9x and snes9x05 from Manic's set.

I see. So until someone starts disassembling Canoe we're out of luck...

Not that I really think that would be a realistic solution. :(
Maybe we can use this decompiler that takes an ARM binary and produces equivalent Python code (much more readable for the average nerd) https://github.com/gyaneshanand/ARM_Decompiler
 
Oct 28, 2017
809
0
Hmmm I thought Marvelous was supposed to run well with the latest discoveries but I’m still getting alot of sound slowdown and pitch changes when there’s a lot of sprites on screen. Like, just walking around the fishing area causes the music to become way off-key. Is this normal? And yes I did add “-no-lowlatency” to the commandline. Now that I think about it, does the global commandline override all invididual commandlines? Or does it append?
 
Hmmm I thought Marvelous was supposed to run well with the latest discoveries but I’m still getting alot of sound slowdown and pitch changes when there’s a lot of sprites on screen. Like, just walking around the fishing area causes the music to become way off-key. Is this normal? And yes I did add “-no-lowlatency” to the commandline. Now that I think about it, does the global commandline override all invididual commandlines? Or does it append?
I think it appends. can you paste your command line here?
 
Oct 28, 2017
809
0
I think it appends. can you paste your command line here?
I have this set for Marvelous (without quotes obviously): "/bin/clover-canoe-shvc-wr -rom /usr/share/games/CLV-U-NSUHE/Marvelous_-_Mouhitotsu_no_Takarajima_(J)_[!].sfrom.7z --volume 100 -rollback-snapshot-period 600 -no-lowlatency"

And I have this in the global commandline: "--smooth43"
 
Jan 20, 2018
141
0
London
twitter.com
I have this set for Marvelous (without quotes obviously): "/bin/clover-canoe-shvc-wr -rom /usr/share/games/CLV-U-NSUHE/Marvelous_-_Mouhitotsu_no_Takarajima_(J)_[!].sfrom.7z --volume 100 -rollback-snapshot-period 600 -no-lowlatency"

And I have this in the global commandline: "--smooth43"
I had totally forgotten about global command line. Is --smooth43 for the scanline mod?

Stories on reddit of people still having Marvelous stutters might be to do with forgotten global command lines? I have -fp 0 in my global command line. I seem to remember it is something to do with turning off the epilepsy prevention stuff.
 
Last edited:
Nov 19, 2017
1,268
0
I had totally forgotten about global command line. Is --smooth43 for the scanline mod?

Stories on reddit of people still having Marvelous stutters might be to do with forgotten global command lines? I have -fp 0 in my command line. I seem to remember it is something to do with turning off the epilepsy prevention stuff.
Is his Marvelous command line okay then?
So what would the global look like then?
I’d like to try the no blurring and epilepsy prevention off as well.
 
Oct 28, 2017
809
0
I had totally forgotten about global command line. Is --smooth43 for the scanline mod?

Stories on reddit of people still having Marvelous stutters might be to do with forgotten global command lines? I have -fp 0 in my global command line. I seem to remember it is something to do with turning off the epilepsy prevention stuff.
Yeah it adds interpolation blurring (like CRT mode) to the 4:3 mode.

And whoa I didn’t even know about -fp! Maybe that removes the annoying blurs in Earthbound?
 
Oct 25, 2017
2,052
0
Burlington, NC
Got a lot of games working currently! This is actually the fun part really, getting everything to work out.

Current log of games to get working:

FEDA - fixed!
Fire Emblem - Monsho No Nazo (JP) - WORKING
Front Mission - Gun Hazard (translation) - WORKING
The 7th Saga - 7th Saga: The New Class (hack) - WORKING

Interestingly enough I didn't enable the translation on Fire Emblem, so I inadvertently confirmed that it worked without it. Translation also works.

Gun Hazard is also a really cool game.
 
Last edited:

TLZ

Banned
Member
Oct 27, 2017
1,332
0
Have been away from this for a while and would like to hack my SNES now. Is it easier to do now? How many games max?
 
Since PIDs are hardcoded into Canoe, there's no way to create new ones unfortunately. This would need for someone to decompile Canoe and hack in new PIDs that would enable/disable or fix components that we need to get broken games to work. That's very hard and I wouldn't hold my breath for it. (Hell at that point if someone had that kind of knowledge, I'd rather they try to fix Retroarch's horrid input lag instead.)
Maybe we can use this decompiler that takes an ARM binary and produces equivalent Python code (much more readable for the average nerd) https://github.com/gyaneshanand/ARM_Decompiler
Thanks for your advice and the further information to both of you. Since PIDs and what they trigger are hardcoded into canoe is it at least thinkable to 'document' this connection? That's of course all wild guessing from my part but with more information on the individual PIDs we could try to find the one that is closest to what we need, e.g. for Rudras.