Big Progress

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.

Labels

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.

Bugs

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.

Comments Forum

More Devlog entries

Most recent first