Project Red - Core

Project Red - Core

43M Downloads

IC Gate Update Failure

J0SLAN opened this issue ยท 1 comments

commented

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:

2015-07-31_22 19 32

The circuit, tiled:

2015-07-31_22 25 17

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):

2015-07-31_22 32 31

The circuit, in the IC Designer (Right Half):

2015-07-31_22 32 46

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:

2015-07-31_22 58 47

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.

commented

I think I'll write this off as a bug caused by strangeness in IC mechanics. Will be fixed in the future when the IC system changes.