Czy możliwe jest programowe emulowanie jednej ośmiobitowej maszynki
przez drugą? Jak dotychczas nie pokazano emulatora tego typu na
żadnym z komputerów, które można podciągnąć pod naszych wrogów
ideowych ;) Ani Commodore nie emuluje Spectrum, ani Amstrad nie
emuluje Commodore, itd. Teoretycznie jest to nawet możliwe,
aczkolwiek nikt nie pokusił się napisać takiego programu, pewnie ze
względów praktycznych. Emulator taki byłby wielokrotnie
(wielusetkrotnie?) wolniejszy od oryginału, nie byłoby więc sensu
go uruchamiać. Z drugiej strony jest to wyzwanie, które może
przyciągnąć maniaków chcących pokazać, że ich maszynka po prostu
może... :) I takich właśnie szaleńców mamy na naszym podwórku w
postaci Krzysztofa "xxl" Dudka i Konrada "draco030"
Kokoszkiewicza, którzy na forum
Atari Area zasygnalizowali, iż pracują nad emulacją ZX Spectrum
na Atari. Pracują oczywiście niezależnie od siebie, a Ci którzy
śledzą dyskusję na ten temat wiedzą, że praca ta ma nawet charakter
konkurencyjny :) Obaj w inny sposób podeszli do sprawy - Konrad
przygotowuje program sam i zamierza opublikować efekty swojej pracy
dopiero, gdy większość emulacji będzie gotowa, podczas gdy Krzysiek
prezentuje postępy prac na biężąco, dzięki czemu do rozwoju
programu włączyli się też inni. Nie mnie przesądzać, która metoda
jest lepsza, obaj koledzy znani są ze swojej pasji do Atari i
pracowitości, można być więc pewnym, że oba projekty będą
kontynuowane. A jak wiemy, od przybytku głowa nie boli, więc jeśli
na końcu tej rywalizacji ujrzymy dwa emulatory to tym lepiej dla
nas, szarych zjadaczy... eee, użytkowników Atari.
Na razie głos oddaję Krzyśkowi, który zdecydował się na moją prośbę
podzielić się z nami najnowszymi "osiągnięciami" ze swojej
programistycznej kuźni. Oto co ma do powiedzenia:
"Od pewnego czasu myślałem o uruchomieniu kodu procesora Z80 na
małym Atari. Chciałem napisać scrolla w asemblerze Z80, ale
korzystając z funkcji Antica. Pomysł troszkę dziwny... Zacząłem
uczyć się programować Z80 i czym więcej czytałem o tym procesorze,
tym bardziej zacząłem zastanawiać się, dlaczego nikt nie próbuje
zrobić emulatora Z80 na 6502. Na forum dowiedzialem sie, że jednak
próby były/są, ale jakoś efektów tych prób nie ma. Jedna osoba
czyli draco pisze emulator ZX Spectrum na Atari. Jego założenia
wydawały mi się rewelacyjne (stronicowanie pamięci ZX Spectrum),
ale po przemyśleniu uznałem, że są błędne i taki emulator nie
będzie chodził na każdym Atari z rozszerzoną pamięcią lub na czas
wyświetlania obrazu emulator zostanie zatrzymany - wymagana jest
stuprocentowa kompatybilność z Atari 130XE, osobny dostęp Antica i
6502 do pamięci. Postanowiłem, że spróbuję napisać emulator, na
którym nie uruchomimy większości programów ZX Spectrum, ale te na
których akurat mi zależało owszem. Emulator napisałem dość szybko,
parę osób z forum aktywnie przyczyniło się do jego powstania
(tebe, pr0be, laoo), za co bardzo im dziękuję.
Dzięki pomysłom laoo pewnie już wkrótce będziecie mogli zobaczyć o
wiele szybszą wersję prezentowanych dziś na atarionline.pl
programów z ZX Spectrum. Emulator ciągle jest poprawiany!
Pokrótce wyjaśnię, jak działa emulator. Uruchomi się na każdym
Atari (wystarczy 48 KB), program z ZX Spectrum zapisany w pliku SNA
ładowany jest do pamięci Atari, program Antica napisany jest tak,
że bez udziału 6502 wyświetla pamięć obrazu Spectrum. Pamięć
atrybutów nie jest wyświetlana. Emulator pobiera rozkaz Z80,
interpretuje go, aktualizuje rejestry emulowanego Z80 na stronie
zerowej i wraca do interpretacji kolejnego rozkazu Z80. Szybkość
działania nie jest może rewelacyjna, ale emulator raczej miał
pokazać, że na Atari można uruchomić program z ZX Spectrum niż
emulować go z pełną prędkością. Taka opcja będzie tylko na
16-bitowym procesorze 65816 (mam nadzieję).
Na początek zaprezentuję opublikowane już jakiś czas temu w sieci
demo pod nazwą "circle". Dostępne na ZX Spectrum tutaj, a na Atari
tu. Później zdecydowałem,
że każdy program będzie opisany numerem wersji, ponieważ laoo
zaoferował pomoc w przyśpieszaniu emulowanych programów i wersji
zaczęło przybywać. Oto wcześniej nie pokazywana wersja 0.01 gry
Death Chase, jednej z pierwszych gier 3D na komputery domowe
(numer jeden na tej
liście). Na atarionline.pl do ściągnięcia tu. Jest to wersja bez
przyspieszeń, sterowanie joystickiem w porcie 1, klawiatura jest
podmapowana pod joystick, nie ma dźwięku. A tu można obejrzeć
filmik, jak chodzi ta gra na przyspieszonym emulatorze.
W przygotowaniu dwie dalsze gry (strzelanina i platformówka z
listy, do której link był powyżej). Kiedy bedą dostępne na Atari?
Jeśli jesteście zainteresowani, to już wkrótce, bo doping pomaga
:-)
Jak widać, Krzysiek wiele nie potrzebuje, aby prace ciągnąć dalej,
dlatego wsparcie programistyczne, że o moralnym nie wspomnę, wielce
pożądane. Dopingujmy go, a myślę, że odbędzie się więcej premier
nowych gier ze Spectrum na naszym serwisie! :)
Jar-eck 2007-03-16 03:53:38
piknie!
Kaz jak zwykle trzymasz ręke na pulsie,wiedziłem że nie odpuscisz tematu! Będziesz miał okrutnie długą listę do kolejnego Kaz Compo-->jakby nie było, taki Death Chase to nowa pozycja na Atari, a ma byc więcej ;)
Krzysztof, szacunek--jak tylko dotre do domu testuje i napiszę wiecej... miker 2007-03-16 04:53:29
Brawo Xxl! Szkoda, że Cię nie będzie na Foreverze, jednak zgrałem sobie oba programiki i postaram się gdzieś to tam wyświetlić. :)
Także brawa dla Draca, Laoo i TeBego (a, niech stracę?) ;) sikor 2007-03-16 08:26:51
Jak dla mnie - nie jest źle. Ponowię moją prośbę do XXL-a - poproszę gierkę tekstową lub statyczną w stylu weź i użyj - wtedy prędkość nie będzie przeszkodą. Ta, jaka jest - wydaje się sensowna, choć zasugerowałbym (o ile to jest możliwe i nie jest jeszcze zrobione) jednak możliwość użycia większej pamięci (może być 128KB w sumie - to nieproblem) i bankowanie ekranów - na moje oko ekran nie nadąża za emulowanym sprzętem, choć może się myle. Na razie rewelacja - czekam na tekstówki ;) lizart 2007-03-16 14:26:39
nic dodac nic ujac Brawo! jak tylko bede w domu zapuszcze sobie to na real atari! Jurgi 2007-03-17 21:37:00
"Osobiście zetknąłem się z tą tematyką podczas pracy nad BugHunter-em. Być może wyda się to dziwne, ale ten debugger jest swoistym emulatorem ATARI XL na ATARI XL. Tak, to nie pomyłka! Ci, którzy używali kiedykolwiek BugHunter-a wiedzą, że wykonuje on każdy program naprawdę (…) Ze wszystkim tym kojarzy mi się jeszcze jeden emulator na ATARI XL. Jeden z bardzo znanych obecnie programistów, autor licznych gier i programów użytkowych pokazywał ml kilka lat temu jeden ze swoich pierwszych programów dla małego ATARI. W tekście programu ze zdumieniem zauważyłem procedury, służące do emulacji rozkazów procesora Z-80. Dopiero po jakimś czasie domyśliłem się powodu, dla którego zostały tam umieszczone. Po prostu, autor programu wcześniej pisywał na Spectrum. Jak widać, każdemu zdarza się "emulować"..." grzeniu 2007-03-18 11:50:37
mam nadzieję, że to będzie Bomb Jack ! Dolar 2007-03-21 17:11:52
Gdzie byłeś w latach 80? CePe/ANM 2007-03-21 17:28:38
Dolar: nie jest to smaczne pytanie ;-] Dracon 2007-03-21 19:30:42
Mam wielki sentyment do DeathChase, jako że była to jedna z pierwszych gier komputerowych, w które lubiłem sobie od czasu do czasu popykać. ;) Co prawda graficzne możliwości ZX'a były przy Atari niezbyt rzucające na kolana, ale niektóre giery potrafiły naprawdę wciągać (w/w albo lepszy niż atarowski JET SET WILLY). :)
XXL napisał na forum: "z ramem liniowym bedzie mozliwosc uruchomienia prawie wszystkiego z zx spectrum a dzieki 65816 byc moze bedzie to nawet w miare szybkie" - no sorry, ale to ma powstać emulator dla 4 osób na krzyż, które będą takie "monstra" posiadać i bawić się?! Spodziewałem się, że autor pobawi się w optymalizację kodu i inne sztuczki, co by można było niektóre spectrumowe gierki potestować na (w miarę) typowych, modelach 8-bitowego Atari (pamięć max. do 320 kB), 6502 inside, itp. :]
KAZ - czy doczekam się odpisu na ostatniego maila (sprzed paru tygodni) ?? ;> xxl 2007-03-21 21:43:39
w latach 80 uczylem sie czytac i pisac :p co do 65816 - jeszcze go nie mam i nie wiadomo czy i kiedy bede mial. draco030 na forum zapowiedzial pojawienie sie emulatora na 6502 na ktorym uruchomicie prawie wszystko z zx wiec spokojnie, swiat programow z zx powodli otwiera sie dla atari ;-) co do moich planow: przyjdzie czas ze dc bedzie dzialal jak trzeba na atari :-) Kaz 2007-03-22 01:15:55
jest pewien problem, dystrybucja gry ktora chcialbym udostepnic jest zabroniona, prawa naleza hehe do microsoftu, sprawdzilem (nie wiem dlaczego wczesniej tego nie zrobilem) nie mozna tej gry legalnie sciagnac z sieci. mowa o jetpacu. jakies propozycje? moze emulec powinien byc tylko loaderem? ok. no to skrin: http://atari.pl/zx1.jpg Ramos 2007-03-22 22:15:36
Swietna rzecz ta emulacja. Gratuluje pomyslu i checi. Na c64 emulowany byl tylko BASIC ZX. Kiedys Swietny bawil sie w emulacje dzwieku z ZX moze by polaczyc ten projekt, dodac BASIC ZX mamy prawie ZX Spectrum :) Mozna by sie dalo wczytywac z magnetu atarki programy zapisane na ZX i odpalane na tym emulatorze? Niestety bedzie problem z uzyskaniem gier w kolorze :( tebe 2007-03-23 08:25:53
XXL tym lepiej że micro... ma do niej prawa, gra będzie cieszyła się większym powodzeniem, pozatym chyba nie wierzysz w to że micro... śledzi poczynania i postępy ludków w świecie xe/xl :) będzie darmowa reklama :) przesadzasz XXL, martwisz się pierdołami, kończ prace, przyspieszaj kod i udostępniaj... xxl 2007-03-23 11:31:51
mam pewne opory... jak by nie bylo ze wszystkich trumnowych serwisow zniknela mozliwosc sciagniecia jetpaca... http://atari.pl/jetpac.rar - bez przyspieszen tebe 2007-03-23 19:03:03
podeślij źródła, podpisze się pod tym i wydam, nie będziesz musiał się bać Dracon 2007-03-23 20:11:52
Xxl - serio nie ma skąd zgrać tego spectrumowego JETPACA??? :O Mówisz - masz, wrzuciłem tu (w kilku wersjach):
http://voila.pl/507fv/?1
i gierka działa, bo przed chwilą sprawdziłem pod Spectaculatorem. :) Mam to ze starej kolekcji (zmirrowanej części ftp-a ze spectrumowymi produkcjami...). :) xxl 2007-03-24 09:49:13
nie chodzi o to ze nie mam skad sciagnac jetpaca (mam go, zobacz na filmik gdzie dziala na atari), tylko to ze nie mozna go sciagnac legalnie. ok. wroce z wroclawia to zajme sie nim - mam malego buga (jetpac nie strzela) poprawie i udostepnie. acha 'pssst' tego samego autora tez chyba ruszy (dziala ok 2 sekund i zwiecha - ale dobrze rokuje ;-) Czarny_faraon 2007-03-30 10:41:52
Rewelacja!!! Na coś takiego dawno czekałem. xxl 2007-04-01 12:27:22
na zx: http://www.mobygames.com/game/zx-spectr … creenshots i na atari: http://atari.pl/pheenix.rar jeszcze troszke cierpliwosci i emulec bedzie gotowy Kaz 2007-04-01 17:16:33