PARTNO XXXXX ; NAME U694 ; DATE August 13, 1991 ; REV 1 ; DESIGNER Dave Haynie ; COMPANY Commodore ; ASSEMBLY A3000+ ; LOCATION West Chester ; /************************************************************************/ /* */ /* A3000+ Bus Address Mapper */ /* */ /************************************************************************/ /* Allowable Target Device Types: 22V10-10 */ /************************************************************************/ /* Free Pins: NONE */ /************************************************************************/ /* HISTORY */ /* DBH Aug 13: Based on U694r3 for A3000+ Rev 1 PCB. */ /************************************************************************/ /** Inputs **/ PIN [1..11] = [A20..30] ; /* Bus address */ PIN 13 = A31 ; PIN [22..23] = [A18..19] ; PIN 14 = !CDISZ2 ; /* Disable Zorro II caching */ PIN 15 = C7M ; /* 68000 compatible bus clock */ PIN 21 = !CCS ; /* 68000 compatible cycle strobe */ /** Outputs **/ PIN 16 = !ADDRZ3 ; /* Zorro III space */ PIN 17 = !MEMZ2 ; /* Zorro II memory space */ PIN 18 = !IOZ2 ; /* Zorro II I/O space */ PIN 19 = READLT ; /* Zorro II read-cycle latch */ /** Used Internally **/ PIN 20 = !CACHEZ2 ; /* Zorro II cachable addresses */ /** Declarations and Intermediate Variable Definitions **/ field addr = [A31..18]; /* Full system address */ field addr68k = [A23..18]; /* 68000 address subset */ /* The 68000 space doesn't always get qualified with a full 32 bit address. Thus, it must be qualified either by address or by the presence of the proper strobe. */ cyc68k = addr:[00ffffff..00000000] # CCS; /** Logic Equations **/ /* The Zorro III space occupies the bottom 1/2 of memory, except for the first 256 megabytes. The top chunk for secondary autoconfig address is also Zorro III space. */ ADDRZ3 = addr:[7fffffff..10000000] # addr:[ff00ffff..ff000000]; /* The Zorro II cachable space is in the normal 68000 $200000..$9fffff range, just like on the A2000. */ CACHEZ2 = addr68k:[009fffff..00200000] & cyc68k; /* The Zorro II I/O space is in the normal 68000 $e80000..$efffff range, just like on the A2000, plus an additional 1.5 megabyte chunk right above memory space (a reasonable place to put things like Bridge Cards, if they ever fix up their decoding...). The CDISZ2 signal causes all of Zorro II space to show up here. */ IOZ2 = addr68k:[00efffff..00e80000] & cyc68k # addr68k:[00b7ffff..00a00000] & cyc68k # CDISZ2 & CACHEZ2; /* The Zorro II memory space is in the cachable chunk, as long as CDISZ2 is negated, and the Commodore magic cookie space in the $00f00000-$00f7ffff range, which is for the private use of Commodore (mainly for production line diagnostics and development tools. */ MEMZ2 = !CDISZ2 & CACHEZ2 # addr:[00f7ffff..00f00000] & cyc68k; /* The read latch is used during motherboard access to Zorro II space to latch data from the Zorro II bus. */ !READLT = CCS & C7M;