The Usual Christmas Update

Saturday, December 25, 2021

Merry Christmas!

As I often like to post... something on Christmas, as a sort of present... This year is no exception! Now that CaVE is back, and updated well enough with new features and support, there wouldn't be much to add to it. Nor SFROM Tool. Least not to be worth considering a present. But I have been working on a side project that is now ready...

Back in October, while waiting on the N64/Genesis NSO apps to be released, I killed time with this side project. As some may know, SNES is my favorite console... ever! So it tends to be my focus. There wasn't a lot left to do with it and NSO, but I found something. We all know how to use CaVE at this point, but there is an obvious feature that might be strait up expected by some, but isn't included. It's a feature that takes a lot of work! That feature is what I call a "Preset Database". What that means in this context is, when you add a game in CaVE, there are a ton of values you need to set. Typically images and descriptions. CaVE does what it can to add in placeholder values, but... if you are like me, you would want all the values to look as close to how they would if Nintendo released support for that game themselves. A "Preset Database" in relation to this would automatically set those values with more proper ones. Add say Chrono Trigger? In the split second after adding it CaVE would automatically select the box and title screen art, fill out the meta description, publisher, copyright, etc. Such a feature is convenient, but takes a lot of work to implement.

Release: CaVE Database Manager v1.3.3

Saturday, November 27, 2021

This is a small release, but worth mentioning.

The major part of this update is the meta/config/lua editor. This isnt a huge thing for the average user, but it is for the active community that's trying to increase the roster of compatible games as it makes things so much easier and quicker. But... its not completely useless for average users, as it allows the average user to try settings themselves, and allows others to give them advice on settings to try to help a game work better.

Beyond that, exporting your database is more efficient, SPT support for N64 is fully working (with a couple examples available on the compatibility list, there's some crude support for Super Mario 3D Allstars (for advanced users, and mostly just for testing atm), a couple QoL updates and some fixes.

Of note. Its now been over 1 month since N64 NSO came out and... we now have 125/299 USA games booting, and many of them playing just fine. Its come a long way in a short time, and... while the emu has its issues... its fairing better than people would think. It seems to be struggling with the same games other emus struggle with. In some cases it emulators games better, and in some cases maybe worse.

While most of the games are marked as having minor issues atm, thats just a default I'm using as we give them time to truly be tested. Soon enough the focus will shift to switching those from yellow to green, whether by setting its configuration right, or otherwise.

ChangeLog v1.3.3.0:

Fixed some database issues with N64.
Improved the CPIO code used with dtz's.
Added a new Settings window for N64 .meta/.cfg./.lua editing.
Added a log for changes to your database, for use with the Export feature, enabling it to ONLY export the files it has found to be changed since the last time you exported.
The Machine Country option should now be automatically set for Genesis/Mega Drive.
Added "Disable Handcursor" and "KeyAssign Type" options to N64.
The tools menu is now completely hidden when a N64 database is not loaded.
Changing the code value will now prompt you to change other values that the Code is typically used in.
Added an option to allow you to change the selected ROM for an already imported game.
A few misc bug fixes to SPT support with N64.
Primitive support for working with Super Mario 3D Allstars, available only as an advanced option. "sm3das_enabled": true

Release: CaVE Database Manager v1.3

Tuesday, November 02, 2021

This is a big release! Obviously there's the N64/Genesis support. But also there have been some significant changes all around.

First lets talk about the N64/Genesis support.

Genesis... works. There really wasn't much too it. There are a couple options you can set in CaVE to adjust some things, but nothing like sfroms, full unlocks, or dtzs.

As for N64... Yea. If you expected it to just work and load tons of games out of the box, you were deluding yourself. That is not the reality. Instead, we have a .dtz format to deal with thats... most comparable to the .sfrom footers from SNES. But MANY more options, and there no tool or database to work with to help set these settings easily or automatically.

There's more to it, but the crucial part of a dtz can be boiled down to the 02_XXXXXX.cfg file inside the archive. In there you have various settings and hacks to be applied. At a minimum to boot, each game needs its Idle thread jump address defined. And some games, mostly 3rd party, have multiple such threads to define.

Release: SFROM Tool v1.3.0.0

Friday, October 15, 2021

It's long overdue... but I guess considering I thought the last version might be the true last version... maybe not. This release of SFROM Tool brings a major change I... thought I already released.

Change Log v1.3.0.0:

Revamped Game Codes/Preset IDs.

    • GameCodes are now shown in their proper interger format, instead of hex.
    • GameCodes can now be chosen from a drop down selection box, with clear labels for what game that GameCode is intended for.
    • A new Legacy Mode option has been added, to display GameCodes in the old "Preset ID" format purely to help the adoption process.

Added new Key and Manual groups to the Advanced window, based off my continued understanding of the format.

    • Key contains 2 unknown values that were previously even unknown if they were values or not.
    • Manual contains Para and Max Speed.

The ROM Map control has been updated to list the available options in a clearer way, and now has a 3rd... but useless ExHiROM option.

Compatibility Mode 7 is now the default. This may cause issues with some older SNES/SFC Online versions.

Added support for Wii SNES VC ROMs.

    • These ROMs are the ones that come with the .rom extension.
    • With these, .pcm, .var, and .sda files are also checked for, and imported/exported.
    • To import these roms, simply select the File>Open ROM menu option.
    • To export in this format select File>Save as...>as Wii ROM/PCM/VAR.

Updated the internal database to include info/settings from discoveries made since the last release.

The New Future of CavE and the Full Unlock

Saturday, October 02, 2021

I said it, and I'm a man of my word. If I had a reason to be invested in the development of these projects... it would make a difference. I would be willing to un-cancel them. Thanks to the generous donation of ItzSka, I am now able to develop these projects for a device... that I own!

So both projects are back to being public again. But there is a difference. I will not be managing them at the old toxic forum anymore. This will be done purely out of my website, and the Discord (#nintendo-vc-cc-nso). I may make a subreddit or other page too. At the least for now, I have remade the setup guide on my website.

There will be some changes to how I pursue the projects too. I will be making it for myself, and just happening to make it public. I will maintain it for myself and supporters. User appreciation will of course be very welcome, but it wont be required even at a bare minimum like before.

That out of the way... I did make a couple minor updates to the app while it was publicly canceled. The idea was to only do database updates for supporters, but... one update I made just because I wanted it. And the other was to make things easier for the private releases, but helps for public releases too.

Slowing Down

Saturday, September 18, 2021

I realized it has been months now since I posted an update here. In truth, I haven't been working on my projects lately. I split my free time between whatever is fun for me at the moment, and as my last spoof post indicated... I had an issue with WoW. I pushed myself too hard to tough it out through the non-fun things, and it kind of ruined the game for me. I did go play retail, and that's was a band-aid for a little while... but it's just not fun... Even TBC Classic only was fun for like a week or two for me.

I lost interest in my SNES projects, simply because my focus was shifting heavily towards my complete VC/CC Tool, CaVE revamp project. I was building up steam with that... and well, it sucks how this happens but... I was contacted by someone willing to donate a Switch and 3DS. That of course was great! But quickly the Switch got removed from the table, so the hope of bringing back anything of CaVE 1.0 was placed back on the shelf. No matter though. A 3DS is plenty! And just what I needed to get focused and stay motivated on my new project. But... the bad part is... I put my project on complete hold until I got the 3DS... I patiently waited weeks, maybe a month. Even checking for its delivery every day. But I came to find out it wasn't sent. Fine. That's cool. Not everyone is used to mailing stuff, as was the claimed issue, and things are hard for people. I get it. So I waited more... and more... and more... I contacted the person again, and... silence.

So... in the end, I put the project on the shelf for no reason. I was back to square one with several months lost, and... even less motivation to work on the project than when I started my wait.

News: A Legend isnt Born (World of Warcraft)

Saturday, February 20, 2021

[The following is a spoof of a post I made YEARS ago, written to help blow off some steam.]

Last week after a year of effort, a couple long grueling months of trying to find a raid group, and several mental break downs, my raid group "40 Man PUG" and I finally didn't get got me my Legendary item done. The Legendary staff "Atiesh, Greatstaff of the Guardian" for my Priest. It's amazing for me as seeing all I had to go through, and the extraordinary amount of effort I had put in along the way in order to get this all done.

I started my quest for this staff in the winter of last year, when was able to start playing WoW Classic again. Before that, I wasn't even playing WoW Classic past the launch, and didn't even really plan to. Part of me wished it wasn't purely for that staff but it was, and the fact that probably the thing I miss the most from WoW retail was doing my Rogues legendary quest for a great weapon and the experience shared with the amazing people I did it with (or other events shared with people who cared about me). WoW Classic didn't have that for most of the time so far, and even when it did, my main class was excluded. I could talk about the difference of Atiesh and Thunderfury, mostly stating how I put in countless hours helping countless other people farm their Thunderfury. But in the end, no one returns the favor for me!

Continuing my recent SNES work

Thursday, February 04, 2021

Where I last left off was with my discovery of the internal Wii list, and some surface conclusions. I decided to stick with that for a moment and see if I can use it to help fill in anything of the unknown parts of the game code list.

After looking at it from a few angles, I concluded that there might be something to translate from the list. Of the unreleased games in the Wii list there's a certain amount of them that were given Wii Product IDs. That amount seems to fit with the empty space in the 0x1119-0x112D (281-301) area of the list. Whats more, it makes sense for NERD to place these games first on the list over the others since being given a Product ID probably means that support for the game was done. There are not many games on the list that don't have Product IDs but were later supported. Wrecking Crew and Star Ocean are it really. And those seem to have been assigned Game Codes later on the list. I just have to keep stacking logic up like that until a picture emerges!

So I now have a handful of games and slots to fill with them. How do I figure out what goes where? Well, is not easy. In the end, I can only label these as "pure speculation" with little confidence. But I can at least use some info to make educated guesses. The info I have available is order/patterns and the decompiled code.

Moving Forward with my SNES projects

Monday, January 11, 2021

Now that some time has passed, and things have settled after dropping my Switch projects, it's time to think about whats next.

As I look around at my projects and notes, and consider what its the most interesting/fun thing to work on. Well, I'm a bit all over the place for the moment. I immediately dove into past projects I found enjoyment in purely for myself, those being the Game Code list and SFROM Tool. These I enjoyed because the work was useful to others, but there was no demand for them that made me feel pressed. I could work on things at my own pace, and take the time to have fun doing so. I find figuring out the SFROM format details interesting in a similar fashion to solving puzzles like sudokus. Reverse engineering for what I do is a lot of evaluating the data I know to fill in the blanks enough of that which I don't so after the process of elimination, what remains is clear.

There's not a lot left for work on the game code list. But still... I made some new conclusions. In my first days back working on this stuff I deduced that 0x111C belongs to Super Turriacan 2 E-PAL, and 0x1125 belongs to Power Instinct J-NTSC. I can't say I'm 100% certain, thus I cant label them as "verified". But for me the evidence is fairly strong. The short of it is, the de-compiled code suggests these.

As always, with this list seeing further progress, what remains ahead is going to be that much more difficult to solve. While it may look like more, there are about 12 remaining game codes that are valid to the emulators. 4 more that may or may not be valid, and at least 2 or more that are unused but probably reserved. On the other side, there are about 19 known games that should, or may have a spot on the list.

I can make some guesses based on available data. But for the moment I'm unable to work towards verifying anything more. At the most, as mentioned in my christmas post, maybe DQ 1+2 and 3 at some point.

But for now, 2 new ones to this level of confidence is nice to see!