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

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

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
crtls Interrupt Handler   Message List  
Reply | Forward Message #14177 of 15019 |
RE: [gbadev] Re: crtls Interrupt Handler

So just to make sure I'm upto to date:

Proper card interrupt handling:

Copy your isr(interrupt service routine) to iwram/ewram
Handle the card interrupt at highest priority
Disable sound, set IME to 0 (disable all interrupts), and go to an
infinite loop

Would that be correct?

Willem


> -----Original Message-----
> From: Jason Wilkins [mailto:fenix@...]
> Sent: 01 May 2003 22:26
> To: gbadev@yahoogroups.com
> Subject: Re: [gbadev] Re: crtls Interrupt Handler
>
>
> On Thu, 1 May 2003, Damian Yerrick wrote:
>
> > And I keep reassuring them that after Sega v. Accolade, people who
> > include logo data have nothing to worry about.
>
> I believe this too, but if Nintendo took you to court, it
> would be a huge
> hassle to get in front of a judge and tell Nintendo how
> mistaken it is.
>
> > > but disassembling code and distributing it is apparently
> just fine.
> >
> > If there's only one efficient way to express a given idea,
> then by the
> > "merger doctrine", the expression is not worthy of copyright.
>
> I believe this as well, but there are several different
> permutations of
> how this can be done, and in this case it is an instruction for
> instruction match. It is not a big deal, I'm just curious.
>
> > Is there a way for a GBA cart to generate an interrupt
> other than by
> > being pulled off the bus entirely? For example, NES carts
> generated
> > interrupts for all sorts of reasons.
>
> I would guess yes, but both handlers go into infinite loops,
> which is not
> a good way to handle any event except removal of the cart.
>
> Hmm, I just realized another bad thing about this code. It
> turns off sound, and goes into an infinite loop, but it does
> not set IME to zero, so
> another interrupt could occur and take the program out of its loop.
>
> Removing the cart is bad, m'kay?
>
> I'm glad this feature only protects extremely careless people, nobody
> handles it correctly.
>
>
>
>
>
> ------------------------ Yahoo! Groups Sponsor
> ---------------------~--> Get A Free Psychic Reading! Your
> Online Answer To Life's Important Questions.
> http://us.click.yahoo.com/O10svD/Me7FAA/uetFAA> /cPRolB/TM
>
>
> --------------------------------------------------------------
> -------~->
>
>
>
> Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
>
>





Fri May 2, 2003 8:51 am

thezensunni
Offline Offline
Send Email Send Email

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

... I actually thought of a feature like this, but I didn't mention it because that is not what these games are trying to do. After doing some more...
Jason Wilkins
fenix@...
Send Email
May 2, 2003
1:31 pm

So just to make sure I'm upto to date: Proper card interrupt handling: Copy your isr(interrupt service routine) to iwram/ewram Handle the card interrupt at...
Willem Kokke
thezensunni
Offline Send Email
May 2, 2003
10:03 am

From: "Willem Kokke" <wkokke@...> ... Looks ok. ... ... or whatever you think is appropriate ! I wonder if it would be feasible to just say "Please...
Jonathan Perret
jonathan.perret@...
Send Email
May 2, 2003
11:49 am

... I have not read the documentation, but I never thought about if another IRQ is generated when the cart, or a different cart, is inserted. I guess that it...
Jason Wilkins
fenix@...
Send Email
May 2, 2003
1:48 pm

... It's not limited to just the first 4 KB; witness 'mb -p' that can dump all 32 MB of a cartridge over the MBV2 cable. ... Read the header at 0x08000000...
Damian Yerrick
yerricde
Offline Send Email
May 2, 2003
5:19 pm

... I don't even think that the emulators support emulation of flash cartridges yet. Considering that many of use write software for people with flash carts,...
Jason Wilkins
fenix@...
Send Email
May 2, 2003
7:20 pm

Hmm, would be interesting.. Does anybody know wheter you can distinguish between a insert card and remove cart interrupt?? What happens when you try to read...
Willem Kokke
thezensunni
Offline Send Email
May 2, 2003
11:59 am

... 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 ...
matthew conte
whatwouldbig...
Offline Send Email
May 2, 2003
12:35 pm

... I think I see what you mean. If you have multiple interrupts enabled like how Nintendo has demonstrated, then a "lower priority" interrupt will still...
Jason Wilkins
fenix@...
Send Email
May 2, 2003
2:50 pm

From: "Damian Yerrick" <d_yerrick@...> ... I've been wondering about that. The specs (e.g. gbatek) explicitly say that most of the cart ROM is locked...
Jonathan Perret
jonathan.perret@...
Send Email
May 2, 2003
5:36 pm

... oops... I meant 'mb -1'. It's -1 to read a cart and -p to write. ... Perhaps Nintendo wrote that in the spec but didn't put it in the first generation...
Damian Yerrick
yerricde
Offline Send Email
May 2, 2003
6:05 pm

From: "Jason Wilkins" <fenix@...> ... if you're handling a higher priority (in terms of its order in the branch table in the dispatch routine) interrupt,...
matthew conte
whatwouldbig...
Offline Send Email
May 3, 2003
5:20 pm

... Actually, it is. The IME is saved, and then set at the beginning of the ISR. Interrupts are still disabled in the CPSR, so interrupts are still disabled...
Jason Wilkins
fenix@...
Send Email
May 4, 2003
12:31 pm

FYI People were talking about the cart removed interrupt. Well, be sure you disable DMA, or probably better yet, set the audio volume to zero in the loop while...
Mike Schwartz
mykes@...
Send Email
May 4, 2003
5:02 pm

... more ... DMA ... a ... additional ... Yes, that's a good question IMHO. In a non-embedded OS it is generally considered very bad practice to have...
Jonathan Perret
jonathan.perret@...
Send Email
May 5, 2003
1:00 pm

... Now, of course the issues are not the same on the GBA; if there's just one handler that occasionnally needs more time to do its work perhaps it's not...
CoolMan
co0lman2003
Offline Send Email
May 6, 2003
5:24 pm

... The multiple interrupt code in my crt0.S is nearly identical to Nintendo code as a result of my "review" :-) of N examples. However, I made small changes...
Jeff Frohwein
jfrohwei
Offline Send Email
May 7, 2003
1:48 pm

... interrupt handler Well, I guess, although it seems to be more of a 'timed request processor'. ... return immediately to the BIOS while user control returns...
CoolMan
co0lman2003
Offline Send Email
May 7, 2003
3:00 pm

... Part of the point I was trying to make is that switching the CPU back into System mode to execute the handler, then returning to IRQ mode just before...
Jonathan Perret
jonathan.perret@...
Send Email
May 7, 2003
3:29 pm

Okay you guys have sucked me into this. My limited understanding of how ARM sees the world is the same or similar to where some of these ideas are headed. I...
David Welch
dwelchgba
Offline Send Email
May 7, 2003
10:31 pm

Anyway, yes, umm, and, anyway, in theory, anyway, I didnt proof read that before I sent it...sorry. The encoding of the LDRT is not obvious, apparently there...
David Welch
dwelchgba
Offline Send Email
May 7, 2003
11:18 pm

... This is exactly what I was thinking about, but you state it 100 percent more clearly than me....
Jason Wilkins
fenix@...
Send Email
May 8, 2003
8:42 am

From: "David Welch" <gba@...> ... Very much agreed. ... The LDRT/STRT instructions look yummy. I have an "ARM7TDMI data sheet" (arm7tdmive.pdf) here and...
Jonathan Perret
jonathan.perret@...
Send Email
May 13, 2003
9:26 am
 First  |  |  Next > Last 
Advanced

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