KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
Initialization

KOS Driver Subsystem and Component Initialization Flags. More...

Modules

 Dreamcast-Specific Flags
 Dreamcast-specific initialization flags.
 
 Generic Flags
 Generic flags for use with KOS_INIT_FLAGS()
 

Files

file  init.h
 Initialization-related flags and macros.
 
file  init_base.h
 Shared initialization macros and utilities.
 
file  init_flags.h
 Dreamcast-specific initialization-related flags and macros.
 

Macros

#define KOS_INIT_FLAGS(flags)    _KOS_INIT_FLAGS(flags, __kos_cplusplus)
 Exports and initializes the given KOS subsystems.
 
#define KOS_INIT_EARLY(func)   void (*__kos_init_early_fn)(void) = (func)
 Register a single function to be called very early in the boot process, before the BSS section is cleared.
 
#define KOS_INIT_FLAGS_ARCH(flags)
 Dreamcast-specific KOS_INIT Exports.
 

Detailed Description

KOS Driver Subsystem and Component Initialization Flags.

Macro Definition Documentation

◆ KOS_INIT_EARLY

#define KOS_INIT_EARLY (   func)    void (*__kos_init_early_fn)(void) = (func)

Register a single function to be called very early in the boot process, before the BSS section is cleared.

Parameters
funcThe function to register. The prototype should be void func(void)

◆ KOS_INIT_FLAGS

#define KOS_INIT_FLAGS (   flags)     _KOS_INIT_FLAGS(flags, __kos_cplusplus)

Exports and initializes the given KOS subsystems.

KOS_INIT_FLAGS() provides a mechanism through which various components of KOS can be enabled and initialized depending on whether their flag has been included within the list.

Note
When no KOS_INIT_FLAGS() have been explicitly provided, the default flags used by KOS are equivalent to KOS_INIT_FLAGS(INIT_DEFAULT).
Parameters
flagsParts of KOS to init.

◆ KOS_INIT_FLAGS_ARCH

#define KOS_INIT_FLAGS_ARCH (   flags)
Value:
KOS_INIT_FLAG_NONE(flags, INIT_NO_DCLOAD, dcload_init); \
KOS_INIT_FLAG_NONE(flags, INIT_NO_DCLOAD, fs_dcload_init_console); \
KOS_INIT_FLAG_NONE(flags, INIT_NO_DCLOAD, fs_dcload_shutdown); \
KOS_INIT_FLAG_NONE(flags, INIT_NO_DCLOAD, arch_init_net_dcload_ip); \
KOS_INIT_FLAG(flags, INIT_NO_DCLOAD, arch_init_net_no_dcload); \
KOS_INIT_FLAG(flags, INIT_CDROM, cdrom_init); \
KOS_INIT_FLAG(flags, INIT_CDROM, cdrom_shutdown); \
KOS_INIT_FLAG(flags, INIT_CDROM, fs_iso9660_init); \
KOS_INIT_FLAG(flags, INIT_CDROM, fs_iso9660_shutdown); \
KOS_INIT_FLAG(flags, INIT_CONTROLLER, cont_init); \
KOS_INIT_FLAG(flags, INIT_CONTROLLER, cont_shutdown); \
KOS_INIT_FLAG(flags, INIT_KEYBOARD, kbd_init); \
KOS_INIT_FLAG(flags, INIT_KEYBOARD, kbd_shutdown); \
KOS_INIT_FLAG(flags, INIT_MOUSE, mouse_init); \
KOS_INIT_FLAG(flags, INIT_MOUSE, mouse_shutdown); \
KOS_INIT_FLAG(flags, INIT_LIGHTGUN, lightgun_init); \
KOS_INIT_FLAG(flags, INIT_LIGHTGUN, lightgun_shutdown); \
KOS_INIT_FLAG(flags, INIT_VMU, vmu_init); \
KOS_INIT_FLAG(flags, INIT_VMU, vmu_shutdown); \
KOS_INIT_FLAG(flags, INIT_VMU, vmu_fs_init); \
KOS_INIT_FLAG(flags, INIT_VMU, vmu_fs_shutdown); \
KOS_INIT_FLAG(flags, INIT_PURUPURU, purupuru_init); \
KOS_INIT_FLAG(flags, INIT_PURUPURU, purupuru_shutdown); \
KOS_INIT_FLAG(flags, INIT_SIP, sip_init); \
KOS_INIT_FLAG(flags, INIT_SIP, sip_shutdown); \
KOS_INIT_FLAG(flags, INIT_DREAMEYE, dreameye_init); \
KOS_INIT_FLAG(flags, INIT_DREAMEYE, dreameye_shutdown); \
KOS_INIT_FLAG(flags, INIT_MAPLE_ALL, maple_wait_scan); \
KOS_INIT_FLAG(flags, INIT_MAPLE_ALL, maple_init); \
KOS_INIT_FLAG(flags, INIT_MAPLE_ALL, maple_shutdown)
void cdrom_init(void)
Initialize the GD-ROM for reading CDs.
void cdrom_shutdown(void)
Shutdown the CD reading system.
#define INIT_CONTROLLER
Enable Controller maple driver.
Definition init_flags.h:93
#define INIT_LIGHTGUN
Enable Lightgun maple driver.
Definition init_flags.h:96
#define INIT_VMU
Enable VMU maple driver.
Definition init_flags.h:97
#define INIT_CDROM
Enable CD-ROM support.
Definition init_flags.h:103
#define INIT_SIP
Enable Sound input maple driver.
Definition init_flags.h:99
#define INIT_NO_DCLOAD
Disable dcload.
Definition init_flags.h:106
#define INIT_KEYBOARD
Enable Keyboard maple driver.
Definition init_flags.h:94
#define INIT_MAPLE_ALL
Enable all Maple drivers.
Definition init_flags.h:101
#define INIT_MOUSE
Enable Mouse maple driver.
Definition init_flags.h:95
#define INIT_PURUPURU
Enable Puru Puru maple driver.
Definition init_flags.h:98
#define INIT_DREAMEYE
Enable DreamEye maple driver.
Definition init_flags.h:100
void maple_wait_scan(void)
Wait for the initial bus scan to complete.
void maple_shutdown(void)
Shutdown Maple.
void maple_init(void)
Initialize Maple.

Dreamcast-specific KOS_INIT Exports.

This macro contains a list of all of the possible DC-specific exported functions based on their associated initialization flags.

Note
This is not typically used directly and is instead included within the top-level architecture-independent KOS_INIT_FLAGS() macro.
Parameters
flagsParts of KOS to initialize.
See also
KOS_INIT_FLAGS()