Stationeers

Stationeers

73 ratings
Basic-IC10-Compiler
11
5
2
2
2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
313.314 KB
Dec 8, 2023 @ 1:15pm
Feb 20, 2024 @ 5:58am
5 Change Notes ( view )

Subscribe to download
Basic-IC10-Compiler

Description
This external tool is designed to compile Basic programming language into IC10 MIPS for Stationeers.
You can download the program from this link: [Stationeers-IC10-Automation] https://github.com/exca/Stationeers-IC10-Automation/tree/main/Basic-IC10.
New: Watch the video tutorial to understand how to start.

The tool operates as a standalone program where you can create better scripts using Basic, a high-level language, and then compile them into MIPS for the IC10 (a low-level language). The included minifier in the tool optimizes the compiled code, ensuring it uses fewer lines and helping you avoid reaching the 128-line limit.

Using a high-level language enables faster coding and the utilization of advanced IC10 functions with just a few lines of code. For both beginners and experts, we provide a "Quick Start Guide" with numerous examples.

Features implemented:
- Direct and indirect adressing
- Automatic registers and use o stack to store more registers
- Direct mode (l/s), Batch mode (lb/sb), Name mode (lbn/sbn), Reference ID mode (ld/sd)
- Channel variables
- Arrays of values (automatic stack management)
- Automatic Hash conversion
- If-then-else structure, while, for-next, foreach loops
- Goto, Recursive Subroutines, Custom functions

Check the online help to see the complete list of features and usage.
67 Comments
Oakrotic Jun 9 @ 10:00am 
@jarhead

The first result on google for "ChatGPT" is the tool, under OpenAI's site. OpenAI is just the business that develops it, perhaps you thought it was something different?

Anyways, here is the link : https://openai.com/
jarhead Apr 25 @ 7:39pm 
(too bad we can't use C#, C+, C++ or even basic html or java to code this stuff. (I have used those and the different code languages can get confusing while learning them.)
jarhead Apr 25 @ 7:37pm 
Where do I get ChatGPT because I have done a google search for it and keep finding a bunch of news stories or descriptions of it (and other stuff like that) but not the actual software itself or even a website that runs it publicly?
Exca133  [author] Apr 25 @ 3:59pm 
Hey @jarhead!
Technically, it is a completely different job. Unfortunately, it is very complex to do reverse compilation. In MIPS (the IC Code), you can program and use registers as you want. One function in MIPS can be part of many other functions when it comes to a higher-level programming language like Basic. So, there is no direct way to reverse the process and decompile a MIPS code.
What you can try is to use ChatGPT or any other tool that is able to read the Basic compiler documentation (you can download it and feed it to ChatGPT), and ask it to re-create your MIPS code into Basic.
Cheers,
jarhead Apr 25 @ 6:37am 
Can you add the ability to "decompile" ic code from stationeers to allow altering (editing) it for our use. This can also help us to learn to use the compiler faster (I have a few ic codes I made with help and want to make a few more custom codes and try to get the ones I already made to be more efficient.)
Exca133  [author] Apr 11 @ 6:04am 
Hey @Xinax, the save folder used by the Basic IC10 compiler isn't easily configurable. It's set automatically when the tool starts, and currently, there's no built-in setting to change the script save location.

Personally, I avoid using the save function altogether. I prefer to write and organize my code externally using Notepad++ (or any text editor), then use the compiler only to test and compile the script. When it's ready, I just copy and paste the final version into the game. This helps keep the in-game library clean and makes it easier to manage scripts by save or project. 😅

I know it's not the most flexible setup. Sorry for not having a better solution for you.
Cheers,
Xinax Apr 11 @ 5:38am 
Could it be possible, to change the directory where the scripts are saved? I like to code when I am not at home and find it a hassle to copy the Stationeers folder. Maybe like a setting to change the script location, to where I want.
Mr.Toy Jan 12 @ 3:25pm 
@Exca133 thank you for your suggestion.
Great! 8 variables is exactly what I need.
Exca133  [author] Jan 12 @ 3:08pm 
Hey @Mr.Toy, Thanks for your feedback. I'm considering adding a special array that will be a communication array to read/write remote stack, but I couldn't dedicate time to making more updates to the tool. That's definitely something I'll add.
An alternative you can consider is reading/writing on channels. It's not as powerful as reading/writing the stack, but you should be able to store 8 variables on a shared circuit this way.
Cheers!
Mr.Toy Jan 12 @ 1:16pm 
Hi, thanks for the excellent tool!
But I have a question, is there any possibility to use direct writing to the stack using the "put" command?