Search the web
Sign In
New User? Sign Up
gbadev
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Re: [lists] Re: [gbadev] Re: crtls Interrupt Handler   Message List  
Reply | Forward Message #14188 of 15019 |
Re: [gbadev] Multiple interrupts revisited - was crtls Interrupt Handler

Hey Rob, it looks like you might be experiencing what I hypothesized would
happen if you use the multiple interrupt code. My theory is that the
Multiple IRQ code in crtls.zip and Nintendo's reintr example is 'last
come, first serve'

This means that the latest interrupt is always the one which will get
serviced now, and it will preempt any one that is already in progress. If
you want to assign priority then you will have to write code which
temporarily ignores lower priority interrupts.

If you are using single interrupts then the problem is that interrupts are
being put off too long, and you should switch to multiple interrupts so
that those more important IRQs can get priority.

Of course I could be completely wrong. I thought I understood interrupts
pretty well before I started to get my hands dirty with them. The
text-book made it sound so easy ^_^

On Fri, 2 May 2003, Rob Brooks wrote:

> While we're on the subject of interrupts can anyone suggest a reason why I
> might be getting squeaks and splutters in the sound when I'm running
> multiplayer code?
>
> This only happens when I'm running multiplayer code and I'm assuming that
> the MP interrupts are somehow blocking my vblank interrupts which service
> the sound buffers.
>
> This same situation seems to occur occasionally with VCount interrupts
> flipping out when there is a lot of sound which is also worse when MP code
> is happening.
>
> What are the solutions for running multiple time-critical interrupts
> successfully on GBA?
>
> I must have my VCount interrtupts for palette switching, and if I let my SIO
> and Timer interrupts for MP go astray I'll lose synch.
>
> :(
>
> -----Original Message-----
> From: Jonathan Perret [mailto:jonathan.perret@...]
> Sent: 02 May 2003 13:45
> To: gbadev@yahoogroups.com
> Subject: Re: [lists] Re: [gbadev] Re: crtls Interrupt Handler
>
>
> From: "matthew conte" <itsbroke@...>
> > there's no need to handle game pak interrupt at highest priority. only
> one
> > interrupt is handled per entry to the main ISR (for most usual setups), so
> > giving the lowest priority is fine.
>
> I don't follow you. Do you mean that only one bit is ever set in IF when
> the BIOS calls the ISR ? That seems quite unlikely.
> If this is not the case then the cart interrupt MUST be handled first
> since every other interrupt handler is likely to access code or data that
> resides in ROM. No ?
>
> Cheers,
> --Jonathan
>
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>

--
The Phoenix - NekoCo - The Artistic Intuition Company
DevKitAdvance*MirrorReflex*Teapot*PhoenixQuake*Caelius*Zen-X*InfiniteRealms





Fri May 2, 2003 2:42 pm

fenix@...
Send Email Send Email

Forward
Message #14188 of 15019 |
Expand Messages Author Sort by Date

From: "matthew conte" <itsbroke@...> ... one ... I don't follow you. Do you mean that only one bit is ever set in IF when the BIOS calls the ISR...
Jonathan Perret
jonathan.perret@...
Send Email
May 2, 2003
12:46 pm

While we're on the subject of interrupts can anyone suggest a reason why I might be getting squeaks and splutters in the sound when I'm running multiplayer...
Rob Brooks
rbrooksuk
Offline Send Email
May 2, 2003
1:30 pm

Hey Rob, it looks like you might be experiencing what I hypothesized would happen if you use the multiple interrupt code. My theory is that the Multiple IRQ...
Jason Wilkins
fenix@...
Send Email
May 2, 2003
2:56 pm

I used to like the 68k method of 7 levels. I had no problems at all with that but this penny-pinching one-size-fits-all just seems like grief. ... From: Jason...
Rob Brooks
rbrooksuk
Offline Send Email
May 2, 2003
3:23 pm

... When you can pick up a system for less than 50 bucks, how can you complain? ^_^ I really need some more details about what happens when an interrupt is ...
Jason Wilkins
fenix@...
Send Email
May 2, 2003
4:15 pm

... A program called "Linux" fixes this problem by dividing each interrupt handler into a top half and a bottom half. The top half performs time-critical...
Damian Yerrick
yerricde
Offline Send Email
May 2, 2003
5:19 pm

... Not to get off topic, but I think that Linux is moving to a more fine grained system than this currently. Anyway... I think a more general main interrupt...
Jason Wilkins
fenix@...
Send Email
May 2, 2003
7:20 pm

From: "Jonathan Perret" <jonathan.perret@...> ... no, only one interrupt is handled per entrance to the ISR that's floating around. ... no. when...
matthew conte
whatwouldbig...
Online Now Send Email
May 3, 2003
12:50 am

... It takes -time- to get to the cart interrupt handler, especially if it is at the end. Another interrupt could occur. Until I get some more detailed...
Jason Wilkins
fenix@...
Send Email
May 3, 2003
12:31 pm

... ...if you don't use multiple interrupts. With multiple interrupts enabled (we all wanna do neat hblank effects while the music player is doing its work...
Jan-Lieuwe Koopmans
jan-lieuwe@...
Send Email
May 3, 2003
1:11 am

Actually, reading the source code for an emulator -has- helped me to understand what is going on during an IRQ better. It turns out that the CPU disables...
Jason Wilkins
fenix@...
Send Email
May 3, 2003
12:30 pm

... okay, i see where you're coming from. if you're using multiple interrupts, and want to properly handle the game pak interrupt, it should be the first ...
matthew conte
whatwouldbig...
Online Now Send Email
May 3, 2003
5:20 pm

From: "Jan-Lieuwe Koopmans" <jan-lieuwe@...> ... floating ... no, one per entrance. the routine is re-entered if you have multiple interrupts...
matthew conte
whatwouldbig...
Online Now Send Email
May 3, 2003
5:20 pm

From: "Jason Wilkins" <fenix@...> ... more ... multiple interrupt code (which would be more aptly named 'reentrant interrupt handling') exists primarily...
matthew conte
whatwouldbig...
Online Now Send Email
May 6, 2003
12:41 am

... I guess that's why the purported Nintendo example is called "reintr.c" ... Unless you have to write to both the background scrolling registers and the...
Damian Yerrick
yerricde
Offline Send Email
May 6, 2003
7:43 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help