Jump to content

Is this program useful?  

22 members have voted

  1. 1. Is this program useful?



Recommended Posts

  • Replies 201
  • Created
  • Last Reply

Top Posters In This Topic

Out of curiosity, how do you calculate/fix the save file checksum for B2W2?

For Black 2/White 2 save files the checksum is located at 0x25FA2-0x25FA3, to calculate the offset is 0x25F00-0x25F93 (length is 0x94), using CRC-16 CCITT

Edit: I made a pdf with some images in HxD editor selecting the range for the checksum calculation and the same info and for BW http://dl.dropbox.com/u/87538979/Save%20File%20Checksum%20Calculation.pdf

Also I will try to make a file where all the research I have done

Edited by RubenPikachu
Link to comment
Share on other sites

I made a pdf with some images in HxD editor selecting the range for the checksum calculation and the same info and for BW http://dl.dropbox.com/u/87538979/Save%20File%20Checksum%20Calculation.pdf

Also I will try to make a file where all the research I have done

I would absolutely worship you if you could keep all of your research notes on a service such as Google Drive, so that other software junkies (like myself) could peruse them and / or add our own notes.

Link to comment
Share on other sites

How is this possible?

Through a file download that contains the new movesets, the app will save them so if you don't have an internet connection later on, you can still use them :smile:

I would absolutely worship you if you could keep all of your research notes on a service such as Google Drive, so that other software junkies (like myself) could peruse them and / or add our own notes.

Sure, I have uploaded it in Google Drive and made the folder where I will upload all my research notes https://docs.google.com/folder/d/0B8raCj5bAhUNTjN4a0JlOU01Y2M/edit

Edited by RubenPikachu
Link to comment
Share on other sites

so, would this be an example of a black 2 checksum? (its mine):

71 0A 1A 4B CA CA 37 7D 14 06 39 F5 DB DA 5A 3F B5 A8 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB A5 D8 16 9B 80 14 E3 24 B6 FB CF 33 00 14 E1 A1 4A BE 72 10 EE 27 89 58 E0 93 7A 47 48 FE 3C D2 CF 43 F4 1A 1F 50 1B 49 65 98 6D AE 44 2E 74 D7 9D 6E 41 54 31 1E F0 BC CA A0 4D 3A E2 3C 45 A4 96 8B B4 A0 8E 0F A3 0D 85 D9 0A 6A 9E B5 AE 92 0A F0 31 7E D2 07 B1 B3 91 B4 20 21 E3 A2 1E 28 00 00

Link to comment
Share on other sites

so, would this be an example of a black 2 checksum? (its mine):

71 0A 1A 4B CA CA 37 7D 14 06 39 F5 DB DA 5A 3F B5 A8 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB 33 EB A5 D8 16 9B 80 14 E3 24 B6 FB CF 33 00 14 E1 A1 4A BE 72 10 EE 27 89 58 E0 93 7A 47 48 FE 3C D2 CF 43 F4 1A 1F 50 1B 49 65 98 6D AE 44 2E 74 D7 9D 6E 41 54 31 1E F0 BC CA A0 4D 3A E2 3C 45 A4 96 8B B4 A0 8E 0F A3 0D 85 D9 0A 6A 9E B5 AE 92 0A F0 31 7E D2 07 B1 B3 91 B4 20 21 E3 A2 1E 28 00 00

That's the offset to calculate the checksum, however it is not the checksum. Use HxD and select the offset, use Analysis->Checksums and select CRC-16 CCITT the result is 7728, since it is in little-endian the checksum is 28 77 in the offset 0x25FA2-0x25FA3

Link to comment
Share on other sites

That's awesome. If you like, I can dump some of my research / code in there or another shared folder as well.

FYI, I still highly recommend you try out veekun's SQLite database, since it contains roughly all of the information you would ever need. There have been some slight differences in his index numbers (like with Abilities), but he also keeps it up to date, so there's that.

Untitled.jpg

WhySQLiteIsAwesome.jpg

Link to comment
Share on other sites

That's awesome. If you like, I can dump some of my research / code in there or another shared folder as well.

FYI, I still highly recommend you try out veekun's SQLite database, since it contains roughly all of the information you would ever need. There have been some slight differences in his index numbers (like with Abilities), but he also keeps it up to date, so there's that.

Untitled.jpg

WhySQLiteIsAwesome.jpg

I would appreciate it, I will try to upload more research.

I would like to use it, however I don't know how I can use veekun's SQLite database in the app...

Now I'm thinking how to expand the app usage, I would like to create a GTS system to allow DS users to send and receive their pkm, however I don't know how to do it, so I'm going to make a lot of research about it

Link to comment
Share on other sites

I have been checking that, I know I must add some data for the GTS structure, however I'm not sure how to use the DNS and how to spoof the GTS

The app extracts the pkm into a 2D array, which stores each pkm bytes, the pkm are decrypted and encrypted with block shuffling http://projectpokemon.org/wiki/Pokemon_NDS_Structure

I have updated the app, the app will check if the loaded pkm file is encrypted or not and will load it, also the save file editor doesn't need an internet connection to load pkm icons and will show some alternate forms (still missing female pkm and some forms like Shellos/Gastrodon, Unown, Burmy/Wormadam and Deerling/Sawsbuck)

Link to comment
Share on other sites

After some personal research I figured out about B2W2 Kyurem fusing with Zekrom/Reshiram, although not complete since I cannot find where does the save file knows if Kyurem is fused or not, I did some hex editing and figured out this Zekrom/Reshiram can be edited, I uploaded a video with the result changing Zekrom with a Pikachu, also note that the animation while defusing is for White Zekrom, not Black Zekrom http://www.youtube.com/watch?v=G2h2_LKgKns

I will update the app to edit it, however I will need more research about how to set if Kyurem is fused or not since the pkm code remains the same... I will upload my research if you want to help

Link to comment
Share on other sites

Uploaded the research of Kyurem forms in my research folder, you can also check it out here https://docs.google.com/folder/d/0B8raCj5bAhUNTjN4a0JlOU01Y2M/edit?docId=1BGr20uVnzM4ZbggwYnTMTJgsgI0pdOMPAQozKbuk-Pw

The GTS system was an idea since v0.3, however since I had no idea to spoof GTS, I decided to make it later

To access your save file, load it through the load option, drag it or use the system tray icon load option and select a save file, go to the save file tab and you can modify your save file, also I found out a bug that didn't insert the current pkm in slot 2, I have updated the app to v0.7.5

Link to comment
Share on other sites

How does this have an invalid PID?

First of all, did you manually edit it, since location is Poke Transfer Lab instead of Poketransfer, Poke Transfer Lab is the location in BW, Poketransfer are obtained from gen 4 games.

Then it seems your PID is a Method 4 PID, gen 4 (Platinum) uses Method 1...

Link to comment
Share on other sites

What do you mean by "coded database"? You mean hard-code all the data into your program? Because that would be insanely difficult to do, use, and localize.

Well I hard-coded all the data into my program, however this makes the app slow when loading a pkm file after loading, I would like to use Veekun's SQLite Database to make it easier and make the app more faster but I don't know how to use it in .NET (VB.NET or C#)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...