> >Keep in mind that when executing an EI the interrupts will be enabled
after
> >the next instruction. So this is the way to keep the interrupts disabled
as
> >short as possible, which is always preferred (although not required).
>
> Nice tip. This reminds me of the EI/RETI pair back in the ZX era. The fact
> is that...
>
> ***I DON'T REMEMBER THE REASON!!!***
>
> Is this tip used in MSX interrupts? Why (or why not)? ZX Spectrum used
IM2.

On the MSX interrupts the interrupt ends with a EI:RET. (No RETI, it has no
use).
The reason why EI enabled the interrupt 1 instruction later had indeed to do
with the interrupt. If you let the interrupt end with EI:RET then the
interrupts will be enabled AFTER the RET, hence preventing a stack overload
when the interrupt-routines occasionally takes too long and can't keep up
with the interrupt itself.


> >> Is it legal to tell Disk ROM to stop the motor with VDP interrupts
> >disabled?
> >
> >Yes. Basically the DiskROM has nothing to do with the VDP. Just keep in
mind
> >that there is a chance that they enable the interrupts.
>
> But not at VDP level I suppose.

No, only with DI, EI.
In fact, disabling the VDP-interrupt using the bit in register 1 is used
>>nowhere<< in the BIOS.


> >But why do you need to keep the interrupts disabled???
>
> It was posted on this list that F700 had disk speed problems because of
> poor disk interrupts. One way to cope with this was disabling interrupts
> during disk loading. This way the F700 problem is solved at boot time
> without disturbing other MSX models and without the hassle of saving/RET
> poking/restoring the int vector.

Oh, yes, I remember. Well, just use the VDP(1) trick, which is completely
legal and will probably work.


~Grauw


--
>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<
          email me: [EMAIL PROTECTED] or ICQ: 10196372
             visit the Datax homepage at http://datax.cjb.net/
MSX fair Bussum / MSX Marathon homepage: http://msxfair.cjb.net/
>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<


****
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/)
****

Reply via email to