find next bug (seems to be a textbook race condition, both opens read register, then OR it with their own values, then each write register. in this case the second ERX_P0 wins, so ERX_P1 never actually gets set. probably the cause of #2