ROM Hack PSSE - Pokemon Shuffle Save Editor

Asia81

Yuri Lover ~
Member
Joined
Nov 15, 2014
Messages
6,661
Trophies
3
Age
29
XP
3,525
Country
France
@KaleoOmega No, I understood what you meant, what I mean is that if the game know there are 10 streetpass tags, why doesn't the game set it to 10 instead of one? I guess we'll never know.

About streetpasses, I've checked:

- Streetpass tags start at 0x593F.
- Each tag is 104 (0x68) bytes long. There are eleven tags, the first one being the tag you streetpass to others, and the other 10 the received tags.
- Others tags start at 0x059A7 ( 104*10 bytes long = 1040 bytes)
- Tags end at 0x5DB6
- Empty tags are effectively 0x00, so setting 0x59A7-5DB6 to 0x00 removes all streetpass tags.

I might be able to implement a checkbox in the editor to clear streetpass tags. and another to set streetpasses, no need to bother SciresM (unlike pokemon shuffle, this save data has fixed offsets).

Your current script does NOT fully erase the tags, since you got the tag size wrong.

Here's a simplified version of your script that fully deletes the tags, with comments (just to store the info somewhere in case this isn't added to the editor):

Python 2.7, won't work on python 3
Code:
import sys;

with file(sys.argv[1], 'r+b') as fh:
    print ('Setting streetpass number to 0...');
    fh.seek(0x05967);
    fh.write('\x00\x00'); # Max is '\x0F\x27'
    print ('Deleting streetpass tags...');
    i = 0
    while i < 0x68*10: # Each tag is 104 bytes long (0x68)
        fh.seek(0x059A7+i); # Streetpass tags start at 0x593F, but the first tag is the user tag, 0x593F+0x68 = 0x59A7
        fh.write('\x00');
        i = i+1
  print ('Patching done. Enjoy :)');

I've attached a convert python to exe script, just drag and drop savedata.bin to bat file.

ps: I think I would have been easier to code it in C than searching how to convert python to exe...

Off topic but why scripts written using python 2.7 don't work on Python 3 ?
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
As I said, priority would be to locate from where to where they are stored, so locating the first and last pokemon. If they follow the list I posted in the other thread (it is the list that shuffle uses) there shouldn't be much trouble.

BTW, I have reasons to think that 0xA8 to 0xAF stores the "serial key", can someone test changing something there and see if the serial code changes?

Off topic but why scripts written using python 2.7 don't work on Python 3 ?
Nope, and now that I think about it that's probably why some people had much trouble with the scrypt. I never used it so I didn't think about that.
 

KaleoOmega

I just don't know what to do with myself...
Member
Joined
Apr 17, 2013
Messages
386
Trophies
0
XP
282
Country
Brazil
@suloku , right then. I'll start with M-Venusaur first, since looks like it's the first no matter which order (the list, or ingame shuffledex) we consider.

Mega Venusaur has a limit of three Speedups.
With 1 Speedup: Offset 0x025DB changed from 00 to 08.
With 2 Speedups: Offset 0x025DB changed from 08 to 10.
With 3 Speedups: Offset 0x025DB changed from 10 to 18.

Now I'll try with M-Diancie (last from the list, 3 Speedups as placeholder) and M-Sharpedo (last one "valid" through the last patch, 10 speedups as definitive value).

-----------------


And about the "Serial key" ( @madridi4ever ) (the 16-character series "Client Number"?), probably you're right . From what I can see here, these eight offsets (0xA8 to 0xAF ) are corresponding to the key, in reverse order. Each hex corresponding to two characters.

I'm not posting my entire serial key here, but only some bits to show my example.


At my 2DS, my original serial key started with 0B; and the last hex offset (at 0X4F) is 05.
My serial key changed from 0B to 09 when I changed the hex value to 04.

Second test: my original serial key, after the first change listed above, have the initial sequence as 0956 (AB 05 at the final offsets, since it's read in reverse).
Then my serial key changed into 084C when I simply changed the AB hex into 26.

Third test: my original serial key have the third sequence as 2D08 (84 16 as the offsets as 0X4A and 0x4B, since it's in reverse).
Then my serial key changed into 2CC4 when I changed the 84 hex into 62.
 
Last edited by KaleoOmega,
  • Like
Reactions: Madridi

Madridi

Card Collector
Member
Joined
May 9, 2008
Messages
3,562
Trophies
2
Age
38
Location
Doha
XP
3,071
Country
Qatar
@suloku , right then. I'll start with M-Venusaur first, since looks like it's the first no matter which order (the list, or ingame shuffledex) we consider.

Mega Venusaur has a limit of three Speedups.
With 1 Speedup: Offset 0x025DB changed from 00 to 08.
With 2 Speedups: Offset 0x025DB changed from 08 to 10.
With 3 Speedups: Offset 0x025DB changed from 10 to 18.

Now I'll try with M-Diancie (last from the list, 3 Speedups as placeholder) and M-Sharpedo (last one "valid" through the last patch, 10 speedups as definitive value).

-----------------


And about the "Serial key" ( @madridi4ever ) (the 16-character series "Client Number"?), probably you're right . From what I can see here, these eight offsets (0xA8 to 0xAF ) are corresponding to the key, in reverse order. Each hex corresponding to two characters.

I'm not posting my entire serial key here, but only some bits to show my example.


At my 2DS, my original serial key started with 0B; and the last hex offset (at 0X4F) is 05.
My serial key changed from 0B to 09 when I changed the hex value to 04.

Second test: my original serial key, after the first change listed above, have the initial sequence as 0956 (AB 05 at the final offsets, since it's read in reverse).
Then my serial key changed into 084C when I simply changed the AB hex into 26.

Third test: my original serial key have the third sequence as 2D08 (84 16 as the offsets as 0X4A and 0x4B, since it's in reverse).
Then my serial key changed into 2CC4 when I changed the 84 hex into 62.
Cool tests, but are you picking the offsets at random? Or is there like a map for them.

Something like: hex value 04 = 09.

Also, the streetpass reset findings were awesome. I was wondering if there was anyway to delete the past updates info (the one under check-in --> notice)?
 

KaleoOmega

I just don't know what to do with myself...
Member
Joined
Apr 17, 2013
Messages
386
Trophies
0
XP
282
Country
Brazil
Cool tests, but are you picking the offsets at random? Or is there like a map for them.

Something like: hex value 04 = 09.

I tried at random, but the math is simple for this conversion. I'm just a beginner at this subject, so certainly I'll use wrong terms. But I hope I can transmit the general idea.


Each hex = 02 "units" for the Client Number, let's say. You can add/subtract (in my examples, I just subtracted values) to change/convert values into your client number.

Taking my last example:

Original Client: 2D08 (in Hex, 84 16 - it's reversed at the savedata.bin ).
Let's reverse the hex values to fit accordingly, so we have 16 84.

In Hex, from 84->62, there's 34 "units", let's say.

Since the Client reflects this in doubled form (he reads each hex = 02 "units" for it), we have to actually subtract 68 "units" from the 2D08 value. And so, you have 2CC4 at the edited archive, when you see the changes ingame.
 
  • Like
Reactions: Madridi

KaleoOmega

I just don't know what to do with myself...
Member
Joined
Apr 17, 2013
Messages
386
Trophies
0
XP
282
Country
Brazil
just want to ask, whats all about "index" on the editor?

According to the PSSE, it's just the stage number. At the third sector, they're most for special events: as example, the current Sharpedo competition data is stored at Index 11, you can see your online record there. But editing your score at this section doesn't change your ranking, since the data upload is made only after you playing the stage.

So, at least through this method, doesn't seem possible to hack high scores. So the rankings are, ultimately, relying on normal playing - despite that, many people can keep trying countless times due to PSSE, and so improving their chances of a good score.

(However, insane scores have been seen; at the moment, I don't know how these things are made. PSSE doesn't seem to allow that).

-----

After all, I did some tests, and localized the offsets for some Mega Speedups. Seems like the list starts with Venusaur and ends with Diancie, in an array of 42 - the order looks like identical to the main games Pokédex, after all. There's some shared bits, for sure - need to investigate further. Some of the identified ones are below, if anyone wants to help, be welcome. At first, I plan to locate where each Mega Speedup amount for each Mega Evolution individually are stored.
The hex value at the end of each line means the exactly Hex value for maxing each speedup amount.

0x02D5B = Venusaur (first at every list) (18)
0x02D5C = Charizard X (unreleased) (0C)
0x02D5D = Charizard Y (unreleased) (06)
0x02D5E = Blastoise (04)
0x02D5F = Pidgeot (unreleased) (C0)
*Beedrill (unreleased): It's a special case, since it's shared between the two previous offsets.
When Beedrill is maxed out, it changes the first bit of 0x02D5E offset into 80 and the last bit of 0x02D5F offset into 01.
When Blastoise is maxed too, their offset changes into 84.
When Pidgeot is maxed too, their offset changes into C1.
0x02D60 = Alakazam (unreleased) (60)
0x02D61 = Slowbro (20)
0x02D62 = Gengar (08)
0x02D63 = Kangaskhan (20)
0x02D64 = Pinsir (unreleased) (06)
0x02D65 = Gyarados (unreleased) (03)
0x02D66 = Mewtwo X (unreleased) (C0)
*Aerodactyl: It's a special case, since it's shared between the two previous offsets.
When Aerodactyl is maxed out, it changes the first bit of 0x02D65 offset into (80) and the last bit of 0x02D66 offset into (03).
When Gyarados is maxed too, their offset changes into (83).
When Mewtwo X is maxed too, their offset changes into (C3).
0x02D67 = Mewtwo Y (released) (A0)
0x02D68 = Ampharos (70)
0x02D69 =
0x02D6A =
0x02D6B = Heracross
0x02D6C =
0x02D6D =
0x02D6E = Blaziken (60)
0x02D6F =
0x02D70 = Gardevoir (unreleased) (70)
0x02D71 = Sableye (20)
0x02D72 = Mawile (0E)
0x02D73 = Aggron (unreleased) (03)
Now there's a curious situation here. Medicham (unreleased), Manectric and Sharpedo have their values shared between two offsets each, involving Aggron and Camerupt offsets. Each one changes one bit at each offset pair, not the other.
When Medicham is maxed out, it changes the first bit of 0x02D73 offset into (80) and the last bit of 0x02D74 offset into (01).
When Manectric is maxed out, it changes the first bit of 0x02D74 offset into (C0) and the last bit of 0x02D75 offset into (01).
When Sharpedo is maxed out, it changes the first bit of 0x02D75 offset into (40) and the last bit of 0x02D76 offset into (01).
0x02D76 = Camerupt (unreleased) (30)
0x02D77 = Altaria (30)
0x02D78 = Banette (20)
0x02D79 =
0x02D7A = Glalie (86)
0x02D7B =
0x02D7C =
0x02D7D =
0x02D7E =
0x02D7F = Lopunny (20)
0x02D80 = Garchomp (14)
0x02D81 = Lucario (04)
0x02D82 = Gallade (unreleased) (C0)
*Abomasnow (unreleased): It's a special case, since it's shared between the two previous offsets.
When Abomasnow is maxed out, it changes the first bit of 0x02D81 offset into (80) and the lst bit of 0x02D82 offset into (01).
When Lucario is maxed too alongside Abomasnow, their offset changes into (84).
When Gallade is maxed too alongside Abomasnow, their offset changes into (C1).
0x02D83 = Audino (60)
0x02D84 = Diancie (unreleased) (30)

For reference, there's the Mega Evolution considering the ingame order (at the moment):

dex1.jpg

dex2.jpg

dex3.jpg

dex4.jpg

dex5.jpg


The capture below include all the valid values for maxing the Mega Speed-Ups for each one of the 48 Mega Evolutions (starting with Venusaur, ending with Diancie). Applying "00" to every offset at the selected area also returns their mega speedup values ingame to zero.

valuesspeedups.jpg
 
Last edited by KaleoOmega, , Reason: More locations added. Not sure if I can finish today...
  • Like
Reactions: noctis90210

KaleoOmega

I just don't know what to do with myself...
Member
Joined
Apr 17, 2013
Messages
386
Trophies
0
XP
282
Country
Brazil
does psse work with 1.2 16, now since it has updated to include sharpedo mega.

Yes, PSSE still works with 1.2.16.

And actually, Mega Sharpedo was included since 1.2.15; if you just enabled their Mega Stone through PSSE, you could already used it.
The real inclusion at 1.2.16 is Diancie with their correct Ability and type (Fairy, Barrier Bash+), but their Mega Evolution isn't updated yet (still appears with the placeholder Audino Ability, plus the Rock-type).
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
@KaleoOmega thanks for your work.

I think each pokemon uses 7 bits:
42 bytes * 8 bits = 336 bits
336 bits /7 = 48 mega pokemon

Have you checked if the order is inverted? (venusaur being the last one)?

As far as we know, the bits could be shared with the 00 bytes before and after the array for the first and last poke.
 
Last edited by suloku,

KaleoOmega

I just don't know what to do with myself...
Member
Joined
Apr 17, 2013
Messages
386
Trophies
0
XP
282
Country
Brazil
@suloku , looks like the general order isn't inverted, since Venusaur is indeed the first one, at 0x02D5B.
In fact, the order resembles a lot the main games' Pokédex... although there's some shared hex values (the whole Lucario-Abomasnow-Gallade situation as an example, from the ones that I tested until now).

Venusaur only needs three candies until being maxed out. These are their values at their offset, 0x02D5B:

0 Speedup: 00
1 Speedup: 08
2 Speedup: 10
3 Speedup: 18

Indeed, at least for Venusaur, there's a interval of 8 bits between each feeded Speedup. But for other Pokés, their interval is somewhat different. Or at least, I can't see a pattern, at first...

I was expecting the Mega-Diancie data to be inserted at the 1.2.16 patch, so I could test which changes could happen - at the moment, with the placeholder data, these are their values at their offset - 0x02D84, the last one:

0 Speedup: 00
1 Speedup: 10
2 Speedup: 20
3 Speedup: 30

Until the end of today, I plan to discover the remaining offsets for the last Mega Evolutions (now, only the unreleased ones are remaining).
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
Ok, let's identify how many bits they actually take. Can you do the very same you did for diance and venusaur with charizard X and charizard Y?
That should aproximate us to how many bits they actually take, we now form setting all to FF that at least 5 bits are used per pokemon (or sharpedo and garchomp couldn't have 27 when set to FF).

EDIT: I think I've got it
EDIT:No I don't have it.

EDIT 3: I think they are 9 bits long, from right to left (reversed). The 9th bit is some kind of flag. I think the bit lenght varies from 8 to 9 from pokemon to pokemon, depending on how many mega speed ups it can be fed ?

EDIT 4: I've listed the pokemon, its max speedups and the placeholders. Remember when you set all to FF and the speedups for the pokemons where 7, 27...etc?
If you do it again we should know how many bits each pokemon has, for example, mega venusaur has 3, so only 3 bits are used because seting all bits (all FF) makes it have 7 speedups (7 = 111)

Code:
Mega Venusaur - 3
Mega Charizard X - 3*
Mega Charizard Y - 3*
Mega Blastoise - 4
Mega Beedrill - 3*
Mega Pidgeot - 3*
Mega Alakazam - 3*
Mega Slowbro - 2
Mega Gengar - 1
Mega Kangaskhan - 8
Mega Pinsir - 3*
Mega Gyarados - 3*
Mega Aerodactyl - 7
Mega Mewtwo X - 3*
Mega Mewtwo Y - 5
Mega Ampharos - 7
Mega Steelix - 3*
Mega Scizor - 3*
Mega Heracross - 6
Mega Houndoom - 3*
Mega Tyranitar - 3*
Mega Sceptile - 3*
Mega Blaziken - 3
Mega Swampert - 3*
Mega Gardevoir - 3*
Mega Sableye - 8
Mega Mawile - 7
Mega Aggron - 3*
Mega Medicham - 3*
Mega Manectric - 7
Mega Sharpedo - 10
Mega Camerupt - 3*
Mega Altaria - 6
Mega Banette - 8
Mega Absol - 3*
Mega Glalie - 6
Mega Salamence - 3*
Mega Metagross - 3*
Mega Latias - 3*
Mega Latios - 3*
Mega Rayquaza - 3*
Mega Lopunny - 8
Mega Garchomp - 10
Mega Lucario - 4
Mega Abomasnow - 3*
Mega Gallade - 3*
Mega Audino - 3
Mega Diancie - 3*

3* Means placeholder.
 
Last edited by suloku,

KaleoOmega

I just don't know what to do with myself...
Member
Joined
Apr 17, 2013
Messages
386
Trophies
0
XP
282
Country
Brazil
Right,, I have forced every value into FF. This is what happens with the feeded/needed speedup values - despite Garchomp, Sharpedo (with 27 feeded each, there's a screen below as example) and Diancie (5 feeded), all the others changed the feeded quantity into "7" - at least, is what can be seen, since that's an overflow.
Even for Pokémon like Kangaskhan (that need 8), it doesn't accept anymore candies.

garch.jpg


Code:
Mega Venusaur - 7/3
Mega Charizard X - 7/3*
Mega Charizard Y - 7/3*
Mega Blastoise - 7/4
Mega Beedrill - 7/3*
Mega Pidgeot - 7/3*
Mega Alakazam - 7/3*
Mega Slowbro - 7/2
Mega Gengar - 7/1
Mega Kangaskhan -7/ 8
Mega Pinsir - 7/3*
Mega Gyarados - 7/3*
Mega Aerodactyl - 7/7
Mega Mewtwo X - 7/3*
Mega Mewtwo Y - 7/5
Mega Ampharos - 7/7
Mega Steelix - 7/3*
Mega Scizor - 7/3*
Mega Heracross - 7/6
Mega Houndoom - 7/3*
Mega Tyranitar - 7/3*
Mega Sceptile - 7/3*
Mega Blaziken - 7/3
Mega Swampert - 7/3*
Mega Gardevoir - 7/3*
Mega Sableye - 7/8
Mega Mawile - 7/7
Mega Aggron - 7/3*
Mega Medicham - 7/3*
Mega Manectric - 7/7
Mega Sharpedo - 27/10
Mega Camerupt - 7/3*
Mega Altaria - 7/6
Mega Banette - 7/8
Mega Absol - 7/3*
Mega Glalie - 7/6
Mega Salamence - 7/3*
Mega Metagross - 7/3*
Mega Latias - 7/3*
Mega Latios - 7/3*
Mega Rayquaza - 7/3*
Mega Lopunny - 7/8
Mega Garchomp - 27/10
Mega Lucario - 7/4
Mega Abomasnow - 7/3*
Mega Gallade - 7/3*
Mega Audino - 7/3
Mega Diancie - 5/3*

Now I will try to discover the individual hex values for each quantity of feeded candies for Charizard X and Y.

*EDIT*

Also, included more mons, which didn't share values between their offsets.

Code:
Mega Charizard X*:
1 Speedup: 04
2 Speedups: 08
3 Speedups: 0C

Mega Charizard Y*:
1 Speedup: 02
2 Speedups: 04
3 Speedups: 06

Mega Blastoise:
1 Speedup: 01
2 Speedups: 02
3 Speedups: 03
4 Speedups: 04

Mega Pidgeot*:
1 Speedup: 40
2 Speedups: 80
3 Speedups: C0

Also: Kangaskhan ( 0x02D63 ), Banette ( 0x02D78 ) and Sableye ( 0x02D71 ) share the same growth pattern through their hex values - each one of them needs 8 Speedups.

Code:
Mega Kangaskhan, Banette and Sableye:
1 Speedup: 04
2 Speedups: 08
3 Speedups: 0C
4 Speedups: 10
5 Speedups: 14
6 Speedups: 18
7 Speedups: 1C
8 Speedups: 20

But this isn't exactly a rule, since Mega Blaziken ( 0x02D6E ) and Mega Audino ( 0x02D83 ) have a similar pattern between them, but it's a different pattern from Venusaur - and these three need three speedups each.

Code:
Mega Blaziken and Audino:
1 Speedup: 20
2 Speedups: 40
3 Speedups: 60
 
Last edited by KaleoOmega,

pokemonshuffler12345

Well-Known Member
Member
Joined
Sep 7, 2015
Messages
149
Trophies
0
Age
33
XP
97
Country
United States
Yes, PSSE still works with 1.2.16.

And actually, Mega Sharpedo was included since 1.2.15; if you just enabled their Mega Stone through PSSE, you could already used it.
The real inclusion at 1.2.16 is Diancie with their correct Ability and type (Fairy, Barrier Bash+), but their Mega Evolution isn't updated yet (still appears with the placeholder Audino Ability, plus the Rock-type).
I wanted to confirm, before i actually go through with it. I will be going through competitions, and new releases "normally".
After using this psse, its already been 6+months and i was no closer to clearing some of the stages(before this wonderful tool). since only 220+ pokemon is released, GS will drag this on for 6month- a year before releasing another 200 pokemon(w/out the usage of the psse).
Mega sharpedo has the same evolution rate as garchomp, its basically a dark clone of slowbro, but that only needs 2 speedups, why the big difference? I found using sharpedo, without mega start and speed up is less effective than slowbro, because it takes so much longer to evolve
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
@KaleoOmega , you are focused on 1mega=1 byte, but that's not true, tha's why you get confusing results.

What is really strange is this: MegaKangaskhan-7/8 and megalopunny-7/8
Also garchomp and diancie, since 5 is 101 and 27 11011, which with all set to FF should be impossible.

There is something else in there aside how many megaspeedups the pokemon has...

EDIT: ok, let's look at the first 9 values for maxed pokemon (feeding candies) in bits:

000110000000110000000110100001001100000101100000001000000000100000100000

We know the order and how many candies they take.

Now, this are the numbers in bit format (keep in mind that as far as we know less than 8 bits could be used for that, since the number 27 only needs 5 bits)
1 = 00000001
2 = 00000010
3 = 00000011
4 = 00000100
7 = 00000111
8 = 00001000
10 = 00001010

We should be able to find there the following numbers in sequence:
3, 3, 3, 4, 3, 3, 2, 1, 8, 3
Which are the max fed candies for venusaur, charizard X, charizard Y, blastois, beedrill, pidgeot,alakazam, slowbro, gengar, kangashkan.
But maybe the bits are inverted, instead of 00000010 for number two, it may be 01000000.

Keep in mind I may have had a typo, so maybe the biinary code isn't right. Need to re-check it.

Here's the full megas in binary:
000110000000110000000110100001001100000101100000001000000000100000100000000001101000001111000011101000000111000000011000000011000000110010000011110000010110000000110000000110000010000000001110100000111100000101000001001100010011000000100000000001101000011011000001011000000011000000011000001000000001010010000100110000010110000000110000
Hex string: 180c0684c1602008200683c3A070180c0c83c1603018200e83c1413130200686c1603018201484c16030
 
Last edited by suloku,

KaleoOmega

I just don't know what to do with myself...
Member
Joined
Apr 17, 2013
Messages
386
Trophies
0
XP
282
Country
Brazil
Understood, @suloku . In fact, some of the mons have their data between two offsets, like Beedrill, Manectric, Sharpedo, Medicham, Aerodactyl and Abomasnow...
Looking at the growth data, there's different "growth patterns" between the Megas, but some of them have similar rates.

Maybe this can be useful... inside the spoiler, there's everything that I discovered so far... still need to analyze 11 offsets (all of them with unreleased mons).


Format:
Pokémon : Offset
1 Speedup: Hex_value_needed
2 Speedups: Hex_value_needed
...

*About the cases with data between two offsets, I put an "X" marking where the offsets don't change. Hope it helps.
Code:
Venusaur: 0x02D5B
1 Speedup: 08
2 Speedups: 10
3 Speedups: 18

Charizard X: 0x02D5C
1 Speedup: 04
2 Speedups: 08
3 Speedups: 0C

Charizard Y: 0x02D5D
1 Speedup: 02
2 Speedups: 04
3 Speedups: 06

Blastoise: 0x02D5E
1 Speedup: 01
2 Speedups: 02
3 Speedups: 03
4 Speedups: 04

Beedrill (it changes also the next offset): 0x02D5E
1 Speedup: 8X X0
2 Speedups: 0X X1
3 Speedups: 8X X1

Pidgeot: 0x02D5F
1 Speedup: 40
2 Speedups: 80
3 Speedups: C0

Alakazam: 0x02D60
1 Speedup: 20
2 Speedups: 40
3 Speedups: 60

Slowbro: 0x02D61
1 Speedup: 10
2 Speedups: 20

Gengar: 0x02D62
1 Speedup: 08

Kangaskhan: 0x02D63
1 Speedup: 04
2 Speedups: 08
3 Speedups: 0C
4 Speedups: 10
5 Speedups: 14
6 Speedups: 18
7 Speedups: 1C
8 Speedups: 20

Pinsir: 0x02D64
1 Speedup: 02
2 Speedups: 04
3 Speedups: 06

Gyarados: 0x02D65
1 Speedup: 01
2 Speedups: 02
3 Speedups: 03

Aerodactyl (it changes also the next offset): 0x02D65
1 Speedup: 8X X0
2 Speedups: 0X X1
3 Speedups: 8X X1
4 Speedups: 0X X2
5 Speedups: 8X X2
6 Speedups: 0X X3
7 Speedups: 8X X3

Mewtwo X: 0x02D66
1 Speedup: 40
2 Speedups: 80
3 Speedups: C0

Mewtwo Y: 0x02D67
1 Speedup: 20
2 Speedups: 40
3 Speedups: 60
4 Speedups: 80
5 Speedups: A0

Ampharos: 0x02D68
1 Speedup: 10
2 Speedups: 20
3 Speedups: 30
4 Speedups: 40
5 Speedups: 50
6 Speedups: 60
7 Speedups: 70

Heracross: 0x02D6B
1 Speedup: 02
2 Speedups: 04
3 Speedups: 06
4 Speedups: 08
5 Speedups: 0A
6 Speedups: 0C

Blaziken: 0x02D6E
1 Speedup: 20
2 Speedups: 40
3 Speedups: 60

Gardevoir: 0x02D70
1 Speedup: 08
2 Speedups: 10
3 Speedups: 18

Sableye: 0x02D71
1 Speedup: 04
2 Speedups: 08
3 Speedups: 0C
4 Speedups: 10
5 Speedups: 14
6 Speedups: 18
7 Speedups: 1C
8 Speedups: 20

Mawile: 0x02D72
1 Speedup: 02
2 Speedups: 04
3 Speedups: 06
4 Speedups: 08
5 Speedups: 0A
6 Speedups: 0C
7 Speedups: 0E

Aggron: 0x02D73
1 Speedup: 01
2 Speedups: 02
3 Speedups: 03

Medicham (it changes also the next offset): 0x02D73
1 Speedup: 8X X0
2 Speedups: 0X X1
3 Speedups: 8X X1

Manectric (it changes also the next offset): 0x02D74
1 Speedup: 4X X0
2 Speedups: 8X X0
3 Speedups: CX X0
4 Speedups: 0X X1
5 Speedups: 4X X1
6 Speedups: 8X X1
7 Speedups: CX X1

Sharpedo (it changes also the next offset): 0x02D75
1 Speedup: 2X X0
2 Speedups: 4X X0
3 Speedups: 6X X0
4 Speedups: 8X X0
5 Speedups: AX X0
6 Speedups: CX X0
7 Speedups: EX X0
8 Speedups: 0X X1
9 Speedups: 2X X1
10 Speedups: 4X X1

Camerupt: 0x02D76
1 Speedup: 10
2 Speedups: 20
3 Speedups: 30

Altaria: 0x02D77
1 Speedup: 08
2 Speedups: 10
3 Speedups: 18
4 Speedups: 20
5 Speedups: 28
6 Speedups: 30

Banette: 0x02D78
1 Speedup: 04
2 Speedups: 08
3 Speedups: 0C
4 Speedups: 10
5 Speedups: 14
6 Speedups: 18
7 Speedups: 1C
8 Speedups: 20

Glalie: 0x02D7A
1 Speedup: 01
2 Speedups: 02
3 Speedups: 03
4 Speedups: 04
5 Speedups: 05
6 Speedups: 06

Lopunny: 0x02D7F
1 Speedup: 04
2 Speedups: 08
3 Speedups: 0C
4 Speedups: 10
5 Speedups: 14
6 Speedups: 18
7 Speedups: 1C
8 Speedups: 20

Garchomp: 0x02D80
1 Speedup: 02
2 Speedups: 04
3 Speedups: 06
4 Speedups: 08
5 Speedups: 0A
6 Speedups: 0C
7 Speedups: 0E
8 Speedups: 10
9 Speedups: 12
10 Speedups: 14

Lucario: 0x02D81
1 Speedup: 01
2 Speedups: 02
3 Speedups: 03
4 Speedups: 04

Abomasnow (it changes also the next offset): 0x02D82
1 Speedup: 8X X0
2 Speedups: 0X X1
3 Speedups: 8X X1

Gallade: 0x02D82
1 Speedup: 40
2 Speedups: 80
3 Speedups: C0

Audino: 0x02D83
1 Speedup: 20
2 Speedups: 40
3 Speedups: 60

Diancie: 0x02D84
1 Speedup: 10
2 Speedups: 20
3 Speedups: 30
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
@KaleoOmega I edited my previous post while you wrote yours, maybe you read something different form my final edit.

In the bit string you can easily identify at the beggining three "11" groups, which should be the 3 speedups for venusaur, charizard and charizard. But I don't know If they are read from left to right or right to left, or how many bits does each pokemon use, but using that as reference, I'd say they use 9 bits, either in one sense or in the other, but either way I can't make it make sense.

The only explanation would be that each pokemon has a different number of bits for it.

UPDATE:

00011 -3 Venusaur (missing bits, they are in the previous byte)
000000011 - 3 charizard x *
000000011 -3 charizard y*
010000100 - 4 -BLASTOISE
11000001011 - beedrill, pidgeot and alakazam for some reason?*
000000010 - 2 slowbro
000000001 - 1 gengar
000001000 - 8 kangashkahn
000000011 - 3 - Pinsir*
010000011 - 3 - Gyarados*
110000111 - 7 - Aerodactyl
-- I MESSED UP BECAUSE, WHERE's MEWTWO??
01000000111 - 7 ampharos
000000011 - 3 steelix*
000000011 - 3 scizor*
000000110 - 6 heracorss
01000001111 - sceptile and tiranitar and houndoom??
000001011 - 3 blaziken
000000011 - 3 swampert*
000000011 - 3 gardevoir*
000001000 - 8 sableye
000000111 - 3 aggron* (again, there's a flag there, that's why it is 111, which is 7)
01 ??? WHERE's MEDICHAM*? shared with manectric?
000001111 - 7 manectric (7 is 111, so the other 1 is some kind of flag we don't know of)
000001010 - 10 sharpedo
000010011 - 3 camerupt*
000100110 - 6 altaria
000001000 - 8 bannete
000000011 - 3 absol*
010000110 - 6 glalie
11 3 - latias*
000001011 - 3 latios*
000000011 - 3 rayquaza*
000001000 - 8 lopunny
000001010 - 10 garchomp
010000100 - 4 lucario
11 - where are abomasnow and gallade?
000001011 - 3 audino
000000011 - 3 diancie*
0000

As you can see, due to the existence of mega X/Y stones and latioslatias being the same mega evolution we are missing something to understand how this is stored.
We should test those pokemon separately: feed everyone but charizard X, charizard Y, mewto X, mewtwo Y, latios and latias.
Then see how feeding those 5 alters the storage.
 
Last edited by suloku,

Togepi

Member
Newcomer
Joined
Aug 7, 2015
Messages
8
Trophies
0
XP
53
Country
United States
I used PSSE before just fine. This time I was editing the levels and now I have multiple Pokemon showing the level up animation in the Pokemon selection screen. Some of which I didn't even change the levels of in PSSE. When I tried a stage the animation disappeared when I was done. However, some Pokemon went up multiple levels and others gained no experience at all. How do I fix this?
 
Last edited by Togepi,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BakerMan @ BakerMan: