IC Gate Update Failure
J0SLAN opened this issue ยท 1 comments
I made a crappy tileable "storage" IC Gate as a test. It worked almost perfectly, and the new one I made does work perfectly, but there was a bug with updating outputs. The circuit, in the Overworld:
The circuit, tiled:
The extra Null Gates in-between the tiled circuits do nothing. I was trying to see if I could cram a route switch in there.
The circuit, in the IC Designer (Left Half):
The circuit, in the IC Designer (Right Half):
Yes, tiling the outputs to inputs makes no sense for this circuit. I fixed that in the better design by adding a route switch. That's not the point. The point is that, when tiling the IC Gate version of these, outputs stop being updated when the Read-In changes.
Put two IC Gate versions to the left and right of each other, and add some inputs and outputs. I like to use Bus Input Panels and Segment Displays. The one on the right, connected directly to the Read/Write switches, works perfectly. The one on the left has update troubles.
For the below paragraph, always assume I'm talking about the left IC gate:
Say you want bit Purple to be on. You turn on the Purple bottom bit and both side inputs. It outputs Purple as on. Turn off Write-In, then the Purple bit, then Read-In. It will STILL output Purple as on. But, as expected, any changes to the bit inputs does nothing. Now turn all bit inputs off. Turn Write on, and Purple is still active, even though on the Input Plate, it's not. Now press its button twice. It just turned off, because it was updated. Hooray. My only guess as to why it does this is that the internal Transparent Latches aren't being updated correctly. I didn't think that this would be a problem, as I had thought that IC Gates were just large formulas like:
O = ( [A NOR (NOT B) ] NOR [B NOR O] )
That's a Transparent Gate, by the way. I think.
The better version of the "storage" IC Gate doesn't do this:
That version has a routing switch, so it chooses whether the input goes to storage, or just passes by. It also never has any update bugs. Weird.
I've already taken up too much space for my own good, so you could just design this with only one or two inputs and test it (Yes, I'm lazy). Thank you for reading this, and I hope you have a great day.