Atari800 v1.2 (1.0.6)

      Autorem kodu jest David Firth, procedury obsługujące dźwięk napisał Ron Fries, a amigowy port stworzył, znany w amigowym światku Sebastian Bauer. Aby uruchomić emulator potrzebny nam będzie pakiet MUI oraz łatka NEWWPA8 lub BLAZEWCP (dotyczy to tylko użytkowników z układami AGA). Co ciekawe, autor o tych łatkach w ogóle nie wspomina! Co prawda główna część emulatora się uruchomi, ale uruchomienie jakiegokolwiek programu Atari nie będzie możliwe. Oprócz tego NIEZBĘDNY jest bardzo szybki procesor! Oczywiście można odpalić emulator na "gołej" A1200, ale raczej będzie to slideshow, a nie emulacja! Nie pomoże nam tu także procesor MC68030/50MHz. Emulator testowałem na MC68040/40MHz i niestety jest wolno, choć sam emulator "chwali się" iż wyciąga 100% szybkość oryginalnego Atari! Jak się okazuje jest to "bajka", ale o tym nieco dalej...

      Przed uruchomieniem głównej części emulatora ukazuje się nam okienko z ustawieniami. Pierwsza zakładka (GENERAL) umożliwia nam ustawienie:

  • MODEL: Atari OS "A", Atari OS "B" (tu chodzi o pierwsze modele jak np. Atari 400), Atari 800XL, Atari 130XE, Atari 320XE (z rozszerzeniem RAMBO), Atari 320XE (z rozszerzeniem COMPY SHOP) oraz Atari 5200
  • włączenie/wyłączenie obszaru pamięci od $C000 do $CFFFF
  • włączenie/wyłączenie łatki przyspieszającej operacje I/O
  • włączenie/wyłączenie automatycznego "przytrzymania" klawisza OPTION podczas bootowania.
Łatka przyspieszająca operacje I/O może nie działać poprawnie ze wszystkimi ROM'ami. Na pewno nie działa z systemem QMEG-OS (zresztą po wyłączeniu jej też są problemy)!

      Druga zakładka (PATHS) umożliwia nam podanie ścieżek dostępu do katalogów z ROM'ami, cartridge'ami, dyskami (ATR/XFD) itd.

      Trzecia zakładka (GRAPHICS) umożliwia ustawienie opcji związanych z ekranem emulowanego Atari. Dodatkowo możemy ustawić tutaj ilość ramek do przeskoku. Jeżeli masz wolną maszynę to zainteresuj się tą opcją! Na 040/40MHz można ustawić 1. Jeżeli masz np. 060/66MHz spróbuj ustawić 0. Oczywiście karta GFX jest mile widziana!

      Ostatnia zakładka (SOUND) umożliwia włączenie/wyłączenie dźwięku. Prawdę mówiąc nie mam pojęcia czy nawet na 060/80MHz będzie on odtwarzany prawidłowo! Na 040/40MHz można zapomnieć że ta opcja istnieje.

      W dolnej części okienka mamy przyciski umożliwiające zapis ustawień (SAVE), użycie ich tylko obecnie (USE), lub przerwanie emulacji (CANCEL). Niestety, tu mamy pierwszy błąd w programie (zresztą jak można go nie zauważyć podczas testów?)! Po pierwsze zapis praktycznie nic nie daje, gdyż większość opcji przy każdym starcie emulatora należy ponownie ustawić (na całe szczęście zakładka PATHS jest zapisywana poprawnie), po drugie opcja CANCEL w ogóle nie działa tz. po jej wybraniu zamiast powrócić do systemu uruchamiany jest emulator!

      Gdy już ustawimy sobie wszystkie opcje możemy wystartować. Jeżeli (po chwili) zamiast SELF TEST'u zobaczysz, a właściwie nic nie zobaczysz :) to znak iż "coś" jest nie tak i... to by było na tyle. Warto wtedy sprawdzić czy na pewno mamy uruchomioną łatkę NEWWPA8 lub BLAZEWCP (jeżeli posiadasz kartę GFX to nie są Ci one potrzebne) Można także spróbować zmienić ROM.

Jeżeli wszystko jest OK tz. widzimy SELF TEST to możemy się już "pobawić"! Po naciśnięciu prawego przycisku myszy ukaże nam się tz. "górne menu" (na belce). Tu znajdziemy kolejne opcje ułatwiające nam zabawę. Oto one:

PROJECT

About - informacja o autorze

Load State/Save State - zapis/odczyt aktualnego stanu emulowanego programu. Do czego się to może przydać? Powiedzmy że grasz sobie w gierkę, która nie ma możliwości zapisu stanu gry. W takim przypadku wybierasz opcję SAVE STATE. W wybranym katalogu zostanie zapisany plik. Gdy będziesz chciał powrócić do gry to wystarczy jak wybierzesz opcję LOAD STATE i wskażesz zapisany plik. Po odczycie, powracasz do gry dokładnie w tym samym momencie w którym ją przerwałeś (i zapisałeś).

Load BIN - odczyt (i uruchomienie) pliku binarnego z dowolnego urządzenia Amigi (HD, CD-ROM, stacja dysków).

Record sound - nagrywanie dźwięku. Nie korzystałem z tej opcji, więc nie wiem czy ona w ogóle poprawnie działa! Jak wspomniałem, aby emulować dźwięk na tym emulatorze potrzebny jest BARDZO SZYBKI procesor (a najszybszy z serii 68K jest MC68060 i mam wątpliwości czy i on by dał radę).

Select path - ścieżka (i nazwa pliku) dla opcji Record sound.

Help - pomoc. Prawdopodobnie chodzi o odczyt pliku Amigaguide, ale to nie działa!

Iconify - "uśpienie" emulatora (powracamy do systemu). Jeżeli mamy odpalony Workbench to na jego pulpicie ukaże się ikonka. Aby powrócić do emulatora należy na niej zrobić "dwuklik".

Quit - wyjście z emulatora.

SYSTEM

Boot disk - bootowanie z image (ATR lub XFD). Jeżeli nie masz włączonej opcji HOLD OPTION WHILE BOOTING to należy przytrzymać klawisz [F2] jeżeli nie chcesz BASIC'a.

Insert disk - tu możemy "włożyć" dysk do wirtualnej stacji 1-8 (chodzi oczywiście o image).

Eject disk - "wyciągamy" dysk z wirtualnej stacji 1-8. Oczywiście jeżeli mamy w stacji np. 2 jakiś dysk i chcemy go zmienić na inny nie musimy go "wyciągać" przy pomocy tej opcji! Wybieramy po prostu Insert disk i wskazujemy następny image. Eject disk służy do odmontowania stacji.

Insert cartridge - włożenie cartridg'a (8Kb, 16Kb lub OSS SuperCart). Nie testowałem emulatora z tym ostatnim cartridge'm.

Remove cartridge - wyciągnięcie cartridga.

Enable PILL - nie mam pojęcia do czego służy (albo miała służyć) ta opcja. Po jej wybraniu emulator po prostu się "wiesza"!

Internal user interface - wewnętrzny interfejs użytkownika. Po wybraniu tej opcji ukazuje się nam dość rozbudowane menu umożliwiające zmianę ustawień emulatora (np. ROM, SYSTEM itd.). Znajdziemy tu także opcje umożliwiające zapis ekranu emulatora.

CONSOLE

Tu znajdziemy opcje dotyczące klawiatury:


OpcjaKlawisz AtariKlawisz Amigi
Option
Option
F2
Select
Select
F3
Start
Start
F4
Help
Help
Help
Break
Break
F7
Reset
Reset
F5
ColdStart
-
SHIFT + F5

SETTINGS

Show framerate - szybkość emulacji (procentowo)
Edit settings - opcja nie działa!
Save settings - opcja nie działa!


      Jak widać A800 jest znacznie wygodniejszy niż ACE, ale... jak dla mnie to tylko dodatkowe "bajery". Emulator powinien być przede wszystkim SZYBKI, a na tym polu A800 znacznie ustępuje ACE (delikatnie mówiąc)!

Aby nie być gołosłownym przeprowadziłem kilka testów. W "zawodach" brały udział:

  • Atari 320XE "żywa" maszyna
  • A800 v1.2 zoptymalizowany dla procesora 060, choć jak się okazało nie ma to żadnego znaczenia, teoretycznie na 040 powinien on pracować szybciej niż emulator zoptymalizowany dla 020! W praktyce wyniki były takie same! A więc co to za optymalizacja?
  • ACE v0.1
Emulatory były ustawione na "FULL" tz. włączone były wszystkie opcje, które mogły przyspieszyć emulację! Podstawowym ROM'em dla Atari oraz A800 był Atari OS BB.01.03, a dla ACE OS "B".

Konfiguracja Amigi była następująca:

Procesor:MC68040/40MHz
Koprocesor:zintegrowany 40MHz
MMU:włączone
Pamięć:40MB Fast, 2MB Chip
Karta graficzna:AGA
Multitasking:włączony

      Test przeprowadzony został przy pomocy programu SysInfo v2.03 autorstwa Draco (Konrad Kokoszkiewicz). Dodatkowo mierzony był czas wykonania danego testu (bez tego nie miało by to większego sensu).

      Wynik pierwszego testu (CPU Speed). Jak widać ACE był najszybszy! Przyznacie że aż trudno uwierzyć aby uzyskał on takie wyniki!!! Ponad 3,6 MIPS przy dostępie do rejestrów i 2 MIPS przy dostępie do pamięci!!! A cały test przeprowadzony został w ciągu 11 sekund! Wynik A800 pozostawiam bez komentarza...

      Wynik drugiego testu (FP arithmetics). I co Ty na to? Szokująca prędkość ACE szczególnie dla operacji mnożenia i dzielenia, a czas... 7 sekund! Nawet po zainstalowaniu ROM'u (w Atari i A800) z przyspieszonymi procedurami FP nie miał on żadnej konkurencji! Ponownie wynik A800 pozostawię bez komentarza...

      Wynik trzeciego testu (GFX & Text). Jak widać i tym razem ACE był najszybszy, ale tylko z podstawowym ROM'em. Po zainstalowaniu Tight OS (w Atari i A800) operacje na tekście (teoretycznie) były wolniejsze, ale... czas wykonania testu był znacznie lepszy! Wynik A800... każdy widzi... żenujący!

      Na koniec jeszcze jeden test. Tym razem typowo "roboczy". Postanowiłem zarchiwizować 9 plików tekstowych o łącznej długości 84,825 bajtów. Test wykonałem przy pomocy programu Super ARC v2.4 Roberta Puff'a. A oto wynik:

AtariAtari800 v1.2ACE v0.1
1.021.510.28

I ponownie ACE "rozłożył" całe towarzystwo na łopatki! Tylko 28 sekund potrzebował na to zadanie! Muszę zaznaczyć iż w przypadku Atari zapis i odczyt plików odbywał się z RAMDYSK'u (aby "wąskim gardłem" nie była tu stacja dysków).

      Na początku artykułu wspomniałem iż A800 "chwali się" iż osiąga 100% szybkości oryginalnej Atarki (po wyłączeniu dźwięku i ustawieniu opcji Skip frames na 1). Jak widać, w praktyce jest to z ledwością 50%. WSTYD! Tym bardziej iż ACE udowodnił iż można na Amisi emulować Atarkę naprawdę z zawrotną prędkością!

      Na zakończenie muszę wspomnieć o jeszcze jednym bardzo poważnym błędzie w A800 - obsłudze klawiatury. W praktyce oprócz klawiszy konsoli mamy do dyspozycji tylko podstawowe znaki. Brak jest znaków uzyskiwanych wraz z CONTROL (a to oznacza że wszelkiego rodzaju kombinacje typu [SHIFT]+[CONTROL] także nie będą rozpoznawane). Brakuje klawisza INVERSE, INSERT itd. Odnoszę wrażenie że autor tego emulatora chyba nigdy nie siedział przed atarką dłużej niż 10 minut!

      Jeżeli chodzi o samą emulację to nie jest tak źle. Większość programów bez problemu można uruchomić, a grafika PM jest poprawnie obsługiwana.

      Tak prezentuje się A800 v1.2 (1.0.6). Jak widać ma więcej wad niż zalet, ale jest to jedyny emulator dla Amisi (68k), który zbliżony jest możliwościami (czytaj: "bajerami" ułatwiającymi życie) do tak popularnych emulatorów dla PC (oczywiście poza szybkością).

Jager/Dial