Как установить старые игры и Windows 95 на Raspberry Pi с помощью Dosbian: ретро-возможности для любителей классики

Я очень люблю старую компьютерную технику — есть в ней какой-то непередаваемый шарм. Но одно дело — коллекционирование винтажных ноутбуков, и совсем другое — установка древних операционных систем или софта на современном «железе». Во многих случаях старые операционки и игры на актуальном оборудовании попросту не запускаются из-за проблем с совместимостью. Положение отчасти спасают виртуальные машины, но гонять ОС, а особенно игрушки на «виртуалке» далеко не всегда удобно. И вот пару месяцев назад я случайно услышал о Dosbian: специальной версии Raspberry Pi OS, позволяющей запускать на «малинке» MS-DOS и даже Windows 3.1/9x, не говоря уже о DOS-совместимых играх. Признаться, мне всегда нравился компьютер Raspberry Pi 400, правда, я никак не мог придумать, к чему его приспособить. Теперь вопрос решился сам собой: я заказал себе эту машину специально, чтобы установить и протестировать на ней Dosbian. Результатами своих экспериментов я сегодня делюсь с вами.
▍ Что такое Dosbian?
Проект Dosbian придумал и воплотил в жизнь независимый итальянский разработчик Кармело Майолино (Carmelo Maiolino). Dosbian — это модифицированный дистрибутив Raspbian, который загружается сразу в DOSBox — эмулятор x86, позволяющий запускать старые программы и игры для IBM PC. Собственно, современные модели Raspberry Pi по своей мощности и производительности намного превосходят настольные компьютеры и ноутбуки той эпохи. Не удивительно, что кому-то пришла в голову идея сэмулировать на этой платформе персоналку образца начала девяностых.
Если верить информации на сайте разработчика, Dosbian не требует какой-либо сложной настройки: достаточно включить Raspberry Pi с этой системой, и на экране появится знакомое приглашение MS-DOS. Можно запускать любые совместимые с DOS программы и ретро-игры как с диска, так и с помощью интерфейса LaunchBox, а также полноценно работать с реальной локальной сетью. Ещё имеется возможность создать виртуальный жёсткий диск объёмом от 256 Мбайт до 2 Гбайт или дискету ёмкостью 320, 720 Кбайт или 1,44 Мбайта, и примонтировать их в DOSBox. Dosbian позволяет эмулировать несколько широко распространённых в 90-е аудиокарт, сетевой адаптер NE2000, а также видеорежимы Tandy, CGA и EGA. Иными словами, перед нами — универсальный инструмент, позволяющий превратить «малинку» в полноценный ретрокомпьютер, не испытывая при этом каких-либо проблем с совместимостью.
Ну а теперь несколько слов о железе. Как уже упоминалось, для бесчеловечных экспериментов я приобрёл Raspberry Pi 400 — одноплатник, смонтированный в корпусе с клавиатурой наподобие старого доброго ZX Spectrum. Если вдруг вы не в курсе, внутри у него прячется четырёхъядерный 64-разрядный процессор Broadcom BCM2711 (ARM v8), работающий на частоте 1.8 Ггц, и 4 гигабайта оперативной памяти LPDDR4. Снаружи выведено два порта USB 3.0 Type-A, один — USB 2.0 Type-A, 2 видеовыхода microHDMI, порт Ethernet, 40-пиновый разъём GPIO, и, разумеется, слот для microSD. На борту имеется Wi-Fi 802.11 и Bluetooth 5.0. Блок питания подключается отдельно.

Мой Raspberry Pi 400
Для соединения моей «малинки» с обычным компьютерным монитором я приобрёл переходник microHDMI — VGA.
▍ Установка и настройка Dosbian
Первоначальное развёртывание Dosbian выполняется, в целом, аналогично традиционной Raspberry Pi OS: скачиваем дистрибутив с официального сайта разработчика — для Raspberry Pi 400 подходит версия Dosbian 1.5. Распаковываем загруженный архив при помощи приложения 7zip, после чего записываем образ на карту microSD с использованием программы Win32DiskImager или Balena Etcher. Собственно, на этом установку можно считать оконченной: после описанных манипуляций извлекаем карту из компьютера, вставляем её в Raspberry Pi и включаем питание машины.

Первый запуск Raspberry Pi 400 с Dosbian
На дисплее появится сплеш-скрин с характеристиками нашей ретро-персоналки: Raspberry Pi 400 чудесным образом превращается в 486DX2, работающий на частоте 66 МГц и оснащённый 16384 Килобайтами оперативной памяти. При этом сразу «из коробки» в системе монтируется виртуальный диск С:, в корне которого отображается содержимое физической папки /home/pi/dosbian/. Так, например, в папке GAMES уже установлены shareware-версии DOOM и Wolfenstein 3D.

Содержимое виртуального диска С:
Чтобы настроить виртуальную машину Dosbian, в режиме MS-DOS необходимо набрать команду exit — на экране отобразится окно настройки системы.

Настройка Dosbian
Встроенная справочная система Dosbian открывается по нажатию клавиши 2, а с помощью клавиши 5, например, можно установить эмулятор синтезатора Roland MT-32. Есть возможность выбрать версию DOSBox, в которую будет загружаться компьютер: SVN или ECE (Enhanced Community Edition). С использованием клавиши 8 можно запустить LaunchВox — встроенный в DOSBox лаунчер игр, а по нажатию кнопки М загружается файловый менеджер Midnight Commander — тут следует учитывать, что MC открывает доступ ко всей файловой системе Dosbian, а не только к виртуальной машине под управлением MS-DOS. В этом же меню имеется возможность включить либо отключить поддержку локальной сети, а также изменить параметры доступа к ней. Наконец, настройки самой «малинки» становятся доступны по нажатию на клавишу С.

LaunchВox
Первое, о чём следует сказать применительно к настройкам системы на Raspberry Pi 400 — это то, что локальная сеть с проводным подключением через порт Ethernet на этом компьютере не работает из-за ошибки в используемом данной версией Dosbian ядре, а обновить дефектный модуль, не покалечив DOSBox, не представляется возможным. Поэтому, если нам нужна локальная сеть, придётся использовать Wi-Fi. Настраивается беспроводная сеть практически так же, как в обычном Raspbian: нужно открыть Raspberry Pi Configuration Tool (raspi-config) нажатием клавиши <С>, перейти в раздел System Options, затем — в раздел Wireless LAN, после чего следует ввести в соответствующие поля SSID и пароль для доступа к Wi-Fi.

Конфигуратор Raspberry Pi (raspi-config)
Затем потребуется изменить ещё одну настройку: в главном окне raspi-config откройте меню Localization Options, перейдите в раздел WLAN Country Set legal wireless channels for your country, и установите настройку для GB Britain (UK). В разделе Interface Options имеет смысл включить SSH — по умолчанию поддержка этого протокола отключена. После этого станет возможным, например, подключиться к Raspberry Pi 400 по SSH с другого компьютера и скопировать на «малинку» необходимые программы и игры для MS-DOS. Ради упрощения процесса передачи файлов с машины, с Windows на Raspberry Pi под управлением Dosbian можно использовать протокол SFTP и программу WinSCP со следующими настройками п умолчанию: hostname: dosbian (или IP-адрес «малины» в локальной сети), port: 22, user name: pi, password: raspberry (в целях безопасности рекомендую сменить дефолтный пароль в настройках raspi-config).

Файлы на Raspberry Pi можно перебросить с помощью WinSCP
Естественно, я не смог удержаться и дополнил коллекцию игр в Dosbian моей самой любимой игрушкой.

На Dosbian можно запускать любимые игры под DOS
▍ Установка Windows 95
В принципе, можно использовать Dosbian и с настройками по умолчанию, скопировав на «малинку» Volkov Commander в комплекте с десятком старых добрых винтажных игр. Но гораздо интереснее водрузить туда самую настоящую Windows 95 и вспомнить молодость уже по полной программе, с Diablo и первой Age of Empires. Правда, это — не так просто, как кажется на первый взгляд. На всякий случай отмечу, что я ставил на свой Raspberry Pi русскую версию Windows 95 OSR2, но можно выбрать и другую редакцию.
Для запуска винды необходима как минимум MS-DOS 6.22, а поддержка игр потребует наличия DirectX. Да и конфигурацию Dosbian перед исталляцией «мелкомягких форточек» придётся основательно изменить. Этим мы сейчас и займёмся.
Для начала с использованием raspi-config увеличим размер корневого раздела на нашей карте microSD, чтобы на неё влезли все необходимые компоненты. Для этого в raspi-config нужно перейти в раздел Advanced Options, а в нём выберать пункт Expand Filesystem. Изменения вступят в силу после следующей загрузки Raspberry Pi.

Расширение дискового раздела
Теперь нужно скачать все необходимые компоненты. Первый – это загрузочный образ диска MS-DOS 6.22, DirectX 6.1 и образ жёсткого диска для DOSBox объёмом 2 Гбайта. Распакуйте содержимое этих архивов. На карте microSD в папке /home/pi/dosbian/ создайте вложенную папку IMG, и скопируйте в неё DirectX в подпапку DX, и дистрибутив Windows 95 (в виде набора установочных файлов, а не в виде образа диска) в папку W95, а также файлы hdd-2gb.img и 622C.IMG. Для удобства я также скачал и скопировал в эту папку Volkov Commander — c его помощью перекидывать файлы с диска на диск намного проще и привычнее.

Volkov Commander на Raspberry Pi 400
Переходим к следующему шагу. Включив Raspberry Pi, нужно запустить утилиту конфигурации, и в Midnight Commander (кнопка М в меню), открыть на редактирование файл dosbox.SVN.conf, расположенный в папке /home/pi/dosbox/. Измените параметры в этом файле следующим образом:
vmemsize= 16
memsize = 32
cputype = pentium_slow
cycles = max
serial1 = disabled
serial2 = disabled
В самом конце раздела [cpu] добавьте следующую строку:
isapnpbios=true
Наконец, в конце файла удалите строку:
mount c /home/pi/Dosbian
и добавьте следующие строки:
mount g /home/pi/dosbian/IMG
mount f /home/pi/dosbian
g:
imgmount c hdd-2gb.img -size 512,63,64,1023 -fs fat
На карте microSD перейдите в папку /boot/, откройте на редактирование файл /boot/config.txt и измените в нём следующий параметр:
gpumem=256
Сохраните файл (Ctrl+O) и перезагрузите Raspberry Pi. Если всё сделано правильно, DOSbox загрузится на диск G:. Наберите команду:
boot 622c.img
Увидев приглашение операционной системы MS-DOS (A:\>) наберите команду fdisk, выберите пункт 1 (Create DOS partition or Logical DOS Drive) и снова 1 (Create Primary DOS Partition), после чего нажмите Enter. Перезагрузите Raspberry Pi.
После следующей загрузки снова наберите команду boot 622c.img, а затем отформатируйте диск:
format c: /s
Подтвердите форматирование, дважды нажав клавишу Y и после завершения этого процесса снова перезагрузите машину.
Создайте на диске С: папку INST и скопируйте туда дистрибутив Windows 95 с использованием Volkov Commander или стандартных команд MS-DOS:
С:
MD INST
Copy g:\w95\*.* c:\inst\
Находясь в корне диска С: наберите
boot -l c
Дождитесь варианта загрузки по умолчанию (F1) нажмите два раза Enter, пропустив установку даты и времени в DOS, затем перейдите в папку, в которую вы скопировали дистрибутив Windows 95, и наберите команду setup. Начнётся установка системы.

Установка Windows 95 на Raspberry Pi
Теперь — очень важный момент. Когда программа установки Windows предложит выбрать оборудование компьютера, необходимо указать, что на нём имеется звуковая карта. Затем выберите самостоятельно тип видеоадаптера, включите режим отображения всех доступных видеокарт, и вместо предложенного стандартного S3 выберите S3 Trio64V+. Если этого не сделать, после первой перезагрузки Windows 95 изображение на мониторе пропадёт.

Выбор правильного видеоадаптера
После перезагрузки запуск винды на «малине» также выполняется командой boot -l c. Если в процессе запуска система всё-таки вываливается в «чёрный экран», загрузите Windows в режиме защиты от сбоёв по нажатию клавиши F8, и замените драйвер видеокарты, установив драйвер S3 Trio для Windows 95.


Ура, работает!
Работающая на Raspberry Pi «винда» выглядит, конечно, непривычно, и, прямо скажем, фантастически. Но, тем не менее это — объективная реальность, данная нам в ощущениях. После штатного запуска Windows 95 можно проинсталлировать DirectX и драйверы звуковой карты (если система не подцепит их самостоятельно — у меня подцепила), а также игры, требующие для своей работы 32-разрядного режима.

Установка DirectX
Таким образом, мы можем превратить «малинку» в полноценный ретрокомпьютер. Помимо Windows 95 на эту машину аналогичным образом можно поставить Windows 98 — в ней возникает меньше проблем с совместимостью драйверов, да и в целом 98-я работает немного стабильнее своей предшественницы.
Что ж, с моей точки зрения, Raspberry Pi 400 возложенную на него задачу успешно выполнил: на машине довольно сносно и шустро работают старые игры, а также запускается (правда, как обычно, слегка подглючивает) Windows 95. Можно гонять во второй «Варкрафт», Doom и X-Com: все легендарные игры, которые я попытался запустить на «малине», отработали нормально. Я подключил компьютер к старенькому монитору, но при желании можно вывести картинку на телевизор и наслаждаться любимыми ретро-игрушками на большом экране. Старые компьютеры такой опции лишены, да и скромные размеры Raspberry Pi 400 по сравнению с «десктопами» и «мини-тауэрами» образца 90-х позволяют заметно экономить место.
Узнавайте о новых акциях и промокодах первыми из нашего Telegram-канала 💰

Опубликованы системные требования Resonance: A Plague Tale Legacy — игра запустится даже на устаревших ПК
Финал третьего сезона «Дома Дракона» собрал 21 млн зрителей за три дня на фоне небольшого снижения аудитории
Weta Workshop открыла предзаказ на статую Голоса Саурона из фильма «Властелин колец: Возвращение короля»
JoyToy запустила предзаказы на фигурки касркинов Имперской Гвардии из Warhammer 40,000
Disney+ отменил сериал по «Могучим рейнджерам» от создателей «Перси Джексона»
WIT Studio опубликовала таинственный тизер нового анонса по «Атаке титанов»
Sideshow Collectibles открыла предзаказ на дизайнерскую статую ранкора из «Звёздных войн»
Симулятор ремонта электроники ReStory: Chill Electronics Repairs получит бесплатный контент