FeOS/arm7/source/feos.h
fincs a53ba81701 MAJOR FeOS API RESTRUCTURING AND KERNEL CLEANUP, see details:
- Fake module structure simplified into two big blocks:
  FEOSKRNL - Platform-"independent" FeOS API
  FEOSDSHW - DS-specific FeOS API
- FeOS_ prefix replaced by NT-like function categories:
  Ke  - General kernel functions
  Ldr - Module loading
  Io  - Input/output
  DS  - DS-specific functions
- Console mode IO region block lifted - many SWI thunks removed
- Module export table is now searched using binary search
- Kernel iprintf() is overriden to save space
- Major code cleanup and reorganization
2013-08-10 19:08:01 +02:00

24 lines
778 B
C

#pragma once
#include <nds.h>
#include "../../kernel/source/feos.h"
#include "../../kernel/source/loader.h"
#include "../../kernel/source/feosfifo.h"
void Ke7VBlankISR();
void coopFifoSetDatamsgHandler(int channel, FifoDatamsgHandlerFunc handler, void* userdata);
void coopFifoSetValue32Handler(int channel, FifoValue32HandlerFunc handler, void* userdata);
void coopFifoSetAddressHandler(int channel, FifoAddressHandlerFunc handler, void* userdata);
VoidFn coopIrqSet(word_t mask, VoidFn fn);
word_t coopIrqCheck();
void coopIrqWait(word_t mask);
word_t coopIrqNext();
void coop_swiIntrWaitCompat(word_t how, word_t what);
void coopTimerStart(int timer, ClockDivider divider, u16 ticks, VoidFn callback);
static inline void coopWaitForVBlank()
{
coopIrqWait(IRQ_VBLANK);
}