Project Red - Illumination

Project Red - Illumination

37M Downloads

Pulse Formers in IC gates with Repeaters act strange

DevonFrosch opened this issue ยท 3 comments

commented

Hello,

I stumbled over a bug with pulse formers in IC gates and Project Red repeaters where the order of placement determines if the IC will work or not.

Button, Repeater, Cable split up: (Pulse former, RS latch to bottom), (IC, RS latch to left)
Blueprint (Input, pulse former, output)

So in theory, both branches are equal cirquits. If you place the repeater last and press the button next to it, everything works as expected:

Both RS latches active

But if you remove the IC and place it again (and reset the RS Latches), pressing the button will only activate the bottom branch with the normal pulse former - the IC doesn't emit a signal.

Only bottom RS latch active

Small world for testing, only with Project Red: (https://devonfrosch.eu/dateien/PR_NewWorld.zip)

Tested with following mods:

  • Forge 1.12.2-14.23.5.2768
  • ProjectRed-1.12.2-4.9.1.92-*
  • MrTJPCore-1.12.2-2.1.3.35-universal
  • ForgeMultipart-1.12.2-2.6.1.81-universal
  • CodeChickenLib-1.12.2-3.2.2.353-universal
commented

Are you accounting for the fact that there is an implicit, 2-tick delay between the endpoint/output inside the IC and the actual redstone output to the world?

Having a single pulser inside the IC is not equivalent to having a single pulser outside. The eqivalent outside circuit would be a pulser with its output attached to a buffer or repeater w/ no delay.

commented

Ah ok, this is interesting: If I put a repeater after the pulse former in the IC, it actually seems to work with the setup in the description above, no matter in which order I place the components.

2019-07-14_14 55 54

I'll see if I can fix my other cirquits like this, but for the moment, this could help.

Thanks :-)

commented

This happens because the pulse former turns on and off before the external gate has time to react. It notices an output change, so it schedules an update 2 ticks in the future. 2 ticks later, when it goes to update, the pulse former inside has already turned off, and thus, there is nothing to update. Not a bug, its something you have to think about when designing your ICs. Currently don't have plans to change this, at least not until the next major overhaul to the IC system.