This board is to show, discuss and archive useful combinator- and logic-creations.
Smart triggering, counters and sensors, useful circuitry, switching as an art , computers.
Please provide if possible always a blueprint of your creation.
DaveMcW wrote:I updated my single digit display, using XKnight's integer overflow alphabet to cut the size in half. It can still be chained together for multiple digits.
I used a version of your display for a project of mine and I found that you can take off one of the arithmetic combinators from the bottom while still keeping the input ticks aligned, and you can remove 2 arithmetic combinators if you don't mind a 1 tick interrupt when changing numbers.
If you are displaying a number over 210k, you actually end up overflowing the integer limit in the display's internal workings, but it turns out that it doesn't affect the result at all.
How do multiple digits work? I mean what's the logic or equation or anything that splits a number? I'm fairly certain I could make a display for 1-9, even 0-9 with some struggling. But I have no idea how to tell after an input of (for example) 125 that "you display 1, you display 2 and you display 5".
I know I could just dl the blueprints but I'm afraid my head would explode if I wanted to understand these I like to figure stuff out for myself.
You know you only realize how cool are the blueprints above if you try to build a counter yourself. Mine didn't have zero filtering, yet I had to use a bit more hardware. Ok, I'm a layman. I was still very proud after smashing the last bug.
Found this thread from a Google image search. This stuff looks fun! Way better than Redstone ever was! I spent a few hours to make my own first stab at one of these.
I'm already trying to think of how to improve it, and how to let the text scroll. I've already semi-planned an encoding scheme so you could send text via cargo train (assuming you had the same dictionary at both sites), but even to me that feels a little extreme.
In case anyone is curious about how this works, I sort of reverse engineered DaveMcW's single-digit hexadecimal one from two posts earlier. These were my notes.
Signed int range: [-0x80000000, 0x7fffffff] = [-2^31, 2^31 - 1]
const = 16^7 = (2^4)^7 = 2^28 = 0x10000000
const is a 1 in the leftmost hexit of an int.
The single-hexit display is set up like this:
each(constants) - (input * const) = outputs
There's 15 lamps, each conditioned on a multiple of 100:
if anything(outputs) = 100*n; n=[1,f]
This is the numbering of the output display:
Each line which is not #*const is a series of offsets of the number on the line before. The offsets correspond to elements of the display. Each of these offsets is a multiple of 100. So, "3*const; 235" means, "3*const + 2*100", "3*const + 3*100", and "3*const + 5*100".
1234679acdef (the a is the distributed blue assembler)
These ones result in a single overflow, so subtract the range of an int:
over = 16^8 = 2^32 = 0x100000000
8*const - over
9*const - over
a*const - over
b*const - over
c*const - over
d*const - over
e*const - over
f*const - over
I don't know what the purpose is for adding 100 to everything. It works just the same without it.