Как стать автором
Обновить

Мурмулятор — ультрабюджетный микрокомпьютер

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров20K

Как я познакомился с Мурмулятором? Я искал какой-то недорогой одноплатный компьютер для запуска эмуляторов ретро-компов.Чем меня не устраивало использование эмуляторов на "настоящем" компьютере? Ничем. Просто хотелось отдельное устройство. Я рассматривал вариант покупки старого ноута специально под эту задачу, потом смотрел на Raspberry Pi 400, Orange Pi и на прочие одноплатники. В процессе поисков я наткнулся на видео самостоятельной сборки оригинального одноплатника с бюджетом в $5. Понятно, что впоследствии я в эту сумму и близко не вложился, но данное изделие меня всё-таки зацепило. Вот так у меня и появился первый ZX Murmulator.

ZX Murmulator 10RPI23
ZX Murmulator 10RPI23

К ценам я привязываться не буду, так как они меняются и сильно зависят от локации, но необходимо признать, что комплект для сборки Мурмулятора - это ультрабюджетное решение. Основные расходы - собственно плата микроконтроллера - Raspberry Pi Pico, а готовые комплекты для самостоятельной сборки продаются чуть ли не на всех площадках мира.

Уже после приобретения данной "железячки" я понял, что слегка просчитался, т.к. купил готовую модель с HDMI выходом, а большинство прикладных эмуляторов для неё поддерживали (на тот момент) только VGA. На момент написания данной статьи большинство всё ещё поддерживает именно VGA интерфейс. USB вход для клавиатуры - тоже имел ряд проблем (часть из которых до сих пор не решены, или решены внешними переходниками, см. https://github.com/No0ne/ps2x2pico).

Табличка с сайта https://murmulator.ru/do
Табличка с сайта https://murmulator.ru/do

Немного почитав материалы по теме (https://t.me/ZX_MURMULATOR и https://murmulator.ru/types), я выбрал другую конфигурацию - VGA-выход и PS/2-клавиатура. Следующий мурмулятор я уже собирал самостоятельно из приобретенного комплекта.

ZX Murmulator v.1.1
ZX Murmulator v.1.1
Структурна схема с https://github.com/AlexEkb4ever/MURMULATOR_classical_scheme
Структурна схема с https://github.com/AlexEkb4ever/MURMULATOR_classical_scheme

Если посмотреть слегка отстранённо, что из себя представляет Мурмулятор? Мурмулятор - это плата-переходник от 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
Структурная схема подключения PSRAM
Структурная схема подключения PSRAM

Потом я поучаствовал в "озвучивании" этого ХТ-эмулятора... Принц Персии, который не должен на таком железе даже запускаться - он играл музычку виртуальным 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 утилит, но это совсем другая история, которую я возможно как-то тоже вам поведаю...

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Интересно?
91.33% Было интересно179
8.67% Не, зря время потратил17
Проголосовали 196 пользователей. Воздержался 21 пользователь.
Теги:
Хабы:
Всего голосов 54: ↑54 и ↓0+73
Комментарии15

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань