Изменения

Новая страница: «{{Quote|У этих машин нет здравого смысла; они еще не научились "думать" и делают в точности то...»
{{Quote|У этих машин нет здравого смысла; они еще не научились "думать" и делают в точности то, что им говорят, не больше и не меньше. Этот факт - самая трудная концепция для понимания, когда человек впервые пытается пользоваться компьютером.|Дональд Кнут}}

__TOC__

'''Модульные компьютеры''' - смесь [https://wiki.beestation13.com/view/Modular_Computers модульных компьютеров] и [https://baystation.xyz/index.php?title=Guide_to_Integrated_Circuits интегральных плат] из Space Station 13, и мода [https://ocdoc.cil.li/ OpenComputers] из игры Minecraft.
Но в отличии от них - это полноценные компьютеры, для которых можно написать любое программное обеспечение взаимодействующее с игрой - от простых анализаторов здоровья до компьютеров с операционной системой.

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

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

[[File:ModularComputerCases.png|thumb|Некоторые из доступных корпусов.]]

[[File:ComputerCaseExamine.png|thumb|Количество PCI слотов можно посмотреть через осмотр.]]

=== [[File:Laptop.png]] Портативные корпуса ===
Главная особенность портативных корпусов - их можно брать в руки, класть в контейнеры и они '''питают''' процессоры от '''батареи'''.

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

=== [[File:Computer.gif]] Стационарные корпуса ===
Кроме классических консолей, стационарные корпуса также могут быть и настенными. Эти корпуса уже '''питают''' процессоры от ближайшего '''APC''', их можно построить через меню крафта.

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

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

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

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

== [[File:Programmer.gif]] Программатор ==
'''Программатор''' - устройство для загрузки '''прошивок''' в '''процессор'''. Доступен в '''протолате''' после открытия технологии '''"Компьютерная наука"'''.

[[File:ProgrammerUI.png|thumb|Интерфейс программатора.]]

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

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

[[File:ProgrammerDisk.png|thumb|Одна из заготовленных прошивок для анализатора здоровья.]]

== [[File:Debugger.gif]] Отладчик ==

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

[[File:DebuggerUI.png|thumb|Интерфейс отладчика.]]

== [[File:TTS.png]] PCI устройства ==

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

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

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

== [[File:Code.gif]] Программирование ==
Для создания прошивок подойдёт любой '''язык программирования''', который имеет '''компилятор''' под целевую архитектуру '''rv64gc'''. Но стандартные '''драйверы''' и '''шаблоны прошивок''' используют язык [https://www.rust-lang.org/ Rust].

Шаблон пустой '''прошивки''' можно найти в [https://github.com/ChaoticOnyx/OnyxBay14.Ware/tree/master/template_fw этом репозитории].
'''Драйверы устройств''' можно найти [https://github.com/ChaoticOnyx/OnyxBay14.Drivers здесь].

Общие правила для компиляции и линковки '''прошивок''' под модульные компьютеры:
* Целевая архитектура: '''rv64gc'''
* Начало RAM: '''0x20000000'''