I wasn't able to replicate the 16 bit AND chip bug that you experienced. But, I am thinking to improve the software. Before, I was burning out doing it and just wanted to get the circuit block feature done and have a rest from it. But now I can do some updates. I will take your feedback on board.
Viewing post in Digital Logic Simulator comments
I was using custom chips to make it, when I made it with nothing but the included AND gates it does work, but that kinda defeats the purpose of making your own chips. The way I did it was:
AND 4 - 4 and gates doing A0 AND B0 to A3 AND B3, outputting to OUT0-OUT3.
AND 8 - 2 AND 4s to expand it to 8 inputs and outputs
AND 16 - 2 AND 8s to expand to 16 inputs and outputs - this one would always output to OUT0 even though every chip prior was wired correctly.
Ok thanks. I will try this when I get to looking at the circuit block code again. Meanwhile I am improving the IO parts. I have added text input and some arrows to increment/decrement the input value (with a repeat if button held down), along with the slider. The text input may be decimal or hex prefixed with 0x. I will make the circuit block compile the IO to have pins and busses with auto-naming of the pins with the part tag used as a prefix probably.
The repository branch called "blocks" has the latest code. It is built using Godot Engine 3.x in case you didn't know.
In regard to the displays being in the wrong order: this is intentional behaviour since they display a value based on their input and output a divided value to the output to pass to the next display. I provided a bus loop-back part to route the bus data from right to left and bus parts can accept data flowing in this reversed direction. So this approach is needed to get multiple displays showing the number order in the expected way.