2022-01-17 14:47:25 +00:00
|
|
|
# Runs up to six sorters that filter throughput by ItemClass
|
|
|
|
# When looking at the outputs, left = ITEMCLASS, right = everything else
|
|
|
|
|
2022-09-13 18:22:22 +00:00
|
|
|
alias SlotOccupied r0
|
|
|
|
alias InputClass r1
|
|
|
|
alias IsClass r2
|
|
|
|
alias SorterCounter r3
|
2022-01-17 14:47:25 +00:00
|
|
|
|
2022-09-13 18:22:22 +00:00
|
|
|
move SorterCounter 0
|
2022-01-17 14:47:25 +00:00
|
|
|
|
|
|
|
define ITEMCLASS 19 # 10=ores, 19=ingots, 33=wrekage
|
|
|
|
define INPUTSLOT 0 # sorter input-slot
|
|
|
|
|
|
|
|
start:
|
2022-10-24 14:19:36 +00:00
|
|
|
bdseal dr3 sort
|
2022-09-13 18:22:22 +00:00
|
|
|
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
|
2022-09-13 18:22:22 +00:00
|
|
|
ls SlotOccupied dr3 INPUTSLOT Occupied # check if anything to sort
|
|
|
|
beqz SlotOccupied ra
|
|
|
|
ls InputClass dr3 INPUTSLOT Class
|
|
|
|
seq IsClass InputClass ITEMCLASS # change seq to sne to swap output ports
|
|
|
|
s dr3 Output IsClass
|
2022-01-17 14:47:25 +00:00
|
|
|
j ra
|
|
|
|
|
|
|
|
reset:
|
|
|
|
yield
|
2022-09-13 18:22:22 +00:00
|
|
|
move SorterCounter 0
|
2022-10-24 14:19:36 +00:00
|
|
|
j start
|