Мурмулируем Mac 128K

от автора

Есть у меня хобби: портирование всякого-разного под Мурмулятор, и попалась мне на глаза реализация одного из самых древних «маков» — Macintosh 128K: https://github.com/evansm7/pico-mac. — Это же почти готовая прошивка под Мурмулятор, — подумал я. Основное отличие — другая распиновка VGA, да и реализация периферии немного отличается. После того, как в профильном чате ТГ канала этот эмулятор тоже упомянули пару раз, как кандидата на портирование, взялся за него и я.

Lode Runner на pico-mac

Lode Runner на pico-mac

После нескольких итераций разработки получилось таки отрелизить стабильную версию: https://github.com/DnCraptor/pico-mac-/releases/tag/v.0.0.6. В архиве лежат 4 файла:

  1. pico2-mac-372-VGA-640×480-0.0.6-5.uf2

  2. pico2-mac-372-VGA-512×342-0.0.6-5.uf2

  3. pico-mac-2048-378-VGA-640×480-0.0.6-4.uf2

  4. pico-mac-2048-378-VGA-512×342-0.0.6-4.uf2

Первые два файла — для платок на базе чипа RP2350 (например: Raspberry Pi Pico 2), а последние два — под чип RP2040 (Raspberry Pi Pico и клоны). Ключевая разница между ними — поддерживаемый объём эмулируемой памяти Мака. Для первой пики — доступно 208 КБ, а для второй — 464. Оба объёма RAM не являются стандартными, Apple выпускал официально только модели на 128 и 512K. Так что этот эмулятор слегка «нечестный». Хотя, программ, которые бы требовали именно 512К я так и не нашёл. Чаще всего хватает даже «нищенских» 208К.

Так же в архиве содержится файл с примером диска (umac0.img), который надо уложить в корневой каталог sd-карты. Для редактирования образов диска рекомендуется использовать Mini vMac (https://www.gryphel.com/c/minivmac/)

Ещё следует заметить, что прошивки под разрешение 640х480 предоставляют большее поле для зрения/редактирования, но это — хак. Такое разрешение никогда не поддерживалось маками того времени. С этим могут быть связаны глюки в некоторых игрушках, поэтому рекомендуется использовать прошивки с «родным» разрешением — 512х342.

Поддержка периферийных устройств пока ограничено:

  • USB* мышка;

  • PS/2 или USB клавиатура (кнопка «Command» — левый или правый «Win»);

  • эмуляция мыши на NES (Dendy-8) джойстиках;

  • эмуляция мыши на USB джойстиках;

  • эмуляция мыши на NumPad’е.

* — требуется OTG-Hub.

Важные замечания:

  • в pico-mac не поддерживается динамическая замена диска. Единственный способ заменить дискету — заменить файл дискового образа (umac0.img), после чего перезагрузить микроконтроллер;

  • не реализован вывод звука, внешние и внутренние SCSI устройства, и двойная буферизация;

  • текущая версия существует только под VGA вывод.

Шахматы на pico-mac

Шахматы на pico-mac

Этот порт я сделал ещё в январе. Почему же вспомнил про него только сейчас? Появился повод: ребята из DashОne разработали симпатичную коробочку:

Коробочка под пико-мак

Коробочка под пико-мак

и сняли занимательный ролик: https://www.youtube.com/watch?v=FBi9z8DZKIU, чем и напомнили мне, что я так и не написал статейку об этом устройстве на Хабр.

Если есть вопросы, задавайте.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Было интересно?

100% Да, интересно.8
0% Не, зря потратил время.0

Проголосовали 8 пользователей. Воздержавшихся нет.

ссылка на оригинал статьи https://habr.com/ru/articles/915024/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *