At 11:33 31-5-01 +0200, you wrote:
>On 31 May 2001, Bastiaan MSX wrote:
>
> > Hello,
> >
> > The situation: NMS8250: internal mapper 128kB, external 1MB
> >
> > How do I prevent the use of the internal mapper so I don't lose time
> switching
> > slots?
> > Can I block or disable the internal mapper (with a programm)?
> >
> > hope you can help
>
>In hardware, the mapper cannot be uninstalled (except by physically taking
>it out). Detecting the mapper in a standard way will always succeed. If
>you write your own software, you can off course only use the largest
>mapper.
There are a few issues here:
1. All memory mappers are switched on the same ports, no matter on which
slot the mappers are located in. So when you switch a mapper bank, the same
bank in all mappers will be switched.
2. The internal mapper is (in many cases) located in a higher slot the
external mapper is located in. When the system boots up, the first slot
with RAM is used (except for MSX turbo R, which for some reason always
selects the internal memory mapper). So using only the largest mapper is by
default (in this case) and no other measures are really required.
>If it comes to standard routines (dos2, eg), there is probably some system
>variable telling where the mappers are. Changing that should work for
>programs that use dos2 to access memory. I do not know where this variable
>is. Anybody?
DOS1: no standard routines, no memory management routines, you can switch
mapper blocks easilly, quite dangerous too, as you don't know whether that
mapper block is already used by some other program.
DOS2: you should use the memory management routines. You need to request
segements. You can either request if from primary mapper (the mapper the
MSX booted in, generally the lowest slot or the largest mapper) which is
the fastest (while no slot switching is needed) or secundary mapper(s).
There should be a table with the slots and sizes of mappers though it's not
correct to assume the table is in the same place. So there should be a
pointer to the base of the table somewhere.
So... Quite some things to consider if you really want to be sure the
largest mapper is used...
GreeTz, BiFi
Visit my Home Page at www.bifi.msxnet.org
mail me at: [EMAIL PROTECTED]
FTP: ftp.bifi.msxnet.org
ICQ #36126979
--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html