[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Microsoft Z-80 Card on Apple II+



In article <20030402140413.09313.00000074@mb-ch.aol.com>,
Michael J. Mahon <mjmahon@aol.com> wrote:
 
> The SoftCard ran all Z80-generated addresses through an adder to
> add $10 to the high-order byte.  This is how the distinctive Z80
> "view" of the Apple II address space was generated.
 
It wasn't a simple addition of $1000 to all Z80 adresses: the Z80
address range 0B000H to 0DFFFH vas translated to 6502 addresses $D000
to $FFFF (i.e. an addition of $2000 to the Z80 addresses in this
range), while Z80 addresses 0E000H to 0EFFFH was translated to the
Apple II's I/O address range $C000 to $CFFF (i.e. a subtraction of
$2000 from the Z80 addresses).  This little trick made the "hole" at
$Cxxx in the Apple II RAM address space appear to go away, giving the
Z80 a coninuous space of RAM memory from 0000H to 0DFFFH which
included 12K of the Language Card RAM giving CP/M 56K of RAM instead
of just 44K.  Such a memory layout is what CP/M expected: continuous
RAM from 0000H up to some upper boundary.
 
> The extra time for this add came out of the address setup budget,
> and required both fancy footwork on the Z80 timing and, apparently,
> pushing the margins on the peripheral bus to work.  All cards
> which use a similar address mapping scheme may have problems with
> later implementations of the Apple II peripheral bus.
 
One of the dip switches on the Z80 card could turn this address
translation off though.  However, Z80 software for the Apple II
would then not work.
 
-- 
----------------------------------------------------------------
Paul Schlyter,  Swedish Amateur Astronomer's Society (SAAF)
Grev Turegatan 40,  S-114 38 Stockholm,  SWEDEN
e-mail:  pausch at saaf dot se
WWW:     http://hem.passagen.se/pausch/index.html
         http://home.tiscali.se/~pausch/