[Coladam] Memory expanders

Rich Drushel drushel at apk.net
Sat Dec 11 11:53:21 CET 2010


On Fri, December 10, 2010 11:59 pm, Ellen and Craig Lindholm wrote:

> Does anyone have information as to how the addressing is done with these
> old cards? Even some sample assembly code that accesses the memory
> expanders would help as I can determine what the hardware is doing from
> the instructions.

     The signals for all the ADAM expansion slots are given in the ATM,
or you can try to read the various schematics from the main page:

http://drushel.cwru.edu/schematics/

     I forgot my reverse-engineered schematic for the ADAM 64K expander:

http://drushel.cwru.edu/schematics/adam64k_final_bitmap.pdf

     My first hardware project for the ADAM was wire-wrapped from this
exact schematic.  Larger expanders include bank-select logic that is
taken from signals on the Orphanware parallel printer card (or separate
"addresser card") in a different slot than the expander.  The XMEM slot
per se does not have all the signals necessary to decode more than the
1st bank of 64K.  I have never seen a schematic for the "addresser card"
logic (it was literally just a jumper wire from the printer card, reusing
part of the printer port decode logic), a hack by Orphanware itself to
extend the capabilities of hardware already in circulation.

     The bank select is just a latch holding an 8-bit value that is
used by the multi-bank XRAM card to select which bank of 64K is used.
There are up to 256 64K banks (addressed as 0 to 255), thus 4 MB is
the maximum size.  Upper and lower 32K banks are separately accessible
via ADAM's existing memory management hardware (as documented in the ATM).

     *Rich*

-- 
Richard F. Drushel, Ph.D.            | "They fell:  for Heaven to them no hope
Department of Biology                |  imparts / Who hear not for the beating
Case Western Reserve University      |  of their hearts."
Cleveland, Ohio  44106-7080  U.S.A.  |         -- Edgar Allan Poe, "Al-Aaraaf"




More information about the Coladam mailing list