Good Enough Atari XL/XE Emulator
- dely/Blowjobb @ 16.11.2021 @ 08:34
Trwają prace nad nowym emulatorem ośmiobitowych komputerów Atari - tym razem zdolnym do pracy w nowoczesnych przeglądarkach WWW. Pracami kieruje mrk i jest to program napisany w języku Rust i zbudowany na bazie popularnego frameworku Bevy Game Engine. Aplikacja nie ma na celu konkurowania z Altirrą pod względem jakości emulacji, ale pracuje wystarczająco dobrze, aby uruchamiać większość oprogramowania prosto w przeglądarce. Kilka najważniejszych informacji:
- wieloplatfomowość - na razie główną platformą jest przeglądarka, ale program można też skompilować dla Linux, Windows i OS X,
- nie jest wymagana wstępna konfiguracja - pliki można podawać jako parametr w adresie (używany jest proxy aby uniknąć ograniczeń wprowadzanych przez CORS),
- układy graficzne są emulowane za pomocą shaderów na kartach graficznych (wymagana jest przeglądarka obsługująca WebGL2),
- dokładna (cycle-exact) emulacja procesora 6502 włącznie z niepublikowanymi rozkazami,
- bardzo dobra emulacja dźwięku (również stereo) używająca biblioteki Web-Pokey (powstałej na potrzeby emulatora),
- domyślnie włączone rozszerzenie pamięci do 256 KB w tzw. standardzie Rambo,
- obsługa obrazów dysków w formacie ATR oraz zawartości kartridży (8K, AtariMAX),
- wsparcie dla padów z użyciem GamePad API.
Aktualnie nie są zaimplementowane:
- przerwania POKEY,
- emulacja protokołu SIO,
- obsługa obrazów kaset w formacie CAS,
- debugger,
- emulacja ANTIC i GTIA jest uproszczona - dotyczy to zmian rejestrów w trakcie rastra.
Więcej informacji można znaleźć w repozytorium projektu, a jako demonstrację możliwości i przykład kreatywnego wykorzystania emulatora niech posłuży ten link.