On 10/3/2022 10:49 AM, Marko Mäkelä wrote: > Mon, Oct 03, 2022 at 09:55:56AM -0500, Jim Brain wrote: >> Others know more about NMI behavior, but if NMI is low, I believe the >> vector is referenced, the CPU goes to that location, but NMI vector >> will not be pulled again until the RTI. If I'm right, the NMI >> routine merely has to stay engaged for > 1/60th of a second. > > NMI can only be triggered on a falling edge of the signal. The RTI > instruction does not matter. (In an IRQ handler, RTI would restore > flags, which would typically clear the I flag and thus cause another > jump to the IRQ handler if the IRQ line is asserted.) I stand corrected, though I thought NMI was level triggered, while IRQ was edge triggered. In any case, your other comment implies that a second NMI occurring while the first one is being serviced would cause a second vector pull, and so on. So, the button probably latches a flip flop, which causes NMI line to fall, triggering the NMI. Later, the 60 Hz signal from the joyport comes along and resets the F/F. and the button can once again cause an NMI. Jim > > -- Jim Brain brain_at_jbrain.com www.jbrain.comReceived on 2022-10-03 19:00:04
Archive generated by hypermail 2.3.0.