Project:Part of Team Megamix, but haven't done any actual work in ages.

Wiki edits:51

Norym, on Feb 24 2008, 04:17 AM, said:

Puto, on Feb 23 2008, 11:02 PM, said:

In final S2K, they added a check in knuckles' jump routine for demo mode, and if such they set the jump height to sonic's jump height, which fixes around half the demos. However, they didn't re-insert the mid-air speed cap in demo mode, so the EHZ and ARZ demos still screw up.

Ah, thank you for clarifying that for me. So as I understand it, the game still reads the demos straight from the S2 data, just with the workaround applied to make Knuckles jump like sonic (but not move as fast as him in the air), and it wasn't created yet as of 0524.

I guess I'll check to see where this was added (if it was in any of these protos) and edit it back in this post later. ^^

EDIT - That was quick.... I guess they added it by 0606. Speaking of 0606, they added the Knuckles logo by that build.

Not exactly. The demos are in the upmem chip, but they're still the same as in Sonic 2, AKA Sonic Team were too lazy to record new demos.

Project:Part of Team Megamix, but haven't done any actual work in ages.

Wiki edits:51

There's shitloads of data in S2K that could have been used from S2, but wasn't. My guess is, they had 256kb of size, and as long as it fit there, there was no need to cut it down any further, so once they got to 256kb, they just stopped there.

For any data they wanted to read from the S2 rom they had to worry about calling from different locations for different revisions, had to obtain the correct locations for all the revisions, and it just generally makes the process more complicated, and introduces a whole set of potential problems. They wouldn't do it unless there was a significant space advantage. Like Puto said, they had 256kb to play with. Not much point reducing size if they were already under the target.

Ok well, is it known which ROMs the prototype UPMEMs work with? Are they pretty much tied to the same builds on the S&K side? Because we have build numbers for S&K to match all the UPMEM protos.

Edit: Ok, I just built prototype KiS2 ROMs using matching S&K and UPMEM builds. The cheats vary between the ROMs. 0524, of course, has level select enabled by default. 0606 uses UDDDU, 0608 uses UUDDLRLR, and 0610 and later use UUUDDDLRLR like the final. 0606 has the proper Super Knuckles pallet, and he reverts back to the proper Knuckles pallet after the endpost.

Actually it does, since S2K grabs Knuckles' art, mappings and DPLCs straight from the S&K ROM.

I don't know the S&K rom very well, but I do know they have lots of segments in the rom padded out to particular boundaries. This prevents minor, or even fairly significant changes to the rom requiring a change to the base locations of any of these segments. I would suspect they worked out these boundaries early on in the piece, so that all data they need to load from the S2K upmem is accessible at a known base, which doesn't change beetween revisions of the S&K rom. Someone correct me if I'm wrong, but I would think it likely that you would be able to combine S2K with any version of the S&K rom and have it work.

The 256kb S2K upmem rom contains all the code for S2&K, so everything that determines how the game works is contained in this rom. That includes bugs. The S&K and S2 roms are only used for their data. For example, all the tiles and mapping data for Knuckles come from the S&K rom, while the tiles and maps for the levels come from the S2 rom.

Note that while you should be able to combine any version of S&K to build the S2&K rom, the same is not true of the S2 rom. You can only combine one of the final releases of the S2 rom to build S2&K. This is because the data in the S2 rom is not based at known addresses like in S&K, but is in slightly different locations for different builds of the game. The startup code in the S&K rom which checks for locked on games reads the serial number of the game from the header, to determine whether it is a known build of S2, and if it is, which locations to read from when loading data from the rom. Beta versions of S2 will have a different serial number, and won't be recognised as S2 at all. It would be like you locked on any random non-sonic game. Even if the serial numbers did match, the game would just crash horribly due to the data not being in the places where the S2K upmem tries to read it from.