Yes, and thank you! What you have made is amazing. This will make transmissions much smoother. My own designs are not working well, so if I showcase the final product, you will have your place in the credits.
honestly I think the only practical way to do a display would be to use 8 bits for all columns, then a bit for each row. each of the 8 bits is.. anded to a bit for each row, but you have to activate one row at a time instead of the entire 8x8 square. So it may be 8 times slower, but the wiring is more efficient.Even if we were to use 'blocks' for each character as small as 8x8, we would need 64 wires to carry the mapping from the read-only memory to the display.
If we were to stack wires, this large wire would still be 32 blocks thick, unless we build some sort of timing load-unload thing (gaps in time between signals, either one length or another for every pixel on the screen?), which could be done across a single wire (although for now, I'm not even going to try building
We now have readable memory! You guys are amazing.
This might not be the best thread to post in. I'm posting this anyway.
Now: screens and displays!
It would be amazing if we could store a register of characters (end goal, copy 0-127 of unicode?) and map them onto a screen using some sort of read-only drive with characters stored inside.
A problem comes quickly; the data required to transport the signal to this screen would be huge and awkward to carry across large distances.
Even if we were to use 'blocks' for each character as small as 8x8, we would need 64 wires to carry the mapping from the read-only memory to the display.
If we were to stack wires, this large wire would still be 32 blocks thick, unless we build some sort of timing load-unload thing (gaps in time between signals, either one length or another for every pixel on the screen?), which could be done across a single wire (although for now, I'm not even going to try building one [EDIT: I might have to]).
Edit, thanks to NiraExecuto who has built a transmission system using one wire for any amount of signal, I will be using to use 8 wires per 'block'/character.
A second problem, how do we build this screen?
In real life, our screens are two dimensional, with the data flowing in from the behind, in the third dimension. In three-dimensional games like minecraft, this can be easy enough to recreate.
However, Terraria is far less three-dimensional. The transparency of wires and the presence of multiple colours help, however a large two-dimensional screen would require massive amounts of signal travelling through every part of the screen.
If someone could make such a screen, I'd be astounded.
We should instead try to use a one-dimensional screen.
Yes, it sounds boring. But then I realised that there are four colours of wire, each of which could form a row in the second dimension.
On top of this, there can be both a top and bottom input section, increasing the height to 8.
Granted enough space between 8x8 'Blocks', we could make it a proper 2D screen,
although for now, an 8-pixel thick screen, longer across the other dimension using a load-unload system involving timing seems to be the way to go.
Now, to build this in-game. I'll give an update if I work something out.
Here's the memory device that I'm using for my calculator:
If you ignore the extra 3 bits at the right, then what you have is a RAM chip that can store up to 16 16-bit numbers, though the device can easily be tiled to increase the storage size. Also, by replacing the vertical bit shifter on the left with a binary multiplexer, you can select a memory location using another binary integer.
I noticed the design could be compacted slightly by having the input and output tiling on top of each other. It makes the design 4x5, but can be tiled on top of itself, in a way, essentially making it 3x5.
Although tiling this would make it look way more rectangular instead of square. Just a tip; I didn't know if you were interested in compacting it.