Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

CChheecckk yyoouurr dduupplleexx sswwiittcchh..


devel / comp.sys.apple2.programmer / Conflict mouse and mockingboard interrupts on Apple IIgs

SubjectAuthor
* Conflict mouse and mockingboard interrupts on Apple IIgsMarc Golombeck
`* Re: Conflict mouse and mockingboard interrupts on Apple IIgsqkumba
 `* Re: Conflict mouse and mockingboard interrupts on Apple IIgsMarc Golombeck
  `- Re: Conflict mouse and mockingboard interrupts on Apple IIgsOliver Schmidt

1
Conflict mouse and mockingboard interrupts on Apple IIgs

<0836d721-4c90-4ab7-aa08-738555f40630n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=228&group=comp.sys.apple2.programmer#228

  copy link   Newsgroups: comp.sys.apple2.programmer
X-Received: by 2002:ac8:59c7:0:b0:2de:7469:8185 with SMTP id f7-20020ac859c7000000b002de74698185mr13122136qtf.287.1645968460684;
Sun, 27 Feb 2022 05:27:40 -0800 (PST)
X-Received: by 2002:a05:6870:888e:b0:d6:fdbc:c88d with SMTP id
m14-20020a056870888e00b000d6fdbcc88dmr3798677oam.188.1645968460364; Sun, 27
Feb 2022 05:27:40 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!nntp.club.cc.cmu.edu!5.161.45.24.MISMATCH!2.us.feeder.erje.net!feeder.erje.net!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.apple2.programmer
Date: Sun, 27 Feb 2022 05:27:40 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f4:e703:a933:5933:60cb:8f12:6acc;
posting-account=9WIejgoAAADyywkYI2FcuCASZdahKKxC
NNTP-Posting-Host: 2003:f4:e703:a933:5933:60cb:8f12:6acc
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0836d721-4c90-4ab7-aa08-738555f40630n@googlegroups.com>
Subject: Conflict mouse and mockingboard interrupts on Apple IIgs
From: marc.andre.tichy@googlemail.com (Marc Golombeck)
Injection-Date: Sun, 27 Feb 2022 13:27:40 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 7
 by: Marc Golombeck - Sun, 27 Feb 2022 13:27 UTC

I have problems using the mouse in parallel to the MockingBoard on my IIgs (ROM 01). It seems like there is a conflict of interrupts toggled either by the mouse or the mockingboard. Is there a chance to detect if the current interrupt was toggled by the mouse or not? Any RAM address I can check if the mouse interrupt is active - so I may exit my own interrupt hanlder for the MockingBoard?

Thx for any advice!

Re: Conflict mouse and mockingboard interrupts on Apple IIgs

<9202e4e3-2589-4738-a89c-dbfb7b972f1bn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=229&group=comp.sys.apple2.programmer#229

  copy link   Newsgroups: comp.sys.apple2.programmer
X-Received: by 2002:a05:622a:514:b0:2de:7415:8086 with SMTP id l20-20020a05622a051400b002de74158086mr13955651qtx.464.1645981422804;
Sun, 27 Feb 2022 09:03:42 -0800 (PST)
X-Received: by 2002:a05:6870:3816:b0:d2:c31e:cb8c with SMTP id
y22-20020a056870381600b000d2c31ecb8cmr6242333oal.172.1645981422436; Sun, 27
Feb 2022 09:03:42 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.apple2.programmer
Date: Sun, 27 Feb 2022 09:03:42 -0800 (PST)
In-Reply-To: <0836d721-4c90-4ab7-aa08-738555f40630n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2603:8001:7300:34b:5d28:ca8c:7c78:ace;
posting-account=bGpciwoAAACg2KT8pQMph7tnt3o_9vtu
NNTP-Posting-Host: 2603:8001:7300:34b:5d28:ca8c:7c78:ace
References: <0836d721-4c90-4ab7-aa08-738555f40630n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9202e4e3-2589-4738-a89c-dbfb7b972f1bn@googlegroups.com>
Subject: Re: Conflict mouse and mockingboard interrupts on Apple IIgs
From: peter.ferrie@gmail.com (qkumba)
Injection-Date: Sun, 27 Feb 2022 17:03:42 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 4
 by: qkumba - Sun, 27 Feb 2022 17:03 UTC

Yes, read $7F8+mouse slot to determine the interrupt source.
If &8 != 0 then it's VBL
If &4 != 0 then it's a mouse button
if &2 != 0 then it's a mouse move.
If the byte is zero then it wasn't the mouse that triggered.

Re: Conflict mouse and mockingboard interrupts on Apple IIgs

<8673de08-6c43-494b-8e20-9f61d2719685n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=230&group=comp.sys.apple2.programmer#230

  copy link   Newsgroups: comp.sys.apple2.programmer
X-Received: by 2002:a37:a597:0:b0:4e0:e232:1d12 with SMTP id o145-20020a37a597000000b004e0e2321d12mr10082831qke.542.1646001189477;
Sun, 27 Feb 2022 14:33:09 -0800 (PST)
X-Received: by 2002:a05:6870:3e0f:b0:d7:480:e5b5 with SMTP id
lk15-20020a0568703e0f00b000d70480e5b5mr3900899oab.145.1646001189224; Sun, 27
Feb 2022 14:33:09 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.apple2.programmer
Date: Sun, 27 Feb 2022 14:33:08 -0800 (PST)
In-Reply-To: <9202e4e3-2589-4738-a89c-dbfb7b972f1bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f4:e703:a933:5933:60cb:8f12:6acc;
posting-account=9WIejgoAAADyywkYI2FcuCASZdahKKxC
NNTP-Posting-Host: 2003:f4:e703:a933:5933:60cb:8f12:6acc
References: <0836d721-4c90-4ab7-aa08-738555f40630n@googlegroups.com> <9202e4e3-2589-4738-a89c-dbfb7b972f1bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8673de08-6c43-494b-8e20-9f61d2719685n@googlegroups.com>
Subject: Re: Conflict mouse and mockingboard interrupts on Apple IIgs
From: marc.andre.tichy@googlemail.com (Marc Golombeck)
Injection-Date: Sun, 27 Feb 2022 22:33:09 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Marc Golombeck - Sun, 27 Feb 2022 22:33 UTC

Thx for your advice! I have tried to set the mouse to polling mode and disable interrupts. Everything works fine until I start the timer of the mockingboard for calling my interrupt handler. Then the system hangs.I replaced my interrupt handler with an empty stub (just an RTI) to cancel out any effects of my interrupt code but even that did not work. I am wondering what really happens when the MockingBoard triggers an IRQ and leads to the system hang? If I disable the mouse port on Slot 4 (Your Card) the MockingBoard works as expected. Hmmmm....

qkumba schrieb am Sonntag, 27. Februar 2022 um 18:03:43 UTC+1:
> Yes, read $7F8+mouse slot to determine the interrupt source.
> If &8 != 0 then it's VBL
> If &4 != 0 then it's a mouse button
> if &2 != 0 then it's a mouse move.
> If the byte is zero then it wasn't the mouse that triggered.

Re: Conflict mouse and mockingboard interrupts on Apple IIgs

<svh1ha$od1m$1@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=231&group=comp.sys.apple2.programmer#231

  copy link   Newsgroups: comp.sys.apple2.programmer
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: ol.sc@web.de (Oliver Schmidt)
Newsgroups: comp.sys.apple2.programmer
Subject: Re: Conflict mouse and mockingboard interrupts on Apple IIgs
Date: Sun, 27 Feb 2022 23:29:46 -0000 (UTC)
Message-ID: <svh1ha$od1m$1@solani.org>
References: <0836d721-4c90-4ab7-aa08-738555f40630n@googlegroups.com>
<9202e4e3-2589-4738-a89c-dbfb7b972f1bn@googlegroups.com>
<8673de08-6c43-494b-8e20-9f61d2719685n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 27 Feb 2022 23:29:46 -0000 (UTC)
Injection-Info: solani.org;
logging-data="799798"; mail-complaints-to="abuse@news.solani.org"
User-Agent: NewsTap/5.5 (iPhone/iPod Touch)
Cancel-Lock: sha1:AVCcnPng4OaTVwQbVKtofWCRB40= sha1:XIgZB4U7OupFp++Z/g5yGo1cX/w=
X-User-ID: eJwFwYEBwCAIA7CXRFpk5wCu/59gQg+LOQgGKKrcsIUsbssOG7/+iUe30ViYPy9aStu5ivkAFa4Q/w==
 by: Oliver Schmidt - Sun, 27 Feb 2022 23:29 UTC

Hi Marc,

Maybe there's a misunderstanding how 65xx IRQs work...

The 65xx IRQ is level-triggered. That means that an empty IRQ handler
results in the IRQ still being asserted when it returns. The RTI
instruction restores the IRQ mask so the 65xx "sees" the IRQ again and
re-enters the IRQ handler. Therefore the foreground program has no way to
advance - the machine "hangs".

So an IRQ handler _MUST_ do "something" about the hardware that asserted
the IRQ making that hardware to de-assert the IRQ.

If there are several potential IRQ sources, the IRQ handler _MUST_ do two
things before returning:

1. Find out which hardware asserted the IRQ.
2. Make that hardware de-assert the IRQ.

Usually the IRQ handler will additionally interact with the hardware in
question to do its actual business logic. But in contrast, the 1.) and 2.)
above are obligatory housekeeping tasks to keep the whole thing running.

Regards,
Oliver

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor