Login
Search for:


Previous | Next

From: pzsolt (all posts)
Date: 2000-07-25
Subject: Re: Interrupts
Hi,

thanks for the quick answer! I hope now I can fix my interrupt bugs.

Greetings,
Zsolt

----- Original Message -----
From: Almos Rajnai <racs@fs2.bdtf.hu>
To: <plus4@c64.rulez.org>
Sent: Tuesday, July 25, 2000 1:18 PM Subject: Re: Interrupts

> Hello!
>
> On 25 Jul 00, at 11:47, Zsolt Prievara wrote:
>
> > When does the hardware set the 7th bit of FF09? What happens exactly when
> > the mask disables
> > an interrupt and it occurs?
>
> AFAIK:
> 7th bit marks (only marks) if an interrupt request appeared.
> If an interrupt disabled in $FF0A, then the adequate bit in $FF09 is
> set, but no interrupt occurs.
>
> Like:
> LDA $FF09
> AND $FF0A
> BEQ nointerrupt
> ...
>
> Make sure $FF0A never contains higher number than $7F!
>
> > And what happens if a request bit is set, but its interrupt occurs again? Is
> > it possible?
>
> It is possible eg. with timer interrupts. If the bits are not cleared
> soon after, it may happen once again. Nothing special happens, just
> keep on requesting interrupt, if it is not disabled in any way.
> BTW it causes an infinte interrupt loops. (Too long interrupt code, I
> know this problem very much... ;)) But: at the start of an interrupt,
> maskable interrupt is automatically disabled!
>
> I have a question too about this topic. I asked half a year ago, but
> nobody aswered it properly. What happens, when I write back values to
> $FF09? I found in several programs, that this register is cleared
> when _ANY_ value is written. (At least many of the programs are
> working on this way.) Is that true?
>
> Eg: ASL $FF09 - clears the requests, besides it is working like:
> read $FF09, eg.:$82 (irq request), then shift left: $04, and write
> back.
>
> Thanks in advance:
>
> Almos Rajnai
>
> +---------------------------=%%&##########&%%=-------------------------+
> | Rachy of Bi0Hazard | PowerAmiga owner | ATO Hungarian |F0NT! |
> | e-mail: racs@fs2.bdtf.hu | No Risc No Fun! | member |Editor|
> +-----ICQ:-16342960---------=%%&##########&%%=---Phone:+36 20 9891489--+
> --this message went through the plus4@c64.rulez.org emailing list---
>

Copyright © Plus/4 World Team, 2001-2024