Name SCx ; PartNo 00 ; Date 12/27/2013 ; Revision 01 ; Designer Sean Riddle ; Company www.seanriddle.com ; Assembly None ; Location ; Device g16v8a ; /* converts an SC1 to SC2 or vice versa */ /* gnd = SC pin 10 */ /* Vcc = SC pin 29 */ /* *************** INPUT PINS *********************/ PIN 1 = nEVIE; /* SC chip select - SC pin 25 */ PIN 2 = A2; /* SC pin 26 */ PIN 3 = A1; /* SC pin 27 */ PIN 4 = ENABLE; /* 1=invert D2 on writes to W/H regs, 0= leave alone */ PIN 5 = RnW; /* SC pin 18 */ PIN 6 = D2FROMROMBD; /* D2 from ROMBD = write - SC socket pin 12 */ PIN 7 = D2FROMSC; /* D2 from SC = read - SC pin 12 */ pin 8 = nBABS; /* CPU is halted - SC pin 6 */ pin 9 = UnL; /* upper/lower SC - 1=upper - SC pin 14 */ /* *************** Output PINS *********************/ PIN 13 = D2TOSC; /* D2 to SC = write - SC pin 12 */ PIN 14 = D2TOROMBD; /* D2 to ROMBD = read - SC socket pin 12 */ /* OE signals are too complex to drive directly */ pin 15 = SCOE; /* no connect - not needed externally */ pin 16 = ROMBDOE; /* no connect - not needed externally */ SCOE = (!RnW & !nBABS & nEVIE & !UnL); /* lower SC drives D2 on writes when blitting, unless to self */ D2TOROMBD.OE = SCOE; ROMBDOE = ((nBABS & !RnW &!nEVIE) # (!nBABS & RnW)); /* ROM board drives D2 or !D2 on writes to blitter regs and on reads when blitting */ D2TOSC.OE = ROMBDOE; D2TOSC = (D2FROMROMBD $ (A1 & A2 & ENABLE & !nEVIE)); /* invert D2 to SC if enabled and SC reg 6 or 7 (W/H) */ D2TOROMBD = D2FROMSC; /* always normal D2 from SC */