Skip to content

FlagBrew/PKSM

Repository files navigation

Multipurpose and portable Pokemon save manager and editor for generations I to VIII, programmed in C++.

  • Supports original cartridges and digital copies of games from FrLgRSE to SwSh
  • Allows on-the-fly modifications to all of your data
  • Allows internal and resizable offline storage to store your Pokémon
  • Capable of running custom scripts to allow injection of arbitrary data into your saves
  • 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 (internet connection required)
    • Optional interfacing with an Android app to handle verification and legalization without a network connection

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

Screenshots

Documentation

Please refer to the PKSM wiki for detailed documentation.

Installation

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

Entrypoint Instructions
CFW Install the PKSM.cia file provided in the release page with your favourite installer. You can now launch the application from the Home Menu
Rosalina HBL Copy the PKSM.3dsx file provided in the release page into your SD card. You can now 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 close.

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 Pokémon sharing platform.
  • GPSS Mobile: Mobile interface for the GPSS and related features. Android only.

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

Troubleshooting

Before submitting an issue, have a look through the issue tracker, as your question or bug request may have already been answered in the past.

Please only submit consistent issues (submitting your environment and which version of PKSM you're running, for example). Duplicate issues will be closed.

Issues that are opened concerning releases other than the latest stable release will also be closed. Please do not report bugs with old software.

You can get real-time support by joining FlagBrew's discord server:

Discord

Building

PKSM has the following dependencies:

  • The latest version of libctru, citro3d, citro2d, 3ds-curl, 3ds-pkg-config, 3ds-bzip2, 3ds-mpg123, 3dstools, and tex3ds with their dependancies. All of these should be installed from devKitPro pacman.
  • rsync
  • Your system's pkg-config
  • 3dstool, bannertool and makerom, if you want to be able to compile a .cia build of PKSM.
  • The latest version of Python 3.x and the GitPython library.
  • node.js, pandoc, wkhtmltopdf and github-wikito-converter to be able to build the HTML documentation.

To compile, clone the repository with all submodules (git clone --recursive https://github.com/FlagBrew/PKSM.git if initially cloning, git submodule init and git submodule update if running from an existing clone) and run make all.

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, CoreConsole's successor, CoreAPI and GPSS Mobile
  • LiquidFenrir for the PoC of session stealing that led to Gen 3 support and GPSS Mobile
  • The whole FlagBrew team for collaborating with us
  • kwsch and SciresM for PKHeX, memecrypto and documentation
  • fincs and WinterMute for citro2d and devkitARM
  • kamronbatman and ProjectPokemon.org for EventsGallery
  • nayuki for QR-Code-generator
  • jpoirier, zsaleeba, and Jan Švejda for the base and most improvements in our picoC fork
  • dlbeer for quirc
  • Griffin For FlagBot and all the help it has been on the server.
  • SNBeast For Generation 1 and 2 support.
  • 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.

Support us

If you appreciate our work, you can support us on Patreon!

License

This project is licensed under the GNU GPLv3. Additional Terms 7.b and 7.c of GPLv3 apply to this. See LICENSE for details.

Visit us on flagbrew.org!