22V10 Program

From
Jump to: navigation, search
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;
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox