From 17edfceec33903afb90e9c2b8d0e608d65fd3149 Mon Sep 17 00:00:00 2001 From: Snorre Selmer Date: Mon, 17 Jan 2022 15:47:25 +0100 Subject: [PATCH] Initial commit --- auto_class_sorter.ic10 | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 auto_class_sorter.ic10 diff --git a/auto_class_sorter.ic10 b/auto_class_sorter.ic10 new file mode 100644 index 0000000..3ee1cb3 --- /dev/null +++ b/auto_class_sorter.ic10 @@ -0,0 +1,37 @@ +# Runs up to six sorters that filter throughput by ItemClass +# When looking at the outputs, left = ITEMCLASS, right = everything else + +alias occupied r0 +alias input_class r1 +alias is_class r2 +alias sorter_counter r3 +alias is_ready r4 + +move sorter_counter 0 + +define ITEMCLASS 19 # 10=ores, 19=ingots, 33=wrekage +define INPUTSLOT 0 # sorter input-slot +define OUTPUTCYCLE -1 + +start: +jal sort +add sorter_counter sorter_counter 1 +bgt sorter_counter 5 reset +j start + +sort: +bdns dr3 ra +s dr3 Mode 2 # set sorter to IC mode +l is_ready dr3 Output +bgt is_ready OUTPUTCYCLE start +ls occupied dr3 INPUTSLOT Occupied # check if anything to sort +beqz occupied ra +ls input_class dr3 INPUTSLOT Class +seq is_class input_class ITEMCLASS # change seq to sne to swap output ports +s dr3 Output is_class +j ra + +reset: +yield +move sorter_counter 0 +j start \ No newline at end of file