Today was very productive, polishing up the outstanding issues. Here is a list of my commit titles (most recent first):
- Erase RAM before re-testing
- Reset value and last_value of output pins before running tests
- Save pin tags
- Add code for output parts
- Apply inputs to loaded circuit
- Add tags
- Improve positioning of part menu
- Scroll binary data
- Fix bug with test label tag
- Fix bugs with data manager
- Add tests for ROM and RAM
Tag labels added to I/O Parts
These tags are saved and loaded as data along with the circuit.
Currently, the Input and Output Pin and Bus Parts are used for coupling to the Test harness (their names must match those used in the Truth Tables). In the future they will interface with whatever input and output “gear” is hooked up to the circuit.
When testing the ROM and RAM I unearthed some bugs, noticed that I forgot to add some code, and cleaned up the UI a little to stop the up/down arrows for the Part selection menu jumping from side to side in resized windows.
Then I went ahead to add Labels to the I/O pins and then came across a problem making this work well with my encoding scheme of lower case initial character for a pin ID that is a Bus.
At times like this, it’s a good idea to take a break and relax a bit to let your mind come up with an obvious solution rather than trying out a series of quick fixes that don’t quite work in the variety of possible usage scenarios.
I dropped the encoding scheme and simply detect what kind of I/O wire it is based on the port-type of a connecting Part.
So now every part passes tests and repeated tests, tags are saved and loaded, and loaded circuits pass the tests.
More Devlog entries
Most recent first
- 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 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