Jump to content

Leaderboard

  1. theSLAYER

    theSLAYER

    Administrator


    • Points

      4

    • Posts

      22828


  2. Poke J

    Poke J

    Helpful Member


    • Points

      1

    • Posts

      550


  3. Nigoli

    Nigoli

    Former Staff


    • Points

      1

    • Posts

      551


  4. BlackShark

    BlackShark

    Contributor


    • Points

      1

    • Posts

      1753


Popular Content

Showing content with the highest reputation on 05/02/20 in Posts

  1. If someone wants to help you, they'll reply. :3 Remember, no one is obliged to help you. Going online with hacked Switches also risk a ban (any Switch with CFW that goes online is at risk of ban), so it is understandable that no one will help. (High risk and no returns, effectively) So just have faith in the unknown and sit patiently and wait. :3
    1 point
  2. No worries, at least you figured it out in the end :3
    1 point
  3. I didn't remember that you must use ingame save :D. I had always saved it in citra, never ingame. We will NOT talk about this, let's forget whole thing ok? Thanks for the help anyway.
    1 point
  4. Did you even start the game, collect the starter, and save the game? when I loaded your save file in Citra, it brought me to the beginning, which is the language selection screen. Can you start the game, get the starter, save the game, then try again?
    1 point
  5. It would be pretty neat if NINTEN Mew was generated with this method. On a separately note, we've been aware of code in the disassembly that shows they had gifted these mons, and we've added the mons from the unused sub here. Tho I guess the reason why OT/TID is different, is because the subroutine that people found only gifts you a mon, and it's based on the OT/TID of your save. (However, it appears for debug game, the OT is locked to NINTEN, if you properly entered the game via debug menu) I'll probably add these mons later.
    1 point
  6. For the fifth generation of Pokémon games the RAM is actually very easy to read when compared to the fourth generation. This is largely due to the fact that when the RAM is opened in a simple text editor the headers in the RAM are in plain text. However, ripping Pokémon from RAM is both easier, but harder than generation four. In my pervious topic when I broke down the structure of Pokémon in generation four’s RAM I was able to locate all of the important information of the Pokémon, but with generation five important information that one would expect to find does not appear to be present at a first glance. Fortunately that is not where this topic ends; it turns out all Pokémon that are on the field as well as the entire party of all trainers are stored in the RAM in an encrypted format. It appears that the entire party block from the save is copied into the RAM and when a battle starts the other trainer’s Pokémon in loaded into the RAM using the exact same structure as the player’s party Pokémon. This allows for easy ripping of Pokémon at the cost of this topic appearing extremely underwhelming due to this outcome (sorry no table this time). How to Extract Pokémon from RAM Dumps During a Non Vs. Recorder Battle As stated earlier the RAM for generation 5 is very easy to read and this easiness to read makes it easy to rip Pokémon. In order to rip a Pokémon you will need to find it in the RAM and that is where the header N.pokeparty.c comes into play or its hex equivalent 4E 19 70 6F 6B 65 70 61 72 74 79 2E 63. In most cases there will be four instances of this header with the first one being the player’s party, the second one being the NPC’s party, the third one being the player’s party again, and the last one being the NPC’s party again (upon writing this I have realized that I did not test this with a multi-battle so the results my change for that). In some cases there may be an extra header before the first normal instance of it where different functionality such as Wi-Fi is mentioned. In order to start extracting a Pokémon you will need to start 20 bytes after the c in N.pokeparty.c, therefore the 21st byte onwards will be the start of the Pokémon data. Since it follows the same structure as party Pokémon in the save each Pokémon occupies 220 bytes so with some simple multiplication you can find the end of relevant data in the block. At this point I have covered general information and how to find the Pokémon, but now you probably want to know how to get a Pokémon from the RAM to the save even though the data is encrypted. 1. Locate the correct party block that has the Pokémon you want. 2. Copy the entire block or until the end of relevant data (if there is less than six Pokémon only copy up to the end of the last Pokémon). 3. Get a save file where the party Pokémon can be over written. 4. Copy the RAM block into the party block. 5. Open the save in PKHeX 6. Use PKHeX to update the checksum or remove the Pokémon from the same to your main save. For now this is the best method until an application is developed that can do this. How to Extract Pokémon from RAM Dumps During a Vs. Recorder Playback For these kind of RAM dumps the method above does not work as intended and the Pokémon will appear to have incorrect data if opened in PKHeX. The corruption occurs primarily with Pokémon obtained in a fifth generation game and is caused by the 0x5F byte which indicates which game the Pokémon was caught in being set to 00. In order to prevent this the Pokémon needs to be extracted from the RAM, decrypted without the use of PKHeX, opened in a hex editor, and manually change the 0x59 byte to either 14 for Pokémon White or 15 for Pokémon Black. This only needs to be done if the 0x59 byte is set to 00. Now just general remarks and interesting information from looking into this: In Pokémon Black2 and Pokémon White 2 there are NPCs that you can trade with and then have them challenge you to a battle with the traded Pokémon, but is it the same Pokémon? No, it is not the same Pokémon. In the end the Pokémon does maintain its PID, gender, nickname, ID, and SID, but its level is raised to the nearest 5th level, nature is changed, held item removed, met data wiped, IVs are changed to a predetermined set of IVs, EVs are set to 0, moves will reflect the four most recent moves that that species of Pokémon would know at the new level, and OT is wiped. As well, despite not usually being found in the RAM decrypted the Pokémon will have its name, ID, and SID decrypted in the RAM. Going back to generation four, Pokémon are also stored in the RAM encrypted, but it does not appear NPC Pokémon are always stored this way since 1 out of 5 attempts resulted in a good rip and not a glitch Pokémon. Therefore, keep using the information outlined in my earlier topic. For further reading please read my mapping of Pokémon in generation four RAM and generation five Pokémon structure in the technical documents. Special thanks to @BlackSharkfor providing some Pokémon White RAM dumps. Also here is an updated folder of some Pokémon that I dumped from popular NPC’s from Pokémon Black and Pokémon White (this time properly ripped and not using an AR code): Black White Special Trainers Updated.zip
    1 point
  7. Use PKHeX. Also you can't check if something is legit, only if it is legal. Legit = actually caught ingame without any kind of cheats, save editors or even emulators Legal = not necessarily caught ingame but theorectically possible to get ingame
    1 point
  8. Here's 111 Ageto Celebis from the Japanese Colosseum Bonus Disc, Version 1. All transferred to an Emerald Save if anyone wanted to Pal Park this Event. This should also work with English Emerald, as the saves are compatible with each Region. This many were transferred strictly for variety of stats, different Natures, and helping out with the legality checker. Update #1: Pal Park files added from Heart Gold. Update #2: PokeShifter files added from Black.
    1 point
×
×
  • Create New...