Really nice work! Would be cool to have a video of it in action for the community playlist, if that’s something you’re up for doing :)
Sebastian Lague
Creator of
Recent community posts
Paths on mac are messed up currently! You can find info here: https://github.com/SebLague/Digital-Logic-Sim/issues/399
Ah - something apparently got messed up with the paths on mac, I still need to look into that. Try the path mentioned in the second post here: https://github.com/SebLague/Digital-Logic-Sim/issues/399
That's very cool -- I love that you even added an apple too! Could you please turn off the 'made for kids' setting on the video though, as I'm unable to add it to a playlist when that's on.
Also, would you be open to sharing the project files for this? (ctrl+alt+shift+o in the app to open where they're stored, and then just upload the project folder to google drive or wherever). I'm trying to assemble a bunch of projects to use as a performance benchmark + to test that I don't accidentally break something while I work on optimizing the sim. Would be a great help :)
I thought the variable capacitance input was a cool idea, but decided to change it firstly since constant inputs have not yet been implemented. This means that if you're using the component as part of a flip-flop design (as a random example) then you'd either need every flip-flop to have an extra input to control the pulse width, or you'd have to 'hard-code' that input out of nand gates, both of which feel a bit clunky.
I could have waited until I've figured out how I want to handle constant inputs, but then I also didn't see a huge advantage to having the value be logic-configurable. My thinking was that you want to have the pulse width set to the minimum value that gives consistent behaviour with your design, and so once you've calculated that, it would be something that's typically left constant rather than configured during operation.
I have no doubt that some use-cases exist where the variable input would be more helpful, but I think that the way it is now is most convenient for the most common cases.
That’s looking great, thanks for sharing! If it’s not too much trouble could you upload to youtube (or maybe one of the updated version even?) I’d love to add it to the community playlist so more people can see it
Looks great! I'd definitely like to check it if you share the files. Would also love to add it to the community playlist if you're up for recording a short video of it in action :)
Hi, as others have said, upgrading won’t lose your 2.x.x projects. There’s currently no builtin support for sharing/collaborating with friends, but if you press ctrl+shift+alt+o in the program it will open the location where the save files are stored. Each project is its own folder, so you could send a project folder to a friend if you want (or even set up a git repo in there I suppose if you want to collaborate more easily). Note that while sharing projects should be reasonably straightforward, sharing individual chips is more complex as they may have dependencies on other chips, and also need to be referenced correctly in the project settings file. Hope that info helps!
Hi everyone, I was thinking it might be fun to have a playlist on youtube to showcase different things that people have built in the simulation. So if you have something you want to share, just upload a video to yt and drop the link here. Don’t worry about it having to be super elaborate or anything, I think it’s cool to see a variety of projects, both small and large. There’s also no time limit to this — I’ll check back every so often and add any new entries to the list :)
If you want to check it out, you can find the playlist over here.
(By the way, I’m also planning to show some of these in a video — most probably at the end of my digital logic series. That’s still quite a while away, but I’ll link that here as well once it’s eventually out).
The simulation needs a lot of optimization for sure. For now though, it helps a lot if you can simplify the chips that are used many times over in the ram. For example, if you have a dlatch made using NOR/AND/NOT gates like I show in my video, you could modify it to instead just use 5 NAND gates. Since NAND gates are built-in, its a lot faster for the simulator to process than custom chips like NOR, etc.
Okay thanks for letting me know. If you want to attempt fixing, the relevant function is called InputField in the UI class. Specifically this code:
foreach (char c in InputHelper.InputStringThisFrame) { bool invalidChar = char.IsControl(c) || char.IsSurrogate(c) || char.GetUnicodeCategory(c) == System.Globalization.UnicodeCategory.Format; if (invalidChar) continue; state.TryInsertText(c + "", validation); }