Re: 6551 driver questions

From: Rainer Buchty (buchty_at_cs.tum.edu)
Date: 2003-08-23 21:04:23

> Won't an ACIA NMI get lost in this case? Assume this order:
>
>         1. CIA NMI triggered
>         2. CIA NMI gets handled, but still stays active
>         3. ACIA NMI occurs, since /NMI is already active, nothing happens
>         4. CIA NMI released. /NMI still active (from ACIA), nothing happens

Well, then after releasing the CIA NMI the ACIA IRQ status has to be
checked to see if something did happen meanwhile and then jump to a
"userland" copy if the NMI handler? If I understood your first mail
correctly, all you wanted to prevent is the occurance of an ACIA NMI
during access of the ACIA control register happening outside the NMI
routine.

To Spiros: Yeah, I indeed mixed them up (as a quick look into the 6502
datasheet would have shown me first place): IRQ is level-triggered (i.e.
level stays, IRQ will be re-entered after RTI) where NMI is falling-edge
triggered (i.e. staying level prevents further occurances).

So it's not you who should get asleep but rather me not writing mails so
early after getting up :)

Rainer

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.