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 > Fifo irq, swiWaitForVBlank.....

#138108 - Phantaseur - Sun Aug 19, 2007 10:35 pm

For enabling FIFO interruption on ARM9 processor I used next code:
Code:
   REG_IME=0;
   IRQ_HANDLER=FIFOirq;
   REG_IE=IRQ_FIFO_NOT_EMPTY;
   REG_IF=~0;
   REG_IPCFIFOCNT=IPC_FIFO_RECV_IRQ|IPC_FIFO_ENABLE|IPC_FIFO_SEND_CLEAR;
   REG_IME=1;
It always worked.
Now I need swiWaitForVBlank enabled, I changed code to:
Code:
   irqInit();
   irqSet(IRQ_VBLANK, 0);
   irqEnable(IRQ_VBLANK);
   REG_IPCFIFOCNT=IPC_FIFO_RECV_IRQ|IPC_FIFO_ENABLE|IPC_FIFO_SEND_CLEAR;
   irqSet(IRQ_FIFO_NOT_EMPTY,FIFOirq);
   irqEnable(IRQ_FIFO_NOT_EMPTY);
But in this case works just swiWaitForVBlank & I cannot get interruption when FIFO is not empty.
So what I have to do with first or second example to get both fifo irq & swiWaitForVBlank enabled?