|
Jo Engine
2024.04.28
Jo Sega Saturn Engine
|
Go to the documentation of this file.
36 # define __JO_CORE_H__
45 # define jo_core_error(...) do {sprintf(__jo_last_error, __VA_ARGS__); __jo_core_error(__jo_last_error, __FUNCTION__);} while(0)
50 # define JO_ENGINE_VERSION (10.0)
58 #ifdef JO_COMPILE_WITH_DUAL_CPU_SUPPORT
99 #ifdef JO_COMPILE_WITH_DUAL_CPU_SUPPORT
124 #ifdef JO_COMPILE_WITH_DUAL_CPU_SUPPORT
174 (**(void(**)(void))0x600026C)();
191 #define jo_core_set_screens_order(screen1, args...) __jo_core_set_screens_order(screen1, ## args, ~0);
int jo_core_add_vblank_callback(const jo_event_callback callback)
Add a callback during VBLANK interruption.
void(* jo_slave_callback)(void)
Function prototype for jo_core_exec_on_slave()
Definition: core.h:61
int jo_core_add_slave_callback(const jo_event_callback callback)
Add a callback in the game loop on slave CPU.
void jo_core_wait_for_slave(void)
Wait until slave callback is completed.
int jo_core_add_callback(const jo_event_callback callback)
Add a callback in the game loop on main CPU.
void __jo_core_set_screens_order(jo_scroll_screen screen1,...)
Screen order (Internal usage)
static __jo_force_inline void jo_core_restart_saturn(void)
Restart the Saturn.
Definition: core.h:180
static __jo_force_inline char * jo_get_last_error(void)
Get last error.
Definition: core.h:202
static __jo_force_inline void jo_core_exit_to_multiplayer(void)
Exit program and return to the Saturn multiplayer (CD player) screen.
Definition: core.h:171
void jo_core_init(const jo_color back_color)
Init the engine.
static __jo_force_inline void jo_core_tv_off(void)
Turn OFF scroll drawing processing in the monitor.
Definition: core.h:155
unsigned short jo_color
15 bits color type
Definition: types.h:42
static __jo_force_inline void jo_core_disable_reset(void)
Disable reset button.
Definition: core.h:139
#define JO_PRINTF_BUF_SIZE
Max character in available in jo_printf()
Definition: conf.h:165
void jo_core_remove_vblank_callback(const int vblank_event_id)
Remove a callback during VBLANK interruption.
#define __jo_force_inline
force inline attribute (and prevent Doxygen prototype parsing bug)
Definition: types.h:39
void(* jo_event_callback)(void)
Function prototype for jo_core_add_callback()
Definition: core.h:56
void jo_core_suspend(void)
Stop the execution until someone press Start.
void jo_core_run(void)
Run the game.
void jo_goto_boot_menu(void)
Return to the boot menu.
void jo_core_set_restart_game_callback(const jo_event_callback callback)
Add a callback when A+B+C+Start is pressed on the first control pad.
@ DisableReset
Disables NMI requests to be sent when the Reset button is pressed.
Definition: smpc.h:78
char __jo_last_error[JO_PRINTF_BUF_SIZE]
Error handling (Internal usage)
void jo_core_exec_on_slave(jo_slave_callback callback)
Execute a callback on the slave CPU.
static __jo_force_inline void jo_core_enable_reset(void)
Enable reset button.
Definition: core.h:147
void jo_core_remove_slave_callback(const int event_id)
Remove a callback in the game loop from on slave CPU.
void jo_dump_vdp1_registers(void)
Dump VDP1 registers.
@ EnableReset
Enables NMI requests to be sent when the Reset button is pressed.
Definition: smpc.h:76
void jo_dump_vdp2_registers(void)
Dump VDP2 registers.
static __jo_force_inline void jo_smpc_begin_command(void)
Definition: smpc.h:150
static __jo_force_inline void jo_core_tv_on(void)
Turn ON scroll drawing processing in the monitor.
Definition: core.h:162
void jo_core_remove_callback(const int event_id)
Remove a callback in the game loop from on main CPU.
@ SystemReset
Resets the System.
Definition: smpc.h:62
static __jo_force_inline void jo_smpc_end_command(jo_smpc_command command)
Definition: smpc.h:155
void __jo_core_error(char *message, const char *function)
jo_scroll_screen
Sega Saturn Scroll Screen Ids.
Definition: types.h:316