gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > Using IPC sync with FIFO bad?

#171975 - Ruben - Wed Jan 06, 2010 10:17 am

Hi.

So I was working on my DS stuff, and since I've been making my own library, start-up code, etc. I had to make FIFO stuff. So I was wondering if what I've done is ok or if it's bad, etc.

What I've done is use the IPC_SYNC register as a 'FIFO channel' sort of thing [so that gives me 16 'channels' for transmitting data] and simply store data in the FIFO queue. This seems to work on no$gba, but I was wondering if it would work on DS? What I do exactly is store the user data on the queue, set the channel and send an IRQ to the other CPU [which is picked up as IPC_SYNC]. The other one receives, masks the channel and calls the appropriate handler [if any].

EDIT:

I had a mate test out the executable. Everything seems to work fine [aside from a small problem not remotely related to that, but to video catching up with text], so it's mainly just a matter of knowing if this is ok.

#171978 - wintermute - Wed Jan 06, 2010 4:20 pm

What's wrong with libnds?
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog

#171979 - Ruben - Wed Jan 06, 2010 4:46 pm

Well, to be honest, it's a little too... big for my tastes, and I've always liked to use my own libraries, etc. as I've also done on the GBA.