MODULE SunPwrAd TITLE 'Sun power controller address pal, Jim Gasbarro, December 5, 1988' U02 DEVICE 'P16R4'; nS0, nS1, nS2, nS3, nS4, nS5, nS6 PIN 2, 3, 4, 5, 6, 7, 8; SerIn, nForceOn, OnB PIN 9, 12, 13; nJump PIN 19; nCmd, OnA PIN 18, 17; nHdrEven, nBad0To7, nBadAdr PIN 16, 15, 14; IdleEven = ^h01; StartEven = ^h10; HdrEven = ^h32; A0State = ^h72; A1State = ^h33; A2State = ^h60; A3State = ^h25; A4State = ^h3E; A5State = ^h23; A6State = ^h52; IdleOdd = ^h57; StartOdd = ^h2A; HdrOdd = ^h59; A7State = ^h78; A8State = ^h0E; CmdState = ^h75; ResetState = ^h00; A0 = 0; A1 = 0; A2 = 0; A3 = 1; A4 = 1; A5 = 0; A6 = 0; A7 = 0; A8 = 0; St = [!nS0, !nS1, !nS2, !nS3, !nS4, !nS5, !nS6]; EQUATIONS nJump = !( (St == ResetState) # (St == IdleEven) & SerIn # (St == StartEven) & SerIn # (St == IdleOdd) & SerIn # (St == StartOdd) & SerIn # (St == HdrOdd) & !SerIn ); nCmd = !(St == CmdState); OnA := !( nCmd & !OnA & nForceOn # (St == CmdState) & nBadAdr & (!OnA # OnB) & !SerIn & nForceOn # (St == CmdState) & (!nBadAdr # (OnA & !OnB)) & !OnA & nForceOn # (St == ResetState) ); nHdrEven := !(St == HdrEven); nBad0To7 := !( (St == A0State) & (SerIn != A0) # (St == A1State) & (SerIn != A1) # (St == A2State) & (SerIn != A2) # (St == A3State) & (SerIn != A3) # (St == A4State) & (SerIn != A4) # (St == A5State) & (SerIn != A5) # (St == A6State) & (SerIn != A6) # (St == A7State) & (SerIn != A7) ); nBadAdr := !( nHdrEven & !nBadAdr # (St == HdrEven) & SerIn # !nBad0To7 # (St == A8State) & (SerIn != A8) ); END SunPwrAd