The Quest for Tetris

For discussing this: goo.gl/kuCiRF | VarLife: goo.gl/StrPLC |...
Apr 10, 2019 11:23
Antifreeze
Jan 24, 2019 21:09
@ASCII-only @MilkyWay90 I moved everything to github, here's a new link to the rule file
Jul 13, 2018 14:22
Jul 13, 2018 14:22
I also found out that you can do Layer -> Set Layer Colors... and change the colors to black and white, making the actual tetris board more visible
Jul 13, 2018 13:33
I have tetris working on the 8x8 based computer. It's a lot smaller: from a bounding box of 1436x5027 to 944x3666, decreasing the area taken up by just over a half.
Jul 3, 2018 02:27
Well, you guys started this all, I just joined in and added on to the original hardware with a bunch of trial and error. I did none of the interpreter work, compiler work, hardware architecture decisions like RSIC and harvard layout, the tetris programming, or metacell design. Give yourselves some credit, too!
Jul 3, 2018 01:48
I guess I'll do a byte first, and go from there.
Jul 3, 2018 01:47
I'd imagine that both would be fine, but only utilizing 8 of the 16 bits seems a bit inefficient.
Jul 3, 2018 01:44
For recieving data, should do 16 bits instead of just a byte?
Jul 3, 2018 01:43
It sounds doable, I'll take a look into it.
Jul 3, 2018 01:30
@quartata I'm not entirely sure about how to convert a metacell signal to a stream of gliders/LWSSes, considering that metacells take thousands of generations to pass their signal from one metapixel to another.
Jul 1, 2018 02:52
Alive and well, but somewhat inactive... oops
Jul 1, 2018 02:41
I was pretty burned out on this project for a while, but recently I've gotten back to making the computer based on 8x8 tiles instead of 11x11. The circuitry should be done, but I still need to test the computer a bunch to make sure I didn't forget anything.
Oct 29, 2017 22:24
I feel like we all are kinda slowing down with working on this... oops...
Oct 1, 2017 03:25
I'd require quite a bit of work to be able to execute from RAM, but I'll read about the trampoline to see if we can find a workaround
Oct 1, 2017 03:10
And then, the next instruction should be whichever the PC is set to
Oct 1, 2017 03:09
Actually, the first instruction executed is always instruction 0
Oct 1, 2017 03:08
Technically yes
Oct 1, 2017 03:07
yes
Oct 1, 2017 03:06
PC is indeed RAM address 0
Sep 29, 2017 01:09
I think I have part of an idea: make a multiplexer take an input from some sort of memory (modified synchronizer?), and have that memory be set by a new operator
Sep 29, 2017 00:59
It doesn't seem as hard as some of the other things I have done, though
Sep 29, 2017 00:59
I'd imagine that we would need to do some sort of paging technique, but I don't really know how that would work
Sep 26, 2017 04:04
@quartata If the computer hits and unused instruction, I think (I haven't checked) that it would write the value 0 to the destination (argument 3). The computer would run normally aside from that.
Sep 26, 2017 04:00
Bad news: There's still a lot to go... and stuff is already starting to look like spaghetti.
Sep 20, 2017 02:19
I'm currently trying to make a computer based on 8x8 cells, so that hashlife could go even faster.
Sep 20, 2017 02:04
Since the RAM reading and writing are both controlled by multiplexers, you should just be able to exchange some RAM tiles for a bus to work.
Sep 20, 2017 01:59
The only real reason why we would need to see the state of a metapixel is if we want RAM to be physically readable. I'm guessing that without this, we might stretch the rules of the original challenge, but it shouldn't affect the actual computer's performance
Sep 16, 2017 19:35
Still not HNQ :P
Sep 16, 2017 00:53
@Mego Done
Sep 15, 2017 03:11
It might be doable
Sep 15, 2017 03:11
Although, I would need to figure out something else for buffering
Sep 15, 2017 03:11
I could do it so that only the most recent piece of data is stored
Sep 15, 2017 03:10
The issue with that is if too much data is sent, some might get lost
Sep 15, 2017 03:10
I mean, we could just use a single synchronizer
Sep 15, 2017 03:06
We technically could do both
Sep 15, 2017 03:01
I'm not 100% on board with ports. Could someone tell me what should happen for ports?
Sep 14, 2017 13:43
The number of steps per cycle can vary, since some instructions read from RAM and some instructions take longer to read in general.
Sep 14, 2017 03:03
Although, I did make links on a bunch of the images, so you can click on most of the images to open them in varlife
Sep 14, 2017 03:03
True... I guess make varlife links?
Sep 14, 2017 03:01
I should make some animated gifs of all the components. I feel maybe that would make understanding easier.
Sep 14, 2017 01:09
It's amazing how flexible you can make the wires using these B1/S and B2/S cells, and that definitely helped to get things working
Sep 14, 2017 01:07
I'm actually kinda surprised, too
Sep 14, 2017 01:05
And all the timing works out
Sep 14, 2017 01:05
At least the inputs and outputs are aligned with the 11x11 grid
Sep 14, 2017 01:05
(It's a read counter)
Sep 14, 2017 01:04
Don't worry about it
Sep 14, 2017 01:04
That is some 100% totally not jank circuitry
Sep 14, 2017 01:00
Everything is based on collisions, so synchronization is essential