22V10 Program
From
Name Hobbycard01;
Partno HC000001;
Date 01/26/12;
Revision 00;
Designer Willegal;
Company willegal.net;
Assembly None;
Location None;
Device g22V10;
/****************************************************************/
/* */
/* Apple 2 I/O board support chip */
/* */
/****************************************************************/
/* Allowable Target Device Types : PAL22V10 */
/****************************************************************/
/** Inputs **/
PIN 1 = 7MHZclock; /* phase 1 Clock */
PIN 2 = !io_strobe; /* I/O Strobe */
PIN 3 = phase1clock; /* phase 1 Clock */
PIN 4 = rw; /* read write (write low) */
PIN [5..7] = [A10,A9,A8]; /* Address Inputs */
PIN 8 = prom_write_dis; /* disable writes to eeprom */
PIN 9 = !io_select; /* I/O select input */
PIN 10 = !devsel; /* device select */
PIN 11 = !reset; /* reset */
/** Outputs **/
PIN 14 = CLK6522FF2; /* 6522 clock */
PIN 15 = CLK6522FF1; /* intermediate flip flop for 6522 clock */
PIN [16,19,20] = [AO10..AO8]; /* Address outputs (controls FLASH address */
/* 0 - ffe = rom_sel , FFF = io_select */
PIN 17 = !SELECTED; /* rom selected (state) */
PIN 18 = !rd_oe; /* read/output enable (28F256 pin 22) */
PIN 21 = !rom_en; /* rom enable (28F256 pin 20) */
PIN 22 = bufferedRW; /* phase 0 clock - phase 1 clock inverted */
PIN 23 = !board_en; /* Board Enable -controls 244/245 out en */
/** Declarations and Intermediate Variable Definitions **/
/** Logic Equations **/
bufferedRW = rw;
rd_oe = rw & rom_en & !reset;
SELECTED = (io_select # (SELECTED & !(io_strobe & A10 & A9 & A8 & CLK6522FF2))) & !reset;
rom_en = (io_select # (io_strobe & SELECTED)) & !reset & (rw # !prom_write_dis);
board_en = rom_en # devsel & !reset;
AO10 = A10 # io_select;
AO9 = A9 # io_select;
AO8 = A8 # io_select;
//CLK6522FF1.CK = 7MHZclock;
//CLK6522FF2.CK = 7MHZclock;
CLK6522FF1.D = !phase1clock;
CLK6522FF2.D = CLK6522FF1;
CLK6522FF1.AR = phase1clock;
CLK6522FF2.AR = phase1clock;