Applet Suggestion: Nibbler-esque binary adder
Closed this issue ยท 12 comments
A fun thing you can do with the Schlappi nibbler is to generate gate patterns by using the adder. It's really simple and seems like it could be a fun applet for hemispheres. The user would choose a value to add/subtract with each clock, the number of bits in the adder, and choose two bits to route to the outputs. If we're feeling saucy you could also choose to output a stepped voltage, too. Given what a lot of the other applets are like, this seems like it would be pretty easy to implement.
So something like this:
TR1: clock TR2: reset
CV1: offset to add/subtract value CV2: offset to bit length ?
OUT1: configurable OUT2: configurable
The output choices would be a bit number or stepped voltage.
A fancier version of the applet would let you choose from pairs of bits and a boolean function on them for each output but I'm not sure if that's worth the additional UI complexity. It would still be less complex than DualTM so maybe that's fine?
Looks like an interesting idea, I might look into it and create a simple demo.
I did get some time to spend and worked on this little applet ("Cumulus"):
You can set the operation mode (ADD, SUB, MUL, XOR with ROTL) and assign the different bits of the accumulator register (Z) to the outputs. The constant value (k) can either be set by the encoder or the CV1 (this overwrites the encoder value).
It tested it and it gave some interesting rhythms, especially when modulating the constant. I might look into more interesting operations and maybe implement some stepped voltage output as well.
https://github.com/zerbian/O_C-Phazerville/tree/app-accumulator
The clock icon is just there to represent the current operation (as label), but I probably can get rid of it.
Are your icons supposed to be clouds? I cannot not really recognize their shape.
Haha they do seem like vague cloud-esque textures... do they tile? Could probably squeeze them into the header ๐
Happy to see this applet though, just in time to slip it into the next beta build for testing!
Sounds like a plan! I am going to fix some stuff I noticed, implement some parameter saving and then prepare a pull request.
Haha they do seem like vague cloud-esque textures... do they tile? Could probably squeeze them into the header ๐
These currently not much,
but if @zerbian might like the idea I could work on them!
Maybe we could bind the representation to some parameter or behaviour of the app!
Something like...
{ 0x20, 0xa4, 0x12, 0x12, 0x89, 0x61, 0x12, 0x10 }
{ 0x40, 0x10, 0x88, 0x84, 0x44, 0x48, 0x24, 0x10 }
{ 0x10, 0x28, 0x48, 0x90, 0xa0, 0x20, 0x58, 0x04 }
{ 0x08, 0x24, 0x12, 0x12, 0x89, 0x49, 0x32, 0x44 }
{ 0x48, 0x10, 0x88, 0x84, 0x44, 0x48, 0x24, 0x18 }
{ 0x10, 0x28, 0x48, 0x90, 0xa0, 0x40, 0x30, 0x08 }
or, another idea could maybe to cycle through them as an animation? Maybe.... As a Shift Register :-DD
Originally I choose the clock icon because I dint find any icon that corresponds to "Operation" or "Mode", so I choose the clock as the instruction only happens on the clock pulse. If you have a better idea, feel free to design something @ph1-xyz
I may be understanding now, it regarded the operation at the right and not something regarding clocking...
An idea that comes to my mind is that of the beaker, which, boiling will produce more or less (disordered) bubbles.
So, the icon could represent the bit-"entropy" produced from the app :-)
{ 0x70, 0x88, 0x07, 0x20, 0x00, 0x17, 0x88, 0x70 }
{ 0x70, 0x88, 0x27, 0x00, 0x90, 0x07, 0x88, 0x70 }
{ 0x70, 0x88, 0x27, 0x40, 0x90, 0x27, 0x88, 0x70 }