Episode 18 is a stream, the first TIS-100 video since Episode 17 in May. It opens on the segment map with the Sequence Indexer, the same segment as Episodes 15 to 17. The commentary says this one is not beaten yet and starts it over from an empty grid. The hour goes into one problem: the stack memory node gives numbers back in the opposite order from the one Basket needs. By the end every test passes.
Starting from nothing
"I'm actually gonna start over," the commentary says, adding, "It's been like six months since I played it last, probably." The segment's text reads: "Sequences are zero-terminated. Read a sequence from IN.V. Read index values from IN.X. Look up index value in sequence. Write indexed value to OUT." The grid has two stack memory nodes in the second column, IN.V over the first column, IN.X and OUT on the third, and a red failed node in the top right corner.
The jump instructions come back from notes: JEZ, JNZ, JGZ, JLZ and JRO. The first program is three lines in the top left node, "MOV UP ACC," then "JEZ END" and "JMP START," to pour the sequence into the stack next to it. A test read pulls 860 off first. "Which is what we want."
Out of room
The center node gets the lookup. It takes a value, keeps the index in BAK, counts the index down with SUB 1 and SWP, and sends the value on when the count reaches zero. Each node has only so many lines, and the commentary runs into it more than once: "I'm out of room again. That's the problem I was having before." The first runs send one right answer and then wrong ones. Stepping through shows the values in the stack in what looks like random order.
At about 26 minutes the cause shows up: the lookup starts before the top node has finished filling the stack. "This thing isn't done yet. That's why they're all random." A wait goes in front. The next run turns up a smaller bug, a JEZ that tested ACC without anything ever being moved into it. With that fixed, the stack fills properly and shows the real problem. "It actually removes the last thing there." The values come back last in, first out.
Turning the stack around
The fix the commentary settles on is to pour everything from one stack into the other, which reverses it, and to signal between nodes so each step waits for the one before. The top left node is rewritten with SETUP, LP1, LP2 and WAIT labels, and a "MOV 0 RIGHT" that preloads an extra zero so the end of a sequence can be told apart. Along the way the game flags a red "UNDEFINED LABEL" while the jump names change.
Space runs out again in the center node, so part of the job moves to another node, and short signals, "MOV 1 LEFT" under NOTIFY and "MOV 1 UP" under DONE, pass the turn around the grid. At about 61 minutes a step-through looks right. "By golly, it looks very promising." On fast forward: "Is it going to fail? It didn't fail."
Where it ends
The result screen reads "Sequence Indexer - Test Passed": 6806 cycles, 7 nodes and 57 instructions. Another player's score beside it uses the same 7 nodes in 2457 cycles. Basket then removes jumps the nodes do not need, turning a JEZ and a JMP into one JNZ, and the next pass shows 53 instructions. "I beat it, I got it, that's all that matters."
Back on the segment map the commentary counts two more segments on the first tab and more puzzles on another tab, then says "that'll be the end of the stream." The picture goes black at about 68 minutes and stays black until the end card at 85:02.