Można to zresztą sprawdzić czy tam rzeczywiście dane mapy zaczynają się od 31892
W tym celu będać dalej w debugerze zatrzymanym na breakpoincie zmienie parę wartości zaraz po adresie 31892
Widzę że w Spinie robi się to jakoś niewygodnie więc może nie będę tego opisywał. W tym momencie możemy z resztą zrobić tak:
- uruchamiamy dowolny emulator i wczytujemy Renegade
- ustawiamy breakpoint (tym razem już najzwyklejszy) na adresie 39481 który już poznaliśmy
- uruchamiamy grę
- gdy emulator wejdzie do debuggera zmieniamy kilka wartości komórek po adresie 31892. Ja zmieniałem je na wartość
20.
-Dajemy "Kontynuuj"
Efekt:

Działa !

Widzimy teraz wyraźnie że plansza jest rysowana kolumnami, od góry do dołu i od lewej kolumny do prawej.
Pojawiają się teraz dalsze pytania - czy adres mapy gry który znaleźliśmy to już ostateczny adres pod którym jest ona przechowywana, czy też jest to jakiś bufor do którego zostały one skopiowane/rozpakowane jeszcze spod jakiegoś innego adresu.
Ale ja już zatrzymam się w tym miejscu....

I tak to wygląda. Programista który napisał Renegade miał koncepcję i zamienił ją na instrukcje, my poruszamy sie w drugą stronę - na podstawie instrukcji próbujemy odgadnąć jego koncepcję. Jest to trochę żmudne i nie da się ukryć że trzeba się orientować w assemblerze ale też daje satysfakcję.
KONIEC
