At 03:06 AM 03/25/99 +0000, Alwin Henseler ([EMAIL PROTECTED]) wrote:
>shevek <[EMAIL PROTECTED]> wrote:
>
>> The only thing you need to expect is that writing the data you read from
>> the mapperport will set it back to the state it was in when you read it.
That's _not_ the case with MSXes using the S1990 engine (like turbo R) and
mappers >512K.
>If the mapperports are write-only (possible), or reading back
>doesn't work good (possible), reading back will get you "undefined",
>usually FFh. Writing that to restore, would select always FFh = not
>the same as previous state.
I've never heard of an actual mapper that returns FFh, although
theoretically it could exist.
>I consider this issue like this:
>-You ARE allowed to read these ports (why not?).
Because two or more mappers always share the same I/O ports. If not all
mappers return the same value if read, there will be a short-circuit on the
data bus (one mapper pulling a signal high while the other is pulling it
low). I don't know if this is harmful, but it sure doesn't sound healthy.
>-When you do, there's no telling what you'll get.
>So you can read these ports, but what you read, should be considered
>as useless.
Conclusion: you gain nothing by reading them.
>>> You also have to take care that some people have more then 1
>>> mapper (however this is technically not allowed , but who cares)
>
>Multiple mappers not allowed? Says who? Says what? Why not?
Under the MSX2 rules that mapper port reading is allowed, you shouldn't use
multiple mapper because of the short-circuit problem described above.
Under the MSX2+ rules that mapper port reading is not allowed, there is no
problem with multiple mappers.
>There are some machines that have a hardware-problem with it, but
>that's more like a mistake in the design of those machines (like the
>Turbo-R with >512K external mapper).
Any MSX will have trouble if two mappers return different values (for
example because they have different sizes).
In the turbo R (and other S1990-based machines) the internal mapper will
also have a problem: only the lower 5 bits of the value read are valid.
Bye,
Maarten
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****