FUNCTION nandltch (sn, rn) RETURNS (q); %, qn);% SUBDESIGN AppleIDELogic ( A0, A1, A2, A3, A8, A9, A10 : INPUT; /RW, /DSEL, /IO_STRB, /IO_SEL : INPUT; /R_HOST, R_ATA, W_HOST, /W_ATA : OUTPUT; /IOWR, /IORD, /CS0, /CS1 : OUTPUT; /DBUS245, /CFXX : OUTPUT; ) VARIABLE SET_MASK, RESET_MASK, CS_MASK : NODE; BEGIN DEFAULTS CS_MASK = GND; END DEFAULTS; SET_MASK = /DSEL # (A3 # A2 # A1 # !A0); RESET_MASK = /DSEL # (A3 # A2 # !A1 # A0); CS_MASK = nandltch(SET_MASK, RESET_MASK); /CFXX = !(A8 & A9 & A10 & !/IO_STRB); /R_HOST = /DSEL # A3 # A2 # A1 # A0 # !/RW; R_ATA = !/DSEL & (A3 # (A2 & A1)) & /RW; W_HOST = !/DSEL & !(A3 # A2 # A1 # A0) & !/RW; /W_ATA = /DSEL # !(A3 # (A2 & A1)) # /RW; /IOWR = /DSEL # /RW # !(A3 # A2 # A1 # A0); /IORD = /DSEL # !/RW # !(A3 # A2 # A1 # A0); /CS0 = /DSEL # !A3 # (CS_MASK & /RW); /CS1 = /DSEL # (A3 # !(A1 & A2)) # (CS_MASK & /RW); /DBUS245 = /DSEL & /IO_STRB & /IO_SEL; END;