Эмулятор ZX Spectrum - порт эмулятора ESPectrum (v.1.2) c ESP32 на Raspberry Pi Pico (RP2040 SoC) и Raspberry Pi Pico 2 (RP2350 SoC) / Murmulator.
Автор порта - Mike
Страничка проекта на гитхабе
Скачать прошивку с гитхаба или с зеркал у нас, с Яндекс.Диска
Пример наименования прошивок:
pico2-spec-378-ST7789-1.2.4-16.uf2
здесь:
- pico2 - тип чипа, для которого подходит билд. pico - RP2040, pico2 - RP2350
- 378 - частота работы чипа. Если не работает, попробуйте версию с частотой пониже.
- ST7789 - тип видео вывода, бывает VGA, HDMI, ST7789 и ILI9341
- 1.2.4 - версия релиза
- 16 - номер билда. Буква А в конце обозначает, что это более полный билд, если существует такой-же, но без А.
Так же в имени билда может присутствовать минимальный размер флеша, требуемый на плате Raspberry Pi Pico.
Например:
pico-spec-2048-378-HDMI-0.3.7-5.uf2
здесь:
- pico - тип чипа - RP2040
- 2048 - минимальный требуемый размер флеш-памяти 2МБ.
- 378 - частота работы чипа.
- HDMI - тип видео вывода HDMI
- 0.3.7 - версия релиза
- 5 - номер билда.
Игры тут
ESPectrum известен тем, что очень точно эмулирует оригинальные Спектрумы 48К, 128К и Пентагон, эмулируются даже различные баги, типа "снега" на экране при некоторых конфликтах портов.
Оригинальный эмулятор достаточно сильно заточен под ESP32 и библиотеки, существующие только для этого микроконтроллера, поэтому часть функциональности приходится переписывать под RP2040 / Raspberry Pi Pico / Murmulator.
Версия под RP2350 (префикс прошивки "pico2-") имеет наилучшую производительность, поэтому крайне рекомендуется использовать именно Raspberry Pi Pico 2 в Мурмуляторе для этого порта. На обычной Raspberry Pi Pico возможны лаги и подтормаживания на "тяжёлых" для эмулятора задачах. Клавиша F8 включает панель наблюдения статистики исполнения. Если значение IDL принимает отрицательные значения, значит производительности контроллера не хватает для текущей задачи.
В эмуляторе v.1.2.6 реализованы все основные типы конфигурации портов и памяти:
- ZX Spectrum 48K (эмуляция ULA таймингов)
- ZX Spectrum 128K (+2, ZX81+ - только для "чёрной" пики и pico2)
- Pentagon 128K и его расширения - Pentagon 512K, Pentagon 1024K
- дополнительно поддерживается приставка Эльф с картриджами размером до 1024 КБ и моделью памяти до 128К (для зелёной пики билды с пометкой "А")
Функциональность:
- поддержка SD-card в формате FAT32
- загрузка .SNA, .Z80 и .P файлов
- .TAP, .WAV и .TZX-файлы - поддержка быстрой и "звуковой" загрузки
- подключение .TRD и .SCL файлов - виртуальных дисков (через Betadisk эмуляцию)
- быстрые сохранения/загрузки
- загрузка с магнитофона
- прошивка кастомного ROM/BIN файла
- PS/2 или USB - клавиатура
- Два Dendy-8 (Kempston) джойстика
- USB HID джойстик
- USB мышка
- VGA - 640х480@60
- HDMI - 640х480@75
- TFT LI9341 и ST7789 - 320x240
- TV-out (soft-композит)
- PWM и i2s вывод звука
- звук пищалки + стерео TurboSound - два чипа YM (шестиканальный FM-синтез)
- поддержка Raspberry Pi Pico 2 (RP2350 SoC)
- поддержка PSRAM или swap RAM
- дополнительно поддерживается встроенный Debugger для процессора Z80
- Три "турбо" режима - 7, 14 и 28 МГц процессора Z80 (штатное - 3.5МГц)
- небольшой встроенный дебагер
N.B. Основное меню доступно по нажатию кнопки F1.