
Automatically download and convert Nintendo DS cover art for Pico Launcher
Cross-platform tool to fetch GameTDB cover art, convert to 8bpp BMP format, and organize for Pico Launcher by LNH-team
Download the latest release for your platform from the Releases page:
pico_cover-windows-x64.exe – Standalone executablepico_cover-macos-x64.dmg (Intel) or pico_cover-macos-arm64.dmg (Apple Silicon) – Disk imagepico_cover-linux-x64.deb – Debian packageInstallation instructions:
- Windows: Download and run the .exe file
- macOS:
1. Download .dmg and open it
2. Drag PicoCover to Applications folder
3. First launch: Right-click PicoCover.app → Open → Click Open in the dialog
4. If you see "damaged" error: Go to System Settings → Privacy & Security → Scroll down and click Open Anyway
- Linux: sudo dpkg -i pico_cover-linux-x64.deb or run the standalone binary
git clone https://github.com/Scaletta/PicoCover.git
cd PicoCover
cargo build --release
The binary will be in target/release/pico_cover (or pico_cover.exe on Windows).
Build native packages:
# Install cargo-bundle
cargo install cargo-bundle
# macOS .app bundle
cargo bundle --release --target x86_64-apple-darwin # Intel
cargo bundle --release --target aarch64-apple-darwin # Apple Silicon
# Linux .deb package
cargo bundle --release --target x86_64-unknown-linux-gnu
Simply run the executable:
./pico_cover # or double-click pico_cover.exe on Windows
What the GUI does:
1. 🔍 Auto-detects all drives with _pico folder
2. 🎉 Update notifications when new versions are available
3. 🔄 Refresh button to detect newly connected devices
4. 📊 Real-time statistics showing processed/saved/skipped/errors
5. � Tabbed view – Switch between:
- 📄 Output Log – Color-coded logs with detailed per-file status (green for saved, yellow for skipped, red for errors)
- 📋 Game Lists – Collapsible sections showing skipped and failed games for quick review
6. ⚡ One-click processing – just select drive and click Start
7. ✅ Overwrite option – Checkbox to control whether to overwrite existing covers
Auto-Update: - The app automatically checks for updates on startup - When a new version is available, a notification banner appears - Click "Update Now" to download and install (app restarts automatically)
Covers are saved to: <selected-drive>/_pico/covers/nds/<GAMECODE>.bmp
For scripting, automation, or advanced control:
pico_cover --cli --root /path/to/roms \
--regions EN,US,JA,EU \
--overwrite \
--timeout-secs 15
CLI Options:
| Option | Description | Default |
|---|---|---|
--root |
Base folder or drive containing NDS ROMs | . |
--regions |
Region codes to try (comma-separated) | EN,US,JA,EU |
--url-templates |
Custom URL patterns (semicolon-separated) | GameTDB default |
--overwrite |
Overwrite existing BMPs | false (skip) |
--timeout-secs |
HTTP request timeout in seconds | 15 |
--threads |
Number of parallel download threads | CPU core count |
Example:
# Process D: drive, overwrite existing covers
pico_cover --cli --root D:\ --overwrite
# Custom regions priority
pico_cover --cli --root /media/sdcard --regions JP,US,EN
# Use 4 threads for slower connections
pico_cover --cli --root /media/sdcard --threads 4
graph LR
A[Scan .nds files] --> B[Read game code]
B --> C[Fetch from GameTDB]
C --> D[Resize to 106×96]
D --> E[Place on 128×96 canvas]
E --> F[Quantize to 256 colors]
F --> G[Save as 8bpp BMP]
.nds files_pico/covers/nds/<GAMECODE>.bmp--overwrite flagHuge thanks to LNH-team for creating Pico Launcher! 🎉
This tool is built for Pico Launcher by the LNH-Team. Without their amazing work on bringing a modern, fast & good-looking NDS Launcher this cover downloader wouldn't exist.
Key projects from LNH-team: - Pico Launcher – The launcher this tool supports - Pico Loader – The firmware loader
Special thanks to GameTDB 🎨
A massive shoutout to GameTDB for providing and maintaining a comprehensive database of high-quality game cover artwork! Their free website makes this tool possible by giving us access to thousands of Nintendo DS covers.
Contributions welcome! Feel free to: - Report bugs via Issues - Submit feature requests - Open pull requests
This project is licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).
You are free to: - ✅ Share and adapt the software - ✅ Use for personal/non-commercial projects
Under the following terms: - 📛 Attribution – Credit the original author - 🚫 NonCommercial – No commercial use permitted
See LICENSE for full details.
Made with ❤️ for the Retro-Gaming community
$ claude mcp add PicoCover \
-- python -m otcore.mcp_server <graph>