Re: "Partner 128" by Timeworks Inc.

From: Jim Brain <brain_at_jbrain.com>
Date: Mon, 3 Oct 2022 11:02:09 -0500
Message-ID: <bb52ad25-8aef-1021-4c3f-dd7a54b7f4db_at_jbrain.com>
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.com
Received on 2022-10-03 19:00:04

Archive generated by hypermail 2.3.0.