🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.apple2.gno
Article #189

Re: Bug with GNO and Shadow Register?

#189
From: Jawaid Bazyar
Date: Thu, 12 Nov 1992 10:57
40 lines
2403 bytes
Dave Huang sez:

>It seems that GNO doesn't always restore the state of the shadow
>register before a heartbeat task is called, which causes problems with
>programs that use a heartbeat task to update the bank $01 SHR screen,
>such as MODZap (the VUs meters don't erase properly). Would it be
>possible for GNO to restore the shadow register (and other important
>softswitches too :-) for heartbeat tasks?

  No.  And I'll tell ya why, too.  What happens is if a context switch
is going to occur, it's done _before_ calling the heartbeat tasks.
I have to way to control this because I can only pre-patch the Interrupt
Manager vector.  Thus, Ian's interrupt handlers are running under
_someone else's_ context. (GNO _does_ context switch the shadow register).

  Now, it might be considered incorrect to assume that the shadow 
register is set to what you want.  In fact, I would think that an interrupt
handler could never be certain of the context.  What Ian needs to do
is set&restore the Shadow register the way he wants around his
little doo-dad update code. 

  To prove my correctness :-), it's conceivable that some piece of
the system software (which Ian calls a lot) might modify the shadow
register during its operation.  If Ian's Heart Beat update routine 
got called during that, it would exhibit the same problems w/o GNO 
(on a lesser scale, of course, because the chances of that happening
are less).

  So, unless someone can get Apple to prove me wrong, it stands
as-is and Ian fixes his program. :-)

  (As a matter of fact, the Interrupt firmware is constantly dallying
with the shadow register- you can't assume anything).

  BTW, Ian, change the filename to "daveloses". :-)
-- 
 Jawaid Bazyar              |   Ask me about the GNO Multitasking Environment
 Procyon, Inc.              |   for the Apple IIgs!   
 bazyar@cs.uiuc.edu         |   P.O Box 620334
 --Apple II Forever!--      |   Littleton, CO 80162-0334   (303) 933-4649
Technical Details
Message-ID: <BxLns3.1sx@csn.org>
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!csn!teal.csn.org!bazyar

Show Full Headers
Complete Article Headers
Newsgroups: comp.sys.apple2.gno
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!csn!teal.csn.org!bazyar
From: bazyar@teal.csn.org (Jawaid Bazyar)
Subject: Re: Bug with GNO and Shadow Register?
Message-ID: <BxLns3.1sx@csn.org>
Sender: news@csn.org (news)
Nntp-Posting-Host: teal.csn.org
Organization: Colorado SuperNet, Inc.
Date: Thu, 12 Nov 1992 10:57:38 GMT
Lines: 40