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

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

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

Есть у меня хобби: портирование всякого-разного под Мурмулятор, и попалась мне на глаза реализация одного из самых древних "маков" - 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-640x480-0.0.6-5.uf2

  2. pico2-mac-372-VGA-512x342-0.0.6-5.uf2

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

  4. pico-mac-2048-378-VGA-512x342-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, чем и напомнили мне, что я так и не написал статейку об этом устройстве на Хабр.

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

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Было интересно?
87.93% Да, интересно.51
12.07% Не, зря потратил время.7
Проголосовали 58 пользователей. Воздержались 4 пользователя.
Теги:
Хабы:
+15
Комментарии6

Публикации

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