mirror of
https://github.com/fincs/FeOS.git
synced 2025-06-19 03:25:33 -04:00

- 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
24 lines
778 B
C
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);
|
|
}
|