PARTNO XXXXX ; NAME U714 ; DATE January 11, 1990 ; REV 3 ; DESIGNER Haynie ; COMPANY Commodore ; ASSEMBLY A30000 ; LOCATION U714 ; /************************************************************************/ /* */ /* A3000 Bus Address Mapper */ /* */ /************************************************************************/ /* Allowable Target Device Types: 16L8-10 */ /************************************************************************/ /* Free Pins: NONE */ /************************************************************************/ /* HISTORY */ /* DBH Aug 15: Completely new. */ /* DBH Aug 24: Whoops, it's ADDRZ3, not SPACEZ3. */ /* DBH Dec 21: Map in "magic cookie" space as bus memory. */ /* DBH Jan 11: Added secondary autoconfig space. */ /************************************************************************/ /** Inputs **/ PIN [9..1] = [A30..22] ; /* Bus address */ PIN 11 = A31 ; PIN [18..15] = [A21..18] ; PIN 14 = !CCS ; /* 68000 compatible cycle strobe */ /** Outputs **/ PIN 19 = !ADDRZ3 ; /* Zorro III space */ PIN 13 = !IOZ2 ; /* Zorro II I/O space */ PIN 12 = !MEMZ2 ; /* Zorro II memory space */ /** 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 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...). */ IOZ2 = addr68k:[00efffff..00e80000] & cyc68k # addr68k:[00b7ffff..00a00000] & cyc68k; /* The Zorro II memory space is in the normal 68000 $200000..$9fffff range, just like on the A2000. The magic cookie space shows up here for private Commodore uses, and can only be seen by the local bus. */ MEMZ2 = addr68k:[009fffff..00200000] & cyc68k # addr:[00f7ffff..00f00000];