Epok Engine

PSYQO SDK

psyqo::Kernel::registerDmaEvent

Function · 1 overload

Function

Sets an ISR callback for a given DMA channel.

Belongs to
psyqo::Kernel
Header
kernel.hh
Overloads
1

Declaration

Declaration
unsigned registerDmaEvent(DMA channel, eastl::function<void()>&& lambda)

Sets an ISR callback for a given DMA channel.

ParameterTypeMeaning
channelDMAValue supplied for channel. Keep referenced or pointed-to data valid for the complete call.
lambdaeastl::function<void ()> &&Value supplied for lambda. Keep referenced or pointed-to data valid for the complete call.

Returns: unsigned int — unsigned A slot id for the given callback.

Example

C++ example
#include "psyqo/kernel.hh"

// Assume these named values have been initialized with valid data:
// DMA channel
// eastl::function<void ()> && lambda

auto result = psyqo::Kernel::registerDmaEvent(channel, lambda);

Why use it

It provides direct, allocation-conscious access to PSX kernel ownership, interrupts and low-level services. No exception-based error path is implied by the signature.

Trade-offs and warnings

Pointer/reference arguments are borrowed unless the source contract says otherwise; keep them valid for the complete operation and never assume null is accepted.

Declared in https://github.com/pcsx-redux/nugget/blob/6186b131aacc5853a9161fb076ed34ffe504552d/psyqo/kernel.hh:261

Related members