> 1) On a computer system that officially supports IM 2, the device generating
> the interrupt request must put a device ID on the databus when the Z80
> acknowledges the interrupt request.
> 2) On a computer system that does not support IM 2 (like the MSX), devices
> are NOT allowed to put anything on the databus when the Z80 acknowledges the
> interrupt request, since the Z80 will not expect anything there, so you might
> get I/O conflicts if a device puts anything on the databus. Therefore, on the
> MSX, no device will put anything on the databus.
> 3) On an MSX system, the databus is pulled-up with pull-up resistors, to have
> a consistent state of the databus when no device writes anything to the
> databus.
So to use IM2 the way it on MSX, should for some added hardware gizmo, this
devices would have to put its dev-ID on the bus during acknowledgment, AND
that resistor must be removed. Just out of curiosity, is this easily done?
> When you combine 2) and 3) you can safely conclude that any MSX computer has
> 255 on the databus at the moment that the Z80 reads it during IM 2.
> So, it is sufficient to write your pointer to (I + 0xFF, I + 0x100), as shown
> in Laurens code example.
Thanks for explaining.
> Kind regards,
> Alex Wulms
>
> Ps. I have used IM 2 as well on several occasions.
What added use is it over using the regular 038h?
> --
> Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever
> See my homepage for info on the *** XSA *** format
> http://www.inter.nl.net/users/A.P.Wulms
Joost Klootwijk
****
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
****