TechTech Technologies

Prometheus I Triple LFSR

Prometheus I, in general, describes an oscillator based on a linear feedback shift register (LFSR) with a manually-configured feedback configuration. In the VCV Rack plugin, a system is implemented for representing digital values as 0-10 V voltages (this was probably not necessary, and is kind of obtuse). The module includes three 16-bit LFSR's, each of which must be provided and external clock input (gate) and up to two taps inputs representing the feedback configuration. LED's provide visual representations of the register contents. Output is provided both as a binary waveform (the feedback bit, confusingly labeled 'A'), and an analog waveform (the value of the register, confusingly labeled 'D').

The depth input/output is used to define the mapping from analog voltage to digital value by defining the bit depth of the number. For example, at a bit depth or 4, 10 V  maps to 15, but at a bith depth of 8, 10 V maps to 255. When the depth input is not patched, the depth output gives the value set by the knob. In this way multiple modules using this system can have their bit depth configured from a single reference. The plugin includes a few utility modules to help with this.

DAC

The DAC module provides switches and logic inputs for controlling the individual bits of a digital signal. This can be used to emulate the original Prometheus I prototypes, which used pushbuttons to enable individual feedback taps. The 'A' output is the value mapped from 0 to 10 V according to the depth configuration (displayed by the blue LEDs). The 'D' output has the voltage corresponding to the configured value, e.g. 255 V for 0xff.

mDAC

the mDAC module is a small utility for generating fixed values more compactly than the DAC module. Just type in the value you want as hex or decimal.

Vulcan I

Vulcan I is a digital sequencing module that works by nagivating a rectangular area of 2-dimensional integers and combining them with logic gates to produce LFSR feedback configurations. Using the AND gate (^) produces this sort of fractal-looking pattern:

Since I'm thinking about it, here's a windows program I built when originally exploring this concept:  lfsrmask.bin  So here's the deal, something is wrong with the server's mimetype handling, and it thinks a zip isn't a zip. So I changed the extension to bin so that it would let me upload it, but it's really a zip. I'm sorry it had to be like this (honestly it would be better to put it on github, but I didn't use version control back then). In any case, this is an SDL app that simulates this sequencing behavior with three 2-bit LFSRs and a bunch of controls for configuring the sequencing. You can presumably build it on linux or whatever? IDK it has been so long since I dealt with this stuff.