Response of own-interrupt-expert Grauw...

Oberleithner Wolfgang wrote:
:I want to speed up the interrupt (original #38).
:So I use the #FD9A for jumping to my own routine (which will
:pop the return-adress from the stack), checking the Vertcal-
:Blank flag and only the absoult necessary things.

If in DOS I'd advice you to hook adress #38. That is much faster and also
more 'compatible'. Hooking adress #FD9A might cause diffuculty when using an
other (new) BIOS... Which for example might have an additional PUSH AF
before the call to the hook... Which will give problems.

If you are programming a game or so I'd suggest you switch RAM in slot 0
(who uses the bios?) or use another interrupt-mode (IM 2, if I'm correct.
Don't forget to switch back to IM1 afterwards!).


:Everything is fine, BUT - there are still two things which
:I would like to remove...
:the call to the old #FD9A, and the call to #FD9F.

The gain in speed is very minimal compared to the advantages.


:#FD9A: called on every interrupt which occurs,
:       normally not used by the system, only some special software.
:       - there shouldn't be problems if I won't call this old entry

Used by the newest version of MBWAVE and its basic-replayer.


:#FD9F: called 50/60 times per second,
:       a restard-command to stop the diskdrive.
:       - before disabling this call, I will call it 256 times after
:         a diskoperation to stop the drive.

Used by MBWAVE < v1.1 and MB1.4-songs
Also, the stop of the drive isn't really 'good' when you call it 256 times
after a diskoperation, it will STOP. Immediately after every disk-access.
Which isn't that nice...


:What is your opinion? Will I be in troubles by removing this two calls?

No troubles, I think, but some things might not work correct anymore.


In my own interrupt-routines, I always call #FD9A and if it's an
VDP-interrupt I also call #FD9F, fill in the key-table, increase JIFFY and
do some game-related things.

But I dunno if you can speed-up the interrupt that much.
Yes, I know your thinking... You hope to be able to delete some PUSH and
POP-instructions at the beginning. Well, when you really, REALLY need the
speed, then you might delete the calls to #FD9A and #FD9F. But if you have
got a music-routine on the interrupt, you still have no gain, for then you
still have to push all registers.


~Grauw


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