Porozumění základům
* LZ komprese: GBA ROM často používají kompresi LZ77, která efektivně komprimuje data. "unLZ-gba" je nástroj určený k dekompresi dat komprimovaných LZ77 v GBA ROM.
* Indexování obrázků: "Index" v tomto kontextu odkazuje na způsob mapování komprimovaných dat v ROM na jejich odpovídající umístění v rámci většího obrazu. To pomáhá dekompresnímu nástroji najít správná data.
Postup indexování obrázku pro unLZ-gba
1. Určete kompresi: Ujistěte se, že obrazová data ve vaší ROM jsou skutečně LZ-komprimována. Budete se muset podívat do dokumentace, analyzovat strukturu ROM nebo použít nástroje, které detekují kompresi LZ77.
2. Vyhledejte komprimovaná data: Identifikujte přesné umístění v ROM, kde jsou uložena komprimovaná data obrázku. To obvykle zahrnuje pohled na hlavičku ROM nebo použití nástrojů k analýze struktury.
3. Vytvořte soubor indexu: Budete muset vytvořit textový soubor, který funguje jako index. Tento soubor říká "unLZ-gba" následující:
* ROM Offset: Počáteční umístění komprimovaných obrazových dat v ROM.
* Rozměry obrázku: Šířka a výška původního obrázku.
* Záhlaví LZ77: Pokud komprimovaná data obsahují záhlaví LZ77, možná budete muset zahrnout tyto informace také do indexového souboru.
Příklad indexového souboru:
```
romoffset=0x08000000
šířka =256
výška =192
```
Použití "unLZ-gba" s indexem
1. Připravte ROM: Vytvořte kopii původního souboru ROM, protože "unLZ-gba" jej může upravit.
2. Spusťte "unLZ-gba": Spusťte nástroj příkazového řádku "unLZ-gba" s následujícími parametry:
```
unLZ-gba -i index.txt -o output.bmp rom.gba
```
* `-i index.txt` – Cesta k vašemu indexovému souboru.
* `-o output.bmp` - Název a formát, který chcete pro dekomprimovaný obrázek.
* `rom.gba` – Cesta k vašemu souboru GBA ROM.
Klíčové body:
* Struktura ROM: Pochopení struktury ROM hry GBA, se kterou pracujete, je zásadní pro přesné indexování.
* Nástroje: Nástroje jako "GBA Rom Tool" nebo "GBAExplorer" mohou být užitečné pro kontrolu dat ROM a identifikaci typů komprese.
* Dokumentace: Pokud je k dispozici, prostudujte si dokumentaci ke konkrétní hře nebo ROM, abyste porozuměli organizaci dat.
Příklad (GBA ROM pomocí komprese LZ77):
Řekněme, že máte GBA ROM, kde je obrázek na pozadí komprimovaný LZ77, začínající na adrese `0x08000000`, s rozlišením 256 x 192 pixelů.
Váš indexový soubor (např. `bg_index.txt`) bude obsahovat:
```
romoffset=0x08000000
šířka =256
výška =192
```
Potom byste spustili:
```
unLZ-gba -i bg_index.txt -o background.bmp rom.gba
```
To by dekomprimovalo obrazová data komprimovaná LZ77 a uložilo je jako obrázek BMP s názvem `background.bmp`.
Pamatujte, že toto je obecný návod. Přesné kroky a specifika se mohou lišit v závislosti na ROM a použitém schématu komprese.