PARTNO XXXXX ; NAME U4; DATE August 30, 1991; REV 1 ; DESIGNER Dave Haynie ; COMPANY Commodore ; ASSEMBLY A3000+ ; LOCATION West Chester ; /************************************************************************/ /* */ /* A3000+ Gary+ Tower Function Generator */ /* */ /************************************************************************/ /* Allowable Target Device Types: 22V10-10 */ /************************************************************************/ /* Clock: CLK90 */ /************************************************************************/ /* Free Pins: 13(I) */ /************************************************************************/ /* HISTORY */ /* DBH Aug 30: Brand stinking new */ /************************************************************************/ /** Inputs **/ PIN 1 = CLK90 ; /* System clock */ PIN 2 = !CIA1 ; /* CIA selects */ PIN 3 = !CIA0 ; PIN 4 = !IKBRST ; /* Incoming keyboard reset */ PIN 5 = !RSTREG ; /* Register qualifiers */ PIN 6 = !DSPREG ; PIN 7 = !NETREG ; PIN 8 = !REGQUAL ; PIN 9 = RW ; /* 68030 read/write strobe */ PIN 10 = !RST ; /* I/O reset */ PIN 11 = !AS ; /* 68030 address strobe */ /** Outputs **/ PIN 14 = !DSPRST ; /* DSP reset output */ PIN 16 = !NETCS ; /* Network chip select */ PIN 17 = !NETDS ; /* ... and data strobes */ PIN 18 = VOVL ; /* Virtual ROM overlay */ PIN 19 = !KBRST ; /* Keyboard reset */ PIN 20 = !KBREN ; /* Keyboard enable */ /** Used Internally **/ PIN 21 = T0 ; /* Timer count */ PIN 22 = T1 ; PIN 23 = T2 ; /** Declarations and Intermediate Variable Definitions **/ /* Here are the fully qualified selects and all */ netsel = NETREG & REGQUAL & AS; dspsel = DSPREG & REGQUAL & AS; rstsel = RSTREG & REGRST & AS; /** Logic Equations **/ /* The DSP reset function responds to reset register writes. */ DSPRST = netsel & RW & !D0 # DSPRST & !netsel; DSPRST.SP = !RST; /* The data line reads back the DSPRST setting. */ D0 = DSPRST; D0.OE = DSPRST; /* The network is selected and strobed here. */ NETCS = netsel; NETDS.D = netsel; NETDS.AC = RST; /* The virtual overlay function. *. VOVL = RST # !RST & !CIA1 & !CIA2; /* The keyboard stuff. If KBENB is true, keyboard reset doesn't have to be aware of the underlying mechanisms. */ KBRST = IKBRST & KBREN; KBREN = RST # !RST & rstsel & AS & !D0 # !RST & !rstsel & KBREN; /* The counter function. */ /* The counters are responsible for measuring 200ns for Network Chip select cycle termination. */ T0.D = !T0 & !T1 & !T2 & AS # !T0 & T1 & !T2 & AS # !T0 & !T1 & T2 & AS T1.D = T0 & !T1 & !T2 & AS # !T0 & T1 & !T2 & AS T2.D = T0 & T1 & !T2 & AS # T0 & T1 & T2 & AS