Difference between revisions of "Integrated Circuit (IC10)"
From Unofficial Stationeers Wiki
(Updated how large a program can be to match the current game version as of 2024-08-19) |
|||
(4 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
<!--T:1--> | <!--T:1--> | ||
[[Category:Circuits]] | [[Category:Circuits]] | ||
− | [[Category: | + | [[Category:IC10 Programming]] |
</translate> | </translate> | ||
{{Itembox | {{Itembox | ||
Line 15: | Line 15: | ||
<translate> | <translate> | ||
<!--T:2--> | <!--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 [[ | + | 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 [[IC10]] language is used. |
</translate> | </translate> | ||
Line 28: | Line 28: | ||
# Basic knowledge about math and logic | # 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) | # 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. | + | # (Optional) Learn some of the basics of 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 | + | == How to start getting in IC10 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. | + | 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. IC10 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 = | = How to flash program onto the IC chip = | ||
Line 56: | Line 56: | ||
= How large a program can be = | = How large a program can be = | ||
− | There are 128 lines each being | + | There are 128 lines each being 96 characters long. Each character takes 1 byte. Line breaks take 2 bytes. The Maximum size an IC chip can be is limited to 4096 bytes. |
= See also = | = See also = | ||
− | * [[ | + | * [[IC10]] — basic info and command reference |
− | |||
* [[Advanced IC10 Programming]] | * [[Advanced IC10 Programming]] | ||
− | * [https://stationeering.com/tools/ic | + | * [[WebEditor]] - Various web simulators and editors for IC10. Support partially simulating presence of different devices. |
− | * [https://github.com/exca/Stationeers-IC10-Automation/tree/main/Basic-IC10 | + | ** [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 | ||
+ | ** [https://ic10emu.dev ic10emu.dev] by Ryex | ||
+ | * Syntax highlighting plugins for various editors | ||
+ | ** [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 /> | <references /> |
Revision as of 11:17, 19 August 2024
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 IC10 language is used.
Contents
[hide]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
- 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)
- (Optional) Learn some of the basics of 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 IC10 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. IC10 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
- Setup a Computer, wire it to power.
- Insert a Motherboard (IC Editor) in it.
- Place 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 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.
How to make use of programmed IC Integrated Circuit
- Place IC Housing, wire it to power, insert the Circuit
- 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
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. - Turn on the IC Housing.
How large a program can be
There are 128 lines each being 96 characters long. Each character takes 1 byte. Line breaks take 2 bytes. The Maximum size an IC chip can be is limited to 4096 bytes.
See also
- IC10 — basic info and command reference
- Advanced IC10 Programming
- WebEditor - Various web simulators and editors for IC10. Support partially simulating presence of different devices.
- stationeering.com by Melair - IC simulator and a web version of the in-game guidebook
- ic10.dev by Traineratwot
- ic10emu.dev by Ryex
- Syntax highlighting plugins for various editors
- Visual Studio Code - (Dec 12th 2023)
- KDE kwrite/kate text editor - (Oct 5th 2020)
- Notepad++ - (Mar 23rd 2024)
- Notepad++ - (Aug 11th 2022)
- Notepad++ - (Dec 1st 2018)
- BASIC compiler A BASIC compiler for Stationeers MIPS IC10 code, developed in C#, in Unity, by Exca