I find it ironic when some ROM hackers say to use "clean" or "unedited" dumps for the patches, yet absolutely never validates if the base vanilla ROM being utilized is actually a good dump or not, and will proceed to create patches for that bad dump (or on occasions, a modified bad dump that isn't known to exist period). We really need to evolve past these bad habits already, 10+ years of Pokemon DS related hacking, come on now lol.
These patches require a bad dump, this dump to be exact:
File: Pokemon_SoulSilver_USA_NDS-XPA.nds
CRC-32: ebb387e7
MD5: 545aa550bafeebdd71ee0256d4c122a0
SHA-1: 0959fe9e64dc749382460f1ccf90996f5ef4088d
SHA-256: 90f463f2373cda81b6799f58dd55cf3acadb824f183708c00b74817e2f0a6456
This is the correct dump to be using:
File: Pokemon - SoulSilver Version (USA).nds
CRC-32: d8ea6090
MD5: 8a6c8888bed9e1dce952f840351b73f2
SHA-1: f8dc38ea20c17541a43b58c5e6d18c1732c7e582
SHA-256: 51d0f94a16af7d77c067b4cb7d821ba890a13203a2e2c76049623332c0582e20
Patches for the actual good dump provided at the bottom of this post, you can apply the patch with any of these three pieces of software, if you prefer something else, just ensure that the patching solution you use is compatible with the patches:
Xdelta UI: (Windows)
https://gbatemp.net/download/xdelta-ui.38327/
MultiPatch: (MacOS)
https://www.romhacking.net/utilities/746/
Xdelta Patcher: (Online) (Intended for mobile users, always better to use actual local software instead if possible.)
https://kotcrab.github.io/xdelta-wasm/
As a bonus, here is a working online MD5 checksum checker solution, you can verify the results with what is provided above, offline solutions do exist of course, but you are on your own seeking such things:
https://minitoolz.com/tools/md5-file-checksum/
Pokemon - Vitalized Silver (20240115) (USA).xdelta
Pokemon - Vitalized Silver (20240115) (Hard) (USA).xdelta