There is another method I use for this when I don't want my program to be interupted, just switch off NMI and when you want display back, just switch it on.
Code: Select all
OUT ($FD),A ; switch NMI off
...
OUT ($FE),A ; switch NMI on
You need less code than make a call and it is faster.
I think you are still working on 1k routines ...
So this makes a very long phase of running time for your program - as long as you want or need.
There is another aspect - when you use another video driver than the system driver (HRG driver for example) you driver will be kicked off when calling $0207 which simply or hardly sets and initializes the system video driver be resetting IX register to it's default value.