z tego co widzę to na razie MAME nie działa - js wywala błędy
Jeszcze jedno narzędzie warte uwagi "Dithertron", konwerter JPG/BMP/PNG i innych grafik do trybów graficznych z różnych dawnych komputerów: 8bitworkshop.com/dithertron/
New Atari PCS Emulator – The old Atari 800 emulator relied upon MAME, which was adequate but lacking in performance and debuggability. The new emulator is written in TypeScript, is cycle-accurate 1 and runs most cartridge-based games pretty well. It can even load certain well-behaved XEX files.
To jest rewelacyjne narzędzie :) Tam jest chyba wszystko - i jak ktoś chce napisać coś na platformę, której nie zna, to od razu może z pomocą przykładów wystartować :) Kiedyś pamiętam, że się nim bawiłem, ale zapomniałem o nim, a tu tak się rozwinęło :)
Pobrałem źródła 8bitworkshop i zacząłem dorabiać interfejs użytkownika na iPhone, Androida i iPada - taki do grania w gry czy obejrzenia dema. Założenie na razie takie, żeby nie ruszać istniejącego kodu (8bitworkshop) - wyłącznie dodawać nowy kod, a nie mieszać w istniejącym, a na koniec nie ładować żadnych funkcji IDE, edytora kodu ale dodać wybór platformy i gry oraz ekranowe sterowanie joystickiem i możliwość podpięcia kolekcji gier umieszczonych na innych serwerach (na razie podpiąłem TOSEC z archive.org z Atari, C64, NES-a, SMS, Spectruma i Amstrada :)), odpalanie z ikony na ekranie domowym itp. Może lepszym pomysłem będzie wykorzystanie innego silnika - popróbuję i w tygodniu napiszę więcej, już w nowym wątku :)
@galu możesz pokazać jak wygląda publiczny programowy interfejs emulatora? (mapowanie romów / dysków / I/O, jakiś link / ścieżka w źródłach). Musi być sensownie przemyślany jak wspiera tyle platform pod spodem. Może mnie zainspiruje do jakiegoś refaktoru tego co mam w swoim emulatorze.
/blob/master/doc/platforms.md Więcej napiszę jak przy tym posiedzę, ale już widzę że sporo rzeczy nie jest publicznie dostępnych (np. obsługa joya/klawiatury). Jest dużo obsługiwanych platform, ale chyba chodziło po prostu o ich przeportowanie/odpalenie możliwie małym kosztem, a nie o super kod czy dbanie o jego spójność.
Update w temacie mojego frontendu do emulacji. Interfejs iPhonowo-androidowy, ale filmik pokazuje odpalenie pod Chrome DevTools na kompie:
To co widać to m.in. obsługa wielu różnych platform 8-bit i wyszukiwarka plików na serwerach Internet Archive (TOSEC). Robocza nazwa to VM/E (Virtual Machine/Emulator) - tak na wzór nazw typu CP/M czy PS/2 ;) Zostało jeszcze sporo pracy.