[sebhc] Schematic

Patrick patrick at vintagecomputermarketplace.com
Tue Apr 27 18:23:22 CDT 2004


> Lee,
> That sounds interesting, but how do you get an 8080 to address more than
> 64K?
> Carroll

Funny that this should come up.  Jack also has me distracted with another
processor project (6809) right now.  The SWTP 6809 processor board has a
"Dynamic Address Translator" that extends its physical memory beyond 64K,
and the more I ponder it the more I like its simple elegance.  It uses two
16x4 fast RAMs (74S189) to (a) remap the upper four bits of the address bus,
and (b) generate an additional four bits of physical addressing.

Bad ASCII art to follow...

  A0---------------------------------PA0
  .                                   .
  .                                   .
  .                                   .
 A11---------------------------------PA11

                 +--------+
 A12--+----------|        |----------PA12
      |          | 74S189 |
 A13----+--------|        |----------PA13
      | |        |   Lo   |
 A14------+------|        |----------PA14
      | | |      |        |
 A15--------+----|        |----------PA15
      | | | |    +--------+
      | | | |
      | | | |    +--------+
      | | | +----|        |----------PA19
      | | |      | 74S189 |
      | | +------|        |----------PA18
      | |        |   Hi   |
      | +--------|        |----------PA17
      |          |        |
      +----------|        |----------PA16
                 +--------+

The contents of the map can be controlled by mapped memory addresses as they
are in the SWTP, or by I/O ports.  The above diagram is obviously absent
this logic.  The 6809 lacks I/O addressing, so the SWTP CPU board has to go
through a lot of gyrations to map a small area of memory (FFF0h-FFFFh) to
the map RAMs and make sure that area itself CAN'T be mapped (lest you map
out the map--bad plan).  I think using I/O addressing to access the map is
vastly preferable for this application--you have no such overlap problem.
You would also be able to do something the SWTP design cannot do: READ the
map, so an interrupt handler, for example, could easily swap memory it needs
into the logical address space where it needs it, use it, and then restore
what was there before.

This is also similar to what the Magnolia 128K memory expansion and others
do, but is less restrictive than that implementation. If memory serves,
Magnolia's implementation has 8 hard-coded/PROM-based "maps" and you could
choose one of them to be in effect at any one time.  You can't map anything
anywhere.

Patrick

--
Delivered by the SEBHC Mailing List



More information about the Sebhc mailing list