IK+ logo Play what you want to play :)  
C64 to Atari 8-bit Conversion Project
About Project Downloads Tips / Links Other platforms Contact us

Beginning
The site was born in 2002 when I've read Paweł Rosowski post at pl.comp.sys.atari. He proposed to convert his favorite C64 game to beloved Atari XL/XE. Because I'm a graphic designer and an Atari ST fan, I dediced to design a little site called "IK+ C64 to Atari 8-bit Conversion Project" - that was the only thing I could do because I'm total coding-lamer. The site has been very popular during last year all over the world (over 1200 visitors), that's why I've redesigned it for the English users and now you won't see the well-known information "Sorry, English version is under construction". Thanks to all of you - visitors, coders, Polish Atari friends at pl.comp.sys.atari (one of the nicest newsgroup I've ever read). (tm)
Początki
Strona IK+ C64 to Atari 8-bit Conversion Project powsta
ła na początku 2002 roku, kiedy przeczytałem post Pawła Rosowskiego na pl.comp.sys.atari. Pisał, że od dawna ma ochotę na konwersję swojej ulubionej gry IK+ z C64 na małe Atari. Ponieważ jestem grafikiem i totalnym lamerem jeżeli chodzi o programowanie, w ramach pomocy stworzyłem i aktualizowałem stronę projektu. W ciągu roku strona okazało się, że strona jest bardzo popularna wśród użytkowników ośmiobitowego Atari, o czym świadczy liczba odwiedzających ją internautów (ponad 1200 sztuk ;) z całego świata. Niestety nigdy nie było czasu przygotować rozsądnej angielskiej wersji - aż do dziś. Przy okazji zmieniłem również szatę graficzną. Podziękowania dla wszystkich którzy kibicują i pomagają w tworzeniu IK+: internautów odwiedzających stronę, koderów, polskich użytkowników z pl.comp.sys.atari - jednej z najfajniejszych grup, na którch miałem okazję bywać. (tm)


From author
The following text explains how to help us with IK+ conversion by Pawel Rosowski.

The game conversion we want to do is not an easy thing. All difficulties come from the hardware differences between XL/XE and C64. So we need to change graphics and music and code responsible for it. Rest of the code can be transferred without changes. That code is game logic, scenario, object colision detection, AI. That part of the code is invisible for the end-user, and I will call it control-code in the rest of this text. We can't rewrite this code too, it would be to hard to write a decent AI. On the other hand, we do not have to do it, someone did it before. Shortly speaking we have to do some reverse-enginering, disasemble and comment original code. This isn't easy too, but it will be less time-consuming then writing everything from scratch, and, what is more important, we will match original game behavior by 100%. Someone could disagree that reverse enginering isn't faster then writing from scratch. I will only add that it is, for that small 8-bit systems. This is not a place to discuss this anyway.

But, back to the subject, I'd like to say that I need help in that reverse enginering. I'll add some of my work on "International Karate" reverse enginering that I did may help (files available for download). I saw many differences between code in that games, and I think that understanding one, can help with other. Aditionally there is a short description of "Falcon" demo made by Hurek, and it consisted some animation from IK+. I also created a xls file that keeps location of tables with game data in "International Karate" on Atari XE/XL and C64, in IK+ and Falcon demo. Everyone that wants to help, please read that files first.

The main tool to disassemble Atari code is Atari800WinPlus 2.8. For C64 it is WinVICE 1.2. Desription may be in plain ASCII file (I did it this way with International Karate). If there will be few people willing to help, we will divide IK+ code into parts somehow. There is about 50 procedures in the game, I don't know how much, but I do not think that more than 100. If there would be 10 persons willing to help, we could complete it in 2 months. If there will be noone to help, you can count how lont will it take. What you can see from the working XE conversion, the graphics conversion is done, but we need to make music conversion too. This task is taken by Dariusz Duma (nickname Dhor), he was suporting Atari scene in the past. I do not hide that I'm countng at his help, however he is a bit silent lately. I hope he didn't resign. Anyway, someone could convert music too. We could compare both versions and select the better one. You can download the sid (C64) and ym (ST) music. Oh, we also need small font to make credits for conversion, I think that I'll make a screen at the begining of the game, then while loading I'd like to display IK+ logo, that red one you can see on this page.

And now, this is the end, of this a bit to long text, I invite everyone to the cooperation.

Sincerely
Pawel Rosowski



Od autora
Poniższy tekst zawiera informacje na temat "jak pomóc przy konwersji IK+". Autorem jest oczywiście pomysłodawca i twórca dotychczasowych wersji Paweł Rosowski.

Konwersja gry, którą zamierzamy przeprowadzić, nie jest rzeczą prostą. Trudność wynika tu przede wszystkim z różnic sprzętowych pomiędzy oboma typami komputerów. Pociąga to za sobą konieczność zmian zarówno w danych graficznych i dźwiękowych jak i w samym kodzie. Przy czym zmiany w kodzie dotyczą tylko tych fragmentów, które obsługują grafikę i dźwięk. Pozostała część kodu może zostać przeniesiona bez zmian (oczywiście dzięki temu, że mamy ten sam procesor w obu maszynach). Ta pozostała część to przede wszystkim logika gry, scenariusz (kolejność i przebieg rund), zasady punktacji, detekcja kolizji zawodników (celność ciosów), pseudo inteligencja zawodników, która pozwala im samodzielnie wygrywać walki (zawodnicy sterowani przez komputer) itd. Tą część kodu stanowi niewidzialną duszę gry. W dalszym ciągu tego tekstu będę ją nazywał "kodem sterującym" gry. Napisanie kodu sterującego od nowa byłoby zajęciem wyjątkowo trudnym, biorąc pod uwagę choćby konieczność wymyślania metod dla pseudo inteligentnego sterowania zawodnikami. Z drugiej jednak strony nie jest to wcale konieczne. Przecież kiedyś już ktoś to wymyślił i zakodował. Jedyne, co trzeba teraz zrobić, to odnaleźć odpowiednie procedury w kodzie oryginalnej wersji gry. Krótko mówiąc trzeba dokonać tzw. inżynierii odwrotnej polegającej na disassemblacji i skomentowaniu kodu oryginału. To zadanie również proste nie jest, ale zapewniam, że będzie kosztowało mniej czasu niż wymyślanie wszystkiego od nowa, i co ważne, pozwoli odtworzyć oryginał ze stuprocentową wiernością. Ktoś mógłby się nie zgodzić, że inżynieria odwrotna jest szybsza od pisania programu od nowa. Dodam więc, że jest szybsza na pewno w przypadku oprogramowania dla takich małych 8-bitowych systemów. W przypadku większych systemów rzeczywiście sytuacja wygląda inaczej. Nie jest to jednak miejsce na dyskusję na ten temat.

Wracając do naszej konwersji chciałbym zakomunikować, że potrzebuję pomocy polegającej właśnie na dokonaniu inżynierii odwrotnej kodu oryginału dla C64. Dodam jeszcze, że zadanie to trochę powinny ułatwić wyniki inżynierii odwrotnej, którą przeprowadziłem na grze Intenational Karate w wersji na Atari (odpowiednie pliki z opisem tej gry są do ściągnięcia). Zauważyłem dużo podobieństw w kodach obu gier i sądzę, że zrozumienie budowy jednej z nich bardzo uprości rozgryzanie tej drugiej. Oprócz tego jest dostępny króciutki opis dla demka pt. Falcon stworzonego swego czasu przez Hurka, które to demko zawiera w sobie właśnie animację z IK+. Przygotowałem również plik .xls podający lokalizację odpowiadających sobie tabel z danymi w kodach gry International Karate w wersji na Atari i C64 oraz w IK+ i demie Falcon. Wszystkich chętnych do pomocy prosiłbym więc najpierw o zapoznanie się z tymi plikami.

Podstawowym narzędziem do disassemblacji kodu Atari był dla mnie emulator Atari800WinPLus 2.8. W przypadku C64 polecam WinVICE 1.2. A opis może być w zwykłym notatniku (tak jak ja to robiłem do tej pory z International Karate). Oczywiście gdyby było kilku chętnych, to podzielimy się jakoś kodem IK+. Procedur w tej grze jest kilkadziesiąt, nie wiem dokładnie ile, ale sądze że nie więcej niż 100. Gdyby było 10 chętnych i każdy zrobił po kilka, to może dalibyśmy radę w 2 miesiące. Jeżeli chętni się nie znajdą, to policzcie sobie, ile mi samemu to zajmie.
Jak można się przekonać po ściągnięciu roboczej wersji gry, konwersja grafiki jest już zrobiona. Potrzeba jednak zrobić również konwersję muzyki. Jak do tej pory zgłosił się do tego zadania Dariusz Duma (pseudonim Dhor) działający niegdyś na scenie atarowskiej. Nie ukrywam, że bardzo liczę na jego pomoc, choć ostatnio się nie odzywa. Mam nadzieję, że nie zrezygnował. Oprócz tego ktoś inny mógłby przekonwertować muzyczkę niezależnie. Można by wtedy je porównać i ewentualnie wybrać lepszą. Do ściągnięcia są muzyczki z oryginałów w formatcie .sid (C64) i .ym (ST).
Aha. Przydałby się jeszcze jakiś mały foncik, który użyjemy do przedstawienia autorów konwersji. Myślę, że zrobi się ekranik z napisami wyświetlany na początku ładowania gry. Później na czas ładowania gry chę wyświetlać logo IK+, takie czerwone, które można na tej stronce zobaczyć.

A teraz kończę już ten strasznie długi tekst i zapraszam serdecznie wszystkich chętnych do współpracy.

Z wyrazami uszanowania
Paweł Rosowski


<< back | forward >> <<< index.html
hosted by uce.pl