THE MAPPER (hardware)
==========
status: unfinished
version: 1.0

It doesn't really matter if SIMMs, DIMMs or EDO-RAM or whatever are being
used, as long as it remains the same from the view of the software.
Furthermore, I think the RAM which is fast enough to keep up with the Z380
_at_full_speed_ should be chosen. Slowing down the Z380 would be a real
shame, and the RAM of nowadays is really fast enough. It also won't require
extra logic to slow the memory-access down and to create some sort of
cache-system. I think the higher speed and the easier set-up of the mapper
outway the little extra cost of the RAM (of which a lot of people have some
laying in the dust, being a remnant of a previous upgrade of the RAM in
their PC).

The first 64kB of the Z380's address range should be mapped just like normal
MSX mappers (controlled through I/O ports FC, FD, FE and FF). The maximum
number of RAM for this adress range will then ofcourse be the first 4 MB of
the total RAM. The rest of the RAM _could_ be used linear-only, but I think
it's for a future multitasking OS' sake best to also use a mpaper for that.
I suggest to divide the RAM in 64kB segments. The pages could then be
controlled through I/O ports 10000 - 1FFFF, which each can have a 16-bit
segment number varying from 0 to FFFF in it, hence resulting in a total of 4
GB max. mappersize. So the 'user' (read: program) has the choice to use
mapping or map all RAM linear.

I think the Basic RAM-setup should be entirely linear (0-3 in FC-FF and
0000-FFFF in 10000-1FFFF). It's the task of the BIOS to take care of this.

In a new OS (or extension of an old OS), there should be functions available
like "allocate x segments" and "enable x segments starting with segment y at
adress z and following". You might think this requires alot of instructions
to set up all this RAM, but the Z380 has special I/O instructions which can
write numerous values to numerous I/O ports. Some kind of LDIR, but then for
I/O ports.


Please reply if you have any additions (but mind the CC's! So hit
reply-all...). About the "status" on top of this text, it indicates if it's
ready for use. So if a working scheme/board has been (virtually) created,
then the status will be finished. Maybe that already is the case with the
mapper (I don't know how it's done on the LPE Z380 system).
I trust the Phoenix webpage maintainer to add this text to the page.
The version increases as updates to this text are being made.


~Grauw


--
>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<
 email me: [EMAIL PROTECTED] or ICQ: 10196372
      visit my homepage at http://grauw.blehq.org/
>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<



****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet
****

Reply via email to