Syscall 2: Firmware, home

SignalChapter 1: Arrival

3SPLITTER

The task

OUT does not change A, so use two OUTs on core a to send each value to b and to c.

P and Q must each receive every value from X, unchanged.

The board

The board of SPLITTER3 cores: a, b, and c. Inputs X; outputs P and Q.aSC-2 15 LINESbSC-2 15 LINEScSC-2 15 LINESP0P1P2P0P1P0P1XPQ
The board as the puzzle screen lays it out. Cyan pins read, lemon pins write, violet pins go both ways. On a narrow screen, scroll the board sideways to see all of it.

Key idea

One core feeds two: OUT does not change A, so A is sent twice.

Hints

Each hint goes a step further than the one before. Open them one at a time.

Hint 1Show

Read each value once. A second IN on core a would take the next value from X.

Hint 2Show

On core a, OUT P1 writes A to b, and OUT P2 writes the same A to c.

Hint 3Show

Cores b and c only pass values along: IN P0, then OUT P1.

Solution

Reveal the Full SolutionThe complete program for SPLITTER. Open it only when you want the answer.

The reference program

The game's own solution. It passes every test and scores exactly par on every benchmark.

A writes each value twice, once to each branch.

aSC-2 standard

IN P0
OUT P1
OUT P2

bSC-2 standard

IN P0
OUT P1

cSC-2 standard

IN P0
OUT P1
CYCLES
198
at par
ENERGY
1638
at par
NODES
3
at par
INSTRUCTIONS
7
at par