Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian

в 9:00, , рубрики: Dosbian, dosbox, rasberry pi, raspberrypi, ruvds_статьи, Windows 95

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 1


Я очень люблю старую компьютерную технику — есть в ней какой-то непередаваемый шарм. Но одно дело — коллекционирование винтажных ноутбуков, и совсем другое — установка древних операционных систем или софта на современном «железе». Во многих случаях старые операционки и игры на актуальном оборудовании попросту не запускаются из-за проблем с совместимостью. Положение отчасти спасают виртуальные машины, но гонять ОС, а особенно игрушки на «виртуалке» далеко не всегда удобно. И вот пару месяцев назад я случайно услышал о 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. Блок питания подключается отдельно.

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 2
Мой Raspberry Pi 400

Для соединения моей «малинки» с обычным компьютерным монитором я приобрёл переходник microHDMI — VGA.

▍ Установка и настройка Dosbian

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

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 3
Первый запуск Raspberry Pi 400 с Dosbian

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

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 4
Содержимое виртуального диска С:

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

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 5
Настройка Dosbian

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

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 6
LaunchВox

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

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 7
Конфигуратор 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).

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 8
Файлы на Raspberry Pi можно перебросить с помощью WinSCP

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

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 9
На 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.

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 10
Расширение дискового раздела

Теперь нужно скачать все необходимые компоненты. Первый – это загрузочный образ диска 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 его помощью перекидывать файлы с диска на диск намного проще и привычнее.

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 11
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 с помощью Dosbian - 12
Установка Windows 95 на Raspberry Pi

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

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 13
Выбор правильного видеоадаптера

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

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 14

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 15
Ура, работает!

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

Ретромалина. Устанавливаем старые игры и Windows 95 на Raspberry Pi с помощью Dosbian - 16
Установка DirectX

Таким образом, мы можем превратить «малинку» в полноценный ретрокомпьютер. Помимо Windows 95 на эту машину аналогичным образом можно поставить Windows 98 — в ней возникает меньше проблем с совместимостью драйверов, да и в целом 98-я работает немного стабильнее своей предшественницы.

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

Узнавайте о новых акциях и промокодах первыми из нашего Telegram-канала 💰

Автор: Валентин Холмогоров

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js