• PC NEWS: 1.4.2.3 update is out! More info here. Report bugs here
  • Journey's End on Xbox and PlayStation!: Get all the info by clicking here. A new patch is in QA - expect some Gamepad love, the return of Red's Pick and more. Click here for Known Issues and FAQ. For any other bugs, report them (with as much detail as possible) here.
  • MOBILE NEWS: Stay up to date with the latest mobile news here. Report mobile bugs here

1.3.1 Calculator-Style Decimal Display With a Single Keypad

DicemanX

Brain of Cthulhu
Prior to 1.3.1 calculator-style displays were a huge pain to create, and they involved a massive number of dummy statues. In 1.3.1, the gates make it almost trivial to create, although the tough part is ensuring that the entire mechanism is compatible with other components (such as various converters, ALUs etc.). In the mechanism I created the wires from the display can be extended into a BCD storage unit which in turn can be hooked up to a BCD/binary converter.


Video:

https://gfycat.com/GreatOrangeBlackrhino



As you can see I use a single keypad (with the top row corresponding to 1,2,3, the middle corresponding to 4,5,6, the bottom corresponding to 7,8,9 and the single switch at the bottom corresponsing to 0). Each time a number is entered it pushes the digits into higher magnitude positions. The lever up top resets the display.


Schematics:

00eMsth.png
PwKXI1H.png



Explanation:

Each row of gates represents one of ten digits. Two AND gates send signals vertically to each seven segment display and those AND gates are activated via the horizontal wires. To the left of each pair of AND gates is a transistor, which serves as both a reset mechanism for the current digit position, and as a transmitter of that digit to the next (leftward) digit position. The vertical blue wires activate the transistor faulty lamps to activate them. The reset/transmission function only occurs if the lamp next to the box in the transistor is ON.

I resorted to a hoik track to create delays between activations of all the transistors - they necessarily have to be activated from the leftmost coulumn to the rightmost column. if the transistors are all connected to the same wire, it would cause a puff of smoke at certain AND gates if the same digit were input consecutively, since the one transistor would feed back on the AND gate to shut it down, while another transistor would transmit a signal to the same gate. If the signals arrive in the same tick the AND gate ends up smoking and only one output signal is sent to the seven segment display instead of two.

There should be a way of avoiding the hoik track altogether, but this is not so critical right now. The hoik track operates at a speed much faster than the manual input of digits, so it doesn't cause any slow-down.

The clear function is also not amazing (since I need to have the dummy activate the transistors as many times as there are digits in the display), but for the moment it is more efficient than adding tons more transistors just be be able to shut everything down in 1 tick.


Next Stage:

Up next is hooking up this display to a BCD storage unit, and then add a converter to convert BCD to binary. Once the number is converted into binary it can be used in calculations. I am aiming to recreate this with logic gates:


However, I will be expanding the calculator greatly to allow for the input of very large numbers, not 1-999 that I was limited to pre 1.3.1.

Furthermore, this systematic approach to sequential inputs can be used for any number of inputs. It can be used for a keyboard for instance - if a Terraria keyboard were to consists of, say, 10 digits and 26 letters, then the number of rows would end up increasing to 36. Wiring is never an issue because we can use junction boxes.
 
Last edited:

ZeroGravitas

The Destroyer
10 digits and 26 letters, then the number of rows would end up increasing to 36
And from 7-segments to, say 14, it would probably go from 2 to 4 AND gates (or 5, perhaps?) per digit-segment-pattern-driver. So each column would be twice as wide too, but then the character displays would need to be a fair bit bigger to look right, from experience. Although yellow wire and junction boxes should help get connections into the segments easier. So that whole assembly would take up, say 9 times more space than you current one. Definitely tractable.

Definitely be very compelling (and a relatively small couple of steps from here, as you say) to build a scrolling message board system that reads in a series of pre-programed (or user programmed) characters. Definitely could be a fun welcome screen for your future world downloads.:)

Wiring is never an issue because we can use junction boxes.
A limit I have in mind is with wire colours when connecting from some gates and faulty lamp transistors, which can only have a maximum of 3 wire colours out, since the input lamp has to be adjacent to the output. What do you think, call them: FLTs, or FTLs (faulty transitor logic/lamps) or TFLs as you have...
transistor faulty lamps

There should be a way of avoiding the hoik track altogether
Probably, but I'm not so sure there's going to be a way to avoid having some kind of hoiktronics, or at least another kind of clock source external to the chains of logic gates. We'll see, I guess; very early days with this new wiring system. :)
 

Niranufoti

Plantera
Probably, but I'm not so sure there's going to be a way to avoid having some kind of hoiktronics, or at least another kind of clock source external to the chains of logic gates. We'll see, I guess; very early days with this new wiring system. :)
We already discussed that a bit in the Order of Operations thread - if activating the transistor columns at once, it should work; only the clearing might be a problem, which can be fixed by some voodooing (or, possibly, by adding a seperate clear-only transistor).

What do you think, call them: FLTs, or FTLs (faulty transitor logic/lamps) or TFLs as you have...
I'd just stick with "transistors", or, if clarification is needed, "Faulty Lamp Transistors". After all, they're transistors made using faulty lamps.
 

DownsPath

Terrarian
how did you save all the numbers? i made 1 row off logic gates for each number, i cant see how you managed to display each number, without saving them in transistors

EDIT: oh now i see it, i am an idiot :D nice build, i would not have thought of this :D
 

ekinator

Golem
It makes me very sad that it uses hoiks..... so I remade it without that :D

hU4QLIZ.png

tpeT4nm.png

The point I am showing is that the only excuse for using hoiks is for making engines ;)
 

Programmatic

Steampunker
Here's the keypad that I made for the floating point calculator I'm working on. The numbers are typed in from left to right, and the next two levers after the numbers are used to place the decimal point and toggle the sign of the number. The last lever clears the display. I've also made a float->BDC and BCD->float converter, which I'll show once I'm done with the calculator.

1r51fc.png


oanos3.png
 
Last edited:
Top Bottom