Modular Computers (SS14)

Версия от 04:52, 12 июня 2023; Igorsaux (обсуждение | вклад) (Новая страница: «{{Quote|У этих машин нет здравого смысла; они еще не научились "думать" и делают в точности то...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
У этих машин нет здравого смысла; они еще не научились "думать" и делают в точности то, что им говорят, не больше и не меньше. Этот факт - самая трудная концепция для понимания, когда человек впервые пытается пользоваться компьютером.

–Дональд Кнут

Модульные компьютеры - смесь модульных компьютеров и интегральных плат из Space Station 13, и мода OpenComputers из игры Minecraft. Но в отличии от них - это полноценные компьютеры, для которых можно написать любое программное обеспечение взаимодействующее с игрой - от простых анализаторов здоровья до компьютеров с операционной системой.

Корпуса

Любой модульный компьютер состоит как минимум - из корпуса. Каждый корпус имеет разное количество PCI слотов и поддерживать разные способы энергопитания, последнее особенно важно - ведь процессор не будет работать без электричества.

Для включения/выключения компьютера необходимо нажать на "Переключить питание" с помощью правой кнопки мыши или с помощью сочетания клавиш для альтернативного использования. Для того - чтобы вытащить или положить внутрь корпуса что-то - необходимо открыть его с помощью отвёртки. Доступные для печати корпуса открываются с помощью технологии "Компьютерная наука".

 
Некоторые из доступных корпусов.
 
Количество PCI слотов можно посмотреть через осмотр.

  Портативные корпуса

Главная особенность портативных корпусов - их можно брать в руки, класть в контейнеры и они питают процессоры от батареи.

Некоторые портативные корпуса доступны в протолатах.

  Стационарные корпуса

Кроме классических консолей, стационарные корпуса также могут быть и настенными. Эти корпуса уже питают процессоры от ближайшего APC, их можно построить через меню крафта.

CPU.png Процессоры

Сердце любого компьютера - процессор. Для работы требуются энергия, каждая модель процессора имеет набор характеристик: энергопотребление, IPS (инструкции в секунду), RAM (оперативная память).

  • Энергопотребление - количество потребляемой энергии во включённом состоянии.
  • IPS - максимальное количество выполняемых инструкции в секунду, чем больше - тем быстрее работает.
  • RAM - количество оперативной памяти. Привязано к модели процессора, изменить нельзя.

Каждый процессор имеет архитектуру RISC-V, это необходимо учитывать при создании программного обеспечения.

Новые процессоры полностью пусты и не имеют изначально какой-либо прошивки. Для загрузки программ в процессор - используется программатор.

Programmer.gif Программатор

Программатор - устройство для загрузки прошивок в процессор. Доступен в протолате после открытия технологии "Компьютерная наука".

 
Интерфейс программатора.

Первым шагом необходимо загрузить саму прошивку в программатор - в интерфейса устройства необходимо нажать на кнопку "Загрузить прошивку", затем откроется окно с выбором файла прошивки на вашем компьютере. После выбора файла начнётся его загрузка, после окончания загрузки вы можете, нажав программатором по процессору, загрузить вашу прошивку. Процесс прошивания занимает несколько секунд.

Также, в игре есть уже заготовленные прошивки для разных устройств в виде дисков. Для загрузки таких прошивок необходимо кликнуть диском по программатору. Часть из них можно распечатать на протолате после открытия технологии "Компьютерная наука".

 
Одна из заготовленных прошивок для анализатора здоровья.

Debugger.gif Отладчик

Отладчики нужны для просмотра регистров и подключённых MMIO устройств. Доступен в протолате после открытия технологии "Компьютерная наука".

 
Интерфейс отладчика.

TTS.png PCI устройства

PCI устройства - компоненты, которые можно подключить к процессору, вставив их в корпус компьютера, некоторые из них можно напечатать на протолате после открытия технологии "Компьютерная наука", другие - заказать в карго.

Каждое такое устройство даёт возможность программно взаимодействовать с игровым миром - получения информации о состоянии здоровья, газах, отправка сигналов другим объектам, передача информации по сети и т.д.

Одними из особых и важных устройств являются монитор и видеокарта. Монитор - выводит графику, а также считывает ввод с клавиатуры и мыши игрока, видеокарта - отрисовывает графику.

Code.gif Программирование

Для создания прошивок подойдёт любой язык программирования, который имеет компилятор под целевую архитектуру rv64gc. Но стандартные драйверы и шаблоны прошивок используют язык Rust.

Шаблон пустой прошивки можно найти в этом репозитории. Драйверы устройств можно найти здесь.

Общие правила для компиляции и линковки прошивок под модульные компьютеры:

  • Целевая архитектура: rv64gc
  • Начало RAM: 0x20000000