So the promised moment is here. After:
a million hours of designing and debugging,
490 overlapping ports
408 XOR gate
250 AND gate
96 memory latches
56 NOT gate
25 OR gate
1 BUFFER gate
1 FILTER gate
and countless bugfixing, landscapping, pipelining and labeling to make the game OCD friendly,
i am proud to present to you, the ARN Vortex 1.490 (a.k.a somebody made a gfx in factorio, so i felt like i had to make a cpu in ONI),
an= 8-bit microprocessor, inspired by the Arm Cortex structure
As of yet, it can read/write from memory to registers, load registers, load from immediate and it also has a 2-digit BCD display
If you go to the power overlay, everything is tagged with heavy watt-wire and a weird character set.
How do you turn it on? Go on the top left of the map. There is an assembly with an "IMMEDIATE", a "CTRL" a "CLK" and a power button with a switch. Turn it on and enjoy.. Before you press it, i suggest you leave the game at slow speed, because even so it will be too fast for what you'd normally expect from an automation circuit. I am not kidding. At the fastest speed, the automation speed is far faster than my game fps.
Anyway, what i have set up as a demo, is a simple program. It will do those things:
enable ouput from immediate and ldB (load to register B)
it will perform ldA but on an empty Bus, thus will clear itself.
Then it will loop those actions
LDA + ADD
write enable A + RW
What this means is that it
will load A and enable the output of ADD, thus assuming it's value
then it will enable writing to memory and will store it in whichever is the selected cell.
The BCD decoder has latches that will latch onto the data bus and periodically poll it's value. It works asynchronously to the cpu and that's because doors have an animation speed and the CPU will do all the things i said, almost 3 times faster that that (powered airlocks mind you).. It has it's own clocking mechanism that demonstrates perfectly why i avoid buffer and filter gates (the display is prone to problems and faulty latching if you have the clock off-screen).
The rest of the system is totally bug free and independent of automation of game time, so it will NEVER miss an automation step. Also you can do the trick with waiting the system to trigger and then see it step by step by building automation cable on top of already existing one.
Much more to come. I will add SUB, NOT (with 1's and 2's complements, bitwise XOR and comparator, bitwise AND, bitwise OR, SHL,SHR,ROL,ROR and a program counter, oh and some ROM.
Anyway have fun, hope you like it. Also a tip, if you can't see gates in a place that is supposed to have them, toggle the automation overlay off and on again.
As a little introduction to computing, switch the maching off and put another value in the immediate,then start it again
p.s.I won't be making a guide as of yet because it is unfinished. If you experiment with it, then know that every single component in there, is there for a reason. Study what excactly happens before you touch anything and give a second thought on what you are about to do to, and don't, no, i mean DONT save if you don't verify what you did works,or you may end up redownloading the map
Arn Vortex v1.490 stable.sav