1 Ostatnio edytowany przez asie (2018-06-27 11:14:41)

Spoiler: Nie do końca.

Po dopracowaniu i doszlifowaniu (a nawet w trakcie) emulatora ośmiobitowego Atari na 3DSa przyszła kolej na przyjrzenie się kwestii szesnastobitowców. Tu, niestety, sytuacja jest bardziej złożona: po pierwsze, "stary" 3DS po prostu nie ma wystarczającej mocy obliczeniowej (ze względu na to, iż jego moduł graficzny nie obsługuje jakichkolwiek trybów paletowanych dla tekstur, trzeba je zamieniać programowo, co pożera zaskakująco spory procent czasu procesora w emulatorze atari800 - sprawiając, że nie wyciąga nawet 2x czasu rzeczywistego w trybie "turbo" na Oldzie). Co również istotne, nie ma "dobrego" wyboru - o ile w przypadku ośmiobitowego Atari w roku 2016 portowanie atari800 było wyborem oczywistym, o tyle tu projektów emulacji jest trochę więcej.

Na pierwszą próbę, jeszcze w roku 2016, wziąłem emulator Hatari. Niestety, ma on dwie zasadnicze wady które przeszkadzają w dostosowaniu go na 3DSa:

  • Kod Hatari jest bardzo mocno zespojony z SDLem, a że porty SDLa na 3DSa są dość... toporne, to przeszkadza w lepszym dostosowaniu emulatora do "dziwactw" architektury (chociażby fakt posiadania dwóch ekranów).

  • Hatari jest po prostu zbyt dokładne. Nawet przy największym znośnym frameskipie widać, że nawet w zwykłym TOSie nie jest w stanie "wyciągnąć" emulacji w czasie rzeczywistym.

Nie oznacza to jednak, że nie działa. Działa - po prostu nie działa satysfakcjonująco.

https://img.asie.pl/6b6F

Na drugi ogień poszedł emulator, a raczej zbiór emulatorów PCE. Wybrałem go z innych powodów:

  • PCE oferuje rdzenie do emulacji Atari ST, IBM PC i starych Macintoshów w jednym emulatorze, co oznacza, że raz napisany kod pozwala uruchomić mi trzy różne architektury! Promocja!

  • PCE jest napisany w sposób dość przyjazny względem dostosowywania go do innych architektur i systemów.

Działa... dobrze. Nie jest to może szczyt dokładności, ale potrafi uruchomić sporo rzeczy bez większych problemów. Ten emulator po doszlifowaniu (nie ma tak dobrze jak w atari800 i menu muszę sobie naklepać samodzielnie) byłbym w stanie opublikować.

https://img.asie.pl/cuOG

I teraz pytanie: czy powinienem iść dalej w tę stronę, czy może jakiś emulator pominąłem? (Ostatnio zwróciłem uwagę na to, że emulacja Atari ST na PSP używa emulatora CaSTaway - może tędy droga?) Mógłbym też napisać własny, choćby dla rozrywki, ale to dopiero w dalszej perspektywie...

kontakt: asie @ pewne sieci IRC / e-mail: kontakt@asie.pl