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

# items that match the hash go to Output 1,
# unless Output 1 is blocked

alias target r15
alias inputhash r14
alias inputoccupied r13
alias out2occupied r12
alias polarity r11
alias target2 r10
alias chuteoccupied r9


start:
alias sorterfern d0
alias sorterrice d1
alias sorterwheat d2
alias chutefern d3
alias chuterice d4
alias chutewheat d5

define FERNSEEDHASH -1990600883
define POTATOSEEDHASH 1005571172
define WHEATSEEDHASH -654756733
define RICESEEDHASH -1691151239

#define FERNHASH 892110467
#define POTATOHASH 1929046963
#define WHEATHASH -1057658015
#define RICEHASH 658916791

define FERNHASH -1990600883
define POTATOHASH 1005571172
define WHEATHASH -654756733
define RICEHASH -1691151239

yield

move polarity 1
move target FERNSEEDHASH # fern seed
move target2 FERNHASH
alias sorter d0
alias chute d3
jal dosort

move target RICESEEDHASH # wheat seed
move target2 RICEHASH
move polarity 0
alias sorter d1
alias chute d4
jal dosort

move target WHEATSEEDHASH # wheat seed
move target2 WHEATHASH
alias sorter d2
alias chute d5
move polarity 1
jal dosort

j start

dosort:

bdns sorter ra

move chuteoccupied 0
bdns chute nochute
ls chuteoccupied chute 0 Occupied
nochute:

s sorter Mode 2

ls inputhash sorter 0 PrefabHash
ls inputoccupied sorter 0 Occupied
ls out2occupied sorter 0 Occupied

blez inputoccupied ra #no input, do nothing

select r0 polarity 2 1
ls out2occupied sorter r0 Occupied
bgtz out2occupied mismatch # uhoh, that output is backed up, use the other.

seq r0 inputhash target
seq r1 inputhash target2
select r1 chuteoccupied 0 r1
or r0 r1 r0
beqz r0 mismatch

s sorter Output polarity
j ra

mismatch:
seqz r0 polarity
s sorter Output 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.