
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                               Atari800Win
             Emulator Atari 800/800XL/130XL/5200 dla Win32

     Oryginalny kod Atari800: David Firth (david@signus.demon.co.uk)
     Oryginalna wersja dla Win32: Richard Lawrence (rich@kesmai.com)
                http://www.cris.com/~Twist/atari800win/

  01.04.2000                                                       v2.5e
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Jest to nieoficjalna wersja emulatora Atari800Win oparta na zrodlach
  Atari800 0.9.9g.

  Powazniejsze zmiany w kodzie dla Windows:

  Dodano:
  1) Opcje "Enable stereo" w oknie dialogowym "Sound Options".
     Uzywanie tego rozszerzenia ma sens jedynie przy uruchamianiu
     wykorzystujacego je oprogramowania (glownie nowe programy
     demonstracyjne). Wsparcie dla dzwieku stereo wprowadzono w wersji
     0.9.9g emulatora Atari800.
  2) Opcje "Use digitized effects" w oknie dialogowym "Sound Options".
     Pozwala ona na uaktywnienie metody generowania dzwieku zwanej
     "volume only".
  3) Prosta konsole monitora oparta na oknie DOS. Aby ja wywolac, nalezy
     wybrac opcje menu Misc/Monitor lub nacisnac klawisz F7.
  4) Skroty klawiaturowe do wywolywania okna dialogowego "Pick Virtual
     Hard Disk Directories" (Alt+V) oraz akcji zapisu (Alt+Z) i odczytu
     (Alt+O) stanu emulatora.

  Poprawiono:
  1) Nieobecna w poprzedniej wersji emulacje dzwiekow klawiatury. Aby ja
     uaktywnic, nalezy posluzyc sie opcja "Use digitized effects"
     w oknie dialogowym "Sound Options".
  2) Problemy z oknem dialogowym "Sound Options".
  3) Obsluge bledow generowanych przez DirectX.
  4) Wygode obslugi okna dialogowego "Error Log", ktorego rozmiary mozna
     teraz zmieniac w zaleznosci od potrzeb.
  5) Ustawienia projektu emulatora (Visual C++).
  6) Kilka pomniejszych bledow.


  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29.02.2000                                                       v2.5d
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Jest to nieoficjalna wersja emulatora Atari800Win oparta na zrodlach
  Atari800 0.9.9f.

  Podstawowym celem przy opracowywaniu tej wersji bylo uaktualnienie
  emulatora. Wprowadzono jednak rowniez kilka zmian w kodzie dla
  Windows:

  Dodano:
  1) Opcje "Use new binary load method" w oknie dialogowym "Hardware
     Settings". Przy jej uzyciu mozna wybrac alternatywna metode
     ladowania plikow wykonywalnych, wprowadzona w wersji 0.9.9d
     emulatora Atari800.
  2) Opcje "File Associations" w menu "Misc". Sluzy ona do rejestrowania
     plikow rozpoznawanych przez emulator, co pozwala na ich
     bezposrednie uruchamianie z poziomu Eksploratora Windows.
  3) Dwie nowe ikonki (dotychczasowe sa nadal dostepne).
  4) Alternatywna metode synchronizacji wyswietlania obrazu przez
     emulator z czestotliwoscia odswiezania pionowego, z jaka pracuje
     monitor (eksperymentalnie, szczegoly opisano nizej).

  Poprawiono:
  1) Problemy z wymiarowaniem okna glownego w trybach "okienkowych".
  2) Problemy z zapisem informacji w rejestrach pod kontrola Windows NT.
  3) Problemy z oknami dialogowymi "Cartridge Management", "Hardware
     Options" oraz "Graphics Options".

  Rozpoczeto rowniez reorganizacje kodow dla Windows, m.in. dodano pliki
  naglowkowe.
  
  Wiecej o nowej metodzie synchronizacji:

  Ujmujac rzecz najprosciej, modyfikacje polegaja na dolaczeniu
  alternatywnej metody uzyskania plynnej grafiki. Na czym polega
  problem?

  Otoz uzyskanie DOSKONALE plynnej grafiki (tj. DOKLADNIE takiej, jak na
  oryginalnej Atarynce) przy uzyciu emulatora Atari800Win czasem nie
  jest mozliwe. Czesto wynika to z ograniczen sprzetu (w pelni
  satysfakcjonujaca emulacje zapewnia dopiero PC ~300MHz), ale nie
  tylko... Oto lista krokow, jakie nalezy wykonac, aby cieszyc sie
  plynnym przewijaniem obrazu:

  1. Skonfigurowac odpowiednio parametry wyswietlania obrazu w uzywanym
     przez emulator trybie graficznym. Nalezy do tego celu wykorzystac
     oprogramowanie producenta karty graficznej lub jakiekolwiek inne,
     mogace posluzyc do tego celu (np. TweakHZ, Power Strip).
     Podstawowym parametrem, jaki nalezy zmodyfikowac, jest
     czestotliwosc odswiezania pionowego (vertical refresh rate). Jesli
     emulator ma byc uzywany w trybie PAL, nalezy dazyc do uzyskania
     wyswietlania obrazu z czestotliwoscia 50Hz, dla NTSC czestotliwosc
     ta wynosic powinna 60Hz.

  Przykladowo, sterowniki kart graficznych firmy Matrox pozwalaja na
  ustawienie niemal dowolnej czestotliwosci odswiezania obrazu pod
  kontola Wingrozy (oczywiscie w dostepnym dla tych kart zakresie).
  Dzieki temu mozna uzyskac 50Hz i to praktycznie w dowolnej
  rozdzielczosci. Ograniczeniem jest dopuszczalna, minimalna wartosc
  czestotliwosci odswiezania poziomego (horizontal refresh rate)
  monitorow VGA, zazwyczaj wynoszaca 31kHz. W przypadku Millenium G400
  mozliwosci ustawienia parametrow wyswietlanego obrazu sa jednak na
  tyle duze, ze 50Hz uzyskac mozna nawet w rozdzielczosci 320x240.

  2. Skonfigurowac emulator. W przypadku Atari800Win nalezy wywolac okno
     dialogowe "Graphics Options" (Alt+G), a nastepnie wybrac tryb
     graficzny, ktorego parametry obrazu zostaly zmodyfikowane w punkcie
     pierwszym oraz zaznaczyc opcje "Wait on VSYNC". Jej wybranie
     spowoduje, iz emulator bedzie czekal z "przeniesieniem obrazu na
     ekran" na sygnal przerwania synchronizacji pionowej. Po ustawieniu
     opcji graficznych nalezy sie jeszcze upewnic, ze emulator pracowac
     bedzie w systemie, dla ktorego ustawilismy parametry obrazu. W tym
     celu nalezy wywolac okno "Hardware settings" i wybrac "PAL" (50Hz)
     lub "NTSC" (60Hz). Opcja "Refresh" w tym oknie musi byc ustawiona
     na 1.

  To... prawie wszystko. Powyzszy algorytm zapewnia uzyskanie
  oczekiwanych rezultatow w przypadku wiekszosci emulatorow,
  dysponujacych opcja "Synchronize with VSYNC". Niestety, uruchamiajac
  Atari800Win przezyc mozna spory zawod. Tyle wysilkow, a ekran
  w niezapomnianym "Boulder Dashu" czesto nadal skacze i wyglada tak,
  jakby go "rozrywano". Wynika to z zastosowanej metody synchronizacji
  wyswietlania obrazu przez emulator z czestotliwoscia odswiezania
  ekranu monitora. Metoda ta czasem po prostu nie dziala (chociazby
  w przypadku wspomnianych wczesniej kart firmy Matrox).

  Wowczas wlasnie przydatna okazac sie moze metoda alternatywna. Jej
  wyboru dokonuje sie w okienku "Graphics Options" (Alt+G) przy uzyciu
  opcji "Wait on VSYNC". W tym celu nalezy zaznaczyc te opcje, ale tak,
  by "ptaszek" byl nieco bledszy (mowiac prosciej, wybrac stan drugi
  trzystanowej kontrolki checkbox :-) ). Nowa metoda synchronizacji
  dziala jedynie wowczas, gdy uzywane jest DirectDraw (zarowno w trybach
  pelnoekranowych, jak i okienkowych). Ciekawe efekty daje rownolegle
  uaktywnienie opcji "Run Atari as fast as possible" (okno "Hardware",
  Alt+H): mozna wowczas sterowac predkoscia pracy emulatora poprzez
  zmiane czestotliwosci odswiezania ekranu przez karte graficzna
  (niestety, przy takich ustawieniach trzeba sie pogodzic z brakiem
  dzwieku).

  Tyle na temat zalet. Niestety, wad moze byc wiecej:
   nie wszystkie monitory/karty graficzne pozwalaja na prace w 50/60Hz,
   przewijanie obrazu moze znacznie zyskac na jakosci, niestety nie
    mozna tego powiedziec o dzwieku; dotyczy to zwlaszcza programow
    wykorzystujacych dodatkowe banki pamieci,
   opcja "Refresh" w oknie dialogowym "Hardware Settings" musi byc
    ustawiona na 1; oznacza to, ze musisz dysponowac naprawde wydajna
    (?) maszyna, aby uzywanie tej metody mialo sens.

  Metoda uzyskiwania plynnej grafiki powinna dzialac na roznych
  platformach, o ile tylko dostepne sa odpowiednie narzedzia do zmiany
  czestotliwosci pionowej wyswietlanego przez karte graficzna obrazu
  (w przypadku kart Matrox komfortowa sytuacje maja wlasciciele
  starszych modeli, G400 zostala pod tym wzgledem potraktowana nieco po
  macoszemu). W kazdym razie warto sprobowac - jakosc grafiki uzyskanej
  przy pomocy emulatora Fellow (DOS) potrafi powalic na kolana :-).

 Zycze powodzenia,
 Harry (szymankowskit@prokom.pl)


 No coz, pozostala jeszcze rzecz najwazniejsza, czyli podziekowania :-)
 Chcialbym je przeslac nastepujacym ludziskom:

  Piotrowi Fusikowi za powazne zajecie sie rozwojem emulatora i solidne
   wsparcie przy testowaniu okienkowej wersji tegoz,
  Xlentowi za podsylane dema i bezcenna pomoc w testach,
  Danielowi Kozminskiemu za okazywana zyczliwosc i wytrwalosc
   w prowadzeniu stron bedacych niezastapionym przewodnikiem po
   krainie sentymentalnych wspomnien,
  mojej zonie Agnieszce za niezwykla cierpliwosc i wyrozumialosc.
