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

Комментарии (36)


  1. doo000
    08.11.2023 11:13
    +14

    Ровно то же самое можно сделать и на обычном домашнем/рабочем(?) компьютере, не привлекая лишнюю сущность в виде распберри. Досбокс встанет в принципе везде.

    А уж если и воротить что-то на распберри для дома и ностальгии :) то туда же заодно и эмулятор спектрума, атари, коммодора. Да хоть и епл-2.


    1. Holmogorov Автор
      08.11.2023 11:13
      +1

      Можно, конечно, но с распберри - интереснее!


      1. no404error
        08.11.2023 11:13
        +18

        Нет, абсолютно не интереснее, наоборот это хитрожопый пиар и реклама.


      1. Pofigator
        08.11.2023 11:13

        Валентин, как думаете - а можно сделать всё то же самое на недорогом одноплатнике типа Orange Pi 3B (3500р за 4Гб ОЗУ модель на Али)? Или даже на Orange Pi Zero 3 (2500р за 4Гб ОЗУ модель на Али)? Тогда наверняка будет меньше встречных аргументов навроде "дешевле на обычном компе"...


        1. Holmogorov Автор
          08.11.2023 11:13

          Можно попробовать - по характеристикам они схожи. Не уверен, что на Orange Pi без проблем запустится сам DOSBian (он все-таки "заточен" на "малину"), но Raspbian + DOSBox вполне себе пойдут. Просто, вероятно, придется что-то поднастроить вручную. Но серьезных технических препятствий не вижу никаких.


        1. bazilxp
          08.11.2023 11:13

          я насколько понимаю самая большая разница может быть в /boot там специфические настройки (материнки) пинов для одноплатников..

          Если говорить о Dosbian , Вопрос наверное стоит в таком ключе, ставится линукс и достигается тот же dosbox ( xinit startup) переписывается чтобы сразу в досбокс кидало....


      1. v_eroshenko
        08.11.2023 11:13
        +2

        Кому что, но все плюсы уходят игроку под именем "старый пыльный комп на антресольке".
        Никаких танцев с бубнами не нужно, протёр, запустил и всё работает. Плюс нативность, плюс 100 к ностальгии и тем самым ощущениям "как в детстве". Плюс проще и дешевле купить старый комп за 1000 руб на Авито и играться с ним, чем купить Малинку по нынешним ценникам, да и не понятно зачем. Да, только ради спортивного интереса, что она может и я могу)
        У меня лежит и малинка и пара старых ноутов. Желание есть сдуть пыль с ноутов на Вин95-98, а вот с малинкой нет желания этим заниматься) Она для другого обычно.


    1. eldog
      08.11.2023 11:13
      +7

      Вот тоже сначала подумал - как здорово, хочу распберри, потом задумался - сижу за ноутом с куда большей производительностью и все эмуляторы можно поставить прямо туда. И начал искать эмулятор спектрума :-)


      1. trawl
        08.11.2023 11:13
        +2

        Можно взять Fuse


    1. BenGunn
      08.11.2023 11:13
      +2

      Для ретрофажества юзаю 4ю малинку и Recallbox. Вполне успешно уже много лет начиная со 2й малинки. Хорошая картинка и никакой возни со старым железом которое коллекционирую пока жена не видит. Досбокс конечно без проблем встает на стационарный ПК, но чилить я предпочитаю на диване.


  1. maxlilt
    08.11.2023 11:13
    +2

    Пока вокруг доступно много DOS совместимого железа, Amiga на rPi будет интереснее.


    1. Holmogorov Автор
      08.11.2023 11:13

      Меня подкупили компактные размеры (по сравнению со стандартным компьютерным корпусом) и простая возможность вывода картинки на большой экран. Старые ноутбуки "из 90-х" у меня есть, но с их помощью на телевизоре в "Дюка" не поиграешь :)


      1. virtanen
        08.11.2023 11:13
        +2

        Как раз с их помощью и поиграешь, причем нативно -- VGA есть у многих, а тюльпаны есть на каждом нормальном ЭЛТ телевизоре. Играть в старые игры на ЖК это отдельное извращение )


        1. Soren
          08.11.2023 11:13

          Не знаю ваших критериев "нормальности" ЭЛТ-телевизоров, но YPbPr-подключение, что у вас на картинке, встречается гораздо реже, чем привычное "видео и два канала аудио" на тех же разъёмах-"тюльпанах".


          1. hondurasez
            08.11.2023 11:13
            +1

            Ну товарищ же сказал про "нормальный телевизор", хех. Компонентный вход всё же не слишком был распространён, конкурируя к тому же со scart, так что навскидку он есть едва ли на трети ЭЛТ телевизоров (пальцем в небо, есть ещё разброс по годам выпуска).

            Композитный вход, кстати, тоже был не везде. По крайней мере, у меня был самсунг без оного, зато с полноценным RGB-scart (обычно в бюджетные модели ставили урезанный, на котором был распаян только композит).


        1. firehacker
          08.11.2023 11:13
          +2

          Откуда в VGA сигналы Pr-Y-Pb?


  1. NickyScout
    08.11.2023 11:13
    +7

    Блин, после того как я увидел эту прэлесть в формате клавиатуры, я ее очень хочу купить (вместе с таким же монитором еще за полтинник). Я только не понимаю зачем - стопудово будет валяться в шкафу вместе с 3й и 4й распбери... Эх, главная проблема нынче не в железе, а в наличии свободного времени. Была бы у меня эта штука лет в 12 в 1986м... цены б ей не было...


    1. Holmogorov Автор
      08.11.2023 11:13
      +4

      Ну, в 1986-м 4-ядерный ARM и 4 гига оперативки было бы "жирновато". Я в 1986-м мечтал собрать "ЮТ-88", а "Спектрум" с 48 килобайтами был пределом моих эротических фантазий...


      1. NickyScout
        08.11.2023 11:13

        Да, было время... Спектрум у меня на 2м курсе появился, в 1992м году.


      1. artyomsoft
        08.11.2023 11:13
        +1

        Помню, как в детстве внимательно рассматривал схему и немногочисленные фотографии ЮТ-88, понимая, что это недоступный мне компьютер. Но мечтал о нем. Схему ЮТ-88 опубликовали в приложении к Юному Технику в февральском номере за 1989 год. А про спектрум в 86-м, наверное, знали немногие в столицах.


        1. Holmogorov Автор
          08.11.2023 11:13
          +1

          Да, действительно, ЮТ-88 появился позже, приложение, вроде бы, называлось "ЮТ для умелых рук", затем его (если не путаю) переименовали в "Левшу". Я выписывал и ЮТ, и приложения, и еще "Технику молодежи". В ней игры для калькуляторов "Электроника МК" печатали :)
          А "Спектрумы" были, но стоили безумных денег. В 88-м, кажется, появились платы "Ленинград" Зонова, и эти машины стали доступнее.


        1. Pofigator
          08.11.2023 11:13

          Поддерживаю - в 1986 году про Спектрумы не было известно в регионах... На моей памяти в Красноярске Спектрумы мы будучи уже студентами начали покупать примерно в 1989 году. А самостоятельно их из конструкторов паять и продавать примерно в 1991году... К тому времени вместо магнитофонных кассет уже дискеты доступны стали...


  1. me21
    08.11.2023 11:13

    А почему нельзя обновить модуль ядра, не сломав досбокс - оно же по идее юзерспейсное приложение?


    1. Holmogorov Автор
      08.11.2023 11:13

      Вот не получается :(


  1. firehacker
    08.11.2023 11:13
    +1

    Ну где же одноплатники с x86-процессором?


    1. iamoblomov
      08.11.2023 11:13

      латтепанда по цене ноута)


    1. axe_chita
      08.11.2023 11:13

      Можно на Юлито поискать неттопы на Atom или Celeron. Разлить на него FreeDOS, установить в нем эмулятор SoundBlaster для АС97, и получить мощную и компактную DOS машину.

      Первоначально можно обойтись и USB флешкой ;)


      1. firehacker
        08.11.2023 11:13

        Вопрос не в том, как бы подешевле получить эмулятор дос-среды, вопрос в том, как бы подешевле получить x86-одноплатник (для любых других задач, а не только упомянутой в статье цели).


        1. axe_chita
          08.11.2023 11:13

          Тогда отвечу вопросом на вопрос, а для чего именно вам нужен одноплатник на х86? Что вы на нем собираетесь крутить? Хотя бы рамочно очертите границы хотелок...


  1. vesper-bot
    08.11.2023 11:13

    Я-то думал, нативная эмуляция, а тут всего лишь dosbox. Так я дома с рабочего ноута под 8.1 гоняю и 95ю винду, если надо, даже сделал "слегка по уму" - подключил второй диск, куда заливал игрушки, ту же вторую Циву, которая portable по факту. Imperialism, который очень хочу, работает через раз в такой конфиге, приходится, если позволяет время, брать "дочкин" ПК с корой дуба и VMware Workstation с 98й на нем и там гонять.


  1. Khrjun
    08.11.2023 11:13
    +3

    Слишком дорогая игрушка, не стоит она своих денег, как уже писали выше, лучше со старым железом того времени поковыряться. Это лично моё мнение. Просто старые железки нравятся. А так да, проЭкт конечно интересный.


  1. Vaitek
    08.11.2023 11:13

    Тесты прогоните пожалуйста. Cpu-z retro, super pi, м.б. что-то ещё)


    1. vesper-bot
      08.11.2023 11:13

      Check(V)it please :) это же ДОС.


  1. maxlilt
    08.11.2023 11:13

    Как ощущения от клавиатуры? Можно настраивать скорость/задержку повторного срабатывания?


    1. Holmogorov Автор
      08.11.2023 11:13
      +1

      Клавиатура, кстати, приятная - чем-то напомнила Apple Magic Keyboard. С настройками не игрался, но сама по себе с точки зрения мягкости нажатий производит очень хорошее впечатление.


  1. Maxik12
    08.11.2023 11:13

    "я линукс могу терпеть только в 1 случае
    если на весь экран развернута консоль со шрифтом Fixedsys — тогда путем неимоверного глубокого самовнушения я представляю себе что это DOS новой версии" (c)