Guide to Integrated Circuits: различия между версиями

Материал из Chaotic Onyx
Перейти к навигацииПерейти к поиску
(→‎Основы, часть I, аппаратура, пространство и сложность.: Исправил помарку, кучу. Помарок. **особенно много помарок**, **орфография**, **грамматика**. **надеюсь на снятие кляпа**. 🐸🥂😎)
Метки: правка с мобильного устройства правка из мобильной версии
 
(не показаны 134 промежуточные версии 14 участников)
Строка 1: Строка 1:
{{TG}}
+
{{Заготовка}}
= Основы [[Файл:Intergrated_printer.png]] =
 
[[Файл:IPrinter_gui.jpg|frame| Интерфейс принтера для печатных плат. Сверху - количество материала и информация об апгрейдах, в середине - категории.]]
 
И так, для того чтобы начать создавать какие-либо кремниевые изделия и заставить их делать за вас всю работу, рекомендуется напечатать либо взять в [[Guide to Research and Development|отделе исследований]] такую вещь как '''Integrated Circuits Printer''' [[Файл:Intergrated_printer.png]], а так-же опционально:
 
*[[Файл:Upgrade_disc.png]] (''Advanced Designs upgrade disc'') - Диск на продвинутые электросхемы.
 
*[[Файл:Circuitclone_disc.png]] (''Circuit Cloner upgrade disc'') - Диск на возможность печати готового устройства из кода.
 
Вставляете их в принтер, и вам открываются новые возможности. Ах да, и не забудьте вставить туда [[Файл:metal.png]].
 
== Необходимые инструменты ==
 
Для нормальной работы любому человеку необходимы инструменты. Они размещены во вкладке ''Tools'':
 
* '''Прокладчик проводов''' (''Circuit Wirer'') [[Файл:Tool_wirer.png]] - самый главный инструмент, служит для соединения / разьединения разьемов на печатных платах. Кликни по нему, чтобы изменить режим работы.
 
* '''Устройство для отладки''' (''Circuit Debugger'') [[Файл:Tools_debugger.png]] - служит для выставления постоянного значения в переменной. Кликни по нему, чтобы выбрать тип переменной. Может так-же подавать импульсы на <PULSE IN>
 
* '''Анализатор''' (''Circuit Analyzer'') [[Файл:Tools_codeanalyzer.png ‎]] - сканирует ваше готовое творение и генерирует код, который можно сохранить себе на память и использовать в следующих раундах.
 
  
== Корпуса [[Файл:Int_frame.png]] ==
+
{{Ingame}}
Вот уже весь отсек забит платами, инструментами и прочим говном. Куда же это все ставить? Для этих целей и придумали различные корпуса. Только не забудь поставить батарейку.
 
=== Виды корпусов ===
 
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Корпус
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость
 
! style="background:#CCCCCC;" | Внутреннее пространство
 
! style="background:#CCCCCC;" | Сложность
 
|-
 
|[[Файл:Small_electronic_shell.png]]||Electronic Assembly
 
|Самый маленький корпус из всех.||5000 cm
 
|25 ед.||75 ед.
 
|-
 
|[[Файл:Medium_electronic_shell.png]]||Electronic Mechanism
 
|Средний корпус.||10000 cm
 
|50 ед.||150 ед.
 
|-
 
|[[Файл:Large_electronic_shell.png]]||Electronic Machine
 
|Большой корпус.||20000 cm
 
|100 ед.||300 ед.
 
|-
 
|[[Файл:Drone_electronic_shell.png]]||Electronic Drone
 
|Корпус, который может передвигаться.||15000 cm
 
|75 ед.||225 ед.
 
|-
 
|}
 
  
== Сборка и настройка [[Файл:Disassembled_assembly.png]] ==
+
= Интегральные платы[[Файл:Intergrated_printer.png]] =  
Для того, чтобы вставлять платы в корпус, сначала его нужно открыть отверткой [[Файл:Screwdriver_tool.png]] (или ломом в старой версии)
 
  
В меню корпуса вы увидите список действий с платой: Name | [Rename] | [Scan with Debugger] | [Remove] | [Move to bottom], что соответственно означает - Имя | Переименовать | Просканировать отладчиком | Вытащить | Переместить вниз
+
<b>Дисклеймер:</b> Интегральные схемы довольно сложны для восприятия “не-инженерного” ума. А для максимальной эффективности требуется несколько часов для поиска и прогона оптимального количества функций (компонентов) и их связей, в данном руководстве мы постараемся затронуть легкий к восприятию для всех людей способ организации производства интегральных схем.
  
При настройке необходимо помнить, что:
+
Теперь отдел Исследования и Разработок может порадовать Вас системой автоматического сканирования органических форм жизни на наличие ранений, датчиками здоровья, которые могут передавать видео в режиме онлайн, автоматическими турелями, системами автоматизированного уничтожения или просто… Шприц? Действительно, Вы хотите запихнуть ШПРИЦ в проспекты нового отдела? Совсем поехавшие идиоты?! Ты уволен! Это не Вам, [ВСТАВЬТЕ НАЗВАНИЕ ВАШЕЙ ДОЛЖНОСТИ]. Да, ты, бери вещи и на выход. Впрочем, можно сделать все, что придет вам в голову при помощи новой СИСТЕМЫ ИНТЕГРАЛЬНЫХ СХЕМ™. Несмотря на то, что с первого взгляда они могут показаться трудными к использованию предметами, на самом деле все довольно просто, вдобавок наши инженеры всегда продолжают улучшать интерфейсы для облегчения работы с интегральными схемами, что не скажешь на другие филиалы, которые… Впрочем не важно. Что-ж… Начнем!
  
*Активатор с пометкой '''<PULSE OUT>''' создает импульс при успешном выполнении операции.
+
Дисклеймер: предыдущие утверждение о том, что разработку таких схем очень простая - наглая ложь. Конечно, для “простых” схем это легко, но когда Вы начнете создавать более продвинутые схемы Вам понадобиться немного школьной математики, возможно даже высшей (вузовской) математики, и, конечно же, знание возможностей из смежных отраслей станции (химия, ксенобиология, даже знания из отдела СБ). Впрочем, даже на взгляд опытного “интегральщика” простые схемы могут очень сильно удивить незнакомого со спецификой интегральных схем человека. Будьте готовы к непредвиденным последствиям.
  
*Активатор с пометкой '''<PULSE IN>''' служит для активации интегральной схемы (Например, в сумматоре при импульсе на вход ''compute'' происходит суммирование входов).
 
  
* Так-же на саму пометку '''<PULSE IN>''' можно создать импульс с помощью [[Файл:Tools_debugger.png]]
+
== Инструменты ==
 +
'''Integrated Circuit Printer''' - Ваше все, тут создаются основы для Ваших схем, получаются компоненты, создаются инструменты для сопряжения компонентов.
  
=== Переменные ===
+
'''Circuit Wirer''' - используется для создания связей между компонентами в интегральной схеме (печатается в Integrated Circuit Printer).
  
*Используя '''Отладчик'''[[Файл:Tools_debugger.png]] можно задавать переменным постоянные значения. Кликни по нему, чтобы выбрать тип переменной.
+
'''Circuit Debugger''' - позволяет выставлять значения в переменные, активировать пины уровня сигнала (печатается в Integrated Circuit Printer).
  
*Переменные с типом '''<NUM>''' могут содержать только '''числовое значение'''.
+
'''Батарея''' - используется для питание интегральной схемы. Без питания - нет работы интегральной схемы.
  
*Переменные с типом '''<REF>''' могут содержать только '''имя обьекта''' (прим. Bol Onovich).
+
<b>Опционально:</b>
  
*Переменные с типом '''<TEXT>''' могут содержать только '''текстовую строку'''.
+
'''Circuit Analyzer''' - позволяет скопировать код интегральной схемы для последующего использования в других схем. '''РУССКИЙ ТЕКСТ НЕ ПЕРЕНОСИТСЯ'''
  
*Переменные с типом '''<BOOL>''' могут содержать значения '''true''' или '''false'''. Их так-же можно задать числовым значением
+
'''Circuit Detailer''' - инструмент покраски схемы в выбранной цвет, говорят, что такая интегралка на 20 процентов лучше работает, но это слухи.
  
*Переменные с типом '''<ANY>''' могут содержать '''любые значения'''.
+
'''Отвертка''' - используется для того, чтобы закрыть внутренности интегральной схемы от глаз пользователя этой схемы.
  
= Интегральные схемы [[Файл:Icircuit_memory16.png]] =
+
Включенный '''сварочный аппарат''' - при использования на закрытой схеме может заваривает крышку и не позволяет открывать ее отверткой, также при повреждения интегралки ее можно починить этим инструментом.
Собственно то, из чего ты и будешь собирать свою армию дронов-убийц. Количество схем настолько огромно, что из них можно даже собрать свой процессор! Подразделяются на категории, о которых ниже.
 
== Power / Passive ==
 
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_solarcell.png]]||Tiny Photovoltatic Cell
 
|Микрофотоэлемент. Служит для генерации 1W энергии в секунду при наличии освещения.||200 cm
 
|1 ед.|| ---
 
| --- || ---
 
|-
 
|[[File:Icircuit_led.png]]||Starter
 
|Стартер. При включении или восстановлении питания устройства посылает электрический импульс.||200 cm
 
|1 ед.||pulse out <PULSE OUT>
 
| --- || ---
 
|-
 
|[[File:Icircuit_teslalarge.png]]||Large Tesla Power Relay
 
|Большой тесла-передатчик. Берет энергию 2kW из самого ближайшего APC для беспроводной зарядки устройства.||800 cm
 
|15 ед.|| ---
 
| --- || ---
 
|-
 
|[[File:Icircuit_teslalarge.png]]||Tesla Power Relay
 
|Тесла-передатчик. Берет энергию 50W из самого ближайшего APC для беспроводной зарядки устройства.||400 cm
 
|7 ед.|| ---
 
| --- || ---
 
|-
 
|[[File:Icircuit_fuelcell.png]]||Fuel Cell
 
|Топливная ячейка. Может генерировать энергию из плазмы, углерода, сварочного топлива, этанола и даже крови.|| 200 cm
 
|4 ед.|| ---
 
| --- ||<NUM> volume used
 
----
 
<REF> self reference
 
|-
 
|}
 
  
== Arithmetic ==
+
'''Разводной Ключ (wrench)''' - используется для закрепление интегралки на пол.
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_sum.png]]||Addition Circuit
 
|Сумматор. Складывает числа.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Icircuit_sub.png]]||Subtraction Circuit
 
|Вычитатель. Находит разность между числами.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Icircuit_multiply.png]]||Multiplication Circuit
 
|Умножитель. Находит произведение чисел.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Icircuit_divider.png]]||Division Circuit
 
|Делитель. Находит частное чисел.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Icircuit_exp.png]]||Exponent Circuit
 
|Возведение степени. Возводит A в степень B.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
|<NUM> A
 
----
 
<NUM> B
 
|| <NUM> result
 
|-
 
|[[File:Icircuit_sign.png]]||Sign Circuit
 
|Сигнальная цепь. Выводит на выход число 1, -1 или 0 в соответствии с положительным, отрицательным, или нулевым входом.||200 cm.
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A || <NUM> result
 
|-
 
|[[File:Icircuit_round.png]]||Round Circuit
 
|Округлитель. Округляет A до ближайшего множества B от A. Если вход B пустой, то A округляется вниз.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
|<NUM> A
 
----
 
<NUM> B
 
|| <NUM> result
 
|-
 
|[[File:Icircuit_abs.png]]||Absolute Circuit
 
|Модуль. Вычисляет модуль числового значения. Полезно при вычислении дистанции до обьекта.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A || <NUM> result
 
|-
 
|[[File:Icircuit_avg.png]]||Average Circuit
 
|Среднее значение. Вычисляет среднее числовое значение.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A-H || <NUM> result
 
|-
 
|[[File:Pi.png]]||'''π''' constant Circuit
 
|Выводит на выход число '''π''' (3.14159) ||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| --- || <NUM> result
 
|-
 
|[[File:Icircuit_random.png]]||Random number generator Circuit
 
|Генератор случайных чисел. Выдает на выход случайное число, заданное в пределах от L до H.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
|<NUM> L
 
----
 
<NUM> H
 
|| <NUM> result
 
|-
 
|[[File:Icircuit_sqrt.png]]||Square root Circuit
 
|Квадратный корень. Вычисляет квадратный корень числа.||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
| <NUM> A || <NUM> result
 
|-
 
|[[File:Icircuit_modulo.png]]||Modulo Circuit
 
|Остаток от деления. Находит остаток от деления A на B ||200 cm
 
|1 ед.||compute <PULSE IN>
 
----
 
on computed <PULSE OUT>
 
|<NUM> A
 
----
 
<NUM> B
 
|| <NUM> result
 
|-
 
  
|}
+
Руководство рассчитано на то, что у Вас есть хотя бы обязательные инструменты.
  
== Converter ==
+
== Основы, часть I, аппаратура, пространство и сложность. ==
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
+
Интегральная схема - дом компонентов. Без интегральной схемы - нет машины. Также интегральной схеме необходим источник питания - батарейка, для питания компонентов. Отдел РнД имеет доступ к протолату и зарядникам, поэтому проблем с питанием нет. Если Вы работаете в отделе, где не можете изготовить батареи, то попытайтесь поискать их на объекте или попросить у ученых. Также существует еще две важные переменные:
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_num-string.png]]||Number to String Circuit
 
|Преобразователь. Преобразовывает число в текстовую строку.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <NUM> input || <TEXT> output
 
|-
 
|[[File:Icircuit_string-num.png]]||String to Number Circuit
 
|Обратный преобразователь. Преобразовывает текстовую строку в число. ||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <TEXT> input || <NUM> output
 
|-
 
|[[File:Icircuit_ref-string.png]]||Reference to String Circuit
 
|Преобразователь. Преобразует имя обьекта в текстовую строку.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <REF> input || <TEXT> output
 
|-
 
|[[File:Icircuit_ref-string.png]]||Reference Decoder Circuit
 
|Обратный преобразователь. Преобразовывает закодированное имя из текстовой строки в имя обьекта.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <TEXT> input || <REF> output
 
|-
 
|[[File:Icircuit_lowercase.png]]||Lowercase String converter Circuit
 
|преобразователь. преобразует текстовую строку в нижний регистр.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <TEXT> input || <TEXT> output
 
|-
 
|[[File:Icircuit_uppercase.png]]||Uppercase String converter Circuit
 
|ПРЕОБРАЗОВАТЕЛЬ. ПРЕОБРАЗУЕТ ТЕКСТОВУЮ СТРОКУ В ВЕРХНИЙ РЕГИСТР.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <TEXT> input || <TEXT> output
 
|-
 
|[[File:Icircuit_template.png]]||Concatenator Circuit
 
|Обьединитель. Обьединяет множество текстовых строк в одну.||200 cm
 
|4 ед.||concatenate <PULSE IN>
 
----
 
on concatenated <PULSE OUT>
 
| <TEXT> A-H || <TEXT> result
 
|-
 
|[[File:Icircuit_template.png]]||Separator Circuit
 
|Разделитель. Разделяет текстовую строку в точке, заданной числовым значением. (прим. Строка: clown, Числовое значение: 3. Результат: clo wn)||200 cm
 
|4 ед.||separate <PULSE IN>
 
----
 
on separated <PULSE OUT>
 
| <TEXT> string to split
 
----
 
<NUM> index
 
|| <TEXT> before split
 
----
 
<TEXT> after split
 
|-
 
|[[File:Icircuit_template.png]]||Find Text Circuit
 
|Поиск. Ищет нужную строку в заданной. При нахождении выводит на выход числовое значение - позицию. Нечувствителен к регистру.||200 cm
 
|4 ед.||search <PULSE IN>
 
----
 
after search <PULSE OUT>
 
| <TEXT> string
 
----
 
<TEXT> sample
 
|| <NUM> position
 
|-
 
|[[File:Icircuit_template.png]]||String Exploder Circuit
 
|Разделитель. Разделяет текстовую строку на отдельные слова, помещая их в список.||200 cm
 
|4 ед.||separate <PULSE IN>
 
----
 
on separated <PULSE OUT>
 
| <TEXT> string to split
 
----
 
<TEXT> delimiter
 
|| <LIST> list
 
|-
 
|[[File:Icircuit_template.png]]||Radians to Degrees converter Circuit
 
|Преобразователь. Преобразовывает радианы в градусы.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <NUM> radian || <NUM> degrees
 
|-
 
|[[File:Icircuit_template.png]]||Degrees to Radians converter Circuit
 
|Обратный преобразователь. Преобразовывает градусы в радианы.||200 cm
 
|2 ед.||convert <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
| <NUM> degrees|| <NUM> radians
 
|-
 
|[[File:Icircuit_template.png]]||Abs to Rel coordinate converter Circuit
 
|Преобразователь. Преобразовывает абсолютные (мировые) координаты в относительные (локальные).||200 cm
 
|4 ед.||compute rel coordinates <PULSE IN>
 
----
 
on convert <PULSE OUT>
 
|<NUM> X1
 
----
 
<NUM> Y1
 
----
 
<NUM> X2
 
----
 
<NUM> Y2
 
|| <NUM> X
 
----
 
<NUM> Y
 
|-
 
  
|}
+
'''Space''' - пространство максимальное занимаемое компонентами в схеме, Вы не можете вставить больше компонентов по пространству (в сумме), чем указанное в данной переменной
  
== Data Transfer ==
+
'''Complexity''' - максимальная “сложность” схемы, Вы не можете вставить больше компонентов по сложности (в сумме), чем указанное в данной переменной.
{| class="wikitable" style="text-align:center; background:#FFFFE0;" width="100%"
 
! style="background:#CCCCCC;" colspan="2" | Интегральная схема
 
! style="background:#CCCCCC;" | Описание
 
! style="background:#CCCCCC;" | Стоимость изготовления
 
! style="background:#CCCCCC;" | Сложность
 
! style="background:#CCCCCC;" | Активатор
 
! style="background:#CCCCCC;" | Входы
 
! style="background:#CCCCCC;" | Выходы
 
|-
 
|[[File:Icircuit_2multi.png]]||Two Multiplexer
 
|Двоичная шина обьединения. Выбирает вход, определяющийся числом, и выводит его на выход.||200 cm
 
|2 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> input selection
 
----
 
<ANY> input 1-2
 
|| <ANY> output
 
|-
 
|[[File:Icircuit_4mux.png ]]||Four Multiplexer
 
|Четвертичная шина обьединения. Выбирает вход, определяющийся числом, и выводит его на выход.||200 cm
 
|4 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> input selection
 
----
 
<ANY> input 1-4
 
|| <ANY> output
 
|-
 
|[[File:Icircuit_8mux.png]]||Eight Multiplexer
 
|Восьмеричная шина обьединения. Выбирает вход, определяющийся числом, и выводит его на выход.||400 cm
 
|8 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> input selection
 
----
 
<ANY> input 1-8
 
|| <ANY> output
 
|-
 
|[[File:Icircuit_16mux.png]]||Sixteen Multiplexer
 
|Шестнадцатеричная шина обьединения. Выбирает вход, определяющийся числом, и выводит его на выход.||400 cm
 
|16 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> input selection
 
----
 
<ANY> input 1-16
 
|| <ANY> output
 
|-
 
|[[File:Icircuit_2demux.png]]||Two Demultiplexer
 
|Двоичная шина вывода. Выбирает выход, определяющийся числом, и выводит данные со входа на этот выход.|| 200 cm
 
|2 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> output selection
 
----
 
<ANY> input
 
|| <ANY> output 1-2
 
|-
 
|[[File:Icircuit_4demux.png]]||Four Demultiplexer
 
|Четвертичная шина вывода. Выбирает выход, определяющийся числом, и выводит данные со входа на этот выход.|| 200 cm
 
|4 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> output selection
 
----
 
<ANY> input
 
|| <ANY> output 1-4
 
|-
 
|[[File:Icircuit_8demux.png]]||Eight Demultiplexer
 
|Восьмеричная шина вывода. Выбирает выход, определяющийся числом, и выводит данные со входа на этот выход.|| 400 cm
 
|8 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> output selection
 
----
 
<ANY> input
 
|| <ANY> output 1-8
 
|-
 
|[[File:Icircuit_16demux.png]]||Sixteen Demultiplexer
 
|Шестнадцатеричная шина вывода. Выбирает выход, определяющийся числом, и выводит данные со входа на этот выход.|| 400 cm
 
|16 ед.||select <PULSE IN>
 
----
 
on select <PULSE OUT>
 
| <NUM> output selection
 
----
 
<ANY> input
 
|| <ANY> output 1-16
 
|-
 
|[[File:Icircuit_2demux.png]]||Two pulse Demultiplexer
 
|Двоичная импульсная шина вывода. Выбирает выход, определяющийся числом, и выводит импульс на этот выход.|| 200 cm
 
|2 ед.||select <PULSE IN>
 
----
 
output 1-2 <PULSE OUT>
 
| <NUM> output selection || ---
 
|-
 
|[[File:Icircuit_4demux.png]]||Four pulse Demultiplexer
 
|Четвертичная импульсная шина вывода. Выбирает выход, определяющийся числом, и выводит импульс на этот выход.|| 200 cm
 
|4 ед.||select <PULSE IN>
 
----
 
output 1-4 <PULSE OUT>
 
| <NUM> output selection || ---
 
|-
 
|[[File:Icircuit_8demux.png]]||Eight pulse Demultiplexer
 
|Восьмеричная импульсная шина вывода. Выбирает выход, определяющийся числом, и выводит импульс на этот выход.|| 400 cm
 
|8 ед.||select <PULSE IN>
 
----
 
output 1-8 <PULSE OUT>
 
| <NUM> output selection || ---
 
|-
 
|[[File:Icircuit_16demux.png]]||Sixteen pulse Demultiplexer
 
|Шестнадцатеричная импульсная шина вывода. Выбирает выход, определяющийся числом, и выводит импульс на этот выход.|| 400 cm
 
|16 ед.||select <PULSE IN>
 
----
 
output 1-16 <PULSE OUT>
 
| <NUM> output selection || ---
 
|-
 
  
|}
+
Почти каждый компонент вставляемый в интегральную схему имеет 1 “пространство”, также у компонента есть “сложность”, которая зависит от того, сколько функций выполняет данный компонен. Например: кнопка выполняет одно действие - замкнуть цепь активации при нажатии, и поэтому она имеет 1 “сложность”, но интегрированный гипо-инжектор имеет функции инжектирования, высасывания реагентов в что-то и перемещение реагентов внутри схемы - 20 “сложности”.
  
= Готовые устройства =
+
Основная задача схемодела заключается в наборе “фич” схемы за наименьшее количество “сложности” и “пространства”. Количества “пространства” и “сложности” зависит от типа корпуса интегральных схем:
Здесь будут собраны примеры различных устройств. Для того, чтобы напечатать устройство - скопируйте код и нажмите в принтере {load assembly} (Пока временно недоступно). Для этого требуется наличие расширения '''Circuits Cloning'''
 
{{Song
 
|name=Устройство чтения своего заряда батареи и времени (Тест)
 
|notes=Electronic assembly[[Файл:Small_electronic_shell.png]]
 
<pre> start.assembly{{*}}electronic assembly=-=electronic assembly{{*}}components^%^button=-=On^%^text-to-speech circuit=-=Speaker^%^integrated clock=-=Windows Clock^%^tiny photovoltaic cell=-=Generator^%^concatenator=-=Concatenator^%^internal battery monitor=-=Battery Monitoring^%^number to string=-=Number To String{{*}}values^%^2i1:+:text:+:Charge left: 99.9002 Time is: 04:03:38^%^5i5:+:text:+:Charge left: ^%^5i6:+:text:+:99.8882^%^5i7:+:text:+: Time is: ^%^5i8:+:text:+:04:03:38^%^7i1:+:num:+:99.8882{{*}}wires^%^2i1=-=5o1^%^5i6=-=7o1^%^5i8=-=3o1^%^7i1=-=6o3^%^3o1=-=5i8^%^5o1=-=2i1^%^6o3=-=7i1^%^7o1=-=5i6^%^1a1=-=3a1^%^1a1=-=6a1^%^2a1=-=5a2^%^3a1=-=1a1^%^3a2=-=5a1^%^5a1=-=3a2^%^5a2=-=2a1^%^6a1=-=1a1^%^6a2=-=7a1^%^7a1=-=6a2{{*}}end </pre>
 
}}
 
  
{{Song
+
* '''Сборки''' имеют малый размер, позволяют носить себя в кармане, имеют 25 пространства и 75 сложности
|name=Бегающий за людьми кровососущий дрон
+
* '''Устройства''' имеют очень маленький размер, имеют 25 / 2 пространства и 75 / 2 сложности.
|notes=Electronic Drone[[Файл:Drone_electronic_shell.png]]
+
* '''Механизмы''' имеют средний размер, имеют 50 пространства и 150 сложности
<pre> start.assembly{{*}}electronic drone=-=electronic drone{{*}}components^%^integrated hypo-injector=-=integrated hypo-injector^%^fuel cell=-=fuel cell^%^basic pathfinder=-=basic pathfinder^%^advanced locator=-=advanced locator^%^locomotion circuit=-=locomotion circuit^%^big reagent storage=-=big reagent storage^%^reagent pump=-=reagent pump^%^toggle button=-=toggle button^%^fast ticker=-=fast ticker^%^equal gate=-=equal gate^%^text-to-speech circuit=-=text-to-speech circuit^%^tenth-sec delay circuit=-=tenth-sec delay circuit{{*}}values^%^1i2:+:num:+:-60^%^4i2:+:num:+:8^%^5i1:+:num:+:8^%^7i3:+:num:+:100^%^9i1:+:num:+:1^%^10i1:+:num:+:8^%^11i1:+:text:+:cyka{{*}}wires^%^1i1=-=4o1^%^3i1=-=4o1^%^5i1=-=3o1^%^9i1=-=8o1^%^10i1=-=3o1^%^3o1=-=5i1^%^3o1=-=10i1^%^4o1=-=3i1^%^4o1=-=1i1^%^8o1=-=9i1^%^1a1=-=9a1^%^3a1=-=4a2^%^3a1=-=9a1^%^4a1=-=10a2^%^4a2=-=3a1^%^5a1=-=10a3^%^7a1=-=9a1^%^9a1=-=1a1^%^9a1=-=3a1^%^9a1=-=7a1^%^9a1=-=12a1^%^10a1=-=12a2^%^10a2=-=4a1^%^10a3=-=5a1^%^12a1=-=9a1^%^12a2=-=10a1{{*}}end</pre>
+
* '''Машины''' имеют большой размер, имеют 100 пространства и 300 сложности.
}}
+
* '''Дроны''' имеют большой размер, имеют 75 пространства и 225 сложности, единственные корпуса, которые могут перемещаться независимо от оператора.
 +
* '''Настенные устройства''' в зависимости от названия имеют разный размер и сложность, можно ставить на стены.
 +
 
 +
Простые по сложности схемы (фонарик, переводчик) стоит вставлять в корпуса типа '''сборки'''.
 +
 
 +
Более сложные, например устройства для выкачки крови обычно '''механизмы'''.
 +
 
 +
Cамые мощные устройства (по типу механизма получения ключа XOR encryption) - '''машины'''.
 +
 
 +
'''Дроны''' - более нишевые устройства, но открывают огромные возможности благодаря возможности перемещения.
 +
 
 +
Также у всех видов корпусов есть подтипы, они ничем не отличаются, кроме того как они выглядят.
 +
 
 +
== Основы, часть II, Компоненты, Pin’ы и значения данных. ==
 +
 
 +
'''Компоненты''' являются той частью машины, которые и делает всю работу. В них содержится логика работы от пассивной зарядки схемы до выстрела энергооружием по цели. Как было сказано в первой части, у каждого компонента есть занимаемое пространство и сложность, эти характеристики можно увидеть осмотрев компонент.
 +
 
 +
Компоненты печатаются из принтера интегральных схем. Множество “крутых” компонентов заблокировано, для того, чтобы их разблокировать требуется вставить диск, изученный в РнД. Компоненты можно переработать в металл, используя принтер интегральных схем, также Вы сможете переработать и корпус полный компонентами тем же способом. После переработки компонентов, Вы можете также переработать корпус.
 +
 
 +
Компоненты “общаются” между собой при помощи '''пинов'''. Пины подключаются друг к другу при помощи '''circuit wirer''', включая пины внутри компонента, и с другими компонентами, также используются для передачи информации через сигналы.
 +
 
 +
Вкратце, это артерии и вены Ваших машин.
 +
 
 +
Существуют три типа пинов:
 +
 
 +
[[Файл:Pins_metadata.png]]
 +
 
 +
<span style="color: green">Входные данные</span> хранят информацию о том, как или над чем должен работать компонент, к примеру, какое количество реагентов надо вколоть в человека, или сколько энергии передать.
 +
 
 +
<span style="color: blue">Выходные данные</span> хранят информацию, которая выводится после выполнения программы компонента.
 +
 
 +
<span style="color: red">Сигналы</span> говорят, когда выполнять программу компонента, и что делать при определенных случаях, чаще всего компонент содержит два сигнала: выполнить программу, выполнить программы после завершения данной программы.
 +
 
 +
У некоторых компонентов могут отсутствовать входные, выходные данные, сигналы или сразу все три. Пассивные компоненты такие как реле, не имеют пинов вообще и работают как только внутренние условия для работы удовлетворяются.
 +
 
 +
Пины различаются по переменным.
 +
 
 +
'''Переменные''':
 +
 
 +
Используя Отладчик можно задавать переменным постоянные значения. Используйте его, чтобы выбрать тип переменной.
 +
 
 +
Переменные с типом <NUM> могут содержать только числовое значение.
 +
 
 +
Переменные с типом <INDEX> могут содержать только положительные целые числа
 +
 
 +
Переменные с типом <COLOR> могут содержать только HEX (закодированный шестнадцатеричный цвет) (прим. #A9A9A9 - серый).
 +
 
 +
Переменные с типом <REF> могут содержать только имя объекта (прим. Ivan Ivanov).
 +
 
 +
Переменные с типом <TEXT> могут содержать только текстовую строку.
 +
 
 +
Переменные с типом <LIST> могут содержать только список с различными переменными.
 +
 
 +
Переменные с типом <BOOL> могут содержать значения true или false. Их также можно задать числовым значением.
 +
 
 +
Переменные с типом <ANY> могут содержать любые значения.
 +
 
 +
Существуют компоненты, которые переводят один тип переменной на другой, например конвертер '''“number to text”''' принимает на вход '''число''', а на выходе выводит число как '''текстовую строку'''.
 +
 
 +
Вы можете увидеть переменные рядом с именем пина, как и другие важные вещи:
 +
 
 +
[[Файл:Pins_data.png]]
 +
 
 +
Как Вы уже знаете, Вы можете привязать два пина между собой используя '''circuit wirer''', также Вы можете при помощи этого инструмента отвязать, для этого переключите его в режим '''unwire''', нажав на инструмент и прожав на '''название сопряженного pin'а''' и '''название pin'а''', к которому он подключен.
 +
 
 +
== Основы, часть III - сигналы. ==
 +
Как было сказано ранее - сигналы говорят, как и когда выполнять программу компонента. Это единственный способ заставить компонент сделать хоть что-то (если это не пассивные компоненты), так как даже если у Вас есть значения входных данных, то Вы все равно не сможете их использовать пока компонент не получит сигнал на использования данных. Существует два типа сигналов: PULSE_IN (вход) и PULSE_OUT (выход)
 +
PULSE_IN выступает в роли “приемника”. Когда он получают команду от приемника, запускается назначенную ему функция, если установлена, к примеру, “pulse in”, то запускается единственная функция компонента. В примере с компонентом light, “toggle light” включает или выключает свет от компонента, когда данный сигнал получает команду.
 +
PULSE_OUT выступает в роли “передатчика”. Он НЕ получают команду от приемника, но может быть активирован через функцию компонента после ее завершения. К примеру, компонент “reagent pump” имеет сигнал “on transfer”, который активируется при успешной передачи реагентов в интегральную схему, и который при активации подаст сигнал всем подключенным PULSE_INам на активацию их функций. PULSE_OUT не могут быть подключены к другому PULSE_OUT.
 +
 
 +
Понимание работы сигналов является краеугольным камнем работы с интегральными схемами. В пример можно привести то, что компонент “button” имеет сигнал “on pressed”, который может быть подключен к компоненту “light”, пину “toggle light”, используя circuit wirer, который активирует функцию “light” и будет светить, до тех пор, пока у интегральной схемы есть ток, что позволяет пользователю интегральной схемы включать и выключать свечение интегральной схемы по нажатию кнопки. Вы также можете присоединить множество сигналов к одному сигналу, к примеру с той же кнопкой, Вы помимо активации функции света, можете связать сигнал с сигналом “play sound”, компоненты “beeper”, которая будет проигрывать звук, который был назначен ее в переменной (смотри список переменных в описание компонента). Это заставит машину помимо включения света проигрывать звук.
 +
 
 +
== Основы, часть IV, управление потоком. ==
 +
Управление потоком - термин, используемый в сфере разработки языков программирования для определения в какой последовательности запускается код. Данный принцип применим и в интегральных схемах. Хороший менеджмент сопряжения очень важен для больших и/или сложных схем.
 +
 
 +
У нас есть несколько компонентов для управлением потоком, а именно для разбора входного сигнала на несколько сигналов, использование таймеров для того, чтобы все было использована в нужный момент (лучше если логика схемы не будет зависеть от этого из-за проблемы [https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%B3%D0%BE%D0%BD%D0%BA%D0%B8 состояние гонки] ([https://en.wikipedia.org/wiki/Race_condition race condition])), также многие схемы уже есть заложенный функционал для исполнения функций после выполнения логики компонента (пример: on get coordinates на картинки ниже).
 +
 
 +
Вот пример того как выглядит такое состояние:
 +
 
 +
[[Файл:Race_condition.png]]
 +
 
 +
Когда кнопка нажимается, то она отправляет сигнал на исполнение логики GPS, затем сразу же отправляет сигнал на логику экранов, если логика GPS не успеет поставить полученные значение в салатовые и синие переменные до того, когда логика кнопки дойдет до вызова логик экранов, то экраны отобразят неверные значения.
 +
 
 +
= Создание простой интегральной схемы: шаг за шагом. =
 +
 
 +
Чтобы собрать всю информацию вместе давайте шаг за шагом создадим простой фонарик. Для этого мы возьмем корпус, батарею, мини-солнечную батарея, световую плату, кнопку.
 +
 
 +
Напечатайте необходимые предметы (батарейка в протолате) в интегральном принтере плат (Integrated Circuit Printer), для корпуса возьмите assembly type-a
 +
 
 +
[[Файл:Kushnya.png]]
 +
 
 +
Как только напечатайте эти предметы, вставьте все в корпус.
 +
 
 +
Как только Вы возьмете сборку в руку, или используете предметы, у Вас будут два варианта взаимодействия, внутренний интерфейс (слева) и внешний (справа)
 +
 
 +
[[Файл:Kushnya1.png]]
 +
 
 +
Обратите внимание на параметры пространство и сложность. Обратили? Забудьте.
 +
 
 +
Чтобы заставить схему работать, нам необходимо соединить канал сигнала кнопки с каналом сигнала света.
 +
 
 +
Приступим!
 +
 
 +
Возьмите в руки Integrated Wirer, подвяжите провод на pin’е “on pressed”
 +
 
 +
[[Файл:Kushnya2.png]]
 +
 
 +
Затем перейдите в компонент “light” (также при успехе Вы заметите сообщение в чате “You attach a data wire to button’s on pressed data channel”), потом соедините на “toggle light”
 +
 
 +
[[Файл:Kushnya3.png]]
 +
 
 +
Если у Вас получается так:
 +
 
 +
[[Файл:Int_pin_connection_suc.png]]
 +
 
 +
то продолжайте, у Вас уже почти получилось.
 +
 
 +
Вы присоединили два канала и теперь Ваша интегральная схема готова к работе.
 +
 
 +
[[Файл:Kushnya4.png]]
 +
 
 +
Осталось только закрыть корпус интегралки отверткой.
 +
 
 +
[[Файл:Kushnya5.png]]
 +
 
 +
Наша интегральная схема полностью завершена и работоспособна, зайдите в темную комнату и нажмите на кнопку. Поздравляю, бегите в бар за шампанским чтобы отметить свои первые шаги в карьере интегральщика!
 +
 
 +
До:
 +
 
 +
[[Файл:fin.png]]
 +
 
 +
После:
 +
 
 +
[[Файл:fin1.png]]
 +
 
 +
* “Да, будет свет!” © Бог.
 +
 
 +
Ну вот и все. Дальше вы можете делать все что пожелает ваша душа, замените ligth на advanced light, поэкспериментируйте с дебаггером (Circuit Debugger) и этим компонентом.
 +
 
 +
И это только снег с поверхности айсберга интегральных схем - есть возможность создать портативную зарядку энергетического оружия, устройство, которое будет переводить еду в реагенты и будет питать Вас ими, переводчики, которые позволят людям говорить не знаю языка друг друга, единственное ограничение интегральных схем - Ваше воображения*
 +
 
 +
\* если, конечно, нет компонентов для реализации, но инженеры с ЦК с радостью разработают для Вас любые компоненты.
 +
 
 +
Добро пожаловать в интегральные схемы, господа.
 +
 
 +
= Полезные советы =
 +
 
 +
* Tiny photovoltaic cell отлично подходит для питания простых схем.
 +
 
 +
* Starter компонент отлично подходит для загрузки базовой информации по работе с интегралкой.
 +
 
 +
* Вы можете сделать n-секундный тикер из n-секундного таймера и стартера, замкнув таймер вход и выход таймера на себя и подключив стартер ко входу таймера.
 +
 
 +
* Маленькие экраны показывают информацию только при осмотре, обычные экраны отображают информацию при осмотре и если Вы держите корпус. Большой в радиусе 1 метра.
 +
 
 +
* Не забывайте что почти любая деятельность на станции может быть автоматизированна с помощью интегральных схем. Главное обладать достаточной фантазией и навыками.
 +
 
 +
* Здесь пригодится больше простой математики, чем алгебры и тригонометрии. Теория групп и теория автоматизации содержит паттерны для решения большинства проблем с интегральными схемами, они не сложные, изучите их.
 +
 
 +
* Система интегральных схем позволяет опытным инженерам создавать убер-схемы для массового уничтожения космонавтов. ПОЖАЛУЙСТА, НЕ ИСПОЛЬЗУЙТЕ ИХ!!!! Мы любим схемы, они приносят нам всем веселья, не заставляйте инженеров с ЦК уничтожать платы из-за Ваших действий. Пожалуйста?

Текущая версия от 20:15, 12 мая 2023

В разработке…


Jobeng.png
Данная статья помечена как неоконченная. Это означает, что статья находится на доработке, поэтому является неверной или неактуальной.

Вы можете помочь проекту Onyxyeye@256x256.png Onyx и сообществу Animus-logo.png SS13 в целом — зайдите на наш Bus Mainframes.gif Портал сообщества.


Доступно из игры


Внимание! Материал, изложенный ниже, доступен для прочтения в виде книги Book2.png «Guide to Integrated Circuits» играющим на серверах SS13 нашего проекта.
Librarycomputer.gif

Постарайтесь не размещать ниже этой плашки информацию, которая не должна быть доступна персонажам внутри игры (см. OOC в IC).

Интегральные платыIntergrated printer.png

Дисклеймер: Интегральные схемы довольно сложны для восприятия “не-инженерного” ума. А для максимальной эффективности требуется несколько часов для поиска и прогона оптимального количества функций (компонентов) и их связей, в данном руководстве мы постараемся затронуть легкий к восприятию для всех людей способ организации производства интегральных схем.

Теперь отдел Исследования и Разработок может порадовать Вас системой автоматического сканирования органических форм жизни на наличие ранений, датчиками здоровья, которые могут передавать видео в режиме онлайн, автоматическими турелями, системами автоматизированного уничтожения или просто… Шприц? Действительно, Вы хотите запихнуть ШПРИЦ в проспекты нового отдела? Совсем поехавшие идиоты?! Ты уволен! Это не Вам, [ВСТАВЬТЕ НАЗВАНИЕ ВАШЕЙ ДОЛЖНОСТИ]. Да, ты, бери вещи и на выход. Впрочем, можно сделать все, что придет вам в голову при помощи новой СИСТЕМЫ ИНТЕГРАЛЬНЫХ СХЕМ™. Несмотря на то, что с первого взгляда они могут показаться трудными к использованию предметами, на самом деле все довольно просто, вдобавок наши инженеры всегда продолжают улучшать интерфейсы для облегчения работы с интегральными схемами, что не скажешь на другие филиалы, которые… Впрочем не важно. Что-ж… Начнем!

Дисклеймер: предыдущие утверждение о том, что разработку таких схем очень простая - наглая ложь. Конечно, для “простых” схем это легко, но когда Вы начнете создавать более продвинутые схемы Вам понадобиться немного школьной математики, возможно даже высшей (вузовской) математики, и, конечно же, знание возможностей из смежных отраслей станции (химия, ксенобиология, даже знания из отдела СБ). Впрочем, даже на взгляд опытного “интегральщика” простые схемы могут очень сильно удивить незнакомого со спецификой интегральных схем человека. Будьте готовы к непредвиденным последствиям.


Инструменты

Integrated Circuit Printer - Ваше все, тут создаются основы для Ваших схем, получаются компоненты, создаются инструменты для сопряжения компонентов.

Circuit Wirer - используется для создания связей между компонентами в интегральной схеме (печатается в Integrated Circuit Printer).

Circuit Debugger - позволяет выставлять значения в переменные, активировать пины уровня сигнала (печатается в Integrated Circuit Printer).

Батарея - используется для питание интегральной схемы. Без питания - нет работы интегральной схемы.

Опционально:

Circuit Analyzer - позволяет скопировать код интегральной схемы для последующего использования в других схем. РУССКИЙ ТЕКСТ НЕ ПЕРЕНОСИТСЯ

Circuit Detailer - инструмент покраски схемы в выбранной цвет, говорят, что такая интегралка на 20 процентов лучше работает, но это слухи.

Отвертка - используется для того, чтобы закрыть внутренности интегральной схемы от глаз пользователя этой схемы.

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

Разводной Ключ (wrench) - используется для закрепление интегралки на пол.

Руководство рассчитано на то, что у Вас есть хотя бы обязательные инструменты.

Основы, часть I, аппаратура, пространство и сложность.

Интегральная схема - дом компонентов. Без интегральной схемы - нет машины. Также интегральной схеме необходим источник питания - батарейка, для питания компонентов. Отдел РнД имеет доступ к протолату и зарядникам, поэтому проблем с питанием нет. Если Вы работаете в отделе, где не можете изготовить батареи, то попытайтесь поискать их на объекте или попросить у ученых. Также существует еще две важные переменные:

Space - пространство максимальное занимаемое компонентами в схеме, Вы не можете вставить больше компонентов по пространству (в сумме), чем указанное в данной переменной

Complexity - максимальная “сложность” схемы, Вы не можете вставить больше компонентов по сложности (в сумме), чем указанное в данной переменной.

Почти каждый компонент вставляемый в интегральную схему имеет 1 “пространство”, также у компонента есть “сложность”, которая зависит от того, сколько функций выполняет данный компонен. Например: кнопка выполняет одно действие - замкнуть цепь активации при нажатии, и поэтому она имеет 1 “сложность”, но интегрированный гипо-инжектор имеет функции инжектирования, высасывания реагентов в что-то и перемещение реагентов внутри схемы - 20 “сложности”.

Основная задача схемодела заключается в наборе “фич” схемы за наименьшее количество “сложности” и “пространства”. Количества “пространства” и “сложности” зависит от типа корпуса интегральных схем:

  • Сборки имеют малый размер, позволяют носить себя в кармане, имеют 25 пространства и 75 сложности
  • Устройства имеют очень маленький размер, имеют 25 / 2 пространства и 75 / 2 сложности.
  • Механизмы имеют средний размер, имеют 50 пространства и 150 сложности
  • Машины имеют большой размер, имеют 100 пространства и 300 сложности.
  • Дроны имеют большой размер, имеют 75 пространства и 225 сложности, единственные корпуса, которые могут перемещаться независимо от оператора.
  • Настенные устройства в зависимости от названия имеют разный размер и сложность, можно ставить на стены.

Простые по сложности схемы (фонарик, переводчик) стоит вставлять в корпуса типа сборки.

Более сложные, например устройства для выкачки крови обычно механизмы.

Cамые мощные устройства (по типу механизма получения ключа XOR encryption) - машины.

Дроны - более нишевые устройства, но открывают огромные возможности благодаря возможности перемещения.

Также у всех видов корпусов есть подтипы, они ничем не отличаются, кроме того как они выглядят.

Основы, часть II, Компоненты, Pin’ы и значения данных.

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

Компоненты печатаются из принтера интегральных схем. Множество “крутых” компонентов заблокировано, для того, чтобы их разблокировать требуется вставить диск, изученный в РнД. Компоненты можно переработать в металл, используя принтер интегральных схем, также Вы сможете переработать и корпус полный компонентами тем же способом. После переработки компонентов, Вы можете также переработать корпус.

Компоненты “общаются” между собой при помощи пинов. Пины подключаются друг к другу при помощи circuit wirer, включая пины внутри компонента, и с другими компонентами, также используются для передачи информации через сигналы.

Вкратце, это артерии и вены Ваших машин.

Существуют три типа пинов:

Pins metadata.png

Входные данные хранят информацию о том, как или над чем должен работать компонент, к примеру, какое количество реагентов надо вколоть в человека, или сколько энергии передать.

Выходные данные хранят информацию, которая выводится после выполнения программы компонента.

Сигналы говорят, когда выполнять программу компонента, и что делать при определенных случаях, чаще всего компонент содержит два сигнала: выполнить программу, выполнить программы после завершения данной программы.

У некоторых компонентов могут отсутствовать входные, выходные данные, сигналы или сразу все три. Пассивные компоненты такие как реле, не имеют пинов вообще и работают как только внутренние условия для работы удовлетворяются.

Пины различаются по переменным.

Переменные:

Используя Отладчик можно задавать переменным постоянные значения. Используйте его, чтобы выбрать тип переменной.

Переменные с типом <NUM> могут содержать только числовое значение.

Переменные с типом <INDEX> могут содержать только положительные целые числа

Переменные с типом <COLOR> могут содержать только HEX (закодированный шестнадцатеричный цвет) (прим. #A9A9A9 - серый).

Переменные с типом <REF> могут содержать только имя объекта (прим. Ivan Ivanov).

Переменные с типом <TEXT> могут содержать только текстовую строку.

Переменные с типом <LIST> могут содержать только список с различными переменными.

Переменные с типом <BOOL> могут содержать значения true или false. Их также можно задать числовым значением.

Переменные с типом <ANY> могут содержать любые значения.

Существуют компоненты, которые переводят один тип переменной на другой, например конвертер “number to text” принимает на вход число, а на выходе выводит число как текстовую строку.

Вы можете увидеть переменные рядом с именем пина, как и другие важные вещи:

Pins data.png

Как Вы уже знаете, Вы можете привязать два пина между собой используя circuit wirer, также Вы можете при помощи этого инструмента отвязать, для этого переключите его в режим unwire, нажав на инструмент и прожав на название сопряженного pin'а и название pin'а, к которому он подключен.

Основы, часть III - сигналы.

Как было сказано ранее - сигналы говорят, как и когда выполнять программу компонента. Это единственный способ заставить компонент сделать хоть что-то (если это не пассивные компоненты), так как даже если у Вас есть значения входных данных, то Вы все равно не сможете их использовать пока компонент не получит сигнал на использования данных. Существует два типа сигналов: PULSE_IN (вход) и PULSE_OUT (выход) PULSE_IN выступает в роли “приемника”. Когда он получают команду от приемника, запускается назначенную ему функция, если установлена, к примеру, “pulse in”, то запускается единственная функция компонента. В примере с компонентом light, “toggle light” включает или выключает свет от компонента, когда данный сигнал получает команду. PULSE_OUT выступает в роли “передатчика”. Он НЕ получают команду от приемника, но может быть активирован через функцию компонента после ее завершения. К примеру, компонент “reagent pump” имеет сигнал “on transfer”, который активируется при успешной передачи реагентов в интегральную схему, и который при активации подаст сигнал всем подключенным PULSE_INам на активацию их функций. PULSE_OUT не могут быть подключены к другому PULSE_OUT.

Понимание работы сигналов является краеугольным камнем работы с интегральными схемами. В пример можно привести то, что компонент “button” имеет сигнал “on pressed”, который может быть подключен к компоненту “light”, пину “toggle light”, используя circuit wirer, который активирует функцию “light” и будет светить, до тех пор, пока у интегральной схемы есть ток, что позволяет пользователю интегральной схемы включать и выключать свечение интегральной схемы по нажатию кнопки. Вы также можете присоединить множество сигналов к одному сигналу, к примеру с той же кнопкой, Вы помимо активации функции света, можете связать сигнал с сигналом “play sound”, компоненты “beeper”, которая будет проигрывать звук, который был назначен ее в переменной (смотри список переменных в описание компонента). Это заставит машину помимо включения света проигрывать звук.

Основы, часть IV, управление потоком.

Управление потоком - термин, используемый в сфере разработки языков программирования для определения в какой последовательности запускается код. Данный принцип применим и в интегральных схемах. Хороший менеджмент сопряжения очень важен для больших и/или сложных схем.

У нас есть несколько компонентов для управлением потоком, а именно для разбора входного сигнала на несколько сигналов, использование таймеров для того, чтобы все было использована в нужный момент (лучше если логика схемы не будет зависеть от этого из-за проблемы состояние гонки (race condition)), также многие схемы уже есть заложенный функционал для исполнения функций после выполнения логики компонента (пример: on get coordinates на картинки ниже).

Вот пример того как выглядит такое состояние:

Race condition.png

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

Создание простой интегральной схемы: шаг за шагом.

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

Напечатайте необходимые предметы (батарейка в протолате) в интегральном принтере плат (Integrated Circuit Printer), для корпуса возьмите assembly type-a

Kushnya.png

Как только напечатайте эти предметы, вставьте все в корпус.

Как только Вы возьмете сборку в руку, или используете предметы, у Вас будут два варианта взаимодействия, внутренний интерфейс (слева) и внешний (справа)

Kushnya1.png

Обратите внимание на параметры пространство и сложность. Обратили? Забудьте.

Чтобы заставить схему работать, нам необходимо соединить канал сигнала кнопки с каналом сигнала света.

Приступим!

Возьмите в руки Integrated Wirer, подвяжите провод на pin’е “on pressed”

Kushnya2.png

Затем перейдите в компонент “light” (также при успехе Вы заметите сообщение в чате “You attach a data wire to button’s on pressed data channel”), потом соедините на “toggle light”

Kushnya3.png

Если у Вас получается так:

Int pin connection suc.png

то продолжайте, у Вас уже почти получилось.

Вы присоединили два канала и теперь Ваша интегральная схема готова к работе.

Kushnya4.png

Осталось только закрыть корпус интегралки отверткой.

Kushnya5.png

Наша интегральная схема полностью завершена и работоспособна, зайдите в темную комнату и нажмите на кнопку. Поздравляю, бегите в бар за шампанским чтобы отметить свои первые шаги в карьере интегральщика!

До:

Fin.png

После:

Fin1.png

  • “Да, будет свет!” © Бог.

Ну вот и все. Дальше вы можете делать все что пожелает ваша душа, замените ligth на advanced light, поэкспериментируйте с дебаггером (Circuit Debugger) и этим компонентом.

И это только снег с поверхности айсберга интегральных схем - есть возможность создать портативную зарядку энергетического оружия, устройство, которое будет переводить еду в реагенты и будет питать Вас ими, переводчики, которые позволят людям говорить не знаю языка друг друга, единственное ограничение интегральных схем - Ваше воображения*

\* если, конечно, нет компонентов для реализации, но инженеры с ЦК с радостью разработают для Вас любые компоненты.

Добро пожаловать в интегральные схемы, господа.

Полезные советы

  • Tiny photovoltaic cell отлично подходит для питания простых схем.
  • Starter компонент отлично подходит для загрузки базовой информации по работе с интегралкой.
  • Вы можете сделать n-секундный тикер из n-секундного таймера и стартера, замкнув таймер вход и выход таймера на себя и подключив стартер ко входу таймера.
  • Маленькие экраны показывают информацию только при осмотре, обычные экраны отображают информацию при осмотре и если Вы держите корпус. Большой в радиусе 1 метра.
  • Не забывайте что почти любая деятельность на станции может быть автоматизированна с помощью интегральных схем. Главное обладать достаточной фантазией и навыками.
  • Здесь пригодится больше простой математики, чем алгебры и тригонометрии. Теория групп и теория автоматизации содержит паттерны для решения большинства проблем с интегральными схемами, они не сложные, изучите их.
  • Система интегральных схем позволяет опытным инженерам создавать убер-схемы для массового уничтожения космонавтов. ПОЖАЛУЙСТА, НЕ ИСПОЛЬЗУЙТЕ ИХ!!!! Мы любим схемы, они приносят нам всем веселья, не заставляйте инженеров с ЦК уничтожать платы из-за Ваших действий. Пожалуйста?