> > In C(++), there
> > is even a special command for such things... Break it was called if I
> > remember correctly...
>
> Dirty tricks like calling ROM routine directly, reading/writing
> mapper registers directly, do directly slot-switching, putting routines on
> a HMA you think it's free, enabling/disabling interrupts to get speed,
> acessing the hardware directly, etc.
The first two are indeed 'dirty', and the third also a little (however have
you ever tried to switch page 0 in the Basic-environment away without
writing your own slotswitching routine?).
I have to confess I indeed presume the area #C000 to about #D800 to be free.
I will change that habit from now on, ok?
Enabling and disabling the interrupts is absolutely NOT done for speed, but
for other reasons. The speed gained by disabling them is minimal, they are
only called 50 times per sec. Writing an own interrupt routine IS done for
the speed, because if a game needs it and only requires the cursor keys to
be read it's a bit bullshit to let the interrupt read all key input, all
joystick ports, and do a lot more unnessecary stuff.
The last one, I don't think it's 'dirty'. Accessing the VDP directly is part
of the standard (from MSX2+ on), and AFAIK the same goes for the PPI, the
PSG, the Music Module(s), the FM-Pac(s), and a lot of other stuff.
The only thing which is stupid is the RS232's. They are all different, and
there are alot of types... Some have ROM, but alot have not. And besides,
the ROM is very slow with its interslot call and #FD9A interrupt hook (all
PUSHes and POPs on the interrupt are still done). It is very hard for the
BIOS to keep up with a 33k6 modem. Not to mention the program which has to
process the received data, which has barely time left to do its job.
Fortunately, now the Erix Fossil-driver exists, which supports all
RS232-interfaces and has a 'fast interrupt'-mode, etc. etc. etc.
~Grauw
--
>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<
email me: [EMAIL PROTECTED] or ICQ: 10196372
visit the Datax homepage at http://datax.cjb.net/
>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<
****
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
****