ShadowMario3
Member-
Posts
14 -
Joined
-
Last visited
-
Days Won
4
ShadowMario3 last won the day on November 17 2022
ShadowMario3 had the most liked content!
Reputation
22 ExcellentAbout ShadowMario3
- Birthday 10/20/1992
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
PKHeX new update legality errors (contribution page)
ShadowMario3 replied to theSLAYER's topic in PKHeX
Noticed that a level 2 Grapploct is seen as illegal as of the latest dev build of PKHeX. What I did was I hatched a Clobbopus in Sword, teach it Taunt through TR37, then used a Rare Candy to level it up and evolve it. Looks like PKHeX is trying to look for Taunt in the Relearn Moves area since it is expecting it as an Egg Move. 0853 - Grapploct - 8076C57D17EC.pk8 -
Articuno caught in the Giant's Bed instead of its first location is seen as illegal. 144-01 - Articuno - D7095D53EDFE.pk8
-
Gen I - V Event Contributions Thread
ShadowMario3 replied to theSLAYER's topic in Event Contributions
Here's a Yoshira Mew provided by @gwizofthestars (Website, Twitter, Instagram) from a registered team in Pokemon Stadium. gwiz was a winner of the Mew for the Millennium Nintendo Power contest. It seems this Mew was traded to Gen 2 at some point since it has a TwistedSpoon as its held item, and it is also at level 100. 151 - MEW - 4DBE.pk1 -
Posting my finding on the offset locations for the Registered Teams. It seem that the Japanese version (G&S) only has 10 registered teams per mode, which puts it in line with the English version. Also will be clarifying the Pokemon data structure. First the is a registered team is made using OP's post as a base: Registered parties are 0x180 each: 0x10 header + six 0x3C pokemon structures + 2 bytes padding, 4 byte footer and 2 byte checksum 0x00 Header: 0x0 1 True if team is present (0x00 if no team) 0x1 1 Padding 0x00 0x2 2 trainer ID (default 0x0000) *0x4 12 Trainer name (GB encoding, 0x50 terminated + remaining byte padding 0x00) (default 0x5000) 0x10 Start of party pkmn, 0x3C each; uses a similar GB storage format: 0x00 Index number of the Species 1 byte 0x01 Held Item 1 byte 0x02 Move 1 1 byte 0x03 Move 2 1 byte 0x04 Move 3 1 byte 0x05 Move 4 1 byte 0x06 OT ID 2 bytes *0x08 Experience points (1 byte 4 bytes extra padding at beginning) 0x0C HP EV Data 2 bytes 0x0E Atk EV Data 2 bytes 0x10 Def EV Data 2 bytes 0x12 Spd EV Data 2 bytes 0x14 Spc EV Data 2 bytes 0x16 DV Data 2 bytes 0x18 Move 1's PP values 1 byte 0x19 Move 2's PP values 1 byte 0x1A Move 3's PP values 1 byte 0x1B Move 4's PP values 1 byte 0x1C Friendship or Hatch Counter 1 byte 0x1D Level 1 byte 0x1E Status** 2 bytes 0x20 Pokérus Status 1 byte 0x21 Caught data 2 bytes 0x23 1 Padding? *0x24 Nickname (GB encoding, 0x50 12 bytes terminated) (1 extra padding byte) *0x30 OT name (GB encoding, 0x50 12 bytes terminated; 0 if rental) (4 extra padding bytes) 0x17A Footer 'P3v0' (0x50337630) 4 bytes 0x17E Checksum (UByte 8 bit) 2 bytes Computes Header + party data + footer *If OT Name is short, 0x50 is used to fill in rest (7 characters total in English, 5 in Japanese). *Japanese version is mostly the same except for one difference in Nickname and OT Name. Nicknames can only be 5 bytes, has 0x50 terminator, and 6 bytes of padding. Same with OT names. Both will have 0x00 padding to fill 12 bytes each. **Status is set to 0 when the pokémon is registered or in box. Set to 1 if Egg in box. Set to 4 if it is a rental Pokemon in a registered team. There is one byte padding afterwards. Thanks to @Kaphotics for figuring out which byte Pokérus is. For example, D1 = strain 13 and 1 day left. Use this chart for English Nickname and OT: https://bulbapedia.bulbagarden.net/wiki/Character_encoding_in_Generation_II#English For Japanese Nickname and OT: https://bulbapedia.bulbagarden.net/wiki/Character_encoding_in_Generation_II#Japanese Here are the locations for the Registered Teams (same in English and Japanese versions): Anything Goes Little Cup Poké Cup Prime Cup Gym Leader Castle Vs. Rival 01 0x0 0xF00 0x1E00 0x2D00 0x4000 0x4F00 02 0x180 0x1080 0x1F80 0x2E80 0x4180 0x5080 03 0x300 0x1200 0x2100 0x3000 0x4300 0x5200 04 0x480 0x1380 0x2280 0x3180 0x4480 0x5380 05 0x600 0x1500 0x2400 0x3300 0x4600 0x5500 06 0x780 0x1680 0x2580 0x3480 0x4780 0x5680 07 0x900 0x1800 0x2700 0x3600 0x4900 0x5800 08 0xA80 0x1980 0x2880 0x3780 0x4A80 0x5980 09 0xC00 0x1B00 0x2A00 0x3900 0x4C00 0x5B00 10 0xD80 0x1C80 0x2B80 0x3A80 0x4D80 0x5C80 Offsets for Boxes in Professor Oak's Lab: English boxes are 0x4D8 each: Japanese boxes are 0x750 each: Box 1 0x5E00 Box 1 0x5E00 Box 2 0x8000 Box 2 0x8000 Box 3 0x84D8 Box 3 0x8750 Box 4 0x89B0 Box 4 0x8E60 Box 5 0x8E88 Box 5 0x9590 Box 6 0x9360 Box 6 0x9CC0 Box 7 0x9838 Box 7 0xA3F0 Box 8 0x9D10 Box 8 0xAB20 Box 9 0xA1E8 Box 9 0xB250 Box 10 0xA6C0 Box 11 0xAB98 Box 12 0xB070 Box 13 0xB548 Box 14 0xBA20
-
[GEN 1] Pokemon Stadium Save file structure
ShadowMario3 replied to suloku's topic in Saves - Research
Here is the info for the Japanese version of Pokemon Stadium (called Pocket Monsters Stadium 2 over there). Save structure is pretty much the same as: Stadium 1 (JPN) [Pocket Monsters Stadium 2] Registered Teams ---------------- Team structure: 0x000: Unknown, seems to always be 0x0001 for all teams (2 bytes) 0x002: OT name from the save that registered the team (6 bytes). 0x50 terminator and padding (0x00) until 0x007. 0x008: OT ID# from the save that registered the team (2 bytes) (0x00 padding after?) 0x00B: Number of pokémon in the team (1-6) (1 byte) 0x00C: Pokémon slot #1* 0x039: Pokémon slot #2* 0x066: Pokémon slot #3* 0x093: Pokémon slot #4* 0x0C0: Pokémon slot #5* 0x0ED: Pokémon slot #6* 0x11A: Register team 1 "POKE" footer (4 bytes) 0x11E: Register team 1 checksum (2 bytes) * Pokémon structure is 45 bytes, (00 to 0x20 is the same structure as GameBoy, then comes Nickname and OT at 6 bytes each: 0x00 Index number of the Species 1 byte 0x01 Current HP 2 bytes 0x03 Level 1 byte 0x04 Status condition 1 byte 0x05 Type 1 1 byte 0x06 Type 2 1 byte 0x07 Catch rate/Held item 1 byte 0x08 Index number of move 1 1 byte 0x09 Index number of move 2 1 byte 0x0A Index number of move 3 1 byte 0x0B Index number of move 4 1 byte 0x0C Original Trainer ID number 2 bytes 0x0E Experience points 3 bytes 0x11 HP EV data 2 bytes 0x13 Attack EV data 2 bytes 0x15 Defense EV data 2 bytes 0x17 Speed EV data 2 bytes 0x19 Special EV data 2 bytes 0x1B IV data 2 bytes 0x1D Move 1's PP values 1 byte 0x1E Move 2's PP values 1 byte 0x1F Move 3's PP values 1 byte 0x20 Move 4's PP values 1 byte 0x21 Nickname 6 bytes, 0x50 terminator used to indicate end of name, 0x00 padding used if name is short. 0x2C OT 6 bytes, 0x50 terminator used to indicate end of name, 0x00 padding used if name is short. Registered Team Pointers: Anything Goes Nintendo Cup '97 Nintendo Cup '98 Nintendo Cup '99 Petit Cup Pika Cup 01 0x0 0xD80 0x1B00 0x2880 0x4000 0x4D80 02 0x120 0xEA0 0x1C20 0x29A0 0x4120 0x4EA0 03 0x240 0xFC0 0x1D40 0x2AC0 0x4240 0x4FC0 04 0x360 0x10E0 0x1E60 0x2BE0 0x4360 0x50E0 05 0x480 0x1200 0x1F80 0x2D00 0x4480 0x5200 06 0x5A0 0x1320 0x20A0 0x2E20 0x45A0 0x5320 07 0x6C0 0x1440 0x21C0 0x2F40 0x46C0 0x5440 08 0x7E0 0x1560 0x22E0 0x3060 0x47E0 0x5560 09 0x900 0x1680 0x2400 0x3180 0x4900 0x5680 10 0xA20 0x17A0 0x2520 0x32A0 0x4A20 0x57A0 11 0xB40 0x18C0 0x2640 0x33C0 0x4B40 0x58C0 12 0xC60 0x19E0 0x2760 0x34E0 0x4C60 0x59E0 Prime Cup Gym Leader Castle Vs. Mewtwo 01 0x5B00 0x6880 0x8000 02 0x5C20 0x69A0 0x8120 03 0x5D40 0x6AC0 0x8240 04 0x5E60 0x6BE0 0x8360 05 0x5F80 0x6D00 0x8480 06 0x60A0 0x6E20 0x85A0 07 0x61C0 0x6F40 0x86C0 08 0x62E0 0x7060 0x87E0 09 0x6400 0x7180 0x8900 10 0x6520 0x72A0 0x8A20 11 0x6640 0x73C0 0x8B40 12 0x6760 0x74E0 0x8C60 Just like Stadium, it seems the backups are stored in 0x1---, so if you can't find a team in the mentioned pointers, try finding them there. For example, Vs. Mewtwo teams might be in 0x18000 instead of 0x8000. Use this chart to figure out the OT: https://bulbapedia.bulbagarden.net/wiki/Character_encoding_in_Generation_I#Japanese -
[GEN 1] Pokemon Stadium Save file structure
ShadowMario3 replied to suloku's topic in Saves - Research
Hope this will help anyone who is trying to figure out info for Pokemon that are registered in their cartridges. I couldn't find any extractor/save editor for this game, so I looked through the save data itself and used @suloku's post on Pokemon Stadium Zero registered teams as a base. My game is English version 1.1, but I assume it is the same for 1.0 and 1.2. Also, registered teams for the different modes are all over the place. Will post their pointers at the end. Stadium 1 V1.1 (ENG) Registered Teams ---------------- Team structure: 0x000: Unknown, seems to always be 0x0001 for all teams 0x001: OT name from the save that registered the team (7 bytes). 0x50 terminator and padding (0x00) until 0x00C. This probably starts at 0x002 (6 bytes) for Japanese games. 0x00C: OT ID# from the save that registered the team (2 bytes) (0x00 padding after?) 0x00F: Number of pokémon in the team (1-6) (1 byte) 0x010: Pokémon slot #1* 0x047: Pokémon slot #2* 0x07E: Pokémon slot #3* 0x0B5: Pokémon slot #4* 0x0EC: Pokémon slot #5* 0x123: Pokémon slot #6* 0x15A: Register team 1 "POKE" footer (4 bytes) 0x15E: Register team 1 checksum (2 bytes) * Pokémon structure is 55 bytes, (00 to 0x20 is the same structure as GameBoy, then comes Nickname and OT at 7 bytes and 4 terminator/padding each): 0x00 Index number of the Species 1 byte 0x01 Current HP 2 bytes 0x03 Level 1 byte 0x04 Status condition 1 byte 0x05 Type 1 1 byte 0x06 Type 2 1 byte 0x07 Catch rate/Held item 1 byte 0x08 Index number of move 1 1 byte 0x09 Index number of move 2 1 byte 0x0A Index number of move 3 1 byte 0x0B Index number of move 4 1 byte 0x0C Original Trainer ID number 2 bytes 0x0E Experience points 3 bytes 0x11 HP EV data 2 bytes 0x13 Attack EV data 2 bytes 0x15 Defense EV data 2 bytes 0x17 Speed EV data 2 bytes 0x19 Special EV data 2 bytes 0x1B IV data 2 bytes 0x1D Move 1's PP values 1 byte 0x1E Move 2's PP values 1 byte 0x1F Move 3's PP values 1 byte 0x20 Move 4's PP values 1 byte 0x21 Nickname 10 bytes + 0x50 terminator to make total of 11. If name is shorter, 0x00 padding is used. 0x2C OT 7 bytes + 0x50 terminator + 3 byte padding of 0x00 for total of 11. If name is shorter, 0x00 padding is used. Registered Team Pointers: Anything Goes Poke Cup Petit Cup Pika Cup Prime Cup Gym Leader Castle Vs. Mewtwo 01 0x000 0x2940 0x4000 0x4DC0 0x5B80 0x6940 0x8000 02 0x160 0x2AA0 0x4160 0x4F20 0x5CE0 0x6AA0 0x8160 03 0x2C0 0x2C00 0x42C0 0x5080 0x5E40 0x6C00 0x82C0 04 0x420 0x2D60 0x4420 0x51E0 0x5FA0 0x6D60 0x8420 05 0x580 0x2EC0 0x4580 0x5340 0x6100 0x6EC0 0x8580 06 0x6E0 0x3020 0x46E0 0x54A0 0x6260 0x7020 0x86E0 07 0x840 0x3180 0x4840 0x5600 0x63C0 0x7180 0x8840 08 0x9A0 0x32E0 0x49A0 0x5760 0x6520 0x72E0 0x89A0 09 0xB00 0x3440 0x4B00 0x58C0 0x6680 0x7440 0x8B00 10 0xC60 0x35A0 0x4C60 0x5A20 0x67E0 0x75A0 0x8C60 If you are unable to find a registered team in the mentioned locations, try adding a 1 after the x, which might be where backups are located. For example, all of my registered Vs. Mewtwo teams were in 0x18000 on my main file instead of 0x8000 on my test file. Also of note: 0xDC0 to 0x2930 are blank. These Registered Teams are after Free Battle, and before Poke Cup, so these are likely used for the extra two cups that the Japanese version of this game has: Nintendo Cup '98 and Nintendo Cup '99 (the latter has four divisions like the Poke Cup, but Poke Cup's rules match Nintendo Cup '97). Because of this change, these spaces will likely always be blank in international versions of the game. Most of the info is already shown to you when you view a Registered Pokemon's info, so the main things you'll want are: ID Number, EVs, IVs, each move's PP values, and OT. You might also want Catch rate/held item (if you plan on bringing them to Gen 2). For PP, you'll need to convert it to binary (if it isn't at 0 PP Ups used), then see the value of the upper bits to see how many were used. Use this chart to figure out the OT: https://bulbapedia.bulbagarden.net/wiki/Character_encoding_in_Generation_I#English -
Turns out Kaphotics fixed all of the Gen I issues (that I was seeing at least) in a dev version around the time I made this post: https://github.com/kwsch/PKHeX/issues/2964#issuecomment-673888005 You can either download said version (linked in the comment I linked to) and build it (I used Visual Studio 2019) on your own, or you can simply wait for the next official version of PKHeX which should have these changes.
-
Didn't notice that comment. It seems that the US versions overall have no issue with catch rates, but Japanese and other international releases do have this issue. I tested out 200622, and it doesn't flag them as Invalid (so legality for Gen I checks was changed with the latest release or in 200718), but it still gives them a 255 catch rate which I believe is inaccurate, so the underlying problem seems to have been there for a while.
-
Not sure when it started to occur with the latest PKHeX, but I noticed that some Pokemon in Gen I JP games started appearing as Invalid due to the catch rate. These Pokemon have never been transferred or used in Gen II or Pokemon Stadium 2. The image I uploaded shows how it looks on the latest version of PKHeX (left) compared to an older version (20190919, right). Guess it's due to PKHeX seeing the catch rate for these Pokemon as 255, which might not be normal? When I load a US Gen I save, the catch rate for these Pokemon appear normal (which is 173, which are Berries in Gen II) with no legality issues.
-
This is truly awesome. Tried it on my rom copy of Emerald. Will make a backup of my actual R/S/E games and will try it on those.
- 10 replies
-
- 3rd gen
- mirage island
-
(and 1 more)
Tagged with:
-
Actually, I ordered an EZ Flash iV GBA rom cart. Will that be good enough to run the RTC edit program?
-
I wish I didn't drop out of the scene so soon. I highly doubt it, but has there been any movement in terms of transferring that GBA Flash Card program for use on a DS Flash Cart? Unfortunately don't have a GBA Flash Cart for use at the moment...
-
I know this post was from seven months ago, but can anyone confirm if the RTC fix in A-Save truly fixes the clock in RSE back to its normal form (after going to different areas, saving, loading more areas, saving, etc.)? I'm really hoping that it does, want to try to get back to battling my friends in their Secret Bases. Nonetheless, thanks for A-Save, KazoWAR! Really awesome that you made this!
-
New to Pokemon X and Y hacking. Can this program look at ESVs, or just TSVs? Also, this program can only look at six Pokemon in one box at a time, or thirty Pokemon in one box at a time? If the former, guess I'll have to go to the Mass Dumper.