Release: CaVE Database Manager v1.0

Sunday, November 03, 2019

Today I've released a new tool. In my efforts to translate my SNES Classic work over to supporting the Switch's SNES Online, I saw a empty space that could use filling in that of a tool to help users properly manage their custom databases. Not only for SNES, but nothing really existed like it for NES Online either despite that being out for awhile.

I wanted people to be able to mod their SNES Online installation as easily as possible. I wanted it to be as newbie friendly, and approachable by as many people as possible. Editing text files where one minor typo could render things completely unusable, was not that in the slightest!

SNES Classic & Switch: Update

Monday, September 30, 2019

I was waiting for the Switch's SNES Online app to come out for a while. I new it was going to bring some new answers/verifications based on lists found in the files. Mainly I was waiting to get Stunt Race FX/Wild Trax verified, as I already deduced their ID's and posted them as guesses a while ago. I was right!

We got some new ID's too. Sadly, those ID are unlikely to work any different than 0x0000 on the SNESC. But its still worth documenting.

It took me a bit to get around to trying to solve the Switches new version of the .sfrom format, but it's coming along. Code was found that alluded to SNESC format .sfroms being supported, which would be good because all my current work would translate to the switch. But attempts to use them failed.

Focusing on the switch .sfroms for the time being, we ran into a roadblock of the fact that it just seemed like only the PresetIDs for the games officially released on the switch worked. That would render my PresetID list work completely useless for the switch.

Well, after a couple weeks of trying various things, I finally got my hands dirty and poked around the asm myself. After a few tries... I finally got a hack working to enable all other Preset ID's! And incidently, that same hack also happened to get SNESC .sfrom working!

Now for SNESC type .sfrom's made with my tool, there should only be 2 stipulations. Don't use PCM audio, and make sure the first byte of the Product ID is a capital W in the Advanced window. There's no evidence to suggest that PCM audio is supported anymore. It's been completely dropped from the official ROMs. And there appears to be a new check in the code to check that character of the Product ID. That was not a thing on the SNESC.

Whats more, SFA2 and even my custom Star Ocean patch have already proven to run on the switch app now. Pics courtesy of user RadMcFist of the GBATemp forums.

As for the hack. I've posted the code on a thread there. I'll likely have to be updating it from time to time as the app is updated itself. And I may try to improve upon it, so there no point in posting it here. Maybe I'll figure out a better home page to post it later. Like on my unofficial WIP release page.

I'll likely ad a disclaimer to the sfrom Tool page too for switch users.

SNES Classic: Some New Stuff & Changes

Saturday, May 25, 2019

I've been trying to nitpick some things lately. Finding ways to improve the SFROM Tool page mostly. I updated the page to include a basic usage guide, because even though the tool is so simple to use, that doesn't mean that new users would naturally realize as much. So a simple "How To" can kind of teach them that.

SNES Classic: What's left? What's next?

Monday, May 13, 2019

Now that I've basically completed the Preset ID list, and as a result my .sfrom header database efforts... there's really not much left. I didn't even feel a need to update SFROM Tool for the better part of a year because that too was complete enough. There's minor things I can pick away at here and there, but nothing important and meaningful.

Lets first talk about "What's left?". Mysteries I haven't solved. Work I haven't done, etc.

SNES Classic: Big Update!

Saturday, April 13, 2019

Out of nowhere here comes a big update for my SNES Classic efforts!

I never thought I'd get here, but the Preset ID list... is basically complete! I've updated the list with 69 new verified Preset ID's. This will largely not effect most people, as my previous efforts to make educated guesses have proven to have around a 99% accuracy rate. But its nice to now know they are no longer guesses at all.

In addition to Preset IDs, this update will see a handful of new VC patches. PCM patches as well. There are also some header data amendments. The full change log will be posted below.

Naturally, SFROM Tool will see an update too.

With this update, its hard to see this being anything other then a "Final" candidate. There is very little that can be done from here with Preset IDs, VC patches and header data. All my effort has been on cataloging and predicting the official stuff relating to that. If all the official stuff is now verified, there's nothing left to catalog or predict.

The only things remaining are a select few things. E-PAL, and to some extent D-PAL/F-PAL games on the list have Preset IDs legitimately meant for that version of the game, but went unused. So they can never be truly verified. Korean versions, I don't know if they will ever be dumped and proven not to be the same as above. 2 games, Super Mario All-Stars and Stunt Race FX I strongly feel have ID's, and for one of them I have patches for. But while they can not be verified at this point, they possibly can be in the future with rumored Switch releases. Then there's the list of rumored games ripped from a 3DS ROM. Those likely have Preset IDs, but cant be verified because they were never released. Again, maybe in the future on Switch.

69 new verified Preset IDs (181 total now)
1 wrong guessed Preset ID among those 69
2 additional guessed Preset IDs moved as a result
2 fixed Preset ID set wrongly by typo
6 real PAL releases verified among the 69 (E-PAL, D-PAL, F-PAL.)
13 new VC patches
I didn't bother counting the total header info amendments, just a couple specifics
3 games with a new MaxInput value of 4 (up from the normal 2)
15 adjustments to h2_unknown3  among games (from 1 to 0)
8 or so header Product IDs moved from being 3DS based to WiiU based
2 fixed typoed Product IDs
1 new game added that I concluded didn't even exist
1 missed game I verified late last year but forgot to record.

You can get the patches in the "all-in-one" package. I silently posted the package before, but its now been updated. For now the individual patches are out of date/missing some. I may be removing those.

Preset ID List

Release: SFROM Tool v1.1.2.0

Tuesday, March 05, 2019

Contrary to recent conclusions, I have NOT abandoned SFROM Tool. The fact is that it is simply doing its job well enough as is. There's little left to do with it, so there's little point working on it. I've been contacted several times on the basis of people making this assumption in a misguided effort to get me to make it open source. Not because anyone would want to maintain or update SFROM Tool, but instead just to take what they want from my code and put it in other projects...

I'll set the record strait right now. If I truly felt that there was more to be done with the tool, but didn't feel I wanted to do it myself. Than yea. I might consider releasing it as open source. But that's it. In general I don't care for and have zero interest in open source projects. I enjoy the freedom of not having to maintain presentable code, I enjoy having a project to work on myself, and the idea of having the source open for other people to work on reduces what work I can do. I got a bad taste early on for people effectively stealing my projects, renaming their edit and trying to remove credit from me.

On this project in particular I've felt that last one is an issue, as I've given a LOT to the SNESClassic modding community, more so than probably anyone else. Yet people have tried to erase me from history and downplay my work.

Anyway, if there's something more to do with SFROM Tool, I'll do it. It isn't abandoned. Hence this update.

I was made aware only now that my .srm <--> .sram conversion feature didn't work with all games. So I updated it. It should now be able to make Mario RPG, Yoshis Island, Starfox 2 and Kirby Superstar .srams.You just have to choose the PresetID of the sfrom that you plan to use the .sram with. (Thanks goes to u/tunapizza for discovering how to get these working.)

I corrected a minor mistake with the compression code used for the patches.

I updated the SuperFX byte in the Advanced panel to the Special Chip byte, based on Bosco's findings.

And I fixed detection of a couple games.

As usual, you can find the link over on the SFROM Tool page, or via the self update checker.

News: The Bad Side of Doing Projects on the Internet

Thursday, September 13, 2018

Hey! It's been a few months!

I've currently moved on to working on more official projects to expand my profession portfollio rather than hobby projects, so there hasn't been much to post about here. I've stepped back from the SNESClassic hacking and development community almost entirely. I don't keep up with the day to day stuff anymore. But a few days ago I was brought back. At first for a good reason, but it quickly turn bad.

Dev Log: Star Ocean Canoe Patch

Monday, April 02, 2018

When I started the development of the Star Ocean canoe patch, for some reason I thought to try and keep a reasonable log of my point of view at that time as I thought that some people may find it interesting what goes into developing something like it. I planned to post it in a more broken up multi part post series, posting each part shortly after that part of development took place. But I ended up deciding against that as, I didn't know when the final patch would be released, and I didn't want to generate any extra hype for the patch that would feed any impatience. Doing so felt like it would just be an unfair teaser to people. So I held it off, thinking that I might post them shortly before I released the patch. But even then, I just wanted the patch out and elected to post it after, if at all.

Due to some recent unjust slander against me, causing me to have to defend myself against bogus claims, I'm now feeling more need to post my log. Originally this log would have made up 3 long posts, but I'm going to try and edit it and condense it down into this 1.

Release: Star Ocean (Canoe Patch)

Saturday, March 31, 2018

Several months ago I set about creating a patch for Star Ocean to allow it to be played on canoe. In doing so I had to dust off my barely used ROM hacking skills, advance said skills, unlock the format of the data storage in the ROM, reverse engineer the SDA pointer format used by SFA2, and write code to dump and generate a patch in the same fashion.

I would have hoped the testing period would have been shorter, but I've decided that it's now time to release it to the public. I can't say that there won't be issues. Crashes, soft locks or bad tiles. I can only say that testing of the current patch shows no such issues. If you do find such an issue, please provide me with a description on how to reproduce, and most importantly save files!

That said, I'll try to keep this post short, and instead probably post details later of the journey (I took notes).

Enjoy! =)

P.S. #1: FYI, this is of course exclusively a SFROM Tool patch, and thus requires SFROM Tool.

P.S. #2: If you're interested in the story behind the development of this patch, you can find it here.

Release: SFROM Tool v1.1.1.0

Friday, March 30, 2018

This is a small update consisting of mainly just minor improvements and fixes.

You can download the new version over on the SFROM Tool page.

Update Notes:

  • Advanced window will refresh if you select a new file while its open.
  • Added a menu option to force the database.xml to reimport/recompile.
  • Fixed the database.xml to now check and reimport as needed when the program is run via command line.
  • Fixed detection/compatibility for "Space Football - One on One".
  • Fixed a issue with the patch select popup always defaulting to the first option, no mater which you chose. 
  • Added console output messages for the various steps of the patching process, so CE users can better know when and what has happened.