Looking for Children of Mana Saves

Discussion in 'NDS - ROM Hacking and Translations' started by WangJang, Dec 13, 2006.

  1. WangJang
    OP

    WangJang Advanced Member

    Newcomer
    78
    0
    Jul 16, 2006
    United States
    USA
    I am looking for any children of mana saves from any device, from any point in the game, i would appreciate it [​IMG]

    Thanks.
     
  2. Normmatt

    Normmatt Former AKAIO Programmer

    Member
    2,142
    544
    Dec 14, 2004
    New Zealand
    I'll upload my save which is quite far in the game later (it will be an m3 save).

    I hope this means you going to be making a savestate editor for this game as the only thing i could change without fixing the checksum was the money and only too 9999 from 5675

    I'm Level 40, 463HP and 208MP, play time 13:40, and $7602.

    EDIT: you can download it here http://normmatt.com/ds-saves/c23Children_of_Mana.dat
     
  3. WangJang
    OP

    WangJang Advanced Member

    Newcomer
    78
    0
    Jul 16, 2006
    United States
    USA
    Thanks a lot!

    Thanks to you, i have saved a lot of time [​IMG]

    I have already located the checksum routine, and i have a patch ready to fix the checksum, i will need to rewrite it from arm assembly so i can recreate the checksums without patching the rom.

    Thanks again.
     
  4. Normmatt

    Normmatt Former AKAIO Programmer

    Member
    2,142
    544
    Dec 14, 2004
    New Zealand
    Ohh cool.

    I have been looking for any values for my stats in the save but was unable to so i'm assuming the data is compressed.

    But still i'll be happy when i can max out my stats as i'm currently suck in the game
     
  5. WangJang
    OP

    WangJang Advanced Member

    Newcomer
    78
    0
    Jul 16, 2006
    United States
    USA
    You won't find them because they are not there, hp/mp/stats are all based of your level + equipment.

    i doubt i will create a editor for this, as its not really playable so here is the code to fix the checksum.

    CODE//================================================================================
    =====
    static BYTE tblChecksum[256] = {
    ÂÂÂÂ0x00, 0x07, 0x0E, 0x09, 0x1C, 0x1B, 0x12, 0x15, 0x38, 0x3F,
    ÂÂÂÂ0x36, 0x31, 0x24, 0x23, 0x2A, 0x2D, 0x70, 0x77, 0x7E, 0x79,
    ÂÂÂÂ0x6C, 0x6B, 0x62, 0x65, 0x48, 0x4F, 0x46, 0x41, 0x54, 0x53,
    ÂÂÂÂ0x5A, 0x5D, 0xE0, 0xE7, 0xEE, 0xE9, 0xFC, 0xFB, 0xF2, 0xF5,
    ÂÂÂÂ0xD8, 0xDF, 0xD6, 0xD1, 0xC4, 0xC3, 0xCA, 0xCD, 0x90, 0x97,
    ÂÂÂÂ0x9E, 0x99, 0x8C, 0x8B, 0x82, 0x85, 0xA8, 0xAF, 0xA6, 0xA1,
    ÂÂÂÂ0xB4, 0xB3, 0xBA, 0xBD, 0xC7, 0xC0, 0xC9, 0xCE, 0xDB, 0xDC,
    ÂÂÂÂ0xD5, 0xD2, 0xFF, 0xF8, 0xF1, 0xF6, 0xE3, 0xE4, 0xED, 0xEA,
    ÂÂÂÂ0xB7, 0xB0, 0xB9, 0xBE, 0xAB, 0xAC, 0xA5, 0xA2, 0x8F, 0x88,
    ÂÂÂÂ0x81, 0x86, 0x93, 0x94, 0x9D, 0x9A, 0x27, 0x20, 0x29, 0x2E,
    ÂÂÂÂ0x3B, 0x3C, 0x35, 0x32, 0x1F, 0x18, 0x11, 0x16, 0x03, 0x04,
    ÂÂÂÂ0x0D, 0x0A, 0x57, 0x50, 0x59, 0x5E, 0x4B, 0x4C, 0x45, 0x42,
    ÂÂÂÂ0x6F, 0x68, 0x61, 0x66, 0x73, 0x74, 0x7D, 0x7A, 0x89, 0x8E,
    ÂÂÂÂ0x87, 0x80, 0x95, 0x92, 0x9B, 0x9C, 0xB1, 0xB6, 0xBF, 0xB8,
    ÂÂÂÂ0xAD, 0xAA, 0xA3, 0xA4, 0xF9, 0xFE, 0xF7, 0xF0, 0xE5, 0xE2,
    ÂÂÂÂ0xEB, 0xEC, 0xC1, 0xC6, 0xCF, 0xC8, 0xDD, 0xDA, 0xD3, 0xD4,
    ÂÂÂÂ0x69, 0x6E, 0x67, 0x60, 0x75, 0x72, 0x7B, 0x7C, 0x51, 0x56,
    ÂÂÂÂ0x5F, 0x58, 0x4D, 0x4A, 0x43, 0x44, 0x19, 0x1E, 0x17, 0x10,
    ÂÂÂÂ0x05, 0x02, 0x0B, 0x0C, 0x21, 0x26, 0x2F, 0x28, 0x3D, 0x3A,
    ÂÂÂÂ0x33, 0x34, 0x4E, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5C, 0x5B,
    ÂÂÂÂ0x76, 0x71, 0x78, 0x7F, 0x6A, 0x6D, 0x64, 0x63, 0x3E, 0x39,
    ÂÂÂÂ0x30, 0x37, 0x22, 0x25, 0x2C, 0x2B, 0x06, 0x01, 0x08, 0x0F,
    ÂÂÂÂ0x1A, 0x1D, 0x14, 0x13, 0xAE, 0xA9, 0xA0, 0xA7, 0xB2, 0xB5,
    ÂÂÂÂ0xBC, 0xBB, 0x96, 0x91, 0x98, 0x9F, 0x8A, 0x8D, 0x84, 0x83,
    ÂÂÂÂ0xDE, 0xD9, 0xD0, 0xD7, 0xC2, 0xC5, 0xCC, 0xCB, 0xE6, 0xE1,
    ÂÂÂÂ0xE8, 0xEF, 0xFA, 0xFD, 0xF4, 0xF3 };
    //================================================================================
    =====
    BYTE GetChecksum(BYTE *pData)
    {
    ÂÂÂÂint i = NULL;
    ÂÂÂÂBYTE XorVal = NULL;
    ÂÂÂÂBYTE CurVal = NULL;
    ÂÂÂÂfor (i=0; i
     
  6. Normmatt

    Normmatt Former AKAIO Programmer

    Member
    2,142
    544
    Dec 14, 2004
    New Zealand
    Bah, I wasn't reading it right [​IMG]

    Btw, is BYTE just declared as an unsigned char?

    EDIT: I've got this working, but when i change the level which i assume is at 0x39 in my save the level of my character doesn't increase but when i change the money located at 0x33 it works fine.

    EDIT2: I've found the location of the items and i may make an editor for this game ..... though it will probably just end up being a max out utility [​IMG]

    EDIT3: Hahahah, theres a debug weapons called "Ultima" which have 999 attack too bad i cant seem to get them to equip [​IMG]

    EDIT4: It appears if you max out all your items you cant equip any new equipment ... i should of known that would happen
     
  7. WangJang
    OP

    WangJang Advanced Member

    Newcomer
    78
    0
    Jul 16, 2006
    United States
    USA
    Glad you got it working [​IMG]

    I saw the debug items yesterday, there is also a debug armor with 999.

    If you take 0x0C (where you pass to the checksum routine) as the base, then for instance.

    base+0x215 is Knapsack size, 0 to 4 (smallest to largest)
    base+0x053 is Playtime
    base+0x027 is Gold
    base+0xDBB is Experience (Level) change this to 0xF1 0x08 0x01 0x00 for level 99

    Cya
     
  8. Shinji

    Shinji ҉҉ ҉҉

    Member
    2,374
    0
    Nov 6, 2002
    United States
    City of Delusion
    WangJang, our resident save editor [​IMG]