I had a quick question...how can you view the ending that's leftover from Sonic 1, or what's left with it? I think it was discussed somewhat in this topic but no explanation as to how to get to it was given.
http://www.hacking-cult.org/html/upload/1163286229.rar Check this savestate out. I found the CPZ3 boss It was a HELL to get it to work, so after half an hour of work, I managed to get him to float left and right. Have fun. As for the graphics - I just couldn't get them to work. I'll try to do it once I finish the disassembly.
Awesome, drx. But, I'm confused. I can't tell if he's behaving like Marble Zone's boss, or Chemical Plant's boss. It seems very much like MZ's, but also seems like a CPZ boss who can't find any liquid to suck up. But if it WAS the CPZ boss, why would he be in Act 3? Now to find LZ's boss...we've all come as close to hearing the boss music, no more.
...because that's what the DSR event is set up to load the boss in, maybe? It's not like they updated the boss calls in any level except EHZ, it seems.
I think he was being worked on at a very early development stage, when they still didn't rearrange all the addresses in the RAM, and decide that levels will have 2 acts, not 3. Edit: In other news - there is code that tells that GHZ was a 2P-only zone at an earlier stage of development (forced 2P), probably before they changed the collision format.
Sorry for the double post, but some would not notice: I found something interesting. All the 16x16 mappings are uncompressed in the ROM. But that's not all folks - they are converted to 2P mappings on the fly, when the 2p mode is on. Imagine the possibilities Here's the code that does that ($FFE8 is the 2p mode on/off variable): Code (Text): MainLevelLoadBlock_Convert16: lea ($FFFF9000).w,a1 move.w #$BFF,d2 MainLevelLoadBlock_ConvertLoop: move.w (a0)+,d0 tst.w ($FFFFFFE8).w beq.s MainLevelLoadBlock_Not2p move.w d0,d1 andi.w #$F800,d0 andi.w #$7FF,d1 lsr.w #1,d1 or.w d1,d0 MainLevelLoadBlock_Not2p: move.w d0,(a1)+ dbf d2,MainLevelLoadBlock_ConvertLoop Very interesting, isn't it? Edit: forgot to add - the source address (of the uncompressed 16x16 mappings) must be specified in a0.
Eh.. actually, that's not all that's involved in creating a 2p-compatible level, and this routine is necessary because the tiles are indexed differently between the video modes used by 1p and 2p, so that much of the data has to be converted "on the fly" so the same data can be used in both modes. This same code exists in the final version at loc_E40C (or it's equivalant in the more recent version disassemblies)
Oh, pardon moi then. I never really looked into the S2 code for 2p stuff (always skipped it :P). On a side note - 128x128 mappings for levels 02-05 (01 uses 02's mappings) are uncompressed, while GHZ (00) uses a weird compression format, not yet seen. There's a possibility they were testing out a new compression format.
Nah, that's definitely CPZ's boss, but it's acting weirder than the final's because there's no liquid for him to suck up, I assume.
Some minor thing I found - the lack of Tails in EHZ was fully intentional. I think I know why - they probably didn't want people to see Tails yet (sort of furry suprise). What's funny though - it was possible to see Tails in 2P.
Maybe it was done so people on Nick Arcade didn't get their rings stolen from when Tails gets hurt? =P ( I think someone posted this once though...) BTW, So that code can be used to convert the mappings for 2P and allow any level to be 3P compatible?
I think you'd need some other code for it as well. No idea, I'm not very into 2P stuff - you'd have to ask Stealth.
At the risk of repetition, did anyone notice that when fighting the EHZ boss, if you hit him 7 times and let him go off the screen, he shoots the drill from a higher location than normal? In other news, THIS ALPHA/BETA/WHATEVER FUCKING ROCKS!
2 Player needs a Seperate form of Rasters aswell to display properly I believe. Correct me if I am wrong about it but seeing as the GHZ Raster in the Alpha checks for 2P. For some reference, $FFE8 - 2P Trigger in Alpha. $FFD8 - 2P Trigger in Final. For Wai Beta I think it would be the same as Alpha, I never looked into beta that much.
Is this off the screen in both directions or just from the lefthand side? If it's only from the lefthand side, this is because Robotnik drives his car a bit further than normal (S2 Final used as 'normal') and ends up driving up a small hill before turning around.