News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Metroid Zero Mission - SRAM Checksum  (Read 10075 times)

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 7088
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Metroid Zero Mission - SRAM Checksum
« Reply #20 on: November 07, 2013, 07:23:40 pm »
Is the original Metroid actual data or just a password? Are you sure it decodes to a valid password?
(like I know the password ENGAGE RIDLEY MOTHER F***ER that crashes a real NES, most likely because it causes the game to jump to invalid code, and supposedly will crash a 3DS, will just reset to the title screen on the GBA)
(as in, that password uncensored will pass the NES game's checksum test even though its data is not valid)
"My watch says 30 chickens" Google, 2018

MarkGrass

  • Jr. Member
  • **
  • Posts: 65
    • View Profile
Re: Metroid Zero Mission - SRAM Checksum
« Reply #21 on: November 07, 2013, 08:11:35 pm »
A very small amount of data is stored for the original Metroid.

Save data for original Metroid is 0x28 bytes, and begins with the following 'header':

Code: [Select]
Hex: 11 19 19 30 52 4F 49 44 5F 33 5F 42
ASCII: ...0ROID_3_B

The rest of the data...

Code: [Select]
57 CC 00 20 00 00 00 00 00 00 00 00 00 02 06 06 00 00 50 36 A4 BB 66 46 64 66
...somehow produces the following password:

002000 000000
00W06O 0000bD


As mentioned, I ported the essential code from John Ratliff's password generator, ran that password through it and dumped both the raw and decoded data - no match. It doesn't even resemble the data provided in the Zero Mission SRAM.

I should note that the password generator code was successfully ported, and is verified to be working 100% properly - there isn't any error.

Here are both the raw and decoded forms of data, from the password above, ran through the password algorithm:

Code: [Select]
00 00 80 00 00 00 00 00 00 00 08 00 19 80 00 00 09 4D 00 00 00 00 00 00
01 00 00 00 00 00 00 00 00 10 00 33 00 00 00 00 09 4D 00 00 00 00 00 00

Any attempt to manually modify the data will result in a black screen upon boot of original Metroid; pressing start button will go to the title screen. The save data gets erased and the password is reset to NULL (all zeroes).

That said, I believe the MZM data for original Metroid is custom, unless the data goes through more conversions and en/decodings (note: I never looked into FDS savegame data).
« Last Edit: November 07, 2013, 08:44:06 pm by MarkGrass »

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 7088
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Metroid Zero Mission - SRAM Checksum
« Reply #22 on: November 07, 2013, 10:51:38 pm »
I would doubt it, even the Japanese version of MZM contained the NES version of Metroid (the FDS version was only released in the Famicom Mini version of Metroid).
"My watch says 30 chickens" Google, 2018