Expansion Cards Not Recognized
by Rhett Rodewald
Problems with cards not being recognized? Your problem may be the auto-
config chain. This works similarly on most Amigas, but this description is
very precisely intended for the Amiga 4000. (Not the Tower, but I'm sure
it's similar.) First some background.
I originally intended only to add SCSI to my Amiga 4000. My friend Bill
lent me an old GVP SCSI +8 card from his A2000. (He now uses an A3000, and
so had little need for it.) I checked the manual carefully, set the
jumpers, and plugged it into my 4000. It just hung up on boot. Remove the
SCSI card, and all is well, but it will not boot with the card in. Looking
at the manual, I noticed that one jumper on the card, next to the described
jumpers for setting the amount of RAM was undocumented. After trying many
things, I tried shorting that jumper. I plugged in the card, and booted.
This time it booted, great! (or so I thought) But the card was unseen by
the Amiga. Oh, well, I removed the card, and put my old cards back in. Boot
up and ***AAAAAAARRRRRRRRRGGGGGGGGGHHHHHHHH***... NO CARDS! My A4000
functioned flawlessly, but it would not recognize a single card. Eventually
I traced it to the autoconfig and realized that I had actually *burned a
trace* on the daughtercard. Not one that can be seen, mind you, but one on
an inside layer. After determining how auto-config *should* work, (and
replacing the 7407 chip, which likely didn't need to be replaced) I
soldered a jumper across where I inferred the blown trace should be and,
lo and behold, it worked!
While I hope that no-one else has this problem, there are a few things that
may be learned from my experience.
1) ***DO NOT, UNDER ANY CIRCUMSTANCE, PLAY WITH UNDOCUMENTED JUMPERS!***
(Unless you know exactly what you're doing... or if you are trying to
configure an unmarked PC card... or if you *really* want to... but
don't blame me (especially don't sue me.) -- YOU HAVE BEEN WARNED!)
Dave Haynie has stated (I'm paraphrasing)
Don't play with jumpers unless you know exactly what they do,
Even if they are marked as "Free sex and beer"
2) An understanding of how Autoconfig works, which is the main point of
Auto-config is a wonderful thing, it keeps us from pulling our hair out
trying to get a new card to work without hardware conflicts. (We still have
to deal with installing support software if the card needs it, but it is
still a million times easier than configuring a PC.)
If you have access to the Amiga Hardware reference manual, you will find an
excellent explanation in the back in the appendicies. There are many issues
involved when designing a card, and they are detailed here. However, since
we aren't designing a card, only two paragraphs apply.
Amiga autoconfiguration is surprisingly simple. When an Amiga powers up
or resets, every card in the system goes to its unconfigured state. At
this point, the most important signals in the system are /CFGIN and
/CFGOUT. As long as a card's /CFGIN line is negated, that card sits
quietly and does nothing on the bus. ... As part of the unconfigured
state, /CFGOUT is negated by the PIC immediately on reset.
The configuration process begins when a card's /CFGIN line is asserted,
either by the backplane, if it's the first slot, or via the configuration
chain, if it's a later card. The configuration chain simply ensures that
only one unconfigured card will see an asserted /CFGIN at one time. ...
(ed. note: after the system has read and configured this card) ... will
cause the PIC to assert its /CFGOUT, enabling the next board in the
(Quoted from the Amiga Hardware Reference Manual, 3rd edition, page 431)
The magic is in how the configuration chain works, or if you have a
situation like mine, in how it does not work. Here's what to check.
NOTE: The following applies to my A4000. Errors may have occured in
the entry, transmission, or otherwise, and I will not be held
responsible. In addition, do not attempt to actually repair or
even trouble-shoot your Amiga unless you are confident of your
electronics skills and willing to take full responsibility for
your actions. Your Amiga may differ from mine, and so the
following may apply only in concept, not particulars. Make
sure that you understand not only what is connected to what, but
why it works as it does. This is only an overview of *one*
system, and should not be construed as being a common problem
or necessasarily related to your machine/problem. Note that
even trouble-shooting without getting out your soldering iron
can still cause damage-- Especially when the machine is on!
The Autoconfig chain is on the daughterboard (riser) card in the 4000. The
daughter card plugs into the motherboard using two seperate connectors. The
connector towards the rear of the 4000 carries the signals for the video
slot, among others. The connector towards the front of the A4000 is
basically a single Zorro III slot. (Note: Do NOT unplug the riser card, and
plug a Zorro card directly into this slot. Although it *may* work, the
proper bus termination is not present, and I have not personally verified
that the signal connections are 100% compatible.)
When you reset (or start) your Amiga, it starts by asserting the /CFGIN
line on this connector. (Note: Signal preceded by an "*" or "/" are
active-low. This means that 0V means active, and 5V means inactive.
Therefore, on power up, all /CFGIN lines should be 5V except for the first
slot, (the active one) that will be 0V.) This line should be connected to
pin 12 on the first slot.
Note: Pins are numbered starting at pin 1, towards the back of the Amiga.
If you look at the silk-screen on the Motherboard, you should see a
large "1" near the corner of the slot. Pin 2 is directly across
from pin 1. Therefore, all the odd pins (1, 3, 5, ...) are on one
side, and all the even pins are on the other side. Pin 1 usually
has a square solder pad (if you look at the back of the board)
instead of a round one. This is useful on the daughter card.
Disassemble your 4000, and pull out the daugher card. (If you have trouble
doing this, you probabally should *NOT* be doing any of this.) Check
continuity between pin 12 of the plug in edge and pin 12 of the first slot
connector. Pin 12 is the sixth pin on the back-side of the riser, counting
from the middle gap towards the front of the Amiga. (The even pins are on
the back side, so count 2, 4, 6, 8, 10, 12 to find pin 12.)
Note: The first slot is the bottom one, and the last slot is the top one.
This is the trace that I burned when playing with the SCSI card. If you've
managed to do the same thing, just solder a jumper between these two pins.
(Don't get the wrong pins!!!)
When the first card gets the config-in signal, it goes through the
configuration process with the Amiga, and then, when done, it asserts
/CFGOUT on pin 11. Pin 12 (enable) and Pin 11 (done) are fed to an "or"
gate. Note that since these are active-low signals, both must be low before
the output becomes low. (The "or" effectively works like an "and" gate
because of the inverted signals.) This output is fed to the next slot's
/CFGIN and the next or gate. This process is repeated for each card until
the last one, and then the output from the final /CFGOUT is fed back to the
motherboard's /CFGOUT, indicating that there are no more cards to be
configured. Take note that this doesn't have any particular limitations on
how many card slots there are. This is why you can buy super-risers that
have more slots available. It's a chain that ends when it gets back to the
If for some reason this chain is broken, your Amiga should continue to
function, but it will not recognize all the cards in the slots.
Here's a diagram.
(Slot 4, pin 11)
(Slot 3, pin 11) \ ____
(Slot 2, pin 11) \ ____ \---(4)\ \
\ ____ \---(1)\ \ )OR >(6)-+
____ \---(12)\ \ )OR >(3)---+---(5)/___/ |
A--(10)\ \ )OR >(11)--+---(2)/___/ | |
)OR >(8)---+--(13)/___/ | | |
B---(9)/___/ | | (Slot 4, pin 12) |
| (Slot 3, pin 12) |
(Slot 2, pin 12) |
(Pin 11 on the card edge.)---------(7407,pin 12)--< |--(7407,pin 13)------+
(7407, Driver chip)
Notes: A = /CFGIN = Pin 12 of the card edge, also connected to Slot 1, pin 12
B = /CFGOUT(1) = Slot 1, pin 11
All numbers in parenthesis indicate pin numbers on the 74HCT32N chip.
In English: /CFGIN (pin 12 on the card edge *and* pin 12 on slot 1)
connects to the input of the first "or" gate (pin 10 on the 7432 chip).
/CFGOUT(1) (Slot 1, pin 11) connects to the other input of the same gate
(pin 9 on the 7432 chip). The output from this gate (7432, pin 8) connects
to both the /CFGIN(2) (Slot 2, pin 12) and the input to the next "or" gate
(7432, pin 13)... and so on.
If you suspect that your auto-config chain is screwed up, check all the
direct connections in the diagram, and see if any are broken. Finally, if
you still haven't found anything, install the riser and check the inputs
and outputs at each card slot. Do this *very* carefully! Sticking a probe
into a running computer can easily short together two wires that were never
meant to touch, and *really* blow something up. While any voltages on the
motherboard are at most +/- 12V (mostly +5V) and should not harm you, they
will harm your computer if the wrong wires are shorted together.
If you don't understand how to trouble-shoot the above circuit, please take
your computer to someone who does.
Here's how it works. At reset, all /CFGIN lines (pin 12 on each slot) are
pulled high. (with a pullup resistor) All unused (no card in that slot)
/CFGOUT lines (pin 11 on each slot) are pulled low. If there is no card, in
the slot, the low signal coming in on (A in the diagram) /CFGIN is
immediately "or"ed with the low /CFGOUT and propagates the signal to the
next slot. If a card is present in a slot, it pulls the /CFGOUT line high
(inactive) until after it gets a /CFGIN signal, and configures itself with
the system. Then it releases /CFGOUT so the card in the next slot may
configure itself. Finally, the /CFGOUT signal of the last card is fed back
to the motherboad's /CFGOUT, and it knows that configuration is done.
This hopefully provides some insight to the autoconfig circuitry, and may
be of use when trouble-shooting board-recognition problems. Best of luck.
Converted on 02 Jun 1997 with RexxDoesAmigaGuide2HTML 2.1 by Michael Ranner.