28 comments

[ 2.3 ms ] story [ 75.1 ms ] thread
Cycles seem to invoke undefined behavior instead of being outright disallowed.

For these sorts of things I tend to go to the circuit simulator[0].

Also, for a game that teaches about this stuff while still being incredibly fun, I highly recommend Turing Complete[1].

[0] http://www.falstad.com/circuit/circuitjs.html

[1] https://store.steampowered.com/app/1444480/Turing_Complete/

More recently, Sebastian Lague has revived a video series on digital circuits [1] and the software featured in the series is made available [2] with a full source code.

[1] https://www.youtube.com/watch?v=QZwneRb-zqA (2 years ago), and more recently: https://www.youtube.com/watch?v=hEDQpqhY2MA and https://www.youtube.com/watch?v=_3cNcmli6xQ

[2] https://sebastian.itch.io/digital-logic-sim

Ohhh I didn't realize that his software was available! That's really neat, his videos are great!
Do they have a mac version?
If you're referring to Turing Complete, yes it's available on Windows, Linux and Mac.
Falstad's circuit simulator helped me become the engineer I am today. It's an internet gem if you ask me
Logism is still a great program although it requires an old Java runtime environment, 1.5.0. Many schools still seem to use it however (development ended in 2014).

Perhaps its descendant is Digital?

https://github.com/hneemann/Digital

Logism is what I learned on and really liked it. Good to learn about alternatives, especially if logism is "complete" and isn't being ported to any newer runtimes.
I cannot recommend Digital enough. It is quite new. Clearly inspired by Logisim but not derived from it.

It has support for switches like FETs and relays, and you can implement open collector logic with pull-up resistors.

It can analyze and reduce combinatorial logic. It can generate Verilog and VHDL output from a diagram. And, IMO best of all, you can implement individual components in Verilog/VHDL and plop them as graphical elements in your circuit; when you simulate, it will fire up iverilog or ghdl in the background and communicate with them transparently.

It's fast too; one of the demo circuits is a complete processor and it simulates it at around 300 kHz on my machine.

Heh if it was for my kid how about a modern version of Rocky's boots.

I learned this stuff around 10 playing that game and didn't even realize what I was learning cause it was fun.

But it definitely worked.. I aced every class I ever took that required logic right through college with ease. Both hardware courses, CS courses, and a philosophy course.

edit:

Here it is!

https://www.myabandonware.com/game/rockys-boots-cp

I may very well sit my child down in front of this next time he says he's bored with the typical kids coding things.

Too bad, the online version of this is actually broken.
That's the commodore 64 version, the one I shared is the PC version.

It is the same game, but at least for me the C-64 version is running about 1/100th normal speed in Chrome so that doesn't work either.

The PC version just has an issue with the shift keys not working, which breaks the game as shift is used for fine movements.

Just wanted to chime in to say that it seems like all the puzzles are still solveable without the shift key. (I'm mid-way through the flip-flop section, perhaps there's moments you need it in the final level?) edit: I take it back, foiled by delay
Oh wow, this just unlocked an old memory for me. I had completely forgotten this game exists.

Like you, I had no idea what I was learning when I played it as a kid, but logic has always felt natural since as long as I can remember. Which apparently is a timespan that may have started with this game.

(comment deleted)
The XOR node behaves differently when partially connected than other nodes. XOR seems to only work when both inputs are connected. Other gates like NOT output power if the input is missing OR off.
Fairly primitive.

Missing 3,4,..N input gates, XNOR.

The next level would need sequential logic (FF's) and friends likes muxes.

After that, crossbars and tri-state buffers.

Get fancy with buffers, clocks, and visualizing propagation delay, setup and hold times.