dspatch.py/README.md
2025-04-27 19:12:29 -07:00

73 lines
3.0 KiB
Markdown

# dspatch.py
This is an application written in Python made to replicate the functionality of [dspatch](https://github.com/Gericom/dspatch) by Gericom.
It accepts the same arguments as dspatch and outputs ROMs with the same functionality—namely modified DS Download Station ROMs that can send unsigned homebrew ROMs to other Nintendo DS, Nintendo DSi, and Nintendo 3DS systems over DS Download Play.
Like the original dspatch, this supports including multiple ROMs in the output. In addition, this application also supports compressing ROMs to decrease transfer times using the `-c` option (requires [Python-LZO](https://pypi.org/project/python-lzo/) to be installed).
# How to use
## Windows
Download and install Python from https://www.python.org/downloads/windows/.
If you want to use compression, install Python-LZO as well.
If running Python 3.13 (from the command prompt):
```
>python.exe -m pip install bin\python-lzo\python_lzo-1.16-cp313-cp313-win_amd64.whl
```
If running Python 3.7 - 3.11:
```
>python.exe -m pip install python-lzo
```
Alternatively, build and install Python-LZO from source by following the instructions [here](https://github.com/jd-boyd/python-lzo#building-from-source).
Run `dspatch.py` to produce the ROM. You can use `-i` or `-I` multiple times to specify multiple ROM files or folders, respectively.
```
>python.exe dspatch.py -s download_station.nds -o [out_filename] -i [in_rom] -I [in_folder] [-c]
```
## Linux
If it's not already installed, install Python using your distribution's package manager.
Optionally, install Python-LZO as well to use compression.
Ubuntu/Debian:
```
# apt-get install python3
# apt-get install python3-lzo
```
Fedora (python-lzo requires building from source):
```
# dnf install python3
# dnf install python3-pip lzo python3-devel lzo-devel gcc
$ pip3 install python-lzo
```
Arch Linux (python-lzo requires building from source):
```
# pacman -S python
# pacman -S python-pip lzo gcc
$ pip3 install python-lzo
```
openSUSE:
```
# zypper install python3
# zypper install python3-python-lzo
```
Run `dspatch.py` to produce the ROM. You can use `-i` or `-I` multiple times to specify multiple ROM files or folders, respectively.
```
$ ./dspatch.py -s download_station.nds -o [out_filename] -i [in_rom] -I [in_folder] [-c]
```
# Copyright
dspatch.py © 2025 enderghast13.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See COPYING.md for full details.
[HaxxStation](https://gbatemp.net/threads/haxxstation-ds-download-station-exploit.473648/) exploit by shutterbug2000, Gericom, and Apache Thunder.
This program uses data from [dspatch](https://github.com/Gericom/dspatch) © 2017 Gericom.
This program uses [Python-LZO](https://github.com/jd-boyd/python-lzo) © 2011 - 2024 Joshua D. Boyd et al, distributed under the terms of the GNU General Public License (GPL), version 2.
This program uses the LZO1X algorithm by Markus F.X.J. Oberhumer.