PKSM Versions Save

Gen I to GenVIII save manager.

5.1.3

5 years ago

What's new:

  • Zeraora is now unlocked. You can now edit, generate and store it freely.
  • Hex editor inputs vastly improved, thanks to @linneadenvarg .

Notice

PKSM is in the process of being rewritten to a different language. This repo won't be actively updated for the time being and pull requests may get ignored.

Download the QR code with QRaken

qr


Discord

If you appreciate my work, I appreciate a coffee :)

5.1.2

6 years ago

What's new:

  • PKSM now uses libcurl to download assets (this should fix the Github TLSV1.2 compatibility).
  • Save buffer is now written in the save archive only if you decided to save changes.
  • Fix met date for Wondercards injected wirelessly from servepkx and the QR code scanner function. This will prevent receiving eggs instead of the actual event.

Notice

PKSM is in the process of being rewritten to a different language. This repo won't be actively updated for the time being and pull requests may get ignored.

qr


Discord

If you appreciate my work, I appreciate a coffee :)

5.1.1

6 years ago

What's new

  • Fixed: default generation date now defaults to a valid one: this means you'll not get eggs insteads of mystery gift when retrieving one from the postman.
  • Fixed: held trainer flag is now set when needed.
  • Fixed: gen5 resigning logic has been updated to allow more future compatibility with future scripts.
  • Fixed: text has now proper size in asian console.
  • Fixed: custom splash has been disabled. This should fix the problem where some .cia users couldn't boot the app properly anymore, causing a softreboot.
  • Fixed: some translations have been updated.

Discord

If you appreciate my work, I appreciate a coffee :)

5.1.0

6 years ago

Happy new year!

  • Added: Custom scripts intepretation and execution. I would like to state that this is not a language intepreter, but an interpreter of .pksm files, that have a certain syntax and can be created with an ad-hoc tool (more on this later). This new feature allows arbitrary data injection into the saves through scripts already available (see below) and/or scripts that you can make on your own.
    • Scripts are Powersaves-like, such as Set max money, Clear Mystery Gift data, Reset legendary encounters, Inject living dex and so on.
    • The only limit to the scripts is your imagination! Some fancy scripts have already been made, like Reset Delta Episode for ORAS, for example.
    • Scripts can run on every game supported from PKSM: from DPPT to USUM. This means this is the first time from PKSM's release that DS games have more than just even injection support. Currently, 17 different games have script execution support.
    • Scripts are located under /3ds/PKSM/scripts/<game>. You can add your own by placing them in the right folder.
  • Fixed: QR Code scanning has been strongly enhanced (thanks AstronautLevel)!
  • Fixed: Pokedex flags are now set properly during storage transfers and generation.
  • Fixed: The yellow button doesn't turn on the nickname flag anymore.
  • Added: You're now able to set a custom date for the wondercards to be injected. Date can be changed into the settings menu.
  • Added: Wondercard slot selection menu.
  • Added: MysteryGiftDump has been merged into PKSM. You're now able to dump your wondercard directly from PKSM.
  • Added: badsectors has been merged into PKSM. You're now able to fix eventual bad slots into your storage file directly from PKSM.
  • Added: Now storage previews nature and IVs too.
  • Fixed: Check for battle boxes for USUM too.
  • Fixed: Trainer data during transfers is now handled properly.
  • Fixed: Dump logic enhanced. You will now be able to dump just one pkmn from your storage or save, rather than the whole storage.
  • Fixed: Bug where you were able to tweak PKSM to trade gen7 pkmn to pre-gen7 games.
  • Fixed: Pkmn generation will now generate old generations legendaries with a clover.
  • Fixed: Bug where you could overflow abilities in the hex editor and crash the application.
  • Added: New batch of wondercard + old wondercards previously removed.
  • Fixed: GUI changes.
  • Added: Custom splash screen (thanks dsoldier and FrozenFire).
  • Removed: Russian localization has been removed because no one contributed to it from long time.
  • Removed: Pokedex viewer.
  • Enhanced: Further improvements to overall PKSM stability and other minor adjustments have been made to enhance the user experience.

Scripting

You can build your own scripts using PKSMScript.py, which requires Python3 to run.

You're allowed to inject raw data from files or just values with choice of offset, length and amount of repetition, and concatenate more little payloads together. You can find example scripts here.

The PKSM-Tools suite (that contains the scripts, too) has been updated as well, download it here.


Discord

If you appreciate my work, I appreciate a coffee :)

5.0.1

6 years ago

What's new?

  • Fixed: Form editing crash is now fixed.
  • Fixed: New forms moved into storage can now return back to your saves.
  • Fixed: Save corruption for HG/SS/PT after event injections has been fixed.
    • This was due to some offsets messed up during the latest refactoring.
  • Fixed: Marshadow is now visible/editable in the editor. It wasn't so in 5.0.0 due to a graphic bug.
  • Fixed: Moves/items list isn't cut anymore.
  • Fixed: Moves/items introduced in new generations can't be given to pkmns in older generations anymore.
  • Fixed: Dex flag setting is now fixed (thanks @kwsch).
  • Fixed: Bulk storage transfers now set pokedex flags correctly.
  • Fixed: Crash when accidentally going past byte 231 in the hex editor is now fixed.
  • Fixed: Opening the QR Code scanner is now more precise (thanks @AnalogMan151).
  • Fixed: Some localization strings are now translated.
  • Added: National Dex number is now visible in the extra storage info box.

I also noticed that the QR Code scanner is hard to use for some of you. Here are some tips:

  • Follow the guidelines precisely.
  • Keep firm hands, don't be shaky.
  • Keep the camera exactly perpendicular to the QR code. The QR code shouldn't appear as curved in the screen at all: this seems to be the cause to most of the fails.

Discord

If you appreciate my work, I appreciate a coffee :)

5.0.0

6 years ago

What's new?

  • Added: USUM support. Editor, extra storage and wondercard injection are fully supported.
  • Added: QR code scanning. You can now directly scan PKHeX and MysteryGiftBot's QR Codes to inject pkmn files or wondercards.
    • Said QR codes are really really big so it will take a while to become good at scanning them. Make sure you have firm hands and fully follow the guidelines precisely.
  • Fixed: Huge rewriting. Did a huge refactoring work and the application is now more fluid and consumes less memory.
  • Fixed: Brand new configuration menu, with more options to personalize your user experience.
  • Removed: Autoupdater has been removed, update with FBI.
  • Removed: Game launch feature. Couldn't reproduce some bugs you reported me so I decided the laziest way to sort out things.
    • Joking, I didn't like the feature anymore.
  • Changed: now the working path is /3ds/PKSM and not 3ds/data/PKSM.
  • Bug introduced: Storage resizing doesn't work anymore and I did comment the feature until I understand why it broke.
  • Fixed: tons of other stuff.

Since the working path changed, you need to manually move your bank.bin file to the new location. Keep this in mind before reporting your whole storage is gone.

New QR code feature showcase

In my opinion, this changelog doesn't pay respect to the amount of work that this update required. I'll just attach the new readme file I did, so it can showcase all the features to old and new users. Have fun!


PKSM

License

Multipurpose and portable save manager for generations IV-VII, programmed in C.

  • Supports original cartridges and digital copies of games from DPPT to USUM
  • Allows on-the-fly modifications to all of your data
  • Allows internal and resizable offline storage to store your pkmns
  • Interfaces with multiple ad-hoc programs running on your computer, web browser or smartphone
  • Capable of scanning QR codes to inject both pkmn files or event wondercards
  • Contains an offline wondercard database to get events from old distributions

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

Installation

This software works on cfw and *hax/rosalina-based Homebrew Launchers. An internet connection may be required at the first launch.

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 Move PKSM.3dsx from the rosalina folder in the PKSM.zip file. You can now launch PKSM from a rosalina-based homebrew launcher
*hax hbl Move PKSM.3dsx and PKSM.xml from the standard folder in the PKSM.zip file. You can now launch PKSM from a *hax-based homebrew launcher

If you get a failed to receive a status code error, you may want to connect your console to the internet. This is needed to download the additional assets required for the application to launch.

You need internet access to download the additional assets. If you can't still download them through the application, put them manually in the SD card, extracting the external additionalassets folder in your SD card, located at /3ds/PKSM/. The final result should be a folder filled with assets, located at /3ds/PKSM/additionalassets/.

DS cartridges

To let PKSM load your DS save correctly:

  • If using rosalina, you need to inject the homebrew launcher in a title that has DS saves access.
  • If using *hax, you need to select a target title that has DS save access when selecting PKSM from the homebrew launcher.

A title satisfying those specifics is, for example, Pokétransporter.

Applications supported by PKSM

  • serveLegality: PC tool to check and fix a pkmn's legality.
  • 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.
  • servepkx: multiplatform tool to send .pk7, .pk6, .wc7full, .wc6full, .wc7, .wc6 files to PKSM. Requires a web browser or JRE.
  • phbank2pksm: tool to convert a PHBank bank file to a PKSM storage file. Requires a web browser.
  • badsectors: tool to fix bad slots in the PKSM storage file. Runs on the homebrew launcher.

Working path

  • Additional assets are located at /3ds/PKSM/additionalassets/
  • Automatic save backups are located at /3ds/PKSM/backup/[GAME_DATE]/main
  • Extra storage backups are located at /3ds/PKSM/bank/bank_[DATE].bak

Troubleshooting

Before submitting an issue, look for it into the issues page, because it could have been already answered in the past.

Please only do consistent issues (submitting your environment and which version of PKSM you're running), without asking for the moon: I'm working for free here. Duplicate issues will be closed without any reply.

I'll not reply to issues related to versions of PKSM different from the latest stable release currently available.

You can get real-time support by joining PKSM's discord server.

Discord

Building

PKSM requires latest libctru, latest citro3d and latest pp2d. The executable can be compiled with devkitARM r47+.

Credits

  • dsoldier for the gorgeous graphic work
  • Naxann and Anty-Lemon for their contributions to the project
  • Smealum for ctrulib
  • Kaphotics and SciresM for PKHeX and memecrypto
  • J-K-D for direct save import/export
  • Astronautlevel for QR codes support
  • Slownic and zaksabeast for servepkx
  • Slashcash for PCHex++
  • TuxSH for TWLSaveTool
  • ProjectPokemon.org for most of the wondercards
  • Simona for being my best supporter
  • all the countless translators who helped with the multilanguage feature
  • everyone who helped during the development process
  • all the supporters

If you appreciate my work, I appreciate a coffee :)

4.5.0

6 years ago

What's new:

  • Added: PKSM now uses pp2d as graphic library, instead of sf2d. This will grant very fast loading times (pretty istantaneous) and a cleaner UI. This will also work with every *hax payload, since there are no more deprecated libraries used to build PKSM.
    • Size for the executable is now 1.5MB lighter than usual, and consumes less memory.
    • The new library will also grant homebrew launcher support even if payloads doesn't work perfectly. No more red screens! Obviously, make sure to use the latest homebrew launcher build.
  • Added: wondercard database updated
  • Fixed: event injection for gen4 works now
  • Fixed: game launch issue should be fixed
  • Fixed: updater no longer deletes PKSM if you're attempting to download the same release you have already installed
  • Fixed: translations updated
  • Removed: PKSM is now compilable without any of the old library dependencies. libjpeg-turbo, libfreetype, libpng, zlib, sfillib, sftdlib, sf2dlib and buildtools are no longer required
  • Removed: PKSV is deprecated now, so there will not be new builds for it

All the PKSM-related tools have been moved to a separate repository! PKSM-Tools contains now the following software:

  • badsectors: cleans possible corrupted slots in the PKSM extra storage file.
  • MysteryGiftDump: exports gen6+ wondercards into the SD card.
  • phbank2pksm: converts a phbank storage file into a PKSM compatible one.
  • serveLegality: windows application that receives pkmn from PKSM wirelessly, checks their legality and sends them back legal if they have something wrong.
  • servepkx: cross-platform (java/web browser) application to send compatible files to PKSM.
    • java version supports pkx only + bulk pkx import;
    • web-browser version supports single pkx, wcx and wcxfull imports.
  • TeamListFiller: fills a VGC17 teamlist automatically and exports it into the SD card as printable.

You can download PKSM-Tools here!


Showcases


For real time help and discussions, join us on:

If you appreciate my work, I appreciate a coffee :)

4.4.0

6 years ago

Please fill this form!

What's new:

  • Added: Wireless legality checking. Tons of you asked me to add a legality checking feature in PKSM, and.. here it is. It's not inside PKSM though, because it uses an ad-hoc legality server called serveLegality, which is heavily based on PKHeX.Core. You can find out how to use it in the link!
    • Legality checking can be performed in the editor option of PKSM. A copy of the pokemon you want to check will be sent wirelessly to the server running on your PC and it will show basic or detailed legality infos.
  • Added: Wireless wondercard injection. Yep, I don't have to keep updating PKSM anytime a new wondercard is released. For now you can only send .wc6/.wc7 files, but wcfulls will be supported in the near future. You can find all the cross platform executables in the release zip file.
  • Added: Wireless storage. You can now send bulk .pk6/.pk7 files into a virtual storage to avoid injecting stuff in your main save file.
  • Added: Autoupdater. It will now get the latest release from github and install it.
    • Note: it doesn't check if the release being downloaded is the same you're running yet.
  • Added: Possibility to launch the game you opened with PKSM when you exit the application.
  • Added: now it prints the generations for the pkmns in the editor viewer.
  • Added: Allow species editing in the hex editor.
  • Added: Press X to switch from party to box and viceversa.
  • Added: Now shows version for the wondercard in the event details screen.
  • Added: whole lot of wondercards!
  • Fixed: possibly fixed the corrupted slots bug.
  • Fixed: now the yellow button imports region and console data, too.
  • Fixed: Wondercard lists refactored, now everything is in order.
  • Fixed: Switch the event database structure for gen7 from .wc7 to .wc7full.
  • Fixed: A valid Marshadow is now injectable in the generation option.
  • Fixed: Refactoring of multiple parts of the source code, to clean old code residuals.
  • Fixed: Now storage dumps have proper filenames updated.
  • Fixed: nickname flag issue when using the yellow button.
  • Fixed: nickname flag always set when generating a pkmn from the generation option.
  • Fixed: Compiled with latest ctrulib 1.3.0, citro3d 1.3.0 and devkitARM r47.

For real time help and discussions, join us on:

If you appreciate my work, I appreciate a coffee :)

4.3.0

6 years ago

What's new in PKSM 4.3.0:

  • Added: Multilanguage support (thanks @Naxann!). PKSM has been translated in most of the major languages supported by the console, such as Italian, French, Spanish, Spanish, Portuguese, Japanese and Simplified Chinese! Obviously, this couldn't happen without our foreigners contributors, which helped to translate in all the languages we devs don't speak.
    • Korean and Traditional Chinese translations are still missing, and Russian ones are messy, because they have not been trimmed to fit in the graphics. If you know how to help us, feel free to make a Pull Request!
    • Fonts are now optimized: we managed to bundle all the characters in a single place and save space, too: old builds were about 6MB in size, this is less than 4MB instead, saving space and memory while opened.
    • Font scripts are available in the source code!
    • All the bugs related to pokemon names, items and so on have been fixed, too. Now everything is properly rendered on screen.
    • You will notice some initial delay when opening your boxes with the Japanese language on: this is due to the font caching and everything will be smooth in a second or too.
    • Your language will be determined automatically on the first launch, but you can change it from the settings. It will be remembered the next time you open PKSM.
    • Items and moves in the editor list are now sorted in every language you will choose.
  • Added: new Save Info Editor proof-of-concept! It has been thought to be similar to the hex editor you can already use during pokemon editing.
    • It doesn't do much for now (I had not so time to work on it), but there will be tons of advantages in the future, such as bag item editing and similar!
    • Since it works with the single bytes and it can be customized in the code, the save editor will work with all the games supported from PKSM as for now. Some examples? You could now edit your TID and SID on gen4 games to abuse of the Cute Charm glitch without needing your PC (for both editing or RNG) to do it.
    • Pull requests are highly appreciated!
  • Added: Tons of changes and additions in the GUI! There's a pretty new main menu now, for both 3DS titles and DS titles. Other graphics changes will be explained in detail later.
  • Added: New wondercard details screen. Now those are taken from the wondercard file directly, making the external txt description files unuseful.
    • You can now see the wondercard title, OT, held item, met date, level and moves for every wondercard available in the built-in database. The game version related to each wondercard is still WIP.
    • For this reason, graphics for the wondercard injector are heavily changed.
    • From now, you can see details for multiple wondercard events. You will notice a tip in the bottom screen if an event has multiple wondercards in it, and you can see details for each of them pressing L/R.
  • Added: Rosalina-based Homebrew Launchers are now supported. You can find a rosalina compatible .3dsx build into the release zip attached at the bottom.
  • Added: Extra Storage dump. You can now dump the whole extra storage content into your SD card, at /3ds/data/PKSM/dump/storagedump_[DATE]. Every pokemon will be saved in a separate .pk7 file.
  • Added: PokéDex function. You can now see what you have caught or seen. This is available for every gen6+ game, and it's accessible from the extra storage screen.
  • Added: new banner audio (thanks @Tails32!)
  • Fixed: Current Handler and Held Trainer Friendship are now set to 0 while using the generation function.
  • Fixed: navigation is now possible with both pads (directional and circle), in case someone have one of the pads broken or malfunctional.
  • Fixed: Magearna and Marshadow now shows in the generation screen.
  • Fixed: Encryption Constant when generating a pokemon is now random. Spinda spots are now random, too.
  • Fixed: Pokedex Flags bug introduced in version 4.2.3 has been fixed. Now, pokedex flags are saved automatically when you do transfers from storage to box and box to box.
  • Removed: Mass Injector. While this has been removed (so as the various collections), the file from where the generated pokemons are taken is still accessible from PKSM.

Added: tons of gen7 wondercard added:

  • 0221 - JPN Egg Shiny Chance
  • 0222 - JPN Bewear
  • 0223 - Ash-hat Pikachu
  • 0233 - HK Shiny Tapu Koko
  • 0234 - Anime Steenee
  • 0235 - Anime Turtonator
  • 0236 - Anime Vulpix
  • 0599 - Bottle Cap
  • 1105 - Shiny Tapu Koko
  • 1107 - Alolan Vulpix
  • 1108 - Alolan Sandshrew
  • 1109 - Alolan Diglett
  • 1110 - Alolan Grimer
  • 1111 - KOR Egg Shiny Chance
  • 1112 - WCSK17 Mew
  • 1608 - Pidgeot-Steelixite
  • 1609 - Mawilite
  • 1610 - SM Rare Candy
  • 1611 - SM 4 Mega Stones
  • 1612 - SM PGL Prize
  • 1613 - SM PGL Prize
  • 1614 - SM PGL Prize
  • 1615 - SM PGL Prize

Added: gen6 wondercards added:

  • 0183 - Singa Volcanion

Added: DS wondercards added (the IDs are not the real ones, due to implementation):

  • 025 - Milos Island Tornadus
  • 026 - Kalita's Hydreigon
  • 027 - Spring 2012 Zekrom
  • 090 - Azure Flute (unofficial)

If that's not enough... Let's talk about PKSV 2.0.0:

  • PKSV is now built directly from PKSM source code, using an ad-hoc Makefile.
  • This means that PKSV gets all the graphic changes introduced in PKSM 4.3.0, such as multilanguage support.
  • Editing is unavailable as always (because of PKSV philosophy), though.
  • Even though editing is not there, you can still use the extra storage function with save functionalities enabled. This will make heavy breeders' life simple.

PKSV's separate repo will be closed, so you'll only be able to download it from the PKSM repo instead.


This update is really massive, and it counts about 200 commits made in a range of two months. Hopefully you will enjoy all the work and time that Naxann, dsoldier, all the translators and me dedicated to make this happen.

I would like to thank @Tobyheiam, @Tails32, @ShinyLuxray, @pass0418, @dsoldier, @Naxann and all the other countless people who helped in the translations!


For real time help and discussions, join us on:

If you appreciate my work, I appreciate a coffee :)

4.2.4beta

6 years ago

This literally is the same as the 4.2.3 testbuild, but it has all the latest wondercards available, because of the high demand for them. New features and fixes for the new stable release are not included in this version, but will be available in the future.

Also, strings haven't been replaced in this build, but they have been worked on in the master branch, and will be ready to be released as stable really soon, hopefully. So, don't submit issues regarding localization strings about this release.


NOTE: There's a Rosalina HBL-compatible version of PKSM.3dsx bundled in the release zip, too.


Wondercards added:

  • 0183 - Singa Volcanion
  • 0221 - JPN Egg Shiny Chance
  • 0222 - JPN Bewear
  • 0223 - Five different Ash-hat Pikachu
  • 0233 - HK Shiny Tapu Koko
  • 0234 - Anime Steenee
  • 0235 - Anime Turtonator
  • 0236 - Anime Vulpix
  • 1105 - Shiny Tapu Koko
  • 1107 - Alolan Vulpix
  • 1108 - Alolan Sandshrew
  • 1109 - Alolan Diglett
  • 1110 - Alolan Grimer
  • 1111 - KOR Egg Shiny Chance
  • 1112 - WCSK17 Mew
  • 1609 - Mawilite
  • 1610 - SM Rare Candy
  • 1611 - SM 4 Mega Stones
  • 1612 - SM PGL Prize
  • 1613 - SM PGL Prize
  • 1614 - SM PGL Prize