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
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

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

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


airlock-tank-accelerator-mgmt.mips
batch-solar-control.mips
centrifuge-miner-manager.mips
chamber-liquification-mgr.mips
cooling-gas-buffer-room.mips
cooling-gas-buffer.mips
display-avionics.mips
exhaust-gas-cooler-control.mips
fuel-mixer-n2o.mips
fuel-mixer-o2.mips
larre-config-1.mips
larre-farming-hardcoded.mips
larre-farming-stack.mips
light-console.manager.mips
light-manager.mips
loulan-airlock.mips
loulan-arc-furnace-room.mips
loulan-greenhouse.mips
measure-condensation-rate.mips
nitrolyzer-battery-threshold.mips
nitrous-warmer.mips
power-consumption-triple.mips
radiator-control.mips
simpler-gate.mips
sorter-feeding-autooven.mips
trader-scanner.mips
vend-ingots-to-printer-2.mips

alias sensor d0
alias vent d2
alias heater d3
alias cooler d4
alias led d5
alias wantHeat r1
alias wantCool r2

# wiki says 15<C<50
define toocold 290 # 16.85C
define toohot 305  # 31.85C
define pressureHigh 138
define pressureLow 100

move wantHeat 0
move wantCool 0

start:
yield

l r0 sensor Temperature

add r9 toocold wantHeat # some hysteresis
slt wantHeat r0 r9
bdns heater maybecool
s heater On wantHeat

maybecool:

sub r9 toohot wantCool # some hysteresis
sgt wantCool r0 r9
bdns cooler maybeled
s cooler On wantCool

maybeled:

bdns led maybeVent
sub r4 r0 273.15
s led Setting r4
# color 2=green, 0=blue, 3=orange
mul r3 wantHeat 2
sub r3 2 r3
add r3 r3 wantCool
s led Color r3

jal maybeVent

j start

maybeVent:
bdns vent ra

l r0 sensor Pressure

blt r0 pressureHigh notTooHighP

s vent Mode 1 #pump gas from room to pipe
s vent PressureExternal pressureHigh
s vent On 1
j ra

notTooHighP:
bgt r0 pressureLow notTooLowP

s vent Mode 0 #pump gas from pipe to room
s vent PressureExternal pressureLow
s vent On 1
j ra

notTooLowP:
s vent On 0

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.