Date : Thu, 08 Feb 1996 09:10:25 +0000 (GMT)
From : jkb@...
Subject: Re: That System VIA
Tom Seddon wrote:
>Should I let the interrupts from the VIA pile up? I've added an
>'interrupts outstanding' indicator to the disassembly output, and when
>BASIC starts (after a long period of OS initialisation with I set) there
It doesn't sound correct to me. I know of no hardware on the BBC that
supports interrupt queues. Maybe Xbeeb and BeebEm use it to allow for
servicing of interrupts at a slower rate, but without missing them.
However, that said I guess it may often appear to be stacking interrupts
up. Imagine that you get a T1 clocked interrupt and a keyboard
interrupt. Both will set the interrupt flag. Once one has been processed
and the interrupt flag cleared, the second interrupt still needs
servicing. I think this is done in the same IRQ handler - it checks and
services all types of interrupts.
I'm not sure of how the hardware side of things works. Presumably
there's an interrupt pin on the processor. Does the external hardware
pull this high continuously until an acknowledge flag is set or is it a
single pulse? I expect it's the latter, but if it was the former then
there is in effect a stack system as performing as servicing one won't
clear the interrupt request if another one is still waiting. I don't
think that's the case though.
>And once I get this sorted out--there's still the keyboard to go! (I've
>written the code, but it doesn't work--maybe it's related to the problems
>above).
I'd certainly be inclined to forget it until the other problem is solved
- you may strike lucky and fix it with the IRQ fixes.
>I hate the VIA.
I know the feeling :-)
James
--
James Bonfield (jkb@... ) Tel: 01223 402499 Fax: 01223
412282
Medical Research Council - Laboratory of Molecular Biology,
Hills Road, Cambridge, CB2 2QH, England.
Also see Staden Package WWW site at http://www.mrc-lmb.cam.ac.uk/pubseq/