PKSM 3DS

From GameBrew
PKSM
Pksm2.png
General
AuthorFlagBrew
TypeSave Managers and Editors
Version10.1.1
LicenseGPL-3.0
Last Updated2024/04/04
Links
Download
Website
Source
Support Author

PKSM is a multipurpose and portable save manager for Pokemon generations IV to VII, programmed in C++.

Note from developers:

We do not support or condone cheating at the expense of others. Do not use significantly edited Pokemon in battle or in trades with those who are unaware edited Pokemon are in use.

Features

  • Supports original cartridges and digital copies of games from DPPt to SwSh.
  • Allows on-the-fly modifications to all of your data.
  • Allows internal and resizable offline storage to store your Pokemon.
  • Capable of running custom scripts to allow injection of arbitrary data into your saves.
  • Interfaces with multiple ad-hoc programs running on your computer, web browser or smartphone.
  • Capable of scanning QR codes to inject both .pkx files or event wondercards.
  • Contains an offline wondercard database to get events from old distributions.
  • Capable of automatic verification and legalization of all your data.

Installation

This software works on CFW and Rosalina-based Homebrew Launchers. An internet connection is required when first launching PKSM.

  • CFW - Install the PKSM.cia file with your favourite installer, then launch the application from the Home Menu.
  • Rosalina HBL - Copy the PKSM.3dsx file into sdmc:/3ds/PKSM/, then launch PKSM from a Rosalina-based Homebrew Launcher.

Initial launch will require your system to be connected to the internet. This is needed to download the additional assets required for the application to launch. If your system is not connected to the internet, PKSM will return back to your menu.

User guide

Refer to the PKSM wiki for documentation.

Supported games

As of 9.0.0 the following games are supported.

  • Gen 3 - Pokémon Ruby & Sapphire, Pokémon FireRed & LeafGreen, Pokémon Emerald.
  • Gen 4 - Pokémon Diamond & Pearl, Pokémon Platinum, Pokémon HeartGold & SoulSilver.
  • Gen 5 - Pokémon Black & White, Pokémon Black 2 & White 2.
  • Gen 6 - Pokémon X & Y, Pokémon Omega Ruby & Alpha Sapphire.
  • Gen 7 - Pokémon Sun & Moon, Pokémon Ultra Sun & Ultra Moon, Pokémon Let's Go Pikachu & Let's Go Eevee.
  • Gen 8 - Pokémon Sword & Shield.

LGPE saves can be accessed by bridging PKSM on 3DS to Checkpoint on Switch.

SWSH saves can be accessed through the same bridging function, but the latest version of Checkpoint (v3.7.4 as of writing) needs an update to be able to send the saves.

Applications compatible with PKSM

  • PKHeX - Generates .pk7, .pk6, .wc7, .wc6 QR codes scannable from PKSM. Runs on PC.
  • MysteryGiftBot - Generates .wc7 QR codes scannable from PKSM. Runs on Twitter.
  • PKSM-Scripts - A toolkit to develop and compile .pksm and .c scripts.
  • The GPSS - an online Pokemon sharing platform.

Working path

  • Additional assets are located at /3ds/PKSM/assets.
  • Automatic save backups are located at /3ds/PKSM/backups.
  • Extra storage data is located at /3ds/PKSM/banks.
  • .pkx and .wcx dumps are located in /3ds/PKSM/dumps.
  • Custom scripts are located in /3ds/PKSM/scripts.
  • Custom background songs are located in /3ds/PKSM/songs.

FAQ

Q. Are flash carts supported?

No, and they will never be supported. This is due to programming restrictions, not lack of effort.

Q. Can I use PKSM on my TWiLight Menu saves?

Yes, see the extra saves section of Settings (in PKSM Manual) for how to set it up.

Q. Will you add support for the Virtual Console games?

As of v9.0.0 PKSM supports GBA VC injects. There are currently no plans to support the Generation 1 and 2 Virtual Console games, but PKSM is an open-source project and you are more than welcome to work on their implementation yourself and submit a pull request.

To give a little more detail on why there are no plans to add this, it has to due with the backwards compatibility, the data structure for Pokemon (such as the stats) had a major overhaul going from Generation 2 to 3 (hence why you could never officially trade between these games). It would involve writing a heavy amount of code that our main developer just doesn't have time for as of 2020.

Q. My Pokémon isn't legal. What do I do?

With an active internet connection you can use PKSM's legality checker to see what's wrong. Go to the Edit Pokémon screen, then go to the Misc screen. Click on the wireless icon. Congrats, you've accessed the legality checker.

Please note: The legality checker requires a network connection. It cannot be handled on-3ds as it would destroy the 3ds.

If your 3DS lacks an active internet connection, use another resource (like Serebii or an in-game pokedex) to manually double-check that the moves, level, met location, etc. of your Pokémon are legal.

Q. Why doesn't scanning this QR work?

It depends on the type of QR you're trying to scan.

  • GPSS:
    • QRs from the GPSS (or the gpss-logs channel of FlagBrew's Discord server) have to be scanned in the GPSS section of PKSM.
    • This can be accessed by opening Storage, then selecting the wifi button on the bottom screen, then pressing X.
  • PKX/PB7:
    • Usually coming from PKHeX, these QR codes must be of the same generation as the currently loaded save.
    • This scanner is accessed by opening Editor, then pressing L+R.
    • Please note: PK7 files are very finicky due to their size, and as such may need multiple tries.
  • Wonder Card:
    • These are scanned by opening Events, then pressing L+R.

Q. An event is missing from the database. Can you add it?

First off, PKSM's Event section does not currently support Generation 3, LGPE, or SWSH.

If you're asking about another event, it is most likely already in the collection that is the source of the database. If you find the event there but not in PKSM, please report it so it can be updated to the bundling script.

Q.All the sprites in PKSM have been changed. What went wrong?

Nothing has gone wrong. This is not a bug.

This is entirely expected under the right circumstances, and given the right amount of time this will go away on its own.

Q. How do I add custom music?

Place your custom music tracks in MP3 format in /3ds/PKSM/songs.

Relatively small file sizes are recommended, as are sampling frequency of 44100Hz and a bitrate of 96kbps.

These are recommendations, not constraints; you can generally toss whatever you want in MP3 format in there and PKSM will do fairly well.

Q. What backup folder corresponds to which game?

For DS and 3DS games (Generations 4 through 7), this table summarizes which backup folder for both PKSM and Checkpoint is for which game.

Game PKSM Checkpoint
Diamond ADAX ADAX POKEMON D
Pearl APAX APAX POKEMON P
Platinum CPUX CPUX POKEMON PL
HeartGold IPKX IPKX POKEMON HG
SoulSilver IPGX IPGX POKEMON SS
Black IRBX IRBX POKEMON B
White IRAX IRAX POKEMON W
Black 2 IREX IREX POKEMON B2
White 2 IRDX IRDX POKEMON W2
X 0x0055D 0x0055D Pokémon X
Y 0x0055E 0x0055E Pokémon Y
Omega Ruby 0x011C4 0x011C4 Pokémon Omega Ruby
Alpha Sapphire 0x011C5 0x011C5 Pokémon Alpha Sapphire
Sun 0x01648 0x01648 Pokémon Sun
Moon 0x0175E 0x0175E Pokémon Moon
Ultra Sun 0x01B50 0x01B50 Pokémon Ultra Sun
Ultra Moon 0x01B51 0x01B51 Pokémon Ultra Moon

where X for DS games (Diamond/Pearl through Black 2/White 2) is one of E, S, K, J, I, D, F, or O.

  • For backups of saves sent through the bridge function (i.e. from Switch Checkpoint to 3DS PKSM), you'll find the backups in /3ds/PKSM/backups/bridge.
  • For titles configured through the Title IDs option in Settings, it is based on the title ID you configured for the game.

For example, let's say for FireRed you've configured the ID 0xABCDEFGHIJKLMNOP. To get the backup folder name:

  • Remove the last 2 digits - Using the example this is OP, which would leave us with 0xABCDEFGHIJKLMN.
  • Take the last 5 digits - The example would leave us with JKLMN.
  • Add 0x in front of those 5 digits - The example gives us with 0xJKLMN.

And that's it. So our backup folder for FireRed with the title ID 0xABCDEFGHIJKLMNOP will be 0xJKLMN.

If you set up any Generation 3 save files as Extra Saves without configuring a Title ID, the backups will be in a particular folder based on the game.

Game PKSM
Ruby 0x00001
Sapphire 0x00002
Emerald 0x00003
FireRed 0x00004
LeafGreen 0x00005

Controls

D-Pad/C-Pad - Scroll through games or saves

A - Select game or save

B - Deselect game

X - Show PKSM Settings

Y - Show Absent games

Select (hold) - Show help overlay

Start - Exit PKSM

Home - Return to Home Menu

Screenshots

pksm12.pngpksm13.png

pksm11.pngpksm10.png

pksm6.pngpksm7.png

pksm8.pngpksm9.png

Media

PKSM: Complete Guide to Generating Pokemon on Nintendo 3DS - Sun and Moon, ORAS, X &Y! (Homebrew) (by OPERATIONiDROID).

Known issues

Please refer to the issue page.

Changelog

v10.1.1

  • This release fixes the bag editor item list bug, as well as the commit hash missing from the version in the top right corner of the screen.

v10.1.0

v10.0.0

  • Gen 1 & 2 support!
    • Huge thank you to @SNBeast for his work on this!
  • GPSS Upgrades:
  • Language updates:
    • The way we structured our language files has changed to hopefully make translators' lives easier.
  • Storage:
    • Adds dumping selected groups from within the bank storage screen.
  • View of Pokémon will color stats according to nature increase/decrease:
    • Hyper Trained stats and hidden abilities will also be colored.
  • Add many G8 sprites; now they won't all be eggs.
  • Adds a "save and launch" button to allow immediately launching games with changes.
  • Fixes:
    • G3 bag item counts now don't go insane on every change.
    • Cloning now works properly in blue-cursor mode.
    • Many miscellaneous bug fixes.

Note: the ELF file here is for ease of finding it for future debugging. It is unlikely anyone downloading PKSM will need it.

v9.2.0

  • The Generation 3 and 8 hex editors are now filled in.
  • The QR scanner framerate is now much higher and supports Generation 3 QRs.
    • This should not affect scanning time.
  • Fixes and behind-the-scenes changes.
  • Fix a few Pokémon form names.
  • Add valid size for SWSH v1.0->1.2, not just 1.1->1.2.
  • Fix Platinum (and possibly HGSS) unsaved box data.
  • Actually create defaults folder if it's not already.
  • Fix Archive::init failure with error 0xC92044E6.
  • Note: this fixes the underlying issue. People that currently have this issue should seek help in our Discord server if they care about the Pokémon in their PKSM bank.
  • Fixed defaults not saving changes between application restarts.
  • Fix an issue with the Ranger Manaphy Wonder Card.
  • Fix G3 nickname case when generating.
  • As PKSM does have an auto-updater, you likely will not have to update manually.

Release notes.

Credits

  • Bernardo for creating PKSM.
  • piepie62 and Admiral-Fish for the immense amount of dedication they put into the project.
  • dsoldier for the gorgeous graphic work.
  • SpiredMoth, trainboy2019 and all the scripters for making PKSM-Scripts great.
  • Archit Date for CoreConsole and PKHeX AutoLegalityMod.
  • Allen for the GPSS and CoreConsole's successor, CoreAPI.
  • The whole FlagBrew team for the collaboration.
  • kwsch and SciresM for PKHeX, memecrypto and documentation.
  • fincs and WinterMute for citro2d and devkitARM.
  • kamronbatman and ProjectPokemon.org for EventsGallery.
  • All the translators.
  • Subject21_J and all the submitters for PKSM's icon.
  • Allen, piepie62, SpiredMoth and all the contributors for the documentation.
  • All the past contributors to the project.
  • All the patrons and the huge amount of supporters that this project has gained over the year.
  • Without you, this project wouldn't have existed. Thank you.

External links

Advertising: