Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

PKSM 3DS: Difference between revisions

From GameBrew
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 16: Line 16:
PKSM is a multipurpose and portable save manager for Pokemon generations IV to VII, programmed in C++.
PKSM is a multipurpose and portable save manager for Pokemon generations IV to VII, programmed in C++.


'''Note from developers:'''
'''Authors' note:''' 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.
 
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==
==Features==
Line 28: Line 26:
* Capable of scanning QR codes to inject both .pkx files or event wondercards.
* Capable of scanning QR codes to inject both .pkx files or event wondercards.
* Contains an offline wondercard database to get events from old distributions.
* Contains an offline wondercard database to get events from old distributions.
* Capable of automatic verification and legalization of all your data.
* 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


==Installation==
==Installation==
Line 41: Line 40:


===Supported games===
===Supported games===
As of 9.0.0 the following games are supported.
As of v10.0.0 the following games are supported:
* Gen 3 - Pokémon Ruby & Sapphire, Pokémon FireRed & LeafGreen, Pokémon Emerald.
* Gen 1 - Pokémon Red/Green, Pokémon Blue, Pokémon Yellow
* Gen 4 - Pokémon Diamond & Pearl, Pokémon Platinum, Pokémon HeartGold & SoulSilver.
* Gen 2 - Pokémon Gold/Silver, Pokémon Crystal
* Gen 5 - Pokémon Black & White, Pokémon Black 2 & White 2.
* Gen 3 - Pokémon Ruby/Sapphire, Pokémon FireRed/LeafGreen, Pokémon Emerald
* Gen 6 - Pokémon X & Y, Pokémon Omega Ruby & Alpha Sapphire.
* Gen 4 - Pokémon Diamond/Pearl, Pokémon Platinum, Pokémon HeartGold/SoulSilver
* Gen 7 - Pokémon Sun & Moon, Pokémon Ultra Sun & Ultra Moon, Pokémon Let's Go Pikachu & Let's Go Eevee.
* Gen 5 - Pokémon Black/White, Pokémon Black 2/White 2
* Gen 8 - Pokémon Sword & Shield.
* 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 (v1.3 only) (supported DLCs: Isle of Armor, Crown Tundra


LGPE saves can be accessed by bridging PKSM on 3DS to Checkpoint on Switch.  
Gen 3 games work either through emulators (via [https://github.com/FlagBrew/PKSM/wiki/Settings#extra-saves Extra Saves]) or through [https://github.com/FlagBrew/PKSM/wiki/GBA-Injection VC injects] (via [https://github.com/FlagBrew/PKSM/wiki/Settings#title-ids custom Title IDs]).


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.
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 PKSM's support may be unstable due to SWSH version updates changing the sizes of save files.


===Applications compatible with PKSM===
===Applications compatible with PKSM===
* [https://github.com/kwsch/PKHeX PKHeX] - Generates .pk7, .pk6, .wc7, .wc6 QR codes scannable from PKSM. Runs on PC.
* [https://github.com/kwsch/PKHeX PKHeX]: Generates .pk7, .pk6, .wc7, .wc6 QR codes scannable from PKSM. Runs on PC.
* [https://twitter.com/mysterygiftbot MysteryGiftBot] - Generates .wc7 QR codes scannable from PKSM. Runs on Twitter.
* [https://twitter.com/mysterygiftbot MysteryGiftBot]: Generates .wc7 QR codes scannable from PKSM. Runs on Twitter.
* [https://github.com/FlagBrew/PKSM-Scripts PKSM-Scripts] - A toolkit to develop and compile .pksm and .c scripts.
* [https://github.com/FlagBrew/PKSM-Scripts PKSM-Scripts]: A toolkit to develop and compile .pksm and .c scripts.
* [https://flagbrew.org/gpss The GPSS] - an online Pokemon sharing platform.
* [https://flagbrew.org/gpss The GPSS]: An online Pokémon sharing platform.
* [https://play.google.com/store/apps/details?id=com.flagbrew.gpss_mobile GPSS Mobile]: Mobile interface for the GPSS and related features. Android only.


===Working path===
===Working path===
Line 68: Line 70:


===FAQ===
===FAQ===
'''Q. Are flash carts supported?'''
[https://github.com/FlagBrew/PKSM/wiki/FAQs PKSM FAQs]
 
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 [https://serebii.net 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 <code>Storage</code>, then selecting the wifi button on the bottom screen, then pressing <code>X</code>.
* 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 <code>Editor</code>, then pressing <code>L+R</code>.
** 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 <code>Events</code>, then pressing <code>L+R</code>.
 
'''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 [https://github.com/projectpokemon/EventsGallery collection] that is the source of the database. If you find the event there but not in PKSM, please [https://github.com/FlagBrew/PKSM/issues 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 <code>/3ds/PKSM/songs</code>.
 
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 3DS|Checkpoint]] is for which game.
 
{| class="wikitable"
|-
!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 <code>X</code> for DS games (Diamond/Pearl through Black 2/White 2) is one of <code>E</code>, <code>S</code>, <code>K</code>, <code>J</code>, <code>I</code>, <code>D</code>, <code>F</code>, or <code>O</code>.
* For backups of saves sent through the bridge function (i.e. from Switch Checkpoint to 3DS PKSM), you'll find the backups in <code>/3ds/PKSM/backups/bridge</code>.
* For titles configured through the <code>Title IDs</code> 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 <code>ID 0xABCDEFGHIJKLMNOP</code>. To get the backup folder name:
* Remove the last 2 digits - Using the example this is <code>OP</code>, which would leave us with <code>0xABCDEFGHIJKLMN</code>.
* Take the last 5 digits - The example would leave us with <code>JKLMN</code>.
* Add <code>0x</code> in front of those 5 digits - The example gives us with <code>0xJKLMN</code>.
 
And that's it. So our backup folder for FireRed with the title ID <code>0xABCDEFGHIJKLMNOP</code> will be <code>0xJKLMN</code>.
 
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.
 
{| class="wikitable"
|-
!Game||PKSM
|-
|Ruby||0x00001
|-
|Sapphire||0x00002
|-
|Emerald||0x00003
|-
|FireRed||0x00004
|-
|LeafGreen||0x00005
|-
|}


==Controls==
==Controls==
Line 249: Line 124:
* Gen 1 &amp; 2 support!
* Gen 1 &amp; 2 support!
** Huge thank you to [https://github.com/SNBeast @SNBeast] for his work on this!
** Huge thank you to [https://github.com/SNBeast @SNBeast] for his work on this!
* GPSS Upgrades
* GPSS Upgrades:
** GPSS now works with the current version of the [https://flagbrew.org FlagBrew website upgrades]
** GPSS now works with the current version of the [https://flagbrew.org FlagBrew website upgrades].
* Language updates
* Language updates:
** The way we structured our language files has changed to hopefully make translators' lives easier
** The way we structured our language files has changed to hopefully make translators' lives easier.
* Storage
* Storage:
** Adds dumping selected groups from within the bank storage screen
** Adds dumping selected groups from within the bank storage screen.
* View of Pokémon will color stats according to nature increase/decrease
* View of Pokémon will color stats according to nature increase/decrease:
** Hyper Trained stats and hidden abilities will also be colored
** Hyper Trained stats and hidden abilities will also be colored.
* Add many G8 sprites; now they won't all be eggs
* Add many G8 sprites; now they won't all be eggs.
* Adds a &quot;save and launch&quot; button to allow immediately launching games with changes
* Adds a &quot;save and launch&quot; button to allow immediately launching games with changes.
*Fixes
*Fixes:
** G3 bag item counts now don't go insane on every change
** G3 bag item counts now don't go insane on every change.
** Cloning now works properly in blue-cursor mode
** Cloning now works properly in blue-cursor mode.
** Many miscellaneous bug fixes
** 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.
Note: the ELF file here is for ease of finding it for future debugging. It is unlikely anyone downloading PKSM will need it.
Line 285: Line 160:


==Credits==
==Credits==
* Bernardo for creating PKSM.
* [https://github.com/BernardoGiordano/ Bernardo] for creating PKSM.
* piepie62 and Admiral-Fish for the immense amount of dedication they put into the project.
* [https://github.com/piepie62 piepie62] and [https://github.com/Admiral-Fish Admiral-Fish] for the immense amount of dedication they put into the project.
* dsoldier for the gorgeous graphic work.
* dsoldier for the gorgeous graphic work.
* SpiredMoth, trainboy2019 and all the scripters for making PKSM-Scripts great.
* [https://github.com/SpiredMoth SpiredMoth], [https://github.com/trainboy2019 trainboy2019] and all the scripters for making PKSM-Scripts great.
* Archit Date for CoreConsole and PKHeX AutoLegalityMod.
* [https://github.com/architdate Archit Date] for CoreConsole and PKHeX AutoLegalityMod.
* Allen for the GPSS and CoreConsole's successor, CoreAPI.
* [https://github.com/FM1337 Allen] for the GPSS, CoreConsole’s successor, CoreAPI and GPSS Mobile.
* The whole FlagBrew team for the collaboration.
* [https://github.com/LiquidFenrir LiquidFenrir] for the PoC of session stealing that led to Gen 3 support and GPSS Mobile.
* kwsch and SciresM for PKHeX, memecrypto and documentation.
* The whole [https://github.com/FlagBrew FlagBrew] team for collaborating with us.
* fincs and WinterMute for citro2d and devkitARM.
* [https://github.com/kwsch kwsch] and [https://github.com/SciresM SciresM] for PKHeX, memecrypto and documentation.
* kamronbatman and ProjectPokemon.org for EventsGallery.
* [https://github.com/fincs fincs] and [https://github.com/WinterMute WinterMute] for citro2d and devkitARM.
* [https://github.com/kamronbatman kamronbatman] and ProjectPokemon.org for EventsGallery.
* [https://github.com/nayuki nayuki] for [https://github.com/nayuki/QR-Code-generator QR-Code-generator].
* [https://github.com/jpoirier jpoirier], [https://gitlab.com/zsaleeba zsaleeba], and [https://gitlab.com/jenda.svejda Jan Švejda] for the base and most improvements in [https://github.com/FlagBrew/picoc our picoC fork].
* [https://github.com/dlbeer dlbeer] for [https://github.com/dlbeer/quirc quirc].
* [https://github.com/GriffinG1 Griffin] For FlagBot and all the help it has been on the server.
* [https://github.com/SNBeast SNBeast] For Generation 1 and 2 support.
* All the translators.
* All the translators.
* Subject21_J and all the submitters for PKSM's icon.
* Subject21_J and all the submitters for PKSM’s icon.
* Allen, piepie62, SpiredMoth and all the contributors for the documentation.
* Allen, piepie62, SpiredMoth and all the contributors for the documentation.
* All the past contributors to the project.
* All the past contributors to the project.
* All the patrons and the huge amount of supporters that this project has gained over the year.
* 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==
==External links==
Line 308: Line 188:
<!--mirror: https://dlhb.gamebrew.org/3dshomebrews/pksm.7z-->
<!--mirror: https://dlhb.gamebrew.org/3dshomebrews/pksm.7z-->


[[Category:3DS homebrew applications]]
 
[[Category:Homebrew utility applications on 3DS]]
 
[[Category:Support the author]]
[[Category:Support the author]]

Latest revision as of 02:19, 17 August 2024

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++.

Authors' note: 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 (internet connection required).
    • Optional interfacing with an Android app to handle verification and legalization without a network connection

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 v10.0.0 the following games are supported:

  • Gen 1 - Pokémon Red/Green, Pokémon Blue, Pokémon Yellow
  • Gen 2 - Pokémon Gold/Silver, Pokémon Crystal
  • 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 (v1.3 only) (supported DLCs: Isle of Armor, Crown Tundra

Gen 3 games work either through emulators (via Extra Saves) or through VC injects (via custom Title IDs).

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 PKSM's support may be unstable due to SWSH version updates changing the sizes of save files.

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.

FAQ

PKSM FAQs

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.png pksm13.png

pksm11.png pksm10.png

pksm6.png pksm7.png

pksm8.png pksm9.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.
  • SpiredMothtrainboy2019 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.
  • jpoirierzsaleeba, 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.

External links

Advertising: