Обновлений больше не будет, репозиторий перемещен в архив
CODE - настраиваемый эмулятор устройств OpenComputers (Customizable OpenComputers Device Emulator)
Linux:
mkdir cmake-build-debug
cd cmake-build-debug
cmake ..
make
Перед запуском следует создать папку проекта (см. "Создание проекта"), считаем что она находится в <папка_проекта>.
Linux:
./code <папка_проекта> start <имя_компьютера>
CODE работает с проектами. Проекты состоят из компонентов и компьютеров. Для хранения данных проекта используется следующая структура папки проекта:
папка_проекта/
components/
имя_компонента_1.тип_компонента_1/
address.txt
[файлы конфигурации компонента №1 ...]
имя_компонента_2.тип_компонента_2/
address.txt
[файлы конфигурации компонента №2 ...]
[...]
computers/
имя_компьютера_1/
address.txt
tempfs.txt
memory.txt
components.txt
имя_компьютера_2/
address.txt
tempfs.txt
memory.txt
components.txt
[...]
font.ttf
Таким образом, для нормального функционирования эмулятора в папке проекта нужно иметь файл шрифта, используемого компонентами (экранами и видеокартами) проекта - font.ttf, папку для хранения компонентов - components и папку для хранения компьютеров - computers. Подробнее про конфигурацию компьютеров и компонентов - см. следующие разделы.
Для лучшего понимания структуры папки проекта можно ознакомиться с примером проекта - он находится в папке sample_project. Данный проект содержит несколько компонентов, по мере разработки эмулятора проект может быть расширен. Актуальность ПО (ОС, загрузчики) в этом проекте не гарантируется. Также в этом проекте содержится файл шрифта, который, по мнению автора эмулятора, лучше остальных подходит для использования в эмуляторе - Unifont by St. GIGAFONT Typefaces. Можно использовать этот же шрифт в своих проектах или выбрать другой.
Для создания компьютера следует придумать для него название, создать папку с таким именем в директории computers папки проекта, разместить в ней следующие файлы конфигурации и заполнить их в соответствии с характеристиками компьютера:
- address.txt - адрес компьютера (см. раздел "Адреса компонентов").
- tempfs.txt - имя компонента-файловой системы, который будет использоваться в качестве временной ФС компьютера.
- memory.txt - кол-во оперативной памяти компьютера в байтах.
- components.txt - названия компонентов, подключенных к компьютеру, каждое в отдельной строке (см. "Конфигурация компонентов").
Для создания компонента нужно для него придумать название, выбрать тип (см. "Типы компонентов") и создать папку в директории components папки проекта с названием <имя_компонента>.<тип_компонента>. После этого в созданную папку добавить файл address.txt с адресом компонента (см. раздел "Адреса компонентов"). Далее, в эту же папку нужно добавить файлы конфигурации компонента, свои для каждого типа компонента, подробнее о них - в следующем разделе.
В OpenComputers есть много типов компонентов, однако не все удается быстро реализовать. В следующем списке указаны типы компонентов, которые реализованы (хотя бы частично), а также необходимые для них файлы конфигурации.
eeprom (EEPROM)
Реализован частично.
Файлы конфигурации:
- primary.lua - основные данные EEPROM.
- secondary.bin - дополнительные данные EEPROM.
- label.txt - метка EEPROM.
filesystem (Файловая система)
Реализован полностью.
Файлы конфигурации:
- data - папка с данными ФС.
- label.txt - метка файловой системы.
- readonly.txt - наличие данного файла означает, что ФС доступна только для чтения.
screen (Экран)
Реализован частично.
Файл конфигурации:
- config.txt - содержит 5 чисел через пробел: глубина цвета, ширина и высота (в блоках), макс. ширина и высота (в символах).
gpu (Видеокарта)
Реализован частично.
Файл конфигурации:
- config.txt - содержит 3 числа через пробел: глубина цвета, макс. ширина и высота (в символах).
Документация по данному типу компонента не была найдена, поэтому компонент реализован только для совместимости.
Этот тип компонента не требует файлов конфигурации.
computer (Компьютер)
Реализован частично.
Этот компонент не нужно создавать в проекте, он автоматически будет подключен к компьютеру.
Каждый компонент и компьютер помимо названия имеет свой адрес. В отличие от названия, цель которого сократить время ввода
компонентов и компьютеров во время конфигурации, адресу не следует придавать особое значение - он должен быть случайным.
В Linux адрес для компонента можно сгенерировать следующей командой: uuidgen -r
( > address.txt
если требуется).