MicroController


Program circuit network logic using FAL, a Factorio Assembly Language. Has FAL's in-game compact wiki with a pdf reference file. Author: Luke Perkin. Modified by ZwerOxotnik and by contributors. Anyone can translate the mod on Crowdin. https://crowdin.com/project/factorio-mods-localization

Content
19 days ago
0.17 - 2.0
2.75K
Circuit network

i Some questions and suggestions

4 years ago

Very nice concept, but i have 2 questions/suggestions:

1) can you set a signal type instead of just copying it?
2) can you output more than a signal type (maybe on different wires)?

4 years ago
(updated 4 years ago)

Good questions/suggestions.

1) can you set a signal type instead of just copying it?

Seems possible but... (*thinking how much bugs will be...* oh...). Too hard to do a neat interface for it...

2) can you output more than a signal type (maybe on different wires)?

https://github.com/ZwerOxotnik/m-microcontroller/blob/0.17/FAL_REFERENCE.pdf "7. pointers"
You mean extend? Or... *thinking*

4 years ago

Seems possible but... (*thinking how much bugs will be...* oh...). Too hard to do a neat interface for it...

i'll be happy to have an instruction even without the nice gui :)
maybe something like this:
SIG MEM1 OIL (change signal type in MEM1 to OIL)
and a way to manually include non vanilla signal types

2) can you output more than a signal type (maybe on different wires)?
https://github.com/ZwerOxotnik/m-microcontroller/blob/0.17/FAL_REFERENCE.pdf "7. pointers"
You mean extend? Or... *thinking*

I need to output more than one signal, and maybe do it on separate wires, example:
MOV MEM1 OUTG2 (output the signal in MEM1 to green wire as second signal)

Other suggestions:
-the syntax is case sensitive, not a big problem but it's not intuitive
-can you swap the logic of the test instructions so they execute the next instruction if true, skip if it's false? as it is right now it's very confusing

4 years ago
(updated 4 years ago)

Please, notice this is not a conclusion so everything can be changed in N months.

SIG MEM1 OIL

Here we go again. Perhaps, it'll be like SIG MEM1 15 because it'll be work faster without parsing words etc and the mod needs to introduce the idea anyway. If it'll be not pdf file then in a user interface because too hard to learn so much sings. Hmm... Mini-hints can help to show all possibilities and even simplify some actions... m...

need to output more than one signal, and maybe do it on separate wires, example:
MOV MEM1 OUTG2 (output the signal in MEM1 to green wire as second signal)

Hm, it seems not so hard if I got it correctly.

the syntax is case sensitive, not a big problem but it's not intuitive

... I'll inspect the code and then I'll answer again

can you swap the logic of the test instructions so they execute the next instruction if true, skip if it's false? as it is right now it's very confusing

Yeah, it's simple and I'll test it.

4 years ago
(updated 4 years ago)

Seems I'll be learning from players to program better xD (currently, it's very nice for me)

4 years ago

I like this mod very much. Having been taught real-world microcontrollers using assembly, I am excited to use this to see what the capabilities of this mod are.

That said, here are a few suggestions:
The program memory is currently 32 words. It would make a world of difference to extend that to something like 256 or 512 words.

I would like to see something like 8 or 16 general purpose registers and RAM modules hold the same.

A status register. This would be a bit oriented register where you would have defined bit values like z (zero) and c (carry) which would allow for timer instructions like DECR (decrement) and INCR (increment) that can automatically test for status changes and generate conditional branches appropriately.

Once again, great mod, I hope it keeps going.

New response