don't click here

Sonic 2 early prototype, dumped

Discussion in 'General Sonic Discussion' started by drx, Nov 7, 2006.

  1. superstarCSB

    superstarCSB

    snootch Member
    621
    0
    16
    Lawrence, Kansas
    I probably should get back to work on my site someday...
    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.
     
  2. drx

    drx

    mfw Researcher
    2,254
    350
    63
    :rolleyes:
    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.
     
  3. SMTP

    SMTP

    Tech Member
    Awesome! Nice work! =P
     
  4. 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.
     
  5. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    ...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.
     
  6. What is that small, garbled pile of stuff offscreen and to the left?
     
  7. drx

    drx

    mfw Researcher
    2,254
    350
    63
    :rolleyes:
    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.
     
  8. Ray Fox

    Ray Fox

    Pending Member
    2
    0
    0
    That sprite they used for running into a wall would have been cool if they kept it.
     
  9. drx

    drx

    mfw Researcher
    2,254
    350
    63
    :rolleyes:
    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):
    1. MainLevelLoadBlock_Convert16:
    2.  
    3.     lea  ($FFFF9000).w,a1
    4.     move.w  #$BFF,d2
    5.    
    6. MainLevelLoadBlock_ConvertLoop:
    7.     move.w  (a0)+,d0
    8.     tst.w   ($FFFFFFE8).w
    9.     beq.s   MainLevelLoadBlock_Not2p
    10.     move.w  d0,d1
    11.     andi.w  #$F800,d0
    12.     andi.w  #$7FF,d1
    13.     lsr.w   #1,d1
    14.     or.w    d1,d0
    15.    
    16. MainLevelLoadBlock_Not2p:
    17.     move.w  d0,(a1)+
    18.     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.
     
  10. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    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)
     
  11. drx

    drx

    mfw Researcher
    2,254
    350
    63
    :rolleyes:
    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.
     
  12. ComPro

    ComPro

    Just hangin' around. Member
    It looks like the boss is acting similar to that of EHZ.
     
  13. 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.
     
  14. Rika Chou

    Rika Chou

    Tech Member
    5,276
    169
    43
    Ah, no wonder that was giving me so much trouble.
     
  15. drx

    drx

    mfw Researcher
    2,254
    350
    63
    :rolleyes:
    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.
     
  16. SMTP

    SMTP

    Tech Member
    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?
     
  17. drx

    drx

    mfw Researcher
    2,254
    350
    63
    :rolleyes:
    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.
     
  18. Squints

    Squints

    All souped-up. And DESECRATED! Member
    1,131
    0
    0
    Poughkeepsie, NY
    RIIIIIIIIIIDGE RACERRRRRRRRRRRR
    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!
     
  19. Varion Icaria

    Varion Icaria

    He's waiting.... Tech Member
    1,019
    11
    18
    S4: Cybernetic Outbreak
    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.
     
  20. ComPro

    ComPro

    Just hangin' around. Member
    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.