Я очень люблю старую компьютерную технику — есть в ней какой-то непередаваемый шарм. Но одно дело — коллекционирование винтажных ноутбуков, и совсем другое — установка древних операционных систем или софта на современном «железе». Во многих случаях старые операционки и игры на актуальном оборудовании попросту не запускаются из-за проблем с совместимостью. Положение отчасти спасают виртуальные машины, но гонять ОС, а особенно игрушки на «виртуалке» далеко не всегда удобно. И вот пару месяцев назад я случайно услышал о 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)
maxlilt
08.11.2023 11:13+2Пока вокруг доступно много DOS совместимого железа, Amiga на rPi будет интереснее.
Holmogorov Автор
08.11.2023 11:13Меня подкупили компактные размеры (по сравнению со стандартным компьютерным корпусом) и простая возможность вывода картинки на большой экран. Старые ноутбуки "из 90-х" у меня есть, но с их помощью на телевизоре в "Дюка" не поиграешь :)
virtanen
08.11.2023 11:13+2Как раз с их помощью и поиграешь, причем нативно -- VGA есть у многих, а тюльпаны есть на каждом нормальном ЭЛТ телевизоре. Играть в старые игры на ЖК это отдельное извращение )
Soren
08.11.2023 11:13Не знаю ваших критериев "нормальности" ЭЛТ-телевизоров, но YPbPr-подключение, что у вас на картинке, встречается гораздо реже, чем привычное "видео и два канала аудио" на тех же разъёмах-"тюльпанах".
hondurasez
08.11.2023 11:13+1Ну товарищ же сказал про "нормальный телевизор", хех. Компонентный вход всё же не слишком был распространён, конкурируя к тому же со scart, так что навскидку он есть едва ли на трети ЭЛТ телевизоров (пальцем в небо, есть ещё разброс по годам выпуска).
Композитный вход, кстати, тоже был не везде. По крайней мере, у меня был самсунг без оного, зато с полноценным RGB-scart (обычно в бюджетные модели ставили урезанный, на котором был распаян только композит).
NickyScout
08.11.2023 11:13+7Блин, после того как я увидел эту прэлесть в формате клавиатуры, я ее очень хочу купить (вместе с таким же монитором еще за полтинник). Я только не понимаю зачем - стопудово будет валяться в шкафу вместе с 3й и 4й распбери... Эх, главная проблема нынче не в железе, а в наличии свободного времени. Была бы у меня эта штука лет в 12 в 1986м... цены б ей не было...
Holmogorov Автор
08.11.2023 11:13+4Ну, в 1986-м 4-ядерный ARM и 4 гига оперативки было бы "жирновато". Я в 1986-м мечтал собрать "ЮТ-88", а "Спектрум" с 48 килобайтами был пределом моих эротических фантазий...
artyomsoft
08.11.2023 11:13+1Помню, как в детстве внимательно рассматривал схему и немногочисленные фотографии ЮТ-88, понимая, что это недоступный мне компьютер. Но мечтал о нем. Схему ЮТ-88 опубликовали в приложении к Юному Технику в февральском номере за 1989 год. А про спектрум в 86-м, наверное, знали немногие в столицах.
Holmogorov Автор
08.11.2023 11:13+1Да, действительно, ЮТ-88 появился позже, приложение, вроде бы, называлось "ЮТ для умелых рук", затем его (если не путаю) переименовали в "Левшу". Я выписывал и ЮТ, и приложения, и еще "Технику молодежи". В ней игры для калькуляторов "Электроника МК" печатали :)
А "Спектрумы" были, но стоили безумных денег. В 88-м, кажется, появились платы "Ленинград" Зонова, и эти машины стали доступнее.
Pofigator
08.11.2023 11:13Поддерживаю - в 1986 году про Спектрумы не было известно в регионах... На моей памяти в Красноярске Спектрумы мы будучи уже студентами начали покупать примерно в 1989 году. А самостоятельно их из конструкторов паять и продавать примерно в 1991году... К тому времени вместо магнитофонных кассет уже дискеты доступны стали...
me21
08.11.2023 11:13А почему нельзя обновить модуль ядра, не сломав досбокс - оно же по идее юзерспейсное приложение?
firehacker
08.11.2023 11:13+1Ну где же одноплатники с x86-процессором?
axe_chita
08.11.2023 11:13Можно на Юлито поискать неттопы на Atom или Celeron. Разлить на него FreeDOS, установить в нем эмулятор SoundBlaster для АС97, и получить мощную и компактную DOS машину.
Первоначально можно обойтись и USB флешкой ;)
firehacker
08.11.2023 11:13Вопрос не в том, как бы подешевле получить эмулятор дос-среды, вопрос в том, как бы подешевле получить x86-одноплатник (для любых других задач, а не только упомянутой в статье цели).
axe_chita
08.11.2023 11:13Тогда отвечу вопросом на вопрос, а для чего именно вам нужен одноплатник на х86? Что вы на нем собираетесь крутить? Хотя бы рамочно очертите границы хотелок...
vesper-bot
08.11.2023 11:13Я-то думал, нативная эмуляция, а тут всего лишь dosbox. Так я дома с рабочего ноута под 8.1 гоняю и 95ю винду, если надо, даже сделал "слегка по уму" - подключил второй диск, куда заливал игрушки, ту же вторую Циву, которая portable по факту. Imperialism, который очень хочу, работает через раз в такой конфиге, приходится, если позволяет время, брать "дочкин" ПК с корой дуба и VMware Workstation с 98й на нем и там гонять.
Khrjun
08.11.2023 11:13+3Слишком дорогая игрушка, не стоит она своих денег, как уже писали выше, лучше со старым железом того времени поковыряться. Это лично моё мнение. Просто старые железки нравятся. А так да, проЭкт конечно интересный.
maxlilt
08.11.2023 11:13Как ощущения от клавиатуры? Можно настраивать скорость/задержку повторного срабатывания?
Holmogorov Автор
08.11.2023 11:13+1Клавиатура, кстати, приятная - чем-то напомнила Apple Magic Keyboard. С настройками не игрался, но сама по себе с точки зрения мягкости нажатий производит очень хорошее впечатление.
Maxik12
08.11.2023 11:13"я линукс могу терпеть только в 1 случае
если на весь экран развернута консоль со шрифтом Fixedsys — тогда путем неимоверного глубокого самовнушения я представляю себе что это DOS новой версии" (c)
doo000
Ровно то же самое можно сделать и на обычном домашнем/рабочем(?) компьютере, не привлекая лишнюю сущность в виде распберри. Досбокс встанет в принципе везде.
А уж если и воротить что-то на распберри для дома и ностальгии :) то туда же заодно и эмулятор спектрума, атари, коммодора. Да хоть и епл-2.
Holmogorov Автор
Можно, конечно, но с распберри - интереснее!
no404error
Нет, абсолютно не интереснее, наоборот это хитрожопый пиар и реклама.
Pofigator
Валентин, как думаете - а можно сделать всё то же самое на недорогом одноплатнике типа Orange Pi 3B (3500р за 4Гб ОЗУ модель на Али)? Или даже на Orange Pi Zero 3 (2500р за 4Гб ОЗУ модель на Али)? Тогда наверняка будет меньше встречных аргументов навроде "дешевле на обычном компе"...
Holmogorov Автор
Можно попробовать - по характеристикам они схожи. Не уверен, что на Orange Pi без проблем запустится сам DOSBian (он все-таки "заточен" на "малину"), но Raspbian + DOSBox вполне себе пойдут. Просто, вероятно, придется что-то поднастроить вручную. Но серьезных технических препятствий не вижу никаких.
bazilxp
я насколько понимаю самая большая разница может быть в /boot там специфические настройки (материнки) пинов для одноплатников..
Если говорить о Dosbian , Вопрос наверное стоит в таком ключе, ставится линукс и достигается тот же dosbox ( xinit startup) переписывается чтобы сразу в досбокс кидало....
v_eroshenko
Кому что, но все плюсы уходят игроку под именем "старый пыльный комп на антресольке".
Никаких танцев с бубнами не нужно, протёр, запустил и всё работает. Плюс нативность, плюс 100 к ностальгии и тем самым ощущениям "как в детстве". Плюс проще и дешевле купить старый комп за 1000 руб на Авито и играться с ним, чем купить Малинку по нынешним ценникам, да и не понятно зачем. Да, только ради спортивного интереса, что она может и я могу)
У меня лежит и малинка и пара старых ноутов. Желание есть сдуть пыль с ноутов на Вин95-98, а вот с малинкой нет желания этим заниматься) Она для другого обычно.
eldog
Вот тоже сначала подумал - как здорово, хочу распберри, потом задумался - сижу за ноутом с куда большей производительностью и все эмуляторы можно поставить прямо туда. И начал искать эмулятор спектрума :-)
trawl
Можно взять Fuse
BenGunn
Для ретрофажества юзаю 4ю малинку и Recallbox. Вполне успешно уже много лет начиная со 2й малинки. Хорошая картинка и никакой возни со старым железом которое коллекционирую пока жена не видит. Досбокс конечно без проблем встает на стационарный ПК, но чилить я предпочитаю на диване.