GAL16V8 MIXSID1 MS /IO1EN /IO2EN RW /CS /IO2 /IO1 A5 A8 GND PS CSI1 CSO1 CSI2 CSO2 /CS2 /CS1 NC NC VCC CSO1 = MS * CS + /MS * CS * /A5 * /A8 CSO2 = MS * CS * /RW + /MS * CS * A5 + /MS * CS * A8 + /MS * IO1EN * IO1 + /MS * IO2EN * IO2 CS1 = PS * CSI1 + /PS * CSI2 CS2 = PS * CSI2 + /PS * CSI1 DESCRIPTION: MixSID chip select logic Compile with GALasm (https://github.com/daveho/GALasm) A0, A1, A5, A8, IO1, IO2, RW, CS = C64 input signals MS, PS, IO1EN, IO2EN = control signals CS1, CS2 = chip select outputs CSO1, CSO2 -> connect externally to CSI1, CSI2 MS = MODE SELECT: HIGH = PARALLEL, BOTH SIDS AT D400-D800 LOW = STEREO, SID1 AT $D400, SID2 AT D420, D500, DE00*, DF00* * (only if IOn is connected and IOnEN=low) IO1EN, IO2EN = IO ENABLE lines HIGH: Prevent SID2 at the corresponding address LOW: Second SID also at the corresponding address PS = PRIORITY SELECT: HIGH: Normal Priority, SID1 always $d400, SID2 maybe stereo LOW: Swapped Priority, SID1 may be stereo, SID2 always at $d400