I think I have found a way to fit a kilobit of memory into a little bit more than a 80 x 16 x 8 space. 8 bit words, and you can't read a single bit at a time.Does anybody know of memory denser than 1x2x5 space per bit?
Pictures! Yay!
Purple: When a pulse is sent to here (i think 2 ticks), each bit moves down one. I need a way to send pulses to a specific byte.
Blue: Input. Writes when a pulse is sent to purple. (Due to the nature of the setup, the same input can be wired to each byte. No need to send it only to one byte)
Yellow: Output. when 8 pulses are sent, this resets it and sends out 8 bits of data. Reading erases it, however you can route the information back to it so it keeps it's information fairly easily.
This is a signature. You are reading it. I am controlling your mind. You will not stop reading it until I tell you too....
.....
You will stop reading this signature.
Use /blockdata and /testforblock with signs. This way, you can have four bytes per data-storing block, all independent of each other. Of course, this only works in the 1.8 snapshot.
To set the data:
/blockdata <x> <y> <z> {Text1:1}
/blockdata <x> <y> <z> {Text1:0}
/blockdata <x> <y> <z> {Text2:1}
and so on...
to read the data:
/testforblock <x> <y> <z> standing_sign <data> {Text1:1}
/testforblock <x> <y> <z> standing_sign <data> {Text1:0}
/testforblock <x> <y> <z> standing_sign <data> {Text2:1}
and so on...
You could technically store more data per line (up to 15 characters), but for more flexible programming this is the best way.
In case you didn't know how to get the snapshot (you probably did, though, since you're advanced enough to need compact storage cells :D), go to http://mojang.com and scroll down a bit, until you reach the latest snapshot info.
since you're advanced enough to need compact storage cells
Actually, I'm pretty noobish when it comes to redstone. I don't have a need for compact storage, it's just a thing I discovered with redstone repeaters that made memory out of.
I don't have the snapshot, but I do know how to use it. I heard about new minecart mechanics and downloaded it for that so I could see if it would help a minecart system I built in survival.
I'll get some pictures set up, and see if any of you guys know how to access it without expanding it. (and also find out if anybody else has done this first)
This is a signature. You are reading it. I am controlling your mind. You will not stop reading it until I tell you too....
.....
You will stop reading this signature.
depending how fast this is, and how quick it is to write, this could be used in a queue/buffer/cache quite nicely. Can't be used for main memory though, 'cause branching statements.
I think the speed is 2 ticks/bit, for both read and write. Or, 1.6 seconds to read a byte.
Could you elaborate on the branching statements issue? I... suck at complex redstone.
Rollback Post to RevisionRollBack
This is a signature. You are reading it. I am controlling your mind. You will not stop reading it until I tell you too....
.....
You will stop reading this signature.
Branching statements are used in computers to jump from one position to another in the same memory module, then continue reading sequentially from that point. Basically it would need to work like RAM. The drawback of having a big ram memory is that the larger the storage, the bigger the delay in retrieval. Your (sequential) type of module has the advantage of reading at the same speed regardless of how much memory there is.
I take it that this reads the data serially? (one bit at a time)
You could speed it up by having 8 run in parallel to read 1 byte, in the time it takes to read 1 bit!
EDIT: hm, looking at this, you COULD use it as ram, but it would have to be serial. You'd need to attach the pulse line to all of the memory cells, then control which one is triggered with a comparator for each, connected to a decoder. Another way is to send the pulse through a demultiplexor connected to each cell. On the output side, I'd say use a pulser on each, connected to a common output wire.
EDIT EDIT: that'd probably quadruple the size of your memory unit tho.
You could also connect the output of one to the input of the next, then connect all the pulse inputs to make a repeater tape. (as opposed to piston tape, etc.)
Yeah, it reads it serially. But it works like ram--you can access whatever byte you wish, without reading the other bytes first. But it doesn't do it by the bit, but by the word (which in this case happens to be a byte). But isn't that how real computers read? You can't fetch a single bit, you have to fetch a section the size of a word?
Also, to your second edit: The way it's set up, I could just have a single demultiplexer. Also, yes, a tape could work.
Rollback Post to RevisionRollBack
This is a signature. You are reading it. I am controlling your mind. You will not stop reading it until I tell you too....
.....
You will stop reading this signature.
Pictures! Yay!
Purple: When a pulse is sent to here (i think 2 ticks), each bit moves down one. I need a way to send pulses to a specific byte.
Blue: Input. Writes when a pulse is sent to purple. (Due to the nature of the setup, the same input can be wired to each byte. No need to send it only to one byte)
Yellow: Output. when 8 pulses are sent, this resets it and sends out 8 bits of data. Reading erases it, however you can route the information back to it so it keeps it's information fairly easily.
.....
You will stop reading this signature.
To set the data:
/blockdata <x> <y> <z> {Text1:1}
/blockdata <x> <y> <z> {Text1:0}
/blockdata <x> <y> <z> {Text2:1}
and so on...
to read the data:
/testforblock <x> <y> <z> standing_sign <data> {Text1:1}
/testforblock <x> <y> <z> standing_sign <data> {Text1:0}
/testforblock <x> <y> <z> standing_sign <data> {Text2:1}
and so on...
You could technically store more data per line (up to 15 characters), but for more flexible programming this is the best way.
In case you didn't know how to get the snapshot (you probably did, though, since you're advanced enough to need compact storage cells :D), go to http://mojang.com and scroll down a bit, until you reach the latest snapshot info.
Actually, I'm pretty noobish when it comes to redstone. I don't have a need for compact storage, it's just a thing I discovered with redstone repeaters that made memory out of.
I don't have the snapshot, but I do know how to use it. I heard about new minecart mechanics and downloaded it for that so I could see if it would help a minecart system I built in survival.
I'll get some pictures set up, and see if any of you guys know how to access it without expanding it. (and also find out if anybody else has done this first)
.....
You will stop reading this signature.
I think the speed is 2 ticks/bit, for both read and write. Or, 1.6 seconds to read a byte.
Could you elaborate on the branching statements issue? I... suck at complex redstone.
.....
You will stop reading this signature.
Yeah, it reads it serially. But it works like ram--you can access whatever byte you wish, without reading the other bytes first. But it doesn't do it by the bit, but by the word (which in this case happens to be a byte). But isn't that how real computers read? You can't fetch a single bit, you have to fetch a section the size of a word?
Also, to your second edit: The way it's set up, I could just have a single demultiplexer. Also, yes, a tape could work.
.....
You will stop reading this signature.