don't click here

New Crackers Sprites Found

Discussion in 'Engineering & Reverse Engineering' started by Vangar, Jul 17, 2017.

  1. Vangar

    Vangar

    Member
    3,654
    62
    28
    Didn't see it posted here, please trash if I've missed it from somewhere else:

    https://tcrf.net/Proto:Yuu_Yuu_Hakusho:_Makyou_Toitsusen
     
  2. nineko

    nineko

    I am the Holy Cat Tech Member
    6,298
    475
    63
    italy
    It's been mentioned in a couple of topics (here and here), but I don't think it would hurt to give it some more spotlight since it's quite an interesting find.
     
  3. Dark Sonic

    Dark Sonic

    Member
    14,631
    1,610
    93
    Working on my art!
    What a strange place to find those sprites, and what a strange set of sprites to be found in the first place. Makes me wonder if they ever got further with that isometric special stage thing before scrapping Crackers and starting work on Chaotix, and if so, I wonder what the chances are of a later build of Crackers existing somewhere.
     
  4. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,218
    965
    93
    Long-term happiness
    Yeah, I'm going to let this topic run as a result.
     
  5. ICEknight

    ICEknight

    Researcher Researcher
    So has anybody tried doing the reverse search? As in, looking for a piece of Tails' overview head graphics in a ROM set where the prototype "overdumps" haven't been trimmed to look "cleaner"?

    I'd say it's entirely possible that there may be more Crackers stuff hiding in the least suspected places.
     
  6. Zeoinx

    Zeoinx

    Member
    43
    3
    8
    These sprites would allow a nice help in adding Tails into Knuckles Chaotix at least....gives a nice starting template to the art style the original creators were going for.
     
  7. MotorRoach

    MotorRoach

    Member
    249
    1
    18
    Cough.
     
  8. McAleeCh

    McAleeCh

    Oldbie
    1,470
    531
    93
    At the very least, it looks like there's a small fragment of Sonic's spindash sprites for the top-down stages - only two complete frames and one incomplete, but they were posted in the TCRF topic shortly after Tails'.
     
  9. rata

    rata

    Member
    689
    72
    28
    Argentina
    Trying to be useful somehow.
    I thought it was undoubutly that crackers was just a joke, because... CRACKERS!!!one!!!


    I wonder how the hell did those sprites end in a figthing game though...
     
  10. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,505
    201
    43
    They are likely from uninitialized memory. Meaning that, on the PC that built the Yu Yu Hakisho rom, they might have built a version of Crackers on the same PC prior, and thus when writing uninitialized memory, it just resorts to whatever was in memory prior.
     
  11. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,467
    11
    18
    Yeah. In more simple terms: whenever you "erase" data on a computer, you aren't actually erasing it, you're just telling the system that it's okay to overwrite it. "Undelete" software actually exists that checks this data and will let you get the files back if they haven't been overwritten yet. ("Military grade" erasure software will actually flag data for deletion and then overwrite it with blank data so it can't be accessed anymore. Some people actually do this multiple times to ensure the old data can never, ever come back)

    In the case of this ROM, the Crackers sprites are simply whatever wasn't overwritten yet. These games were stored on test cartridges, which would get data from a PC and write them to the cart for testing on Sega Genesis hardware. That means that, at some point in the past, before YYH was written to the test cart, it was used to test Sonic Crackers, and since the YYH game data was smaller than the Crackers prototype, the Crackers data hung around.

    What likely happened is that this Yu Yu Hakusho game was likely dumped from the test cartridge back to a ROM file on a PC so it could be fed in to the Sega Channel system (for whatever reason, probably more testing) and so the extra Crackers data got dumped with it like a stowaway.
     
  12. Who wants to be the first to import these into the game to see what it would've looked like?
     
  13. Fred

    Fred

    Taking a break Oldbie
    1,563
    117
    43
    Portugal
    Sonic 3 Unlocked
    I thought the sprites were found around the middle of the ROM, which would suggest the Crackers data "bled through" the padding sections in the Yuu Yuu build.
     
  14. Laura

    Laura

    Brightened Eyes Member
    I know this is pretty much obvious to everyone by now, but surely this also confirms that Crackers isn't a joke/april's fool?

    And yeah, most people don't believe that anymore, but there was a thread recently by someone who vehemently still believed it.
     
  15. ICEknight

    ICEknight

    Researcher Researcher

    So which one is it?
     
  16. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,505
    201
    43
    It's definitely uninitialized memory from compilation. Like DRX said, when you flash an eeprom, you flash the entire thing. The previous crackers art comes from compilation when they pad the rom to a specific size. If the data is just junk anyways and not meant to be read, it doesn't really matter if you initialize the data first or not because it's unused anyways. Usually, compilers have options to fill uninitialized memory with values that make it easy to identify, like making all values 0xDEADBEEF or similar. But that could take time. if you're just doing a quick test, it wouldn't have been necessary.

    Due to the way EEPROM flashing works, you can be assured the data isn't "bleeding through" from a previous state. When you flash an EEPROM, for electrical reasons, every byte is set to $FF. Which is to say every addressable bit has an electrical source (high state) running to it. When you "burn" an EEPROM, you are basically burning away the connection to that addressable bit. It's sort of like starting with a solid piece of rock and chipping away the sculpture underneath (as opposed to adding rock to an empty model).

    EDIT: Note that when I say uninitialized memory, I mean uninitialized memory from the PC that compiled the binary, not the cartridge itself.
     
  17. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,161
    65
    28
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    It is most unequivocally and certainly NOT THAT. This is the only thing we can say with absolute certainty. For this to happen, Crackers would have to be assembled then, without turning the computer off, you would have to assemble the other game without anything overwriting the RAM in between and just happen to reuse the same RAM location.

    So we know for certain it cannot be this.

    You have it exactly backwards, it is more likely to be leftover data on the cartridge used. Especially since EEPROM is bytewise writable and erasable, unlike what you say; it is only flash-based EEPROM which is not byte erasable, and they most certainly did not use that back then.
     
  18. AURORA☆FIELDS

    AURORA☆FIELDS

    The cute one here Tech Member
    216
    24
    18
    Finland
    AMPS
    I remember there was a thread floating around somewhere where there were bunch of different MD games with part of the source code intact, similar to the Sonic 2 Beta edit mode leak. IIRC either SNASM68K or some external exe that handled file includes or w/e, would sometimes pull random files as data and it would appear in the ROM. So a lot of games had parts of their source just inside as ascii data. Maybe this is related? Maybe there are some random bits of unreleased/incomplete/other stuff just lying inside of games, protos or not. Would be interesting to see if we can find more hidden stuff like this...
     
  19. Cooljerk

    Cooljerk

    NotEqual Tech, Inc - VR & Game Dev Oldbie
    4,505
    201
    43
    This is precisely what I'm proposing happened.

    Except, as pointed out, the padded areas are all over the rom, not only at the end. You don't pick and select which areas are written and erased like that. It's more like pooling, where the entire size of the ROM are written.

    Sort of related, but Zelda DX on the Gameboy Color includes bits of the Borland's Turbo C IDE along with part of the text tile containing part of the source to Zelda DX because of how it was padded when malloc was used. Incidentally, this is how people also know that Zelda DX was machine disassembled from the original Zelda: LA.
     
  20. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,971
    76
    28
    USA
    rom-properties
    IIRC, most MD development boards used EPROM, not EEPROM. (One E, not two.) To erase an EPROM, you uncover its window and expose it to a strong UV light source. There's no way to control which parts of the EPROM are erased; it's all or nothing.