atari800 — Atari 800 / 65XE… на Мурмуляторе
Для Атари на Мурмуляторе имеются целых три разных эмулятора: Atari 2600, Atari 800 и Atari Lynx.
atari800 на Мурмуляторе
Первый ограничен исполнением только ROM-файлов для приставки Атари 2600, последний — это очень простенький хэндхэлд, который мало распространён на просторах бывшего Союза, поэтому сосредоточимся на среднем, который теоретически эмулирует Atari 400, 800, 1200XL, 600XL, 800XL, 65XE, 130XE, 800XE, XE Game System и 5200 SuperSystem.
Реализация для Мурмулятора основана на эмуляторе https://github.com/atari800/atari800 — который легко собирается под Линукс. Т.е. основная проблема — ограниченные ресурсы маленького RP2040. Конечно, пришлось повозиться, но удалось запихнуть всё необходимое, как минимум для вариантов оригинального компьютера с 48 КБ памяти. Дополнительные 16 КБ включаются, только если на Мурмуляторе установлена PSRAM, т.к. иначе всё не влезало.
Подключение дополнительной памяти типа Mosaic
Теоретически эмулятор поддерживает множество разных видов Атари:
Но больше половины из них никогда даже не тестировалось на Мурмуляторе из-за банального непонимания, чем они там внутри отличаются (кроме объёма памяти), как это должно проявляться, и какое поведение соответствует оригиналу, а что является багом.
Первое, что завелось легко и просто — Atari MEMO PAD:
Atari MEMO PAD
Чуток повозившись, запустил и комплектный бейсик:
Atari Basic
Дальше — больше… поддержка запуска файлов-игр:
Выбор файла для загрузки
АтA-Zone
Естественно, остался и способ запуска ROM-картриджей (файлов-имеджей)
Запуск ROM-картриджей
Отдельным квестом оказался звук, который в Атари устроен крайне непросто, со специфическими чипами и сложным миксом каналов, но до базовой функциональности его допинать тоже удалось.
Настройки звука
Эмулятор поддерживает пару Денди-8 или Wii джойстиков, клавиатуру, вывод в режиме VGA с эмуляций PAL и NTSC (разное число строк) оригинального устройства. При желании, его можно ещё долго улучшать, добавлять эмуляцию дисководов, магнитофонный вход и прочую периферию, но имеющийся результат уже приемлемый, а лучшее — враг хорошего.
Атари — это отдельный мир, почти такой же большой, как Эппл, но ещё более отдельный)) И, благодаря опыту портирования atari800 на Мурмулятор, я с ним немного глубже познакомился.
Релизы тута: https://github.com/DnCraptor/atari800/releases
Сам Мурмулятор: https://murmulator.ru/types
Пишите свои вопросы и пожелания, на вопросы отвечу, пожелания учту…