VirtualBox + FreeDOS + BorlandC
Настроим среду для разработки под DOS. Инструкция актуальна для Ubuntu 18.04.
Устанавливаем VirtualBox
Загружаем здесь последнюю версию. Устанавливаем и проверяем работоспособность. При написании использовалась 6-ая версия.
Загружаем образ FreeDOS
На сайте FreeDOS выбираем CDROM “standard” installer.
Создаем виртуальную машину
В VirtualBox создаем виртуальную машину с названием fDOS. Выделяем 32 MB оперативной памяти и диск размером 500 MB.
Открываем настройки виртуальной машины, в разделе Storage находим CD-привод (находится в разделе IDE, обозначен как оптический диск) и выделяем его. Справа жмем по значку диска и выбираем Choose Virtual Optical Disk File... В открывшемся окне указываем путь к образу FreeDOS.
Также рекомендую в разделе User Interface убрать все отметки, чтобы интерфейс VirtualBox не мешал работе с виртуальной машиной. Вместо интерфейса можно будет использовать меню с помощью RightCTRL + Home.
Установка FreeDOS
Запускаем созданную виртуальную машину. Из-за бага в VirtualBox, перед выбором пункта меню Install to harddisk нажимаем TAB и дописываем raw в конец строки (после пробела). Нажимаем Enter и ожидаем загрузки установщика.
На все вопросы установщика отвечаем Yes. В процессе установки машина перезапустится для создания раздела C:. В меню придется снова дописать raw и затем продолжить установку отвечая Yes. Выбираем язык и вариант установки Full installation.
Установка сетевых пакетов
После окончания установки и перезапуска машины, выбираем в меню Boot from system harddisk. В консоли выполняем fdimples. С помощью стрелок на клавиатуре выбираем раздел Networking и справа отмечаем пакеты:
- FDNET
- MTCP
- WGET
Выбираем ОК (два раза стрелка вправо) и нажимаем Enter. Завершаем работу вирутальной машины.
Настройка виртуальной машины
Открываем параметры виртуальной машины и заходим в раздел Storage. Выбираем CD-привод, жмем по значку оптического диска и Remove Disk from Virtual Drive.
Перейдем в раздел Network и убедимся в опция Enable Network Adapter активна. В Attached to выбираем NAT. Раскрываем Advanced и нажимаем Port Forwarding. Создаем новое правило с протоколом TCP и портами 8000 в Host Port и Guest Port. Поля Host IP и Guest IP оставляем пустыми. Для сохранения нажимаем ОК и закрываем настройки.
Создание скриптов
Для запуска программ в FreeDOS над понадобится http-сервер для передачи исходников в виртуальную машину. Создадим в рабочей папке с исходниками скрипт start.sh:
#!/usr/bin/env bash python3 -m http.server 8000 & VBoxManage startvm "fDOS"
Разрешим выполнение скрипта: chmod +x start.sh
Этот скрипт будем выполнять при начале работы с FreeDOS. Запустим его: ./start.sh
Настройка окружения
Установим BorlandC. В рабочей дирректории хостовой системы (рядом со скриптом start.sh) создадим дирректории env и src и загрузим Borland C:
mkdir env src wget -O env/BORLANDC.zip https://0x0.st/zqIE.zip
В гостевой системе распакуем компилятор и создадим рабочую дирректорию:
wget http://10.0.2.2:8000/env/BORLANDC.zip unzip BORLANDC.zip mkdir home
Откроем файл autoexec.bat: edit autoexec.bat
и добавим в конец:
set PATH=%PATH%;C:\\BORLANDC\\BIN\\ cd home
Перейдем в дирректорию home: cd home
, создадим файл s.bat (сокращение от start): edit s.bat
и запишем в него:
wget -O main.cpp http://10.0.2.2:8000/src/main.cpp bcc main.cpp main
Завершаем работу виртуальной машины. На этом установку и настройку можем считать завершенными.
Использование при разработке
Для начала использования, перейдем в рабочую дирректорию и выполним скрипт start.sh. Окно виртуальной машины можно закрепить нажам ПКМ по рамке над окном и выбрав Always on Top. В редакторе кода изменяем src/main.cpp и сохраняем. Переходим в окно с DOS и выполняем команду s
. В результате загрузится исходный файл main.cpp, скомпилируется и выполнится. После изменения исходного кода снова сохраняем main.cpp и выполняем команду s
.