stationeers_ic10/auto_class_sorter.ic10

36 lines
736 B
Plaintext
Raw Normal View History

2023-04-01 14:57:11 +00:00
# Runs up to six sorters that filter
# throughput by ItemClass.
# When looking at the outputs,
# left = ITEMCLASS, right = everything else
2022-01-17 14:47:25 +00:00
alias SlotOccupied r0
alias InputClass r1
alias IsClass r2
alias SorterCounter r3
2022-01-17 14:47:25 +00:00
move SorterCounter 0
2022-01-17 14:47:25 +00:00
2023-04-01 14:57:11 +00:00
define ITEMCLASS 19 # 10=ores,19=ingots,33=wrekage
2022-01-17 14:47:25 +00:00
define INPUTSLOT 0 # sorter input-slot
start:
2022-10-24 14:19:36 +00:00
bdseal dr3 sort
add SorterCounter SorterCounter 1
bgt SorterCounter 5 reset
2022-01-17 14:47:25 +00:00
j start
sort:
s dr3 Mode 2 # set sorter to IC mode
2023-04-01 14:57:11 +00:00
# check if anything to sort
ls SlotOccupied dr3 INPUTSLOT Occupied
beqz SlotOccupied ra
ls InputClass dr3 INPUTSLOT Class
2023-04-01 14:57:11 +00:00
# change seq to sne to swap output ports
seq IsClass InputClass ITEMCLASS
s dr3 Output IsClass
2022-01-17 14:47:25 +00:00
j ra
reset:
yield
move SorterCounter 0
2022-12-18 14:52:18 +00:00
j start