libdragon
Loading...
Searching...
No Matches
Macros
rspq_constants.h File Reference

Constants for the RSPQ subsystem. More...

Go to the source code of this file.

Macros

#define RSPQ_DEBUG   1
 Enable RSPQ debug mode.
 
#define RSPQ_DRAM_LOWPRI_BUFFER_SIZE   0x200
 Size of each RSPQ RDRAM buffer for lowpri queue (in 32-bit words)
 
#define RSPQ_DRAM_HIGHPRI_BUFFER_SIZE   0x80
 Size of each RSPQ RDRAM buffer for highpri queue (in 32-bit words)
 
#define RSPQ_DMEM_BUFFER_SIZE   0x100
 Size of the RSPQ DMEM buffer (in bytes)
 
#define RSPQ_OVERLAY_TABLE_SIZE   0x10
 Number of overlay IDs (0-F)
 
#define RSPQ_OVERLAY_DESC_SIZE   0x10
 Size of a single overlay descriptor.
 
#define RSPQ_MAX_OVERLAY_COUNT   8
 
#define RSPQ_OVERLAY_ID_COUNT   16
 Number of overlay IDs (0-F)
 
#define RSPQ_MAX_OVERLAY_COMMAND_COUNT   ((RSPQ_MAX_OVERLAY_COUNT - 1) * 16)
 Maximum number of total commands.
 
#define RSPQ_DESCRIPTOR_SIZE_MASK   0xFC
 Mask to get the size of a descriptor.
 
#define RSPQ_DESCRIPTOR_MAX_SIZE   RSPQ_DESCRIPTOR_SIZE_MASK
 Maximum size of a descriptor.
 
#define RSPQ_BLOCK_MIN_SIZE   64
 Minimum size of a block's chunk (in bytes)
 
#define RSPQ_BLOCK_MAX_SIZE   4192
 Maximum size of a block's chunk (in bytes)
 
#define RSPQ_MAX_BLOCK_NESTING_LEVEL   8
 Maximum number of nested block calls.
 
#define RSPQ_LOWPRI_CALL_SLOT   (RSPQ_MAX_BLOCK_NESTING_LEVEL+0)
 Special slot used to store the current lowpri pointer.
 
#define RSPQ_HIGHPRI_CALL_SLOT   (RSPQ_MAX_BLOCK_NESTING_LEVEL+1)
 Special slot used to store the current highpri pointer.
 
#define SP_STATUS_SIG_RDPSYNCFULL   SP_STATUS_SIG1
 Signal used by RDP SYNC_FULL command to notify that an interrupt is pending.
 
#define SP_WSTATUS_SET_SIG_RDPSYNCFULL   SP_WSTATUS_SET_SIG1
 Set RDP SYNC_FULL signal.
 
#define SP_WSTATUS_CLEAR_SIG_RDPSYNCFULL   SP_WSTATUS_CLEAR_SIG1
 Clear RDP SYNC_FULL signal.
 
#define SP_STATUS_SIG_SYNCPOINT   SP_STATUS_SIG2
 Signal used by RSP to notify that a syncpoint was reached.
 
#define SP_WSTATUS_SET_SIG_SYNCPOINT   SP_WSTATUS_SET_SIG2
 Set syncpoint signal.
 
#define SP_WSTATUS_CLEAR_SIG_SYNCPOINT   SP_WSTATUS_CLEAR_SIG2
 Clear syncpoint signal.
 
#define SP_STATUS_SIG_HIGHPRI_RUNNING   SP_STATUS_SIG3
 Signal used to notify that RSP is executing the highpri queue.
 
#define SP_WSTATUS_SET_SIG_HIGHPRI_RUNNING   SP_WSTATUS_SET_SIG3
 Set high priority running signal.
 
#define SP_WSTATUS_CLEAR_SIG_HIGHPRI_RUNNING   SP_WSTATUS_CLEAR_SIG3
 Clear high priority running signal.
 
#define SP_STATUS_SIG_HIGHPRI_REQUESTED   SP_STATUS_SIG4
 Signal used to notify that the CPU has requested that the RSP switches to the highpri queue.
 
#define SP_WSTATUS_SET_SIG_HIGHPRI_REQUESTED   SP_WSTATUS_SET_SIG4
 Set high priority requested signal.
 
#define SP_WSTATUS_CLEAR_SIG_HIGHPRI_REQUESTED   SP_WSTATUS_CLEAR_SIG4
 Clear high priority requested signal.
 
#define SP_STATUS_SIG_BUFDONE_HIGH   SP_STATUS_SIG5
 Signal used by RSP to notify that has finished one of the two buffers of the highpri queue.
 
#define SP_WSTATUS_SET_SIG_BUFDONE_HIGH   SP_WSTATUS_SET_SIG5
 Set buffer done (highpri) signal.
 
#define SP_WSTATUS_CLEAR_SIG_BUFDONE_HIGH   SP_WSTATUS_CLEAR_SIG5
 Clear buffer done (highpri) signal.
 
#define SP_STATUS_SIG_BUFDONE_LOW   SP_STATUS_SIG6
 Signal used by RSP to notify that has finished one of the two buffers of the lowpri queue.
 
#define SP_WSTATUS_SET_SIG_BUFDONE_LOW   SP_WSTATUS_SET_SIG6
 Set buffer done (lowpri) signal.
 
#define SP_WSTATUS_CLEAR_SIG_BUFDONE_LOW   SP_WSTATUS_CLEAR_SIG6
 Clear buffer done (lowpri) signal.
 
#define SP_STATUS_SIG_MORE   SP_STATUS_SIG7
 Signal used by the CPU to notify the RSP that more data has been written in the current queue.
 
#define SP_WSTATUS_SET_SIG_MORE   SP_WSTATUS_SET_SIG7
 Set more data signal.
 
#define SP_WSTATUS_CLEAR_SIG_MORE   SP_WSTATUS_CLEAR_SIG7
 Clear more data signal.
 
#define ASSERT_INVALID_OVERLAY   0xFF01
 A command is referencing an overlay that is not registered.
 
#define ASSERT_INVALID_COMMAND   0xFF02
 The requested command is not defined in the overlay.
 
#define RSPQ_DEBUG_MARKER   0xABCD0123
 

Detailed Description

Constants for the RSPQ subsystem.

Author
Dennis Heinze denni.nosp@m.sjp..nosp@m.heinz.nosp@m.e@gm.nosp@m.ail.c.nosp@m.om
Giovanni Bajo giova.nosp@m.nnib.nosp@m.ajo@g.nosp@m.mail.nosp@m..com

Macro Definition Documentation

◆ RSPQ_MAX_OVERLAY_COUNT

#define RSPQ_MAX_OVERLAY_COUNT   8

Maximum number of overlays that can be registered (affects DMEM table size)

◆ RSPQ_MAX_BLOCK_NESTING_LEVEL

#define RSPQ_MAX_BLOCK_NESTING_LEVEL   8

Maximum number of nested block calls.

Maximum number of nested block calls

◆ RSPQ_DEBUG_MARKER

#define RSPQ_DEBUG_MARKER   0xABCD0123

Debug marker in DMEM to check that C and Assembly have the same DMEM layout