very cool ! fwiw, there is also the quintessential ‘nand to tetris’ book & website which also goes into building a complete machine from nand gates. and once you are done with it, you can enjoy a cool game of tetris on your creation !
Very cool. Currently on Condition, is this meant to be possible with just or(1), and(1), inv(1), is_neg(16) and is_zero(16)? I can’t see how it could be, shouldn’t there be an add(16) and negate(16) for this?
EDIT: I ended up skipping Condition. The rest were all very enjoyable.
It is certainly possible. No need for arithmetic computation, only different ways of comparing against Zero.
Maybe you misunderstood something about the specification?
Yeah I think I read it the first time as comparing two numbers instead of just comparing one number to zero. Opened it up and did it quite quickly today.
Up to the ALU, you could sort of see the components you are building will be useful. But afterwards, I didn’t always really follow the reasoning through. I wish it let you design the instructions, or at least let you think about them. That seems like the more interesting/difficult part.
That and maybe a “hard mode” where you have access to all your previous components.
Would something like this work at a decent speed on real hardware (if you don’t mind the size) or is there normally too much optimization going on?
Very cool, I got stuck on the OR gate and then ended up down a rabbit hole of browsing through google results on building logic gates with transistors…
Yeah, also tried to play on a touch device with Fennec browser, and dragging an item is rendered at like 2 fps, and grabbing the arrows is almost impossible. i once built a half adder to count from 0 to 7 using minecraft redstone, so i guess i’m pretty permissive on UI, but here, I gave up on the 20th attempt to drag a gate to the litter bin to remove it. This would be fun without the annoying drag and drop UI! Why not just touch source, touch target? And make the target areas larger? (Also dreaming of a text mode version.)
very cool ! fwiw, there is also the quintessential ‘nand to tetris’ book & website which also goes into building a complete machine from nand gates. and once you are done with it, you can enjoy a cool game of tetris on your creation !
I have that book! It was given to me as a gift!
Well, that was a lot more productive than when I lost that day to making paper clips…
Very cool. Currently on Condition, is this meant to be possible with just or(1), and(1), inv(1), is_neg(16) and is_zero(16)? I can’t see how it could be, shouldn’t there be an add(16) and negate(16) for this?
EDIT: I ended up skipping Condition. The rest were all very enjoyable.
It is certainly possible. No need for arithmetic computation, only different ways of comparing against Zero. Maybe you misunderstood something about the specification?
Yeah I think I read it the first time as comparing two numbers instead of just comparing one number to zero. Opened it up and did it quite quickly today.
I think condition is impossible! I did ever other level though.
I emailed the author thanking him for the great game & pointing out this level was not solvable.
Edit: OK I finally did it! It wasn’t impossible, just very hard!
Why would you need add(16) or negate(16)?
This is pretty nice. I just finished it.
Up to the ALU, you could sort of see the components you are building will be useful. But afterwards, I didn’t always really follow the reasoning through. I wish it let you design the instructions, or at least let you think about them. That seems like the more interesting/difficult part.
That and maybe a “hard mode” where you have access to all your previous components.
Would something like this work at a decent speed on real hardware (if you don’t mind the size) or is there normally too much optimization going on?
it is kind of like the minimum most simple CPU. A lot of extra features to speed it up can be added. Like a pipeline.
Right, but how many times slower do we expect if this is used unmodified?
The follow up question would be: what optimization to do if you could only pick 1 or 2?
Very cool, I got stuck on the OR gate and then ended up down a rabbit hole of browsing through google results on building logic gates with transistors…
This looks cool but it’s inaccessible on a phone with touch and drag controls.
Yeah, also tried to play on a touch device with Fennec browser, and dragging an item is rendered at like 2 fps, and grabbing the arrows is almost impossible. i once built a half adder to count from 0 to 7 using minecraft redstone, so i guess i’m pretty permissive on UI, but here, I gave up on the 20th attempt to drag a gate to the litter bin to remove it. This would be fun without the annoying drag and drop UI! Why not just touch source, touch target? And make the target areas larger? (Also dreaming of a text mode version.)