More actions
(Created page with "{{Infobox GBA Homebrews |title=GBA Emulator Compilation Build Scripts |image=Gbapc02.png |description=Multi-platform modern Python3 build tools for various emulators on Gameboy Advance. |author=patters |lastupdated=2023/04/21 |type=Build Tools and Hacks |version=2023 |license=Mixed |download=https://github.com/patters-match/gba-emu-compilation-builders |website=https://gbatemp.net/threads/multi-platform-builder-scripts-for-gba-emulators.611219/ |source=https://github.com...") |
m (Text replacement - "Build Tools and Hacks" to "Builder Tools") |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox GBA Homebrews | {{Infobox GBA Homebrews | ||
|title=GBA Emulator Compilation Build Scripts | |title=GBA Emulator Compilation Build Scripts | ||
|image= | |image=Gbaemucompilationbuilders.png | ||
|description=Multi-platform modern Python3 build tools for various emulators on Gameboy Advance. | |description=Multi-platform modern Python3 build tools for various emulators on Gameboy Advance. | ||
|author=patters | |author=patters | ||
|lastupdated=2023/ | |lastupdated=2023/06/09 | ||
|type= | |type=Builder Tools | ||
|version=2023 | |version=2023 | ||
|license=Mixed | |license=Mixed | ||
Line 13: | Line 13: | ||
|donation= | |donation= | ||
}} | }} | ||
[https://www.python.org/ Python 3] scripts to build emulator + ROM compilations for various | [https://www.python.org/ Python 3] scripts to build emulator + ROM compilations for various Gameboy Advance emulators. Cross-platform alternatives to the original 32bit Windows-only tools. | ||
The scripts combine emulator binaries with game ROMs and their necessary metadata to generate .gba executables that can be run on the Gameboy Advance. They are compatible with most modern platforms, helping to preserve these technical marvels. | |||
==Features== | |||
* All scripts: | |||
** Drag and drop ROMs for easy addition. | |||
** Create blank SRAM save files. | |||
** Create GSS patch files for EZ-Flash IV firmware 2.x (to force 64KB SRAM saves). | |||
** Patch file data embedded in the script (no external dependency). | |||
* Some scripts: | |||
** Splash screen support. | |||
** Auto-detection of ROM types, regions, and PAL timings. | |||
** Boot-to-BIOS support. | |||
** Mark small ROMs for link transfer (<192KB). | |||
** Specialized features for MSXAdvance, PCEAdvance, Goomba, PocketNES, SNESAdvance, Snezziboy, HVCA, and ZXAdvance. | |||
==User guide== | |||
===Supported emulators=== | ===Supported emulators=== | ||
{| class="wikitable" | {| class="wikitable sortable" | ||
! Emulator||Target System||Author(s)||1st Release||Release page | ! Emulator||Target System||Author(s)||1st Release||Release page | ||
|- | |- | ||
| [[PocketNES_GBA|PocketNES]]||Nintendo NES||Loopy, later FluBBa, Dwedit||Jan 2001?||[https://github.com/Dwedit/PocketNES/releases Link] | | [[PocketNES_GBA|PocketNES]]||Nintendo NES||Loopy, later FluBBa, Dwedit||Jan 2001?||[https://github.com/Dwedit/PocketNES/releases Link] | ||
|- | |||
| [[ZXAdvance GBA|ZXAdvance]]||Sinclair ZX Spectrum 48K||TheHiVE||May 2001||[http://zxadvance.gbaemu.com/ Link] | |||
|- | |- | ||
| [[PCEAdvance GBA|PCEAdvance]]||NEC PC Engine / Super CD-ROM||FluBBa||Apr 2003||[https://web.archive.org/web/20150430211123/http://www.ndsretro.com/gbadown.html Link] | | [[PCEAdvance GBA|PCEAdvance]]||NEC PC Engine / Super CD-ROM||FluBBa||Apr 2003||[https://web.archive.org/web/20150430211123/http://www.ndsretro.com/gbadown.html Link] | ||
Line 49: | Line 61: | ||
| [https://github.com/FluBBaOfWard/NGPGBA NGPGBA]||SNK Neo Geo Pocket / Pocket Color||Flubba||Jul 2008||[https://github.com/FluBBaOfWard/NGPGBA Link] | | [https://github.com/FluBBaOfWard/NGPGBA NGPGBA]||SNK Neo Geo Pocket / Pocket Color||Flubba||Jul 2008||[https://github.com/FluBBaOfWard/NGPGBA Link] | ||
|- | |- | ||
| [ | | [[Jagoomba Color GBA|Jagoomba]]||An enhanced Goomba Color fork||FluBBa, Dwedit, Jaga + various||Nov 2021||[https://github.com/EvilJagaGenius/jagoombacolor/releases Link] | ||
|} | |} | ||
Line 96: | Line 108: | ||
</pre> | </pre> | ||
Please check the [https://github.com/patters-match/gba-emu-compilation-builders/blob/main/README.md README] for usage tips. | |||
== External links == | == External links == | ||
* GitHub - https://github.com/patters-match/gba-emu-compilation-builders | * GitHub - https://github.com/patters-match/gba-emu-compilation-builders | ||
* GBAtemp - https://gbatemp.net/threads/multi-platform-builder-scripts-for-gba-emulators.611219/ | * GBAtemp - https://gbatemp.net/threads/multi-platform-builder-scripts-for-gba-emulators.611219/ | ||
Latest revision as of 06:31, 10 Mayıs 2024
GBA Emulator Compilation Build Scripts | |
---|---|
General | |
Author | patters |
Type | Builder Tools |
Version | 2023 |
License | Mixed |
Last Updated | 2023/06/09 |
Links | |
Download | |
Website | |
Source | |
Python 3 scripts to build emulator + ROM compilations for various Gameboy Advance emulators. Cross-platform alternatives to the original 32bit Windows-only tools.
The scripts combine emulator binaries with game ROMs and their necessary metadata to generate .gba executables that can be run on the Gameboy Advance. They are compatible with most modern platforms, helping to preserve these technical marvels.
Features
- All scripts:
- Drag and drop ROMs for easy addition.
- Create blank SRAM save files.
- Create GSS patch files for EZ-Flash IV firmware 2.x (to force 64KB SRAM saves).
- Patch file data embedded in the script (no external dependency).
- Some scripts:
- Splash screen support.
- Auto-detection of ROM types, regions, and PAL timings.
- Boot-to-BIOS support.
- Mark small ROMs for link transfer (<192KB).
- Specialized features for MSXAdvance, PCEAdvance, Goomba, PocketNES, SNESAdvance, Snezziboy, HVCA, and ZXAdvance.
User guide
Supported emulators
Emulator | Target System | Author(s) | 1st Release | Release page |
---|---|---|---|---|
PocketNES | Nintendo NES | Loopy, later FluBBa, Dwedit | Jan 2001? | Link |
ZXAdvance | Sinclair ZX Spectrum 48K | TheHiVE | May 2001 | Link |
PCEAdvance | NEC PC Engine / Super CD-ROM | FluBBa | Apr 2003 | Link |
Goomba | Nintendo Gameboy | FluBBa | Oct 2003 | Link |
HVCA | Nintendo NES / Famicom Disk System | outside-agb? | Sep 2004 | Link |
Wasabi | Watara Supervision | FluBBa | Nov 2004 | Link |
SNESAdvance | Nintendo SNES | Loopy, FluBBa | Feb 2005 | Link |
SMSAdvance | SEGA Master System / Game Gear / SG-1000 | FluBBa | Jul 2005 | Link |
Cologne | ColecoVision | FluBBa | Jan 2006 | Link |
Goomba Color | A Goomba fork to add Gameboy Color | FluBBa, Dwedit | Jan 2006 | Link |
MSXAdvance | MSX-1 (version 0.2 is most compatible) | FluBBa | Mar 2006 | Link |
Snezziboy | Nintendo SNES | bubble2k | May 2006 | Link |
NGPGBA | SNK Neo Geo Pocket / Pocket Color | Flubba | Jul 2008 | Link |
Jagoomba | An enhanced Goomba Color fork | FluBBa, Dwedit, Jaga + various | Nov 2021 | Link |
Usage
git clone https://github.com/patters-syno/gba-emu-compilation-builders
You can drag and drop multiple file selections onto the shell window in which you are preparing the command line. Most options are not needed since they have sensible defaults. This makes these scripts well suited for building large compilations very easily. Usually the shell will alphabetically sort multiple file selections.
Each script has help information accessible via the -h
command line option. For example:
usage: pocketnes_compile.py [-h] [-s SPLASHSCREEN] [-e EMUBINARY] [-db DATABASE] [-dbn] [-m] [-c] [-o OUTPUTFILE] [-sav] [-pat] romfile [romfile ...] This script will assemble the PocketNES emulator and NES ROMs into a Gameboy Advance ROM image. It is recommended to type the script name, then drag and drop multiple ROM files onto the shell window, then add any additional arguments as needed. positional arguments: romfile .nes ROM image to add to compilation. Drag and drop multiple files onto your shell window. optional arguments: -h, --help show this help message and exit -s SPLASHSCREEN 76800 byte raw 240x160 15bit splashscreen image -e EMUBINARY PocketNES binary, defaults to pocketnes.gba -db DATABASE PocketNES Menu Maker Database file which stores optimal flags and sprite follow settings for many games, defaults to pnesmmw.mdb -dbn use game titles from PocketNES Menu Maker database -m mark small ROMs suitable for link transfer -c clean brackets from ROM titles -o OUTPUTFILE compilation output filename, defaults to pocketnes- compilation.gba -sav for EZ-Flash IV firmware 1.x - create a blank 64KB .sav file for the compilation, store in the SAVER folder, not needed for firmware 2.x which creates its own blank saves -pat for EZ-Flash IV firmware 2.x - create a .pat file for the compilation to force 64KB SRAM saves, store in the PATCH folder coded by patters in 2022
Please check the README for usage tips.