Z przyjemnością donoszę, że
Krzysztof "xxl" Dudek nie
spoczywa na laurach i rozpoczął prace nad kolejnym projektem. Dla
nas wszystkich oznacza to, że wkrótce pojawi się coś nowego na
Atari, bo jak już zdążyliśmy się przyzwyczaić, Krzysiek nie
dyskutuje bez końca, co można by zrobić, tylko robi. Szybko i
skutecznie, czego efektem było, między innymi, zwycięstwo w Kaz
Kompo 2006 grą
Flowers Mania.
Podczas niedawnych prac nad emulatorem ZX Spectrum o rozbrajającej
roboczej nazwie
ZX Emulator ;) Krzysiek zapalił się do
nowego pomysłu - prawdziwej konwersji gry ze Spektrusia. Emulacja
tego komputerka pozostanie bowiem ciekawostką - pełna emulacja z
prędkością oryginału nie jest możliwa. I mimo tego, że jak twierdzi
Krzysztof, różnic w generowaniu grafiki nie ma prawie żadnych, a
dźwięk jak na Trumnie bardzo prosto uzyskać, nie da się przeskoczyć
na standardowym 6502 szybkości (a właściwie powolności) emulacji.
Udowodnione zostało, że da się zrobić emulację procesora Z80 na
6502 oraz że na standardowym Atari w niektóre gry ze Specusia można
nawet grać... ale tutaj, ze względu na nikłe zainteresowanie
"publiczności", Krzysiek postanowił się zatrzymać.
W ten sposób nastał czas na realizację nowych pomysłów i na
warsztat trafiła starannie wyselekcjonowana gra do konwersji pod
tytułem
Jetpac. Gra została wybrana, ponieważ jest krótka,
działa na Spectrum z 16KB i wygląda na nieskomplikowaną do
przeniesienia.
Jetpac - wersja robocza menu na
Atari
Menu w Jetpac na ZX Spectrum
Krzysiek tak opisał mi obecny stan prac:
"Zdeasemblowałem
program, podzieliłem kod na 6 części według tego, kiedy kod się
wykonuje. Etykietuję go, oznaczam dane, miejsca samomodyfikacji
kodu, itp. Dłuuugi kod czołówki skróciłem 4-krotnie i napisałem na
Atari (usunąłem obsługę klawiatury, sterowanie wszystkiego będzie
joyem). Druga część - wejście do gry, ustawienie tablic, itp.
właśnie skończyłem. Na początku chciałem przepisać cały kod Z80 na
6502, ale to nie jest dobry pomysł. Kod puchł strasznie, były
kłopoty ze stosem, tablicami danych, tablicami adresów... Wydaje mi
się, że "Jetpac" był pisany jako gierka na więcej niż 16KB, ale
zdecydowano zmieścić go w 16KB - w kodzie znajdują się miejsca
(może mi się wydaje), gdzie wystarczy zmienić odwołanie i mamy
animację na początku gry... tylko gdzie ta animacja jest, bo grze
tego nie widać (?). Są dwa wolne miejsca na jakieś obiekty w
tablicy obiektów, sposób w jaki postać strzela można zmienić...
Zacząłem więc pisać w ten sposób, że sprawdzam co robi jakaś część
kodu Z80 i robię to samo na 6502. Dzięki temu mam dwa stosy - dla
podprogramów "hardware-owy", dla danych "software-owy" (w tym samym
miejscu co stos Z80). Kod "Jetpaca" będzie całkowicie relokowalny,
ekran podczas gry będzie miał taką samą organizację jak na ZX
Spectrum, choć niekoniecznie. Może powiekszę obraz gry dla ruchu w
pionie, a tablice wyników umieszczę na dole ekranu w trybie 2
antica... Może zmienić się grafika, ułożenie elementów, być może
będzie animacja tła podczas gry, być może będzie się inaczej
strzelać, będzie muzyka z FX-ami. "Jetpac" na Atari będzie
wykorzystywał grafikę PMG, będa kolory, a kto wie, może gra będzie
w innym trybie niż monochromatyczny. Wszystko jest w fazie
produkcji. Będzie kiepsko, gdybym teraz natrafił w kodzie na jakieś
pułapki, o których wcześniej nie pomyślałem."
.png)
Jetpac - wersja robocza ekranu gry na
Atari
Ekran gry Jetpac na ZX Spectrum
Cieszę się, że udało mi się do tego projektu dołączyć. Bedę w
pewnym stopniu odpowiedzialny za to, żeby grafika przeniesiona z ZX
Spectrum nie została pogorszona, a może uda się ją jakoś ulepszyć
:) Jako kolejną osobę współpracują Krzysiek zwerbował
Michała
"Mikera" Szpilowskiego, który dokonuje konwersji muzyki. Z tego
co ćwierkają wróble na dachu wnoszę, że z braku muzyki w wersji
Spektrusiowej, Michał "przenosi" msx z "Jetpaca" w wersji na
Xbox-a. Słowo "przenosi" też nie do końca jest adekwatne, bo jak
wiemy, Michał lubi wtrącać swoje muzyczne trzy grosze, a więc
będzie to raczej wariacja w temacie :) Tym ciekawiej zapowiada się
efekt końcowy.