Как я познакомился с Мурмулятором? Я искал какой-то недорогой одноплатный компьютер для запуска эмуляторов ретро-компов.Чем меня не устраивало использование эмуляторов на "настоящем" компьютере? Ничем. Просто хотелось отдельное устройство. Я рассматривал вариант покупки старого ноута специально под эту задачу, потом смотрел на Raspberry Pi 400, Orange Pi и на прочие одноплатники. В процессе поисков я наткнулся на видео самостоятельной сборки оригинального одноплатника с бюджетом в $5. Понятно, что впоследствии я в эту сумму и близко не вложился, но данное изделие меня всё-таки зацепило. Вот так у меня и появился первый ZX Murmulator.
![ZX Murmulator 10RPI23 ZX Murmulator 10RPI23](https://habrastorage.org/getpro/habr/upload_files/976/a7b/547/976a7b547d586a5dcf827dc3d8a39cf1.png)
К ценам я привязываться не буду, так как они меняются и сильно зависят от локации, но необходимо признать, что комплект для сборки Мурмулятора - это ультрабюджетное решение. Основные расходы - собственно плата микроконтроллера - Raspberry Pi Pico, а готовые комплекты для самостоятельной сборки продаются чуть ли не на всех площадках мира.
Уже после приобретения данной "железячки" я понял, что слегка просчитался, т.к. купил готовую модель с HDMI выходом, а большинство прикладных эмуляторов для неё поддерживали (на тот момент) только VGA. На момент написания данной статьи большинство всё ещё поддерживает именно VGA интерфейс. USB вход для клавиатуры - тоже имел ряд проблем (часть из которых до сих пор не решены, или решены внешними переходниками, см. https://github.com/No0ne/ps2x2pico).
![Табличка с сайта https://murmulator.ru/do Табличка с сайта https://murmulator.ru/do](https://habrastorage.org/getpro/habr/upload_files/10e/c00/137/10ec00137ed31a5b8cb090158447e3e2.png)
Немного почитав материалы по теме (https://t.me/ZX_MURMULATOR и https://murmulator.ru/types), я выбрал другую конфигурацию - VGA-выход и PS/2-клавиатура. Следующий мурмулятор я уже собирал самостоятельно из приобретенного комплекта.
![ZX Murmulator v.1.1 ZX Murmulator v.1.1](https://habrastorage.org/getpro/habr/upload_files/d75/188/1bd/d751881bdc9a46cd31acb45a57e8a185.png)
![Структурна схема с https://github.com/AlexEkb4ever/MURMULATOR_classical_scheme Структурна схема с https://github.com/AlexEkb4ever/MURMULATOR_classical_scheme](https://habrastorage.org/getpro/habr/upload_files/b4e/420/a02/b4e420a02cfc6b8551db48ca15f35394.png)
Если посмотреть слегка отстранённо, что из себя представляет Мурмулятор? Мурмулятор - это плата-переходник от Raspberry Pi Pico к определённой конфигурации периферии. И уже под эту конфигурацию народ затачивает прошивки под "пику", которые и являются эмуляторами.
Учитывая, что паять настольно мелкие штукенции, как ламели разъёма SD-карты, я тогда ещё не умел, то запорол пайку, навешал где-то соплей и непропаев, и долгое время обходился вообще без SD-карты. Но использовать Мурмулятор без карточки - тоскливое занятие, т.к. очень сильно ограничен выбор подходящего ПО, и того, что оно может в данном режиме делать. Тут вмешалась судьба )) Дело в том, что сам я - програмист. И если какой-то программы нет, то её достаточно всего лишь написать, или адаптировать/портировать существующую.
Начал я с pico-nes (https://github.com/xrip/pico-nes) - эмулятора приставки Dendy-8, известной так же, как NES (Nintendo Entertainment System). Благо, разрабатывать ничего было уже не надо, а адаптация под отсутствие SD-карты прошла достаточно просто - сделал прошивку со встроенными играми, потом ещё одну, потом прикрутил LZW-упаковку встроенных игр, т.е. развлекался по-полной. Дошёл до упаковки 37-ми игр в одну прошивку и... починил SD-карту.
Теперь прошивки со встроенными играми потеряли актуальность, но программерский зуд меня не оставлял, поэтому я поучаствовал в разработке ещё нескольких прошивок. В частности, для pico-xt (https://github.com/xrip/pico-xt) я полностью переработал подсистему виртуальной памяти, реализовал эмуляцию HIMEM, UMB, XMS, EMS, реализовал swap и скрестил его с работой внешней PSRAM, которая к тому времени появилась у Мурмуляторов, в виде навесного модуля.
![Модуль ESP PSRAM 64H Модуль ESP PSRAM 64H](https://habrastorage.org/getpro/habr/upload_files/4b1/c14/8d9/4b1c148d9ec413335b03cc85f952f8b0.png)
![Структурная схема подключения PSRAM Структурная схема подключения PSRAM](https://habrastorage.org/getpro/habr/upload_files/360/f20/384/360f203843399eaaf544fcd6a8ebe027.png)
Потом я поучаствовал в "озвучивании" этого ХТ-эмулятора... Принц Персии, который не должен на таком железе даже запускаться - он играл музычку виртуальным AdLib'ом! Wolf 3D, работающий под ХТ - восторг! Для меня. Не все любят и понимают увлечение ретро-эмуляторами.
В дальнейшем я участвовал ещё в нескольких проектах совместно с xrip (https://github.com/xrip), ну и самостоятельно портировал эмуляторы: Atari 800 (https://github.com/DnCraptor/atari800), РК-86 (https://github.com/DnCraptor/pico-rk86), БК-0010/11М (https://github.com/DnCraptor/PICO-BK), Apple //e (https://github.com/DnCraptor/pico-iie), правда, последний пока без поддержки дисководов.
Ребята из комьюнити тоже не сидели на попе ровно и создали внушительную коллекцию всяких эмуляторов, которые возглавляет набор эмуляторов ZX Spectrum, в честь которого и названо устройство - ZX Murmulator. Наиболее впечатляющая коллекция прошивок для мурмулятора собрана тут: https://murmulator.ru/firmware-zx и тут https://murmulator.ru/firmware-cross.
ZX Murmulator - относительно молодой проект с не очень большим комьюнити, но мы рады будем вас приветствовать в наших рядах.
В настоящее время активно разрабатывается ZX Murmulator OS - операционная система под Мурмулятор (https://github.com/DnCraptor/murmulator-os). Она уже существует в версии 0.2.6, в которой имеется интерпретатор Бейсика, аналог mc, mcedit, cmd, многих unix/dos утилит, но это совсем другая история, которую я возможно как-то тоже вам поведаю...
Комментарии (4)
jobless
31.08.2024 11:45Беглый поиск не дал результатов на тему поддерживаемых мониторов/разрешений для vga/hdmi.
mikeveng73 Автор
31.08.2024 11:45+1Основное разрешение VGA 640х480 60Гц, есть режимы с разрешениями 800*600 и 1024*768, например pico-bk работает в физическом режиме 1024*768@60 с утроением строк и удвоением пикселов (для 512*256). В HDMI, насколько я помню, часто используется 75 Гц кадровой, но 60 - тоже бывает. Оно в конечном итоге зависит уже не от устройства, а от программиста - какой драйвер подцепил, такое и будет.
Javian
Видел несколько раз в телеграмм чатах упоминания слова "мурмулятор". Но что имелось ввиду нагуглил не с первого раза. Нехватает в сети статей, видео с демонстрацией работы.