
I plan to procrastinate the USB Disk Mode interface to spin out CA fro CHAOS tomorrow.
Initial Proposed Operators
CA.R 123 | select rule 123
CA 63 | set current value to 63
CA | get next value
Larger Data Set
We can make the set wider, but on teletype, weâll only be able to access 16 of them at a time, as we use 16 bit integers. Whatâs musically most useful? 64 cells (= 4 x 16 bit)?
To support windowed operation on a larger data set, we will need to allow the user to access the offset of the window, either as:
- Number of bits relative to MSb or LSb
- Number of words (16 bits) relative to MSB or LSB, i.e.: its window number
- This effectively limits the range of the offset, which might be musically limited
For example,
CA.OFFSET 17 | set window offset to 17 bits from MSb position
--- OR ----
CA.WINDOW 3 | get current value at window 3
Additionally, using a window means we need an access operator that does not iterate
CA | get current windowed value
CA.NEXT | get and store next iteration
Edge behaviour
Who likes the idea of configuring edge mode between WRAP, ZERO, and ONE?
CA.WRAP 1 | set wrap at edge on | looks clumsy, but
CA.ONE 1 | set '1' at edges on | follows paradigm
CA.ZERO 1 | set '0' at edges on |
If we had to prefer one of the behaviours, which one would be most useful?