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!

Cheap, Last Minute, Gas Station X-Mas Gift

Friday, December 25, 2020

I was thinking about what time of year it is. Usually I like to have something to post as a Christmas gift on the day. But this year, I had nothing. I haven't been working on a ton this year that would suit such a release. IDK. Maybe I could have delayed the doomed CaVE update if I had thought about it. I might have even been able to work in the proper SP title importable format I would have wanted. But I didn't think about it, and well. we know how that project went anyway...

Speaking of that. I may have just ignored posting a update this year. I often do if I don't have anything worth while. But... I felt bad due to the timing of the cancellation of those projects. It was almost like I was giving a "cancellation" for xmas, even if it was done several days earlier.

So, feeling bad about that, I started thinking "What could I whip up for a xmas day release this year, to help wipe the stink of that away even a little?".

I wasn't coming up with much. Most of my work isn't suited for just "whipping up" last minute. At the most, maybe if I had a update idea for SFROM Tool or something. But all I have for that right now isn't worth a new version.

I tried thinking... IDK, maybe I could pull off a miracle and reverse engineer my way into verifying a new Game Code (Preset ID). Whats big enough for that? Looking over the list, the best candidates are Dragon Quest 1&2, and Dragon Quest 3. But to figure out the IDs for those, and a lot of whats left really, it would take quite a bit of effort and luck. I came up with a plan of attack, but... fell shorter then you might think. Maybe later. But for now, I still need something.

I was thinking, "I'm working on a PCM audio tool. Why not something with that?". The tool itself isn't ready at all. I could maybe compile it so that half of it works, but I'd rather release the full thing. And besides, I'd still need to clean up a lot of it to be release ready.

In comes my big idea! lol

The Future of CaVE and the Full Unlock

Wednesday, December 23, 2020

[If reading this after 10/02/21, ignore this post. CaVE is back. Refer to this post instead.]

Ok. So here I am thinking about the options I have ahead of me to take with CaVE and my Switch related work in general. I just got done grinding away for a few months on a CaVE update, rich with containing features I've seen asked for countless times and cool new features to enable stuff Nintendo hasn't even done yet! I painstakingly rewrote half the code to support a new, smarter database setup that would prove better in the long run. This was big update that I was expecting to be well received!

And... *crickets*...

Yea. Just silence for the most part. Naturally, as this silence continued I begin to wonder "Why the hell am I even doing this stuff?". I don't own a Switch. The only thing I personally get out of these pursuits is what I learn about the sfrom format and Game Code (Preset ID) stuff. Developing the "Full Unlock"? That does nothing for me. CaVE? Nope. Though, it could be argued that in the long run CaVE might work into my personal goals/interests, just not right now. But really, the only reason I work on those is for other people. The "community". All I get out of it is their appreciation for my otherwise selfless work. Its simple, and requires minimal effort, but it feels nice, and its... enough.

So... what if I don't even get that? Then what's the point?

The answer is, there isn't one.

So how did I go wrong and not realize this stuff until now? Well, my conclusion is, I came into this from previously being in the SNES Classic community. That was actually a community. We had people who cared about things like compatibility, quality, custom skins, compiling box/screen art, etc. There was a lot of mutual give and take.