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.