[comp.sys.amiga.hardware] EXPANSION SLOTS & Memory mapping

dolson@hppad.HP.COM (David Dolson) (11/30/90)

Hi,

Any experience with Amiga EXPANSION SLOTS ????

I'm considering experimenting with a peripheral card to make use
of the main expansion slot in my stock A500.  This is so far just
for experimentation - relays, A/D convertors, etc.

I have most of the info I need:  Slot pinout, and 68000 bus
specifications.  I haven't considered detail timing considerations,
but basic 74LSxx or 74HCxx address decoding should be fast enough for
the 7 MHz bus cycle.

Questions:

1. I want to memory-map the devices.  WHERE in memory should I put it?
   I've heard that expansion cards are supposed to be auto-configurable,
   but didn't get any explanation for what that meant.

2. Are there any PITFALLS I should know about, or is making the card
   as easy as it looks?  (e.g. are the 68000 specs valid for this slot?)

Thanks,

David Dolson
dolson@hppadi.waterloo.hp.com

daveh@cbmvax.commodore.com (Dave Haynie) (12/06/90)

In article <70001@hppad.HP.COM> dolson@hppad.HP.COM (David Dolson) writes:
>Hi,

>I have most of the info I need:  Slot pinout, and 68000 bus
>specifications.  I haven't considered detail timing considerations,
>but basic 74LSxx or 74HCxx address decoding should be fast enough for
>the 7 MHz bus cycle.

Sure, for most things, LS or HCT parts are OK.  You can't use HC inputs on 
the bus, since everything is assuming TTL/NMOS levels.

>1. I want to memory-map the devices.  WHERE in memory should I put it?
>   I've heard that expansion cards are supposed to be auto-configurable,
>   but didn't get any explanation for what that meant.

AUTOCONFIG(TM) is a mechanism whereby the software tells each expansion card,
in turn, where in memory to reside, based on the characteristics of that card.
You can learn all about it in the "A500/A2000 Technical Reference Manual", 
which you can get for around $40 directly from Commodore Amiga Technical
Support.  If you're simply looking to hack around, you might be interested
in knowing that the current software usually sticks the first board at
$00200000.  As long as you don't have any memory mapped expansion devices on 
your A500, you could hardwire something there.  

>2. Are there any PITFALLS I should know about, or is making the card
>   as easy as it looks?  (e.g. are the 68000 specs valid for this slot?)

Use 8MHz 68000 timings, and realize that the A500 will make a 0 wait state
DTACK* for you unless you tell it not to.  If you want to add wait states,
you can pull the XRDY line low at the start of the cycle and keep it low
until you're ready for DTACK* to be driven by the A500.  If you want to 
drive DTACK* yourself, you instead pull the OVR* line low at the cycle's
start, keeping it low until you're cycle is finished.  Address, data, and
most control lines should be buffered if you're attaching any long wires 
or more than one TTL load on any line.

>David Dolson


-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
		      Wheeeeeeeeeeeeeeee...........