FPGA MiSTer Guide (RUS)


MiSTer
 — это попытка создать обновлённую и улучшенную версию другого популярного устройства на базе FPGA (ПЛИС) под названием MiST. К сожалению производство оригинального MiST прекратились (разработчик разочаровался, или что-то в этом роде), да и обновления появляются всё реже и реже. Но на саму систему было выпущено большое количество систем, часть которых перекочевала на MiSTer (а некоторые и наоборот!). На самом деле, MiSTer уже начал обгонять по популярности оригинал!

Для чего же нужен этот MiSTer?

Вообще, MiSTer — это не название платы или продукта, а название проекта, в отличие от оригинала. Идея проекта заключается в использовании платы, рассчитанной на разработку разнообразных проектов (не связянных с играми) для аппаратной симуляции (hardware simulation) других ретро-систем (консолей или приставок). Аппаратная симуляция считается следующим шагом после программной эмуляции, так как её целью является создание почти неотличимого (вплоть до аппаратного уровня!) поведения системы, то есть практически идеальной копии оригинала (с помощью FPGA можно воссоздавать поведение оригинального железа на самом низком уровне, т.е. логические операции, частота процессора, скорость памяти, разве что не используются устаревшие устройства хранения данных и графическая система). Это разительно отличается от привычной всем программной эмуляции, где разработчики используют абсолютно другое железо и пытаются воссоздать поведение с помощью программ (эмуляторов). Программная эмуляция во многом уступает аппаратной симуляции, так как используются другие команды, другое железо, постоянно необходимо находить способы обходить те или другие несовместимости.

MiSTer имеет ряд преимуществ по сравнению с оригинальным MiST’ом: система имеет более сильную начинку (у MiST: Altera Cyclone 3 EP3C25 и 32Mb памяти, у MiSTer’а: Altera Cyclone V и 1 Gb памяти), ядра (cores) зачастую гораздо более оптимизированы. К тому-же MiSTer может использовать рядо дополнений, например дополнительный модуль с более медленной (важно для ретросистем!) памятью, модуль с дополнительными разъёмами и так далее. Кроме того, MiSTer использует более современный формат HDMI и настройка контроллеров выполнена гораздо лучше (прямо из меню, без нужды редактирования файлов конфигурации).

Но есть и ряд недостатков: во-первых нет нормального входа USB (вы даже не сможете подключить напрямую контроллер или клавиатуру). Нет хорошего корпуса (у MiST’а отличный железный корпус). Нет возможности подключить другие типы контроллеров. Многие ядра требуют наличия дополнительного аддона, который невозможно купить просто так (нужно искать продавцов на форумах). Нет кнопки включения и выключения. У оригинального MiST’а имеется 4 нормальных USB входа, кнопки, включатель-выключатель и возможность подключения джойстиков.

Ещё один минус, который в данный момент постоянно улучшается (в последнем обновлении он пофиксен), это качество картинки. Определённые версии используют не очень удачный вид масштабирования изображения (т.н. scaling), из-за чего картинка не сильно чётка. Ядра оригинальной системы выглядят резче. Сей пункт на данный момент активно обсуждается и в последнем обновлении была добавлена возможность использовать различные типы масштабирования.

Ах да, MiSTer был создан российским энтузиастом под псевдонимом «sorgelig» (его реальное имя: Алексей)

Важные ссылки:

  • Ядра (Cores) (все доступные ядра)
  • Wiki (официальная документация на английском)
  • Форум (новости, обновления, обсуждение)

Сборка системы:

Для того, чтобы собрать систему, вам понадобятся:

  • отладочная плата DE10-Nano фирмы Terasec: использует Cyclone V от Altera, имеет 1 GB DDR3 памяти. Цены в России сильно завышены (до 19 тыс. рублей)! (на западе цена составляет около 120 евро!)
  • Клавиатура (подключение через USB), контроллер (USB), адаптер для подключения USB-устройств к micro USB и блок питания (в комплект входит блок с американской вилкой, но вы можете использовать простой адаптер, так как напряжение и частота совместимы с российскими)
  • программное обеспечение (прошивка, ядра, файлы конфигурации) и конечно же образы игр, которые можно найти в интернете или создать с помощью дамперов наподобие Retrode.

Что входит в состав упаковки:

  • плата DE10-Nano
  • инструкция на английском
  • кабель-переходник A на mini-B USB
  • кабель-переходник A на micro-B USB
  • блок питания (5V) с американской вилкой
  • micro SD (8Gb) уже вставлена и на ней записано программное обеспечение (не понадобится!)
  • четыре силиконовых насадки на ножки

Плата и её элементы:

Из всего этого многообразия вам понадобятся только следующие:

  • USB OTG — сюда вы подключаете адаптер micro-USB на USB (мама), чтобы подключить клавиатуру или контроллер (лучше сразу подключать концентратор с несколькими USB-разъёмами)
  • HDMI-TX — вход для подключения кабеля HDMI
  • 5V DC Power Jack — кабель с блоком питания, 5 вольт, 2 ампера, (-)-(-(+)
  • нижний слот GPIO — для подключения модуля памяти (понадобится для некоторых ядер)
  • слот для micro SD карты.

Так как нашей целью является создание платформы MiSTer, все остальные входы можно игнорировать.

Что вам ещё понадобится:

  • клавиатура (изначально без неё никуда, да и для некоторых систем она обязательна)
  • игровой контроллер (для консолей)
  • кабель HDMI
  • блок питания с европейской вилкой, или же можете использовать прилагаемый, но с адаптером
  • концентратор USB (чтобы подключать мышь, клавиатуру и контроллер одновременно) и адаптер microUSB на OTG (как вот этот:)

Вот характеристики блока питания:

Пошаговое описание установки:

Официальное описание (на английском), на этой странице.

  1. Скачайте инсталляционный пакет (программа и образ), распакуйте его и запишите на карточку с помощью MiSTer SD Card Utility. Выбирайте букву носителя, которая соответствует SD карточке, и выбирайте Full install («полная установка»).
  2. Обновите прошивку (последнюю версию вы найдёте на этой странице, и не забудьте переименовать файл в «MiSTer» (без расширения!))
  3. Обновите ядро главного меню (это просто такое меню, где можно выбирать остальные системы из списка). Последнюю версию вы найдёте на этой странице и не забудьте переименовать файл в core.rbf
  4. Вставляйте карточку в MiSTer и подключайте к сети.

Вот и всё!

Теперь вам осталось только закачать образы для других систем, настроить (в меню, которое вызывается кнопкой F12) управление с помощью контроллера и добавить ромы.

С образами (ядрами) всё просто: скачивайте такой образ в корневую папку и закачивайте игры в папки, название которых указано в описаниях.

Запуск MiST:

  • кнопки включения нет, просто подсоедините систему к розетке с помощью блока питания

Как запускать MiSTer с определённым ядром:

Вы можете настроить систему так, чтобы она запускалась с определённым ядром (например, всегда запускаться с ядром для NES). Для этого просто переименуйте ядро в «core.rbf». Любое ядро, которое носит название «core.rbf» будет всегда запускаться по умолчанию первым. Из любого ядра вы затем можете перейти к другим, выбирая их в меню.

Выключение:

  • Кнопки выключения нет, вы просто отключаете систему от сети.

Меню (MiSTer Menu):

Вы можете запускать систему с любым ядром, но разработчки сделал простое и удобное меню под названием generic core, которое выводит списком все остальные. Скачайте это ядро, скопируйте в корневую папку и переименуйте его в core.rbf.

После запуска ядра вам будет представлен список со всеми остальными установленными на карточке ядрами:

Системное меню:

Из каждого ядра можно вызвать системное меню, нажав на F12 (или кнопку на контроллере, которую вы установили в настройках)

Например, в простом меню, которое было описано выше, есть следующие возможности:

У других ядер первая страница меню обычно позволяет загружать игры и производить настройки.

Вам также показывают тип хранения данных и количество свободного места. Вы также можете перенастроить клавиатуру или контроллер. Остальные пункты неважны.

Рассмотрим для примера ядро для Genesis (у остальных настройки примерно схожие):

  • Load: загрузить игру
  • Region: установить регион (консоли) вручную
  • Auto region: включить автоматическое распознавание региона
  • Aspect ratio: формат экрана 4:3 или 16:9
  • Scandoubler Fx: включить сглаживание или scanlines
  • Reset: перезагрузить игру
  • Swap joysticks:
  • 6 buttons mode: оригинальный контроллер имел три кноки действия, но последующие модели шли с 6-кнопочным контроллером. Многие игры обходятся тремя, но многие игры требуют 6-кнопочный контроллер

Главное меню ядра для NES выглядит аналогично, но имеет свои специфические настройки.

А именно:

  • Hide overscan: прячет выходящие за рамки обычного элт-телевизора регионы с графическим мусором
  • Palette: позволяет выбирать цветовые схемы
  • Swap joysticks:
  • Invert mirroring: некоторые игры требуют изменения этой настройки

В любом ядре есть вторая страница системного меню, где можно перейти к другому ядру или перенастроить управление:

  • Core: здесть вы можете выбрать другое ядро
  • Define joystick buttons: настроить управление для ядра
  • Button/Key remap for game: настроить управление для текущей игры
  • Reset settings: сбросить настройки на «заводские»
  • Save settings: сохранить текущие настройки для последующих сеансов
  • Reboot: перезапустить устройство
  • About: посмотреть информацию о MiSTer (версия ARM, версия ядра)

Выбор ядра:

  • если вы запустите MiSTer с простым меню, вам покажут список установленных ядер. Выбирайте нужное (с помощью клавиатуры или контроллера, если вы его настроили) и нажимайте Enter или кнопку «А», чтобы запустить его. Если вы захотите после этого выбрать другое ядро, нажимайте F12, переходите на второй экран меню и выбирайте «Other core».

Прочие ядра вы можете найти на этой странице. Некоторые из них требуют наличия дополнительного модуля SDRAM, но многие (к счастью, Genesis и Turbo Grafx) будут работать и без него.

Кроме того есть ещё файл настройки config/mister.ini, но нам ничего не надо менять в нём пока что.

Можете наслаждаться играми на одной из лучших FPGA-систем в ретромире!

Короткое видео с ядром Genesis:

Модуль SDRAM:

Установленная на MiSTer’е память слишко быстра для некоторых ядер и не подходит для ретросистем. Вот почему для работы некоторых ядер понадобится дополнительный аддон с SDRAM памятью. Пока что такой модуль можно купить только у некоторых пользователей форума atari-forums, но я, к примеру, смог приобрести такой через eBay.

Сам модуль вставляется в плату и может иметь несколько форм (вертикальную, горизонтальную и т.д.).

К примеру, ядро для NES работает только если установлен модуль памяти.

У модуля есть три дополнительных ножки, которые вставляются в три последних разъёма, как это видно на фотографии внизу:

Модуль IO:

Это дополнение понадобится только в том случае, если вы захотите подключить MiSTer к монитору через VGA, или вывести звук через 3,5 разъём. Кроме того, на таком дополнении есть место для вентилятора.

Что входит в состав модуля:

  • VGA коннектор для подключения к мониторам
  • 3,5мм аудио-разъём и интерфейс TOSLink
  • 3 дополнительных кнопки
  • 3 дополнительных лампочки LED
  • Второй слот для SD (может пригодиться для некоторых ядер)
  • Вентилятор для охлаждения
  • Разъём для дополнительного расширения
  • Прочие разъёмы

Что ещё будет добавлено…

  • Прочие возможности подключения
  • Файлы конфигурации
165 Всего 3 Сегодня