Circuit Blocks Update
Today I was focused on the implementation of loading a circuit as a block. This creates a block part in the current circuit that may be wired up, and the circuit saved.
This was quite fun to do and also highlighted a major problem where it was easy to over-write the circuit block saved file with the new circuit without noticing until you load the circuit later where the circuit block data file has then been replaced.
To get around this problem, when a circuit is loaded as a block, the current file name should be set to an empty string.
I also check that the required pins exist when wiring up to a circuit block, and if they don’t, the part is highlighted in red, and these wire connections are not made.
Now I need to set up test circuits using blocks. After this, I need to consider how to implemented nested blocks — to give great power to the App. Hmm, I wonder how that will affect the speed?
Implementing circuit blocks has been easier than I expected since I compile them on the fly from circuit data, so I just added a file menu option to load a circuit as a block. The block is like a new part added to the available parts. It just gets IO pins added, and its internal logic processes the nodes specified by its associated circuit.
But maybe it will not be easy to implement the nested blocks?
More Devlog entries
Most recent first
- 2021 10 02 New Release of Digital Logic Simulator
- 2021 08 28 Nested Sub Blocks
- 2021 08 27 Debugging with a log file
- 2021 08 26 Testing Circuit Blocks
- 2021 08 24 Bug Fixing with Blocks
- 2021 08 22 Debugging Circuit Blocks
- 2021 08 18 Circuit Blocks
- 2021 08 16 Highlighting of wires
- 2021 08 12 Adding Tutorial Content
- 2021 08 07 Numbers Scene
- 2021 08 06 Numbers Tabbed Scene
- 2021 08 04 Number Display Widget
- 2021 07 26 Logic Simulator Update
- 2021 07 24 - Launch of V1.0
- 2021 07 23 - Truth Tables
- 2021 07 22 Progress Update
- 2021 07 21 - Simple Computer Simulation
- 2021 07 16 - Community Forum
- 2021 07 15 - Community News
- 2021 07 11 - Save and Load ROM Data
- 2021 07 09 - Documentation About The Logic Simulator
- 2021 07 08 - Big Progress
- 2021 07 07 - RAM and ROM Testing Complete
- 2021 07 06 - Implementing Tests
- 2021 07 05 - Cool algorithm for binary text string
- 2021 07 04 - Debugging Complex Situations
- 2021 06 30 - End of June - Refactoring Continues
- 2021 06 29 Community
- 2021 06 28 Implementing More OOP
- 2021 06 27 Memory Parts
- 2021 06 26 Improving the Memory Manager
- 2021 06 25 Memory Data
- 2021 06 24 Memory Management
- 2021 06 23 First Devlog Entry