Razumijevanje osnova
* LZ kompresija: GBA ROM-ovi često koriste kompresiju LZ77, koja učinkovito komprimira podatke. "unLZ-gba" je alat dizajniran za dekompresiju LZ77 komprimiranih podataka unutar GBA ROM-ova.
* Indeksiranje slika: "Indeks" se u ovom kontekstu odnosi na način preslikavanja komprimiranih podataka unutar ROM-a na njihovu odgovarajuću lokaciju unutar veće slike. To pomaže alatu za dekompresiju pronaći točne podatke.
Koraci za indeksiranje slike za unLZ-gba
1. Odredite kompresiju: Provjerite jesu li slikovni podaci unutar vašeg ROM-a stvarno LZ-komprimirani. Morat ćete konzultirati dokumentaciju, analizirati strukturu ROM-a ili koristiti alate koji otkrivaju kompresiju LZ77.
2. Pronađite komprimirane podatke: Odredite točnu lokaciju unutar ROM-a gdje se nalaze komprimirani podaci slike. To obično uključuje pregled zaglavlja ROM-a ili korištenje alata za analizu strukture.
3. Stvorite indeksnu datoteku: Morat ćete stvoriti tekstualnu datoteku koja služi kao indeks. Ova datoteka govori "unLZ-gba" sljedeće:
* ROM odmak: Početna lokacija komprimiranih slikovnih podataka unutar ROM-a.
* Dimenzije slike: Širina i visina izvorne slike.
* Zaglavlje LZ77: Ako komprimirani podaci uključuju LZ77 zaglavlje, možda ćete morati uključiti i ove informacije u datoteku indeksa.
Primjer indeksne datoteke:
```
romoffset=0x08000000
širina=256
visina=192
```
Korištenje "unLZ-gba" s indeksom
1. Pripremite ROM: Napravite kopiju svoje originalne ROM datoteke jer je "unLZ-gba" može modificirati.
2. Pokrenite "unLZ-gba": Izvršite alat naredbenog retka "unLZ-gba" sa sljedećim parametrima:
```
unLZ-gba -i index.txt -o izlaz.bmp rom.gba
```
* `-i index.txt` - Put do vaše indeksne datoteke.
* `-o output.bmp` - Naziv i format koji želite za dekomprimiranu sliku.
* `rom.gba` - Put do vaše GBA ROM datoteke.
Ključne točke:
* Struktura ROM-a: Razumijevanje strukture ROM-a GBA igre s kojom radite ključno je za točno indeksiranje.
* Alati: Alati poput "GBA Rom Tool" ili "GBAExplorer" mogu biti od pomoći za pregled ROM podataka i identificiranje vrsta kompresije.
* Dokumentacija: Ako je dostupno, pogledajte dokumentaciju za određenu igru ili ROM kako biste razumjeli njihovu organizaciju podataka.
Primjer (GBA ROM koji koristi LZ77 kompresiju):
Recimo da imate GBA ROM gdje je pozadinska slika komprimirana LZ77, počevši od adrese `0x08000000`, s rezolucijom od 256x192 piksela.
Vaša indeksna datoteka (npr. `bg_index.txt`) sadržavala bi:
```
romoffset=0x08000000
širina=256
visina=192
```
Tada biste pokrenuli:
```
unLZ-gba -i bg_index.txt -o pozadina.bmp rom.gba
```
Ovo bi dekomprimiralo slikovne podatke komprimirane LZ77 i spremilo ih kao BMP sliku pod nazivom `background.bmp`.
Zapamtite, ovo je opći vodič. Točni koraci i pojedinosti mogu varirati ovisno o ROM-u i korištenoj shemi kompresije.