] You probably won't get problems.
] However, in Dos it is easiest to replace the bytes at adress #38, for
] example putting a JP Interrupt there. In Basic, it is -to my opinion- better
] if you swith away the ROM, however you could also set the other interrupt
] mode (mode 2?) in which the high byte of the adress of a jumptable is set in
] the I-register and the low byte of the adress is determined by the devie.
] For example, set I to #C0, and then fill adresses #C000-#C0FF with words of
] the adress the interrupt should jump to (yes, indeed, the device can only
] set odd adresses) (there are no devices delivering this lower byte of the
] adress on the MSX. So #C000 can be assumed as the set adress. However, it is
] still safe to fill the omplete 128 words with the right value, just in
] case...)
Hi people,

Thinking that you should set the interruptvector at #C000 when you set I to 
#C0 is a commonly made mistake in the MSX world. You should set your 
interruptpointer at address #C0FF instead. As some of you might know, the 
databus in the MSX is connected to VCC with pull-up resistors. As a 
consequence the Z80 will always fetch the value 0xFF when reading from the 
databus at a moment that no device is writing to the databus. For example, 
when the Z80 reads the databus in IM2 after having received an interrupt 
request.

This is for example a codefragment, which I used in the 'No Waste' demo:

intvector:      equ     #88ff           ; int. vector int mode 2

scroll:         di
                im      2
                ld      a,.high. intvector
                ld      i,a             ; Startoffset for int table
                ld      hl,vertint
                ld      (intvector),hl  ; Set interruptvector
                ei
                ret

vertint:        in      a,(#99)
  ; some code cut-out
                ei
                reti


Kind regards,
Alex Wulms
-- 
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



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