An extremely nerdy waste of time, combining two of my biggest fetishes...

… hexagons and logic gates!
http://www.mojang.com/notch/logichex/

I managed to build a proper four bit adder in that. :smiley:

mahaha, is there a plan to implement a VM for it?

Considering how hard the adder was; no. :wink:

This is really funny!

[quote]Cell inputs are up, lower right and lower left.
Cell outputs are down, upper left, and upper right.
[/quote]
Isn’t it the opposite? If I place a + above an OR, it will stay off, but it will turn on if I place a + below it.

That’s one of the most entertaining things I’ve seen in while.

It has a similar feel to the game of life. I haven’t tried, but I’d bet you could make some pretty neat systems by using the cyclic patterns that sometimes appear. You could encode information by setting up cyles of different frequencies, and broadcast these frequency signals down ‘wires’ (made of ORs) to a signal reciever somewhere.

I got a two-bit adder working, in a parallelogram 60 by 20 hexes ( a four bit one would be around 60 by 40) . I haven’t found a way of making nice condensed AND gates though… mine are pretty big.

(Oh… and what would be nice is a way to save/load what you’ve done)

Amusing…indeed.

I guess that i ll stick to it for some time.

Good job.

The key would be to not build an adder, but a decoder and multiplexer then you could peice those into everything else.

Very cool stuff though. Alternative forms of computation are fascinating to me. I’d read something awhile back about a research group working on computation with self organizing tiles, this might give us a glimpse into something like that.

Hum, a 4 bit adder. I thought this would be easy… It’s coming up with a tidy way of doing the carry’s that makes it hard. The logic is easy, the layout is the killer. Not sure I have enough time for this.

You can make some nice oscillators in this as well. How about a slow update option, so we can make counters?

Alan :slight_smile:

Isn’t it the opposite? If I place a + above an OR, it will stay off, but it will turn on if I place a + below it.
[/quote]
Yeah, it’s… wrong. I’ll fix that.
I’ll also add some more features, like being able to save the grid as a base 64 encoded rle packed string (and load it again, of course), and an update speed control. :slight_smile:

Here’s a “leaky intersection” and a NAND gate:

http://www.mojang.com/notch/logichex/crossnand.gif

The intersection swaps two pipes, but it leaks three “bits” of data down the wrong pipe when it does so.
The NAND is probably close to optimal in size.

For two pipes at at angle, here’s a (fairly large) intersection:

http://www.mojang.com/notch/logichex/intersect.gif

Markus, what inspired you to come up with this thing? This is awesome…

Am I doing something wrong?

The instructions state:
Cell inputs are up, lower right and lower left.
Cell outputs are down, upper left, and upper right

So since I am sending an on signal out of the “+”, shouldn’t the 3 attached cells be on as well? I only took one digital electronics course a long time ago, so please correct me if I missunderstand.

Thanks.

Woo, thanks. :smiley:

I’ve always had a thing for hexagons. They just feel so LOGICAL.
Combine that with an interest in cellular automata (not that this is proper CA) and a fascination with logic gates, and this idea was bound to happen.
When I realized that the inputs and outputs would line up perfectly and still allow loops, I just had to implement it.

The first version was actually a flash applet:
http://www.mojang.com/notch/cellogic/

By the way, there’s a new version up:

  • Click and drag with the left mouse button to paint
  • You can now load/save grids by using the nifty base 64 encoded panel to the right. Just paste the data you want in there and click “Load”

The instructions were wrong… my bad.
The outputs are the other three cells. The html page should be updated now.

Here’s a full adder:

==== BEGIN LOGICHEX ====
H4sIAAAAAAAAAO3bsQ0CMRBEUSMZcYEDVsLBBdcFBdDCdUQJlEwDREzg5L38a5NNp82jt0RV1p9h
X/WM+jm3sN+jvvfK+nlkfYX3z7BP78+5tu/Z/67uR9i3tB8j6wEAAAAAAAAAAAAAAAD4qb/0ev3f
/TvsP5esv4f947q2T/ezt7Dfwn4P+2w//wWqGfl3AEAAAA==
==== END LOGICHEX ====

It uses the leaky intersection, so it outputs the wrong value briefly.
The inputs are are the bottom, and are (from left to right):

Carry in
A
B

The outputs are at the top and are (from left to right):

S
Carry out

If you made every change update all cells immediately this would be a nice approximation of ‘quantum dot’ logic… Did I just invent that term?

edit; umm, no I didn’t.

[quote](and load it again, of course)
[/quote]
Or if you use this device you won’t have to:

http://ingemeda.tripod.com/imag/wom1.jpg
http://ingemeda.tripod.com/imag/wom2.jpg

A stackable one bit adder with carry in and out. Hope this post works :wink:


==== BEGIN LOGICHEX ====
H4sIAAAAAAAAAO3TMQqDQBCGURdibCJY6D1yhC1Wxc4id8hFPZiH+ItAeK//GBhmuu7XPmH/DfsW
9mvJ+jJGee2z+XXrs749o/7cH1E/tSHq5+uV9Ue2/7ZEeXy+6ftNYf8OewAAAAAAAAAAAAAAAAAA
+CM3O5rkYQBAAAA=
==== END LOGICHEX ====

The carry input is at the bottom, the carry output is at the top. The two inputs are difficult to spot. They are the two '+'s on the lower part of the right hand side. The output of the one bit adder is also difficult to find. Start at the input carry and move 3 spaces up and then one diagonally up to the right. Yep that one!

I had a bit of trouble getting this out of the edit box on my mac. dragging it seemed to do the job.

/Edit: It does work after all. My first post misidentified the data output.

/Edit2: Just spotted Markus’ has posted his adder. It’s much tidier than mine, with all the inputs and outputs much neater. Bah Humbug ;D

Or if you use this device you won’t have to:

http://ingemeda.tripod.com/imag/wom1.jpg
http://ingemeda.tripod.com/imag/wom2.jpg
[/quote]
… write only memory?
Surely that’s a joke. :smiley:

Right? looks worried

Wow, that’s tiny! :-o

Hmm, looks like they weren’t so happy about having the files linked. Here’s a better link to the data sheet:

http://academics.vmi.edu/ee_js/Research/IC_Datasheets/digital_cmos/Write%20Only%20Memory.pdf

Sorry for going off-topic :).

(Here’s an explanation for why it exists: http://en.wikipedia.org/wiki/Write_Only_Memory)