/ src / protomatter.pio
protomatter.pio
 1  ; data format (out-shift-right):
 2  ; MSB ... LSB
 3  ; 0 ddd......ddd: 31-bit delay
 4  ; 1 ccc......ccc: 31 bit data count
 5  
 6  .wrap_target
 7  top:
 8      out x, 1
 9      out y, 31
10      jmp !x delay_loop
11  
12  data_loop:
13      out pins, 32
14      jmp y--, data_loop
15  .wrap
16  
17  delay_loop:
18      jmp y--, delay_loop
19      jmp top
20  
21      ;; fill program out to 32 instructions so nothing else can load
22      nop
23      nop
24      nop
25      nop
26      nop
27      nop
28      nop
29      nop
30      nop
31      nop
32      nop
33      nop
34      nop
35      nop
36      nop
37      nop
38      nop
39      nop
40      nop
41      nop
42      nop
43      nop
44      nop
45      nop
46      nop