Atari Console Emulator v0.1

      Atari Console Emulator (ACE) jest dość starym produktem braci Fenton (Joe i Mike). Wersja którą ja posiadam powstała w latach 1994-95 i ma numerek 0.1. Na różnych stronach internetowych można znaleźć informacje iż dostępna jest wersja 1.1. Jak poinformował mnie jeden z autorów jest to prawda, ale... późniejsze wersje nie były już portowane na Amigę!

      Prawdę mówiąc miałem mieszane uczucia odpalając tę produkcję. Przyczyną tego było rozczarowanie innym emulatorem Atarki dla Amisi. Mam tutaj na myśli emulator Atari800 (0.6.0) w wersji dla Ami. Każdy kto choć raz odpalił ten emulator wie, iż praca z nim jest po prostu NIEMOŻLIWA! Szybkość emulacji jest tak wolna że wykonanie prostej instrukcji w BASIC'u trwa wieki. Jak dla mnie dobrze napisany emulator powinien, w mirę normalnie, już pracować na platformie z prockiem 020! Dobrym przykładem jest emulator A64 dla Ami, który jest znacznie szybszy od FRODO (wersja dla 68k) i praca z nim jest już w miarę normalna (na 030/040 wręcz wyśmienita).

Jak się okazało ACE nie jest wybredny! Aby można go było odpalić wymaga procesora 020 i trochę FAST'u. Taka konfiguracja zupełnie wystarcza do tego aby odpalić większość programów! Tak, tak, to nie jest żadna bajka! Oczywiście nie będzie to jeszcze pełna szybkość oryginalnej Atarki, ale napewno jest to 1000 razy szybciej niż pod emulatorem Atari800! Program testowałem na Ami z procesorem 020, koprocesorem 881 i 6MB RAM'u, emulacja jest naprawdę szybka.

      Po odpaleniu ACE ukazuje się okno emulatora w którym możemy ustawić sobie wszystkie opcje dotyczące jego pracy. Pierwsza opcja to CONSOLE, która umożliwia ustawienie opcji:

  • MODEL: 400, 800, XL, XE
  • VIDEO: PAL, NTSC
  • CPU: 65c02, 6502
  • SPEED: NORMAL, ACCELERATED
I tu pierwsza wpadka! Mimo iż ustawimy model XL lub XE to emulowany będzie tylko model 800 (48Kb). Podobny efekt z CPU - tylko 6502. Opcję SPEED możemy włączyć na ACCELERATED jeżeli posiadamy szybki procesor (np. 040), wtedy emulator rusza pełną parą! Jeżeli masz tylko 020 to nie zauważysz żadnej różnicy w szybkości emulacji. Tak więc możemy emulować tylko model 800, a co za tym idzie kolejna opcja także będzie błędnie działać. Mowa o opcji ROM. Umożliwia ona emulację ROM'u lub odczyt oryginalnego (zgranego z Atari). Emulacja ROM'u w ogóle nie działa, a odczytać można tylko ROM w wersji AB (długość 10,240 bajtów). Co to oznacza, każdy się domyśla. Około 90% nowego oprogramowania NIE będzie można odpalić pod ACE! Dla mnie jest to najpoważniejszy błąd! Nie wiem jak autorzy testowali swój produkt, ale chyba się do tego nie przyłożyli! Pod uwagę brałem jeszcze to iż być może program jest SHAREWARE i opcje te są wyłączone! W dokumentacji nic na ten temat nie ma, a wiec...

Kolejna opcja to TASK CONTROL, umożliwia ona ustawienie dowolnego priorytetu dla danego zadania.

Dalej mamy DOS DRIVES. Opcja umożliwia "podpięcie" dysku pod stacje 1-9 (chodzi oczywiście o image). I tu kolejny błąd! Mimo iż zainstalujemy kilka stacji to emulator obsługuje tylko PIERWSZĄ (D1:). Na pozostałe w ogóle nie reaguje! Sam image musi być DOKŁADNĄ kopią oryginalnego dysku np. w gęstości podwójnej MUSI posiadać trzy BOOT'we sektory po 128 bajtów! Image nie posiada żadnego nagłówka! Oznacza to iż nie możemy sobie podpiąć plików ATR czy XFD!

Ostatnia opcja to PERIPHERALS czyli urządzenia zewnętrzne. Możemy podpiąć stację dysków, magnetofon, drukarkę oraz RS-232. Wszystko może być także emulowane przez Amigę. Czy to działa? Nie wiem, nie testowałem.

      Gdy już wszystko sobie ustawimy to odpalamy emulację. Na ekranie ukaże się HELP PAGE przypominający o klawiszach funkcyjnych:

  • [L] load project. Umożliwia zmianę "dysku" w danej stacji.
  • [1-8] load disk. Zbootowanie Atari z dysku (np. odczyt DOS'u).
  • [R] Reboot. Powrót do HELP PAGE.
  • [Q] Quit. Powrót do okienka umożliwiającego ustawienie opcji (i wyjścia z ACE).
  • [B] Debug. To nic innego jak monitor pamięci Atari. Jest on naprawdę rozbudowany i może posłużyć np. do wyłapywania błędów w programie dla Atari!
  • [C] Scroll mode. Prawdę mówiąc to nie mam pojęcia do czego jest ta opcja, bo nigdy z niej nie korzystałem.
  • [M] Math mode. ACE umożliwia podmiankę procedur FP, które są znacznie szybsze od oryginalnych! Aby się o tym przekonać odpalcie pod emulatorem SYS Info 2.x Konrada Kokoszkiewicza.
  • [A] Hires color/BW. Przy pomocy tej opcji możemy włączyć kolorowy tryb dla ekranu w GR8. Oczywiście paleta jest stała. Po ponownym wybraniu tej opcji powracamy do trybu czarno-białego.
  • [F5] Reset/Power ON. Klawisz ma podwójne znaczenie. W Help Page umożliwia "włączenie" Atari. Podczas emulacji jest to po prostu klawisz RESET.
  • [F6] Option/Load cartridge. W Help Page umożliwia załadowanie danych cartridga (także Atari BASIC). Podczas emulacji jest to klawisz OPTION.
  • [F7] Select. Klawisz SELECT w Atari.
  • [F8] Start. Klawisz START w Atari.
  • [F10] Break. Klawisz BREAK w Atari.
Jak widać opcji nie jest zbyt dużo. Warto jednak zaznaczyć iż są one aktywne także podczas emulacji! Jeżeli np. chcemy zmienić dysk w stacji to nie musimy przechodzić do HELP PAGE! Wystarczy nacisnąć AMIGA+L i już możemy wybrać image następnego dysku.

      ACE dość wiernie emuluje Atari, a to powoduje iż dość rzadko można go zawiesić (osobiście udało mi się to tylko RAZ). Jak wspomniałem nie odpalimy programów przeznaczonych dla XL/XE. Są także problemy z GTIA. Nie zawsze ustawienie GR9 daje pożądany efekt (raczej wygląda to jak GR10 lub GR11). Mam jednak taki slideshow w dziewiątce, który ZAWSZE ustawi (poprawny) GR9 w ACE. Jak? Na razie nie przyglądałem się temu, ale jak widać jest to możliwe! Można także wyświetlić sobie HIP'y bez żadnej nieprzyjemnej reakcji ze strony ACE (niestety ich jakość jest delikatnie mówiąc kiepska). Znacznie lepiej emulowany jest POKEY. Co prawda nie jest to ideał, ale można już posłuchać modułów CMC/MPT/TMC. Także digitki są odtwarzane (choć nie polecam ich odtwarzania ze względu na jakość). Jak na razie najwierniej odtwarzana jest muzyczka z gry "Nadral" (zresztą bardzo przyjemna).

      Nie ma także problemów z klawiaturą. Większość kombinacji różnych klawiszy działa bez zarzutu (nawet CONTROL+1 działa poprawnie). Oczywiście trzeba się przyzwyczaić do nowego położenia takich klawiszy jak CLEAR, INSERT, BREAK, RESET, OPTION itd. Zauważyłem jednak iż emulator ma kłopoty z komórką 764. Co prawda odczytuje z niej wartości, ale obsługa programu wykorzystującego 764 do obsługi klawiatury jest wolniejsza od systemowej procedury. Poza tym "pomieszane" są kombinacje przy pomocy których obsługujemy kursor (po otwarciu klawiatury do odczytu) np. CONTROL+* powinno przesunąć kursor w prawo, ale w ACE tak nie jest! Aby tak się stało należy nacisnąć sam klawisz kursora! Jeżeli chodzi o wartości z 764 to także są kłopoty z klawiszami o kodach 6, 7, 14, 15 (+*-=) tzn. kod jest odczytywany, ale brak jest reakcji programu (z reguły klawisze te sterują kursorem). Aby program zareagował należy nacisnąć dodatkowo SHIFT Jak widać trzeba "troszkę" pokombinować... Jeżeli ktoś chciałby przyspieszyć sobie odczyt z klawiatury przy pomocy rejestrów 729 i 730 to... niech zapomni o tym! Emulator nie reaguje na te wartości (a tym samym i uruchomiony program). Wspomnę jeszcze o takim "szczególe" jak dźwięk klawiatury. Krótko mówiąc raz on jest, a raz go nie ma.

      Aby korzystać ze stacji dysków należy uruchomić DOS. Na całe szczęście większość DOS'ów można odpalić, w tym BW DOS'a, który daje nam dostęp do dysków Sparty (sam SpartaDOS nie uruchomi się gdyż "stwierdza" iż nie jest to Atari XL/XE, w tym wypadku winę ponosi stary OS Atari). Poza tym dzięki BW-DOS możemy stworzyć sobie image dysku o pojemności 360Kb. Tworzymy je przy pomocy opcji FORMAT DOS'u. Po jej wybraniu ukaże się requester, który umożliwia wybór urządzenia (Amigi) oraz podanie nazwy pliku dla nowego image. Resztę "załatwia" DOS Atari. Emulowana jest także szybka transmisja, choć pod ACE jest to raczej WOLNA transmisja ;-). Jej zaletą jest to iż podczas odczytu słyszymy nasze ulubione dźwięki ;-)

      Ciekawym rozwiązaniem jest obsługa magnetofonu (niestety, niedopracowana). Po odwołaniu się do "C:" ukazuje się nam requester umożliwiający wybranie dowolnego programu z dowolnego urządzenia Amigi (HD, CD, dysk, ramdysk itd.). Jest to naprawdę dobry pomysł bo dzięki temu można gromadzić sobie jakieś dane (moduły CMC/MPT/TMC, obrazki, teksty itd.) w dowolnym katalogu na HD i w razie potrzeby odczytać je przy pomocy "C:" (pod warunkiem iż dany program to umożliwia, a jak wiemy obecnie nikt już nie uwzględnia istnienia magnetofonu w podstawowej konfiguracji. Może warto do tego wrócić?). Tak wygląda to w teorii, a w praktyce aby szczęścia nie było zbyt wiele to po pierwszej komunikacji z urządzeniem "C:" (poprawnej), "coś" się przestawia i kolejna jest już błędna! I ponownie jest to wina emulatora, gdyż sprawdzałem to na kilku programach kopiujących!

      Jeżeli chodzi o demonstaracje oraz gry to ACE zachowuje się różnie i trudno cokolwiek na ten temat powiedzieć. Faktem jednak jest to iż nie sprawdzałem tego aż tak dokładnie (skupiłem się raczej na programach użytkowych). Myślę jednak że kłopoty będą, gdyż emulator ma problemy z duszkami, a to oznacza, iż większość gier nie będzie "normalnie" się zachowywać (dotyczy to także demosów).

      Tak skrótowo przedstawia się ACE. Jak widać ma SPORO błędów, ale jak dla mnie jest on o niebo lepszy od emulatora Atari800 (0.6.0)! Dzięki niemu zniknął np. problem z przeglądaniem stuffu z płytki wydawanej przez Vasca (ach te ATR'y :))), można bez kombinacji skopiować sobie dowolny plik z image i nagrać go na dowolne urządzenie Amigi, można... Nie, nie będę tu wypisywał co można, bo każdy posiadacz Amisi wie jakie są kłopoty z przeglądaniem stuffu dla Atarci (oczywiście jedynym powodem tych kłopotów jest brak odpowiedniego oprogramowania). Taki emulator otwiera nam drzwi, które do tej pory były zamknięte! Dotyczy to w szczególnoci posiadaczy słabych konfiguracji! Jeżeli posiadasz kartę graficzną to możesz zapomnieć o ACE! Program wykorzystuje tylko układy ECS lub AGA. Niestety, nie daje się też wypromować :( W tym wypadku powinieneś zainteresować się emulatorem Atari800 v1.2 (1.0.6), a jeżeli dodatkowo posiadasz PowerPC to najlepszym rozwiązaniem jest Atari800 v1.2.4 pod WOS'a lub MOS'a!

Jager/Dial