SCOPE Solution

XOR TEETH

SCOPE ACT 4

In-game screenshot of XOR TEETH
In-game view
FamilySCOPE Graph0.555 Difficulty0.555 Ring04 IDsc_a4_01_xor_teeth

Prerequisites

DRIP FEED

Unlocks

ABS DIFFERENCE

Reference firmware sc_a4_01_xor_teeth locked
Par power520 Par lines11 Par chips1

Objective

A counter is whitened by xor before it reaches the DAC.

Board Data

  • Window: 64
  • Pins: p0 OUT
  • Channels: p0 ANALOG label=CH1_p0_DAC
  • Peripherals: DAC data=p0 label=DAC_p0
Firmware Solution
; XOR TEETH reference. A counter climbs by the per-case step (input[1]) and is
; whitened by the per-case xor mask (input[0]) before the DAC, so the same firmware
; draws every case in the battery; the seeds are read from the input, not immediates.
        mov  r2, 0
        ldb  r3, [r2]      ; r3 = xor mask (input[0])
        mov  r2, 1
        ldb  r4, [r2]      ; r4 = ramp step (input[1])
loop:
        mov  r1, r0
        xor  r1, r3        ; whiten the counter
        out  p0, r1
        slp  1
        add  r0, r4        ; climb by the per-case step
        jmp  loop
Board Definition
# XOR TEETH. ACT 4. SCOPE waveform board.
# TITLE XOR TEETH
# OBJECTIVE A counter is whitened by xor before it reaches the DAC.
# The battery moves both the ramp step and the xor whitening mask, seeded into the
# input, so a captured transcript of one tooth pattern diverges on the next: only a
# firmware that reads the seed and computes the xor locks every case.
ID sc_a4_01_xor_teeth
WINDOW 64
DIR p0 OUT
PERIPH DAC data=p0 label=DAC_p0
CHAN p0 ANALOG label=CH1_p0_DAC
CASE phase=85 k=17
INPUT addr=0 label=MASK
INPUT addr=1 label=STEP
PAR power=520 lines=11 chips=1