furnace
advanced-furnace.mips
arc-furnace-room-control.mips
furnace-calc-pre.mips
furnace-ingot-recipe.mips
furnace-operate.mips
furnace-room-vacuum-pump.mips
hot-cold-waste-tank-manager.mips
hot-tank-filler.mips
pressurize-furnace.mips
waste-tank-to-cold-tank-with-chiller.mips
furnace-waste-chiller.mips

manufacturing
vend-ingots-to-printer.mips
vending-ore-counter-omni-fast.mips
vending-ore-counter-omni-slow.mips
vending-ore-counter-single.mipsr
vending-ore-counter-triple.mips

greenhouse
larre-config-1.mips
larre-config-2.mips
larre-config-mars-a.mips
larre-config-mars-bdef.mips
larre-config-mars-c.mips
larre-farming-hardcoded.mips
larre-farming-stack.mips
larre-farming.mips
hydrolarre-farming.mips
greenhouse-ac.mips
greenhouse-o2-pressure-display.mips
greenhouse-oxygen-harvest.mips
greenhouse-temperature.mips
harvie-triple.mips
seed-distributer.mips
seed-sorter-old.mips
seed-sorter.mips
stacker-vending-button.mips

atmospherics
base-atmosphere-control.mips
battery-room-atmosphere.mips
battery-room-vent-setter.mips
harvest-cold-atmosphere.mips
harvest-liquid-from-atmosphere.mips
refrigeration-room.mips

mining rocket
rocket-driving.mips
rocket-miner-readout.mips

ore warehousing
ore-sorter-multi.mips
ore-sorter2-multi.mips
gas-rock-sorter.mips
centrifuge-ore.mips

gas handling
gas-filter-chain.mips
co2-tank-pressure-management.mips
fuel-mixer.mips
gas-harvester.mips
gas-mixer-nitrous.mips
n2o-heater.mips
pump-feed-nitrolyzer.mips
show-gas-pressure-triple.mips
manage-coolant-from-atmosphere.mips

doors
weather-gate.mips
door-switch-logic.mips

solar
solar-old.mips
1-axis-solar-panel-control.mips
2-axis-solar-panel-control.mips
batch-solar-control-dumb.mips
batch-solar-control.mips

biomass fuel
biomass-generator-pipeline.mips
biomass-generator-silo.mips
biomass-recycler.mips
charcoal-stockpile-display.mips

gas liquification
condenser-pollutant-limiter.mips
condenser-volatiles-limiter.mips
measure-condensation-rate.mips
cybernetic-regulator-clumsy-batch.mips
cybernetic-regulator-clumsy.mips
cybernetic-regulator-pid.mips
liquid-delta-volume-graph.mips
liquification-power-mgmt.mips
mars-nighttime-liquid-harvest.mips

H2 combuster / water
h2-combuster-condense.mips
h2-combuster-mixer.mips
h2-combuster-operate.mips

stockboy
stockboy-coalesce.mips
stockboy-config.mips
stockboy-fabricator.mips
stockboy-pre-fabricator.mips
stockboy-stacker.mips
stockboy-trucker.mips

AIMeE
aimee-old.mips
aimee-position-display.mips
aimee.mips


airlock-speed-vent.mips
airlock-tank-accelerator-mgmt.mips
battery-leveling.mips
centrifuge-miner-manager.mips
chamber-liquification-mgr.mips
chiller-purge-pump-controll.mips
cooling-gas-buffer-room.mips
cooling-gas-buffer.mips
display-avionics.mips
exhaust-gas-cooler-control.mips
flashing-light-mirror.mips
fuel-mixer-n2o.mips
fuel-mixer-o2.mips
gas-pressure-display.mips
greenhouse-parasite-battery-manager.mips
ice-logic-sorter.mips
ingot-divider.mips
light-console.manager.mips
light-manager.mips
loulan-airlock.mips
loulan-arc-furnace-room.mips
loulan-greenhouse.mips
low-gas-cutoff.mips
mars-atmosphere-harvest-n2-o2.mips
memorize-sunrise-sunset.mips
nitrolyzer-battery-threshold.mips
nitrous-warmer.mips
ore-sorter-1.mips
ore-sorter-2.mips
ore-sorter-logic.mips
power-charge-average.mips
power-consumption-triple.mips
radiator-control.mips
rocket-landing.mips
rocket-umbilical-safety.mips
seed-logic-sorter.mips
simpler-gate.mips
sorter-feeding-autooven.mips
trader-scanner.mips
vacuum-enforcer.mips
vend-ingots-to-printer-2.mips
vending-ore-counter-omni-hash.mips
workshop-off-button.mips

alias vending d0
alias hash r15
alias qty r14
alias index r13
alias accum r12
alias scanslot r11
define LASTSLOT 100
define MAXINDEX 55
define MODULUS 54 # magic
define MEMORYHASH HASH("StructureLogicMemory")
define DISPHASH HASH("StructureConsoleLED5")
define ASTROLOYHASH 412924554
define CONSTANTANHASH 1058547521
define COPPERHASH -404336834
define ELECTRUMHASH 502280180
define GOLDHASH 226410516
define HASTELLOYHASH 1579842814
define INCONELHASH -787796599
define INVARHASH -297990285
define IRONHASH -1301215609
define LEADHASH 2134647745
define NICKELHASH -1406385572
define SILICONHASH -290196476
define SILVERHASH -929742000
define SOLDERHASH -82508479
define STEELHASH -654790771
define STELLITEHASH -1897868623
define WASPALOYHASH 156348098
start:


get qty db 8
move hash HASH("display waspaloy")
jal display
get qty db 41
move hash HASH("display stellite")
jal display
get qty db 53
move hash HASH("display steel")
jal display
get qty db 11
move hash HASH("display solder")
jal display
get qty db 30
move hash HASH("display silver")
jal display
get qty db 10
move hash HASH("display silicon")
jal display
get qty db 40
move hash HASH("display nickel")
jal display
get qty db 43
move hash HASH("display lead")
jal display
get qty db 35
move hash HASH("display iron")
jal display
get qty db 21
move hash HASH("display invar")
jal display
get qty db 5
move hash HASH("display inconel")
jal display
get qty db 22
move hash HASH("display hastelloy")
jal display
get qty db 18
move hash HASH("display gold")
jal display
get qty db 44
move hash HASH("display electrum")
jal display
get qty db 46
move hash HASH("display copper")
jal display
get qty db 47
move hash HASH("display constantan")
jal display
get qty db 0
move hash HASH("display astroloy")
jal display

yield

move sp 0
clear:
push 0
blt sp MAXINDEX clear

move scanslot 0
nextslot:

ls hash vending scanslot PrefabHash
ls qty vending scanslot Quantity

mod sp hash MODULUS
add sp sp 1

pop accum
add accum accum qty
push accum

empty:
s db Setting scanslot
add scanslot scanslot 1
ble scanslot LASTSLOT nextslot

j start

display:
sbn DISPHASH hash Setting qty
move r0 2 # green
bge qty 40 setcolor
move r0 5 # yellow
bge qty 20 setcolor
move r0 4 # red
setcolor:
sbn DISPHASH hash Color r0
j ra

MIPS is the programming language used by IC (integrated circuits) in the game Stationeers. Stationeering web site has a MIPS emulator with syntax highlighting and error detection.