don't click here

Unused/Leftover Level Maps in Sonic 2NA

Discussion in 'Engineering & Reverse Engineering' started by evilhamwizard, May 28, 2017.

  1. evilhamwizard


    Since Sonic 2 is a hot topic again these days I decided to take a look at Sonic 2NA again to see if there might be something that needs looking at. As it turns out, there's still quite a bit that needs a comb over in the ROM and it would be great if we could use what we know now to see what's really going on with this ROM.

    It's known quite well now that the ROM is padded with various weird garbage ranging from symbols to assembler code but what people seemed to have glanced over is that the ROM also has some sections of weird data used for padding that (at least to my knowledge) never looked at before. drx's disassembly, which he made 10 years a go now, mentioned what some of the contents could be but was left unidentified for other people to take a look at.

    Currently there are 5 locations in the ROM that contain padded data:
    1C318-1FFFF <- weird tile from presumably some other game (I researched this and no other game has this data)
    2C292-3FFFF <- leftover level layouts, art for the big ring, level mappings, a full 128 character ascii table, and presumably more mappings and palette data
    418A8-4FFFF <- symbol table #1
    50A9C-7198F <- symbol table #2, plus some source code for the debug mode module ('edit'), debug object lists, etc, plus other potential stuff
    E1670-FFFFF <- Toe Jam & Earl REV00 left overs, matches the final ROM at this region.

    The area I'm interested in is 2C292-3FFFF, since I don't think it's been fully looked into. I decided to look into it and it does seem like it has level mappings about 2C292+C00 in:

    Is this data different/comparable to anything else that's used? I don't really know anything about how levels are mapped in Sonic 2, so I'm curious if anyone knows what this could be. There's some other mappings in this region as well that haven't been identified.
    • Informative Informative x 1
    • List
  2. evilhamwizard


    I mapped out the first 0x2000 of the second padded region.
    2C292-2C5D0 - Half of Hill Top Zone Act 2 level tile layout (first two bytes are altered)
    2C5D0-2C5DA - Hill Top Zone BG tile layout
    2C5DA-2CDDC - Chemical Plant Zone Act 1 level layout
    2CDDC-2D5DE - Hidden Palace Zone Act 1 level layout
    2D5DE-2D604 - Chemical Plant Zone BG layout
    2D604-2D64E - Hidden Palace zone BG layout
    2D64E-2D652 - Level Null
    2D652-2E292 - Big Ring Art

    Unless otherwise stated, all of them match their used equivalent in the ROM.

    However, the stuff that comes after this is a complete mystery. 2E292-2EA92 seems to be some kind of tile data, then followed by some mapping data, then 128 ASCII character art, then followed by a bunch of mysterious data that could be more mapping data. None of it matches anything in any other Megadrive game or within the ROM. It could be similar to data in a compressed archive in the ROM, but I'm not sure...