Actions

Difference between revisions of "Integrated Circuit (IC10)"

From Unofficial Stationeers Wiki

(Marked this version for translation)
(See also)
(17 intermediate revisions by 10 users not shown)
Line 3: Line 3:
 
<!--T:1-->
 
<!--T:1-->
 
[[Category:Circuits]]
 
[[Category:Circuits]]
 +
[[Category:MIPS Programming]]
 
</translate>
 
</translate>
 
{{Itembox
 
{{Itembox
 
  | name        = Integrated Circuit (IC10)
 
  | name        = Integrated Circuit (IC10)
  | image      =  
+
  | image      = [[File:IC 10.png|thumb|IC Housing and IC10 disassembled]]
  | createdwith =  
+
  | createdwith = [[Electronics Printer]]
  | cost        =  
+
  | cost        = 10 [[Gold]], 4 [[Steel]], 5 [[Electrum]], 2 [[Solder]]
  | stacks      =  
+
  | stacks      = No
 
}}
 
}}
 +
 
<translate>
 
<translate>
 +
<!--T:2-->
 +
A chip that is programmed with a [[computer]]. Place the circuit in a [[Kit (IC Housing)|IC Housing]] or directly into the programmable slot of certain devices, e.g. [[Kit (Atmospherics)|Atmospherics]].  The [[MIPS]] language is used.
 
</translate>
 
</translate>
{{Structurebox
 
| name            = Integrated Circuit (IC10)
 
| image            =
 
| power_usage      =
 
| placed_with_item =
 
| placed_on_grid  =
 
| const_with_item1 =
 
| decon_with_tool1 =
 
| item_rec1        =
 
| const_with_item2 =
 
| item_rec2        =
 
| decon_with_tool3 =
 
| item_rec3        =
 
}}
 
<translate>
 
<!--T:2-->
 
A chip that is programmed with a [[Special:MyLanguage/computer|computer]]. Place the circuit in a [[Special:MyLanguage/Kit (IC Housing)|IC Housing]].
 
  
<!--T:3-->
+
= Where to get programs =
The [[Special:MyLanguage/MIPS|MIPS]] language is used.
+
* Write one by yourself using the [[computer]] or [[Laptop]].
 +
* Paste whatever you have found on the internet into your [[computer]].
 +
* Load from your private library program you have saved previously (even from different savegame).
 +
* Get one from Steam Workshop (first subscribe in steam, then in game it will be available in "library" on computer).
 +
 
 +
= How to create programs =
 +
== You'll need ==
 +
# Basic knowledge about math and logic
 +
# Whatever you're intending to program (e.g.: cycling airlock) you must be learnt to do manually (e.g.: close doors, turn on vents, etc)
 +
# Learn the MIPS programming language. MIPS is real world low-level (i.e. close to hardware) programming language. IC10 is MIPS with some Stationeers flavor added. It is fairly simple and compact. Due to its simplicity MIPS is not suitable for big programs but you re not going to develop those in the game anyways.
 +
 
 +
== How to start getting in the MIPS programing ==
 +
Get some simple program (even 10 lines will do), run it in Stationeers to see what it does and then read the text. Look into ingame editor help pages to decrypt keywords. MIPS keywords are abbreviations of English words and mostly make sense, eg. <code>beqz r0 foobar</code> means "'''B'''ranch (jump) to line labeled foobar if r0 '''EQ'''uals to '''Z'''ero".
 +
 
 +
= How to flash program onto the IC chip =
 +
# Setup a [[Computer]], wire it to power.
 +
# Insert a [[Motherboard (IC Editor)]] in it.
 +
# Place [[Kit (IC Housing)|IC Housing]].
 +
# Wire DATA (green, right) port of the computer to DATA (green, bottom) port on the IC Housing.
 +
## Unless you're going to actually use/test your program in this particular IC Housing you do not need to power it.
 +
# Insert [[Integrated Circuit (IC10)]] into [[Kit (IC Housing)|IC Housing]].
 +
# Turn on the Computer, look at its screen and see if your IC Housing is listed and selected in the drop-down selector. You can have several IC Housings on the same data network, in that case better be renaming them using [[Labeller]]. The IC10 Integrated Circuit itself can also be labeled (and painted).
 +
## Optional: click "Import" to retrieve a program from the [[Integrated Circuit (IC10)]] into the computer.
 +
# Click "Edit" to open the code editor. Write/load from "Library"/paste your program, click "Confirm".
 +
# Now Computer contains the new program and Integrated Circuit still contains old one (or empty program). Click "Export" on the computer to copy the program into the Circuit. If the IC housing is powered the program will immediately run. You can repeat "Export" as many times as you want and reuse old Circuits.
 +
# When Circuit is picked up size of the stored program in bytes is shown.
 +
 
 +
Note: Steps 1-6 can be used with a [[Laptop]] now as well.  The laptop includes an IC housing so you don't have to place your own and wire it to edit chips.  This is limited to editing chips that are in the laptop (1 at a time) and cannot be used to edit chips already on the network.
  
</translate>
+
= How to make use of programmed IC Integrated Circuit =
{{Data Network Header}}
+
# Place [[Kit (IC Housing)|IC Housing]], wire it to power, insert the Circuit
<translate>
+
# Connect DATA (green, bottom) port on the IC Housing to machines you want to control. Some machines like an [[Autolathe]] have a DATA port, you need to use it (or both DATA and POWER). Some machines like a [[Stacker]] only have "universal" port.
 +
# Unless you're going to modify/debug your program on place you do not require a [[Computer]] here.
 +
# Using [[Screwdriver]] adjust six (or less) screws according to program description/purpose. Many programs do assign labels to screws using <code>alias</code> command (that's considered good style), to take benefit of it you can turn on IC Housing for a short time (that way it will blink yellow, it's okay). If all screws are set to "None" a misconfigured program can do no harm.
 +
# Turn on the IC Housing.
  
</translate>
+
= How large a program can be =
{{Data Parameters}}
+
There are 128 lines each being 52 characters long. Each character (incl. line break) takes 2 bytes. Maximum size IC chip will show is 13566.
<translate>
 
<!--T:4-->
 
{| class="wikitable"
 
|-
 
! Parameter Name !! Data Type !! Description
 
|}
 
  
</translate>
+
= See also =
{{Data Outputs}}
+
* [[MIPS]] — basic info and command reference
<translate>
+
* [[Advanced IC10 Programming]]
<!--T:5-->
+
* [[WebEditor]] - Various web simulators and editors for IC10. Support partially simulating presence of different devices.
{| class="wikitable"
+
** [https://stationeering.com/tools/ic stationeering.com] by Melair - IC simulator and a web version of the in-game guidebook
|-
+
** [https://ic10.dev/ ic10.dev] by Traineratwot
! Output Name !! Data Type !! Description
+
** [https://ic10emu.dev ic10emu.dev] by Ryex
|}
+
* Syntax highlighting plugins for various editors
</translate>
+
** [https://marketplace.visualstudio.com/items?itemName=Traineratwot.stationeers-ic10 Visual Studio Code] - (Dec 12th 2023)
 +
** [https://pastebin.com/6Uw1KSRN KDE kwrite/kate text editor] - (Oct 5th 2020)
 +
** [https://pastebin.com/3kmGy0NN Notepad++] - (Mar 23rd 2024)
 +
** [https://drive.google.com/file/d/1Xrv5U0ZI5jDcPv7yX7EAAxaGk5hKP0xO/view?usp=sharing Notepad++] - (Aug 11th 2022)
 +
** [https://drive.google.com/file/d/1yEsJ-u94OkuMQ8K6fY7Ja1HNpLcAdjo_/view Notepad++] - (Dec 1st 2018)
 +
* [https://github.com/exca/Stationeers-IC10-Automation/tree/main/Basic-IC10 BASIC compiler] A BASIC compiler for Stationeers MIPS IC10 code, developed in C#, in Unity, by Exca
 +
<references />

Revision as of 02:08, 7 May 2024

Other languages:
English • ‎français
Integrated Circuit (IC10)
IC Housing and IC10 disassembled
Properties
Stacks No
Recipe
Created With Electronics Printer
Cost 10 Gold, 4 Steel, 5 Electrum, 2 Solder


A chip that is programmed with a computer. Place the circuit in a IC Housing or directly into the programmable slot of certain devices, e.g. Atmospherics. The MIPS language is used.

Where to get programs

  • Write one by yourself using the computer or Laptop.
  • Paste whatever you have found on the internet into your computer.
  • Load from your private library program you have saved previously (even from different savegame).
  • Get one from Steam Workshop (first subscribe in steam, then in game it will be available in "library" on computer).

How to create programs

You'll need

  1. Basic knowledge about math and logic
  2. Whatever you're intending to program (e.g.: cycling airlock) you must be learnt to do manually (e.g.: close doors, turn on vents, etc)
  3. Learn the MIPS programming language. MIPS is real world low-level (i.e. close to hardware) programming language. IC10 is MIPS with some Stationeers flavor added. It is fairly simple and compact. Due to its simplicity MIPS is not suitable for big programs but you re not going to develop those in the game anyways.

How to start getting in the MIPS programing

Get some simple program (even 10 lines will do), run it in Stationeers to see what it does and then read the text. Look into ingame editor help pages to decrypt keywords. MIPS keywords are abbreviations of English words and mostly make sense, eg. beqz r0 foobar means "Branch (jump) to line labeled foobar if r0 EQuals to Zero".

How to flash program onto the IC chip

  1. Setup a Computer, wire it to power.
  2. Insert a Motherboard (IC Editor) in it.
  3. Place IC Housing.
  4. Wire DATA (green, right) port of the computer to DATA (green, bottom) port on the IC Housing.
    1. Unless you're going to actually use/test your program in this particular IC Housing you do not need to power it.
  5. Insert Integrated Circuit (IC10) into IC Housing.
  6. Turn on the Computer, look at its screen and see if your IC Housing is listed and selected in the drop-down selector. You can have several IC Housings on the same data network, in that case better be renaming them using Labeller. The IC10 Integrated Circuit itself can also be labeled (and painted).
    1. Optional: click "Import" to retrieve a program from the Integrated Circuit (IC10) into the computer.
  7. Click "Edit" to open the code editor. Write/load from "Library"/paste your program, click "Confirm".
  8. Now Computer contains the new program and Integrated Circuit still contains old one (or empty program). Click "Export" on the computer to copy the program into the Circuit. If the IC housing is powered the program will immediately run. You can repeat "Export" as many times as you want and reuse old Circuits.
  9. When Circuit is picked up size of the stored program in bytes is shown.

Note: Steps 1-6 can be used with a Laptop now as well. The laptop includes an IC housing so you don't have to place your own and wire it to edit chips. This is limited to editing chips that are in the laptop (1 at a time) and cannot be used to edit chips already on the network.

How to make use of programmed IC Integrated Circuit

  1. Place IC Housing, wire it to power, insert the Circuit
  2. Connect DATA (green, bottom) port on the IC Housing to machines you want to control. Some machines like an Autolathe have a DATA port, you need to use it (or both DATA and POWER). Some machines like a Stacker only have "universal" port.
  3. Unless you're going to modify/debug your program on place you do not require a Computer here.
  4. Using Screwdriver adjust six (or less) screws according to program description/purpose. Many programs do assign labels to screws using alias command (that's considered good style), to take benefit of it you can turn on IC Housing for a short time (that way it will blink yellow, it's okay). If all screws are set to "None" a misconfigured program can do no harm.
  5. Turn on the IC Housing.

How large a program can be

There are 128 lines each being 52 characters long. Each character (incl. line break) takes 2 bytes. Maximum size IC chip will show is 13566.

See also