Delay-line combinators
Posted: Tue Jul 16, 2024 1:02 am
Lupoviridae wrote: ↑Fri Oct 16, 2015 9:03 pmMake a single clock that counts up to 60. This is done by connecting a constant combinator outputting a signal of one (I will call it "A" == 1) to the input of a decider. Then attach the output of the decider back to the input and set it to [When "A" < 60, output "A" (input count)]. Attach the output of this decider to the input of 2 new deciders. Set one to [When "A" == 1, output your read signal], and the other to [When "A" == 31, output your write signal].
Problem solved with 4 combinators If you don't want it to be constantly repeating, you can make a unidirectional clock that only starts counting up when some other signal is sent to it. This is done by taking your clock and instead setting it to [When "B" == 0, output everything(input count)]. Now the clock will count up indefinitely until it receives a signal of "B" == 1, when it resets to 0 and starts over.
Let me know if you need clarification on anything, I would be happy to build it in-game for you.
I've used timers like that before, but that doesn't work for certain applications. Sometimes you need a proper delay line.
Perhaps I am misunderstanding your suggestion. I thought you were asking for a compact method to introduce a signal delay, and the link provides two methods. If timed delay using a clock isn't a solution and the situation requires a brute force approach to propagation delay, what would the "delay line combinator" be doing if not using a clock to count down?scruffyvoltherder wrote: ↑Sat Jul 20, 2024 10:52 pmI've used timers like that before, but that doesn't work for certain applications. Sometimes you need a proper delay line.
It would be just like a bunch of "Each+0=Each" combinators in a line. Basically just a brute force propagation delay, but in the form of a single combinator. Internally, it would probably use a circular buffer. Each tick, it takes the signals from the input and put it in the buffer, and outputs the signals in the buffer from x ticks ago. just like how a real-world delay line works.If timed delay using a clock isn't a solution and the situation requires a brute force approach to propagation delay, what would the "delay line combinator" be doing if not using a clock to count down?