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

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.

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

Saturday, November 28, 2020

Some time last year I wrote a post documenting the things I had still not figured out with the SNESClassic, .sfrom format and Preset ID list. Ever since then, a few things have changed. So I figure why not make an update?

First off, in that last post, I concluded that I had "completed" my work. Whats changed with that?

Well, SNES Online. When I wrote that, SNES Online was not out yet, if it was even on my radar at all. It being released caused me to transfer my knowledge and efforts from SNESC over to that. As a result, I have dug more into it than I had with SNESC. Particularly, I now sift through and document de-compiled code. I do that now with the Switch mostly, but also the SNES and WiiU binaries a little as well. Naturally, having access to such information is going to yield more results.

First up.

SNES Online: Findings

Saturday, November 30, 2019

As you should be easily aware of, I've shifted my research over from SNES Classic to SNES Switch Online. I'm still interested in SNES Classic, there's just more to figure out and work on right now with the Switch.

After I released CaVE I started getting back to work on the Switch .sfrom footer format. I got the basics documented and supported in SFROM Tool. But there's several unused parameters that have not been figured out.

Looking in the code, you can generate a full list of the params by value. And you can figure out which ones use a single byte value, and which use multi bytes. For some params, I had the convenience of there being support for the familiar SNESC sfrom format headers, and I could tell when a value is shared between the 2 and figure out the purpose for the one in the NSO .sfrom format. This is how I figured out how to use param 44, and get SFA2 and Star Ocean supported.

After that though, I had other things to focus on, so progress stopped. Now though I've been back to work! And I've figured out a few more params!

First up, we have...

Release: SFROM Tool v1.2.0.0

Saturday, November 30, 2019

This release is long overdue!

Originally, I avoided it in favor of unofficial builds as I wanted the next version to be completely cross platform. But, as I have gotten no feedback on the Mac/Linux builds... I just haven't cared to try keeping them up-to-date with the Windows version. Avalonia, the WPF alternative UI library I use for those, is also a limited annoying pain in the ass to work with too. So I don't much care for working on those atm...

Anyway. The major changes in this build include. Drag and Drop support. Zipped ROM support. Switch SFROM support. And 3DS data.bin support.

The Switch .sfrom support is the biggest thing. As soon as the SNES Switch Online app came out I did my best to figure it out asap. I released a un-offical build as soon as I could, but as I had not figured out most of the params, I didn't want to release the real build yet. But now things are different! And while I may not have a perfect understanding of every parameter... I think I have a suitable enough grasp for a release.

I'll be posting a write up of my journey to figure out and document the new format soon.

Additionally, the 3DS support is important. It was always something I "could" do. And in the case of importing, I DID do it for my debugging/development code. But I never though there was a need for it until a couple months ago. I was asked about it, and told of the need. I was already working on support for the new .sfrom format... so it was nothing much to additionally work on support for the 3DS too.

Here's the changelog...

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.