diff options
| author | Derek Hensley <hensley.derek58@gmail.com> | 2024-01-28 16:27:50 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-28 21:27:50 -0300 |
| commit | db8f5f5ccc89304a28aa754087a6c2bf72e55717 (patch) | |
| tree | f158680a5e754db47b7df9b3692b7b8652b84fe0 /include/PR | |
| parent | 6a15ce9521484bf4a1da5b44435f92d8764722bf (diff) | |
General Cleanup 2 (#1538)
* Cleanup
* Cleanup variables.h
* Cleanup fault headers
* Some includes/headers cleanup
* Libultra btn wrappers
* Mark differences to original libultra headers
* Remove duplicate include in fault
* format
* Update include/PR/os_voice.h
Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>
* align
---------
Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>
Diffstat (limited to 'include/PR')
| -rw-r--r-- | include/PR/gbi.h | 2 | ||||
| -rw-r--r-- | include/PR/mbi.h | 13 | ||||
| -rw-r--r-- | include/PR/os_cont.h | 47 | ||||
| -rw-r--r-- | include/PR/os_convert.h | 3 | ||||
| -rw-r--r-- | include/PR/os_voice.h | 21 | ||||
| -rw-r--r-- | include/PR/sched.h | 9 | ||||
| -rw-r--r-- | include/PR/sptask.h | 85 |
7 files changed, 65 insertions, 115 deletions
diff --git a/include/PR/gbi.h b/include/PR/gbi.h index c6fcdc1e2..4747947b7 100644 --- a/include/PR/gbi.h +++ b/include/PR/gbi.h @@ -5,6 +5,8 @@ #include "ultratypes.h" +/* Not original to libultra: Point Lights, DW, and Mtx intPart/FracPart union */ + /* To enable Fast3DEX grucode support, define F3DEX_GBI. */ /* Types */ diff --git a/include/PR/mbi.h b/include/PR/mbi.h index f72ad9acd..acfe89084 100644 --- a/include/PR/mbi.h +++ b/include/PR/mbi.h @@ -74,11 +74,14 @@ * **************************************************************************/ -#define M_GFXTASK 1 -#define M_AUDTASK 2 -#define M_VIDTASK 3 -#define M_HVQTASK 6 -#define M_HVQMTASK 7 +/* Not original to libultra: Some added task defines */ +#define M_NULTASK 0 +#define M_GFXTASK 1 +#define M_AUDTASK 2 +#define M_VIDTASK 3 +#define M_NJPEGTASK 4 +#define M_HVQTASK 6 +#define M_HVQMTASK 7 /************************************************************************** * diff --git a/include/PR/os_cont.h b/include/PR/os_cont.h index 6a63b8901..50febb015 100644 --- a/include/PR/os_cont.h +++ b/include/PR/os_cont.h @@ -41,23 +41,38 @@ typedef struct { #define CONT_ADDR_CRC_ER 0x04 #define CONT_EEPROM_BUSY 0x80 -// TODO: use real libultra button defines instead of this +#define R_CBUTTONS 0x0001 +#define L_CBUTTONS 0x0002 +#define D_CBUTTONS 0x0004 +#define U_CBUTTONS 0x0008 +#define R_TRIG 0x0010 +#define L_TRIG 0x0020 +#define R_JPAD 0x0100 +#define L_JPAD 0x0200 +#define D_JPAD 0x0400 +#define U_JPAD 0x0800 +#define START_BUTTON 0x1000 +#define Z_TRIG 0x2000 +#define B_BUTTON 0x4000 +#define A_BUTTON 0x8000 + +/* Not original to libultra: button macros */ /* Buttons */ -#define BTN_CRIGHT 0x0001 -#define BTN_CLEFT 0x0002 -#define BTN_CDOWN 0x0004 -#define BTN_CUP 0x0008 -#define BTN_R 0x0010 -#define BTN_L 0x0020 -#define BTN_RESET 0x0080 -#define BTN_DRIGHT 0x0100 -#define BTN_DLEFT 0x0200 -#define BTN_DDOWN 0x0400 -#define BTN_DUP 0x0800 -#define BTN_START 0x1000 -#define BTN_Z 0x2000 -#define BTN_B 0x4000 -#define BTN_A 0x8000 +#define BTN_CRIGHT R_CBUTTONS +#define BTN_CLEFT L_CBUTTONS +#define BTN_CDOWN D_CBUTTONS +#define BTN_CUP U_CBUTTONS +#define BTN_R R_TRIG +#define BTN_L L_TRIG +#define BTN_RESET 0x0080 /* "neutral reset": Corresponds to holding L+R and pressing S */ +#define BTN_DRIGHT R_JPAD +#define BTN_DLEFT L_JPAD +#define BTN_DDOWN D_JPAD +#define BTN_DUP U_JPAD +#define BTN_START START_BUTTON +#define BTN_Z Z_TRIG +#define BTN_B B_BUTTON +#define BTN_A A_BUTTON #define CONT_ERR_NO_CONTROLLER PFS_ERR_NOPACK /* 1 */ #define CONT_ERR_CONTRFAIL CONT_OVERRUN_ERROR /* 4 */ diff --git a/include/PR/os_convert.h b/include/PR/os_convert.h index 468d77f9a..e9d1f68a8 100644 --- a/include/PR/os_convert.h +++ b/include/PR/os_convert.h @@ -18,9 +18,6 @@ #define OS_PHYSICAL_TO_K0(x) (void*)(((u32)(x)+0x80000000)) #define OS_PHYSICAL_TO_K1(x) (void*)(((u32)(x)+0xA0000000)) -#define OS_MSEC_TO_CYCLES(n) OS_USEC_TO_CYCLES((n) * 1000) -#define OS_SEC_TO_CYCLES(n) OS_MSEC_TO_CYCLES((n) * 1000) - /* Functions */ extern uintptr_t osVirtualToPhysical(void*); diff --git a/include/PR/os_voice.h b/include/PR/os_voice.h index 09cbc906e..e3b1e995f 100644 --- a/include/PR/os_voice.h +++ b/include/PR/os_voice.h @@ -13,18 +13,18 @@ typedef enum OsVoiceHandleMode { } OsVoiceHandleMode; typedef struct { - /* 0x0 */ OSMesgQueue* mq; - /* 0x4 */ s32 channel; // Controller port - /* 0x8 */ OsVoiceHandleMode mode; - /* 0xC */ u8 status; + /* 0x0 */ OSMesgQueue* __mq; + /* 0x4 */ s32 __channel; // Controller port + /* 0x8 */ s32 __mode; + /* 0xC */ u8 cmd_status; } OSVoiceHandle; // size = 0x10 typedef struct { /* 0x00 */ u16 warning; // Warning - /* 0x02 */ u16 answerNum; // Candidate number (0~5) - /* 0x04 */ u16 voiceLevel; // Voice input level - /* 0x06 */ u16 voiceRelLevel; // Relative voice level "voice_sn" - /* 0x08 */ u16 voiceTime; // Voice input time + /* 0x02 */ u16 answer_num; // Candidate number (0~5) + /* 0x04 */ u16 voice_level; // Voice input level + /* 0x06 */ u16 voice_sn; // Relative voice level + /* 0x08 */ u16 voice_time; // Voice input time /* 0x0A */ u16 answer[5]; // Candidate word number /* 0x14 */ u16 distance[5]; // Distance value } OSVoiceData; // size = 0x20 @@ -40,11 +40,6 @@ typedef struct { #define VOICE_WARN_NOT_FIT 0x4000 /* No words match recognition word (No. 1 Candidate Distance Value > 1600) */ #define VOICE_WARN_TOO_NOISY 0x8000 /* Too much ambient noise (Relative Voice Level =< 400) */ -typedef struct { - /* 0x000 */ u16 words[20][15]; // 20 words, each with up to 15 syllables - /* 0x258 */ u8 numWords; -} OSVoiceDictionary; // size = 0x25C - s32 osVoiceInit(OSMesgQueue* mq, OSVoiceHandle* hd, int channel); s32 osVoiceSetWord(OSVoiceHandle* hd, u8* word); s32 osVoiceCheckWord(u8* word); diff --git a/include/PR/sched.h b/include/PR/sched.h index 7db228a5d..778bd7d1c 100644 --- a/include/PR/sched.h +++ b/include/PR/sched.h @@ -9,8 +9,10 @@ #define OS_SC_RETRACE_MSG 1 #define OS_SC_DONE_MSG 2 -#define OS_SC_NMI_MSG 3 // name is made up, 3 is OS_SC_RDP_DONE_MSG in the original sched.c +#define OS_SC_RDP_DONE_MSG 3 #define OS_SC_PRE_NMI_MSG 4 +#define OS_SC_LAST_MSG 4 /* this should have highest number */ +#define OS_SC_MAX_MESGS 8 #define OS_SC_NEEDS_RDP 0x0001 #define OS_SC_NEEDS_RSP 0x0002 @@ -22,11 +24,6 @@ #define OS_SC_RCP_MASK 0x0003 #define OS_SC_TYPE_MASK 0x0007 -#define OS_SC_DP 0x0001 -#define OS_SC_SP 0x0002 -#define OS_SC_YIELD 0x0010 -#define OS_SC_YIELDED 0x0020 - typedef struct OSScTask { /* 0x00 */ struct OSScTask* next; /* 0x04 */ u32 state; diff --git a/include/PR/sptask.h b/include/PR/sptask.h index 3ec4bf1bf..cc29559b6 100644 --- a/include/PR/sptask.h +++ b/include/PR/sptask.h @@ -2,20 +2,7 @@ #define PR_SPTASK_H #include "PR/ultratypes.h" -#include "libc/stddef.h" -/* Task Types */ -#define M_NULTASK 0 -#define M_GFXTASK 1 -#define M_AUDTASK 2 -#define M_VIDTASK 3 -#define M_NJPEGTASK 4 -#define M_HVQTASK 6 -#define M_HVQMTASK 7 - -/* Task Flags */ -#define M_TASK_FLAG0 (1 << 0) -#define M_TASK_FLAG1 (1 << 1) /* Task Flag Fields */ #define OS_TASK_YIELDED (1 << 0) @@ -30,76 +17,30 @@ #define OS_YIELD_DATA_SIZE 0xC00 #define OS_YIELD_AUDIO_SIZE 0x400 -/* SpStatus */ - -/* Write */ -#define SPSTATUS_CLEAR_HALT (1 << 0) -#define SPSTATUS_SET_HALT (1 << 1) -#define SPSTATUS_CLEAR_BROKE (1 << 2) -#define SPSTATUS_CLEAR_INTR (1 << 3) -#define SPSTATUS_SET_INTR (1 << 4) -#define SPSTATUS_CLEAR_SSTEP (1 << 5) -#define SPSTATUS_SET_SSTEP (1 << 6) -#define SPSTATUS_CLEAR_INTR_ON_BREAK (1 << 7) -#define SPSTATUS_SET_INTR_ON_BREAK (1 << 8) -#define SPSTATUS_CLEAR_SIGNAL0 (1 << 9) -#define SPSTATUS_SET_SIGNAL0 (1 << 10) -#define SPSTATUS_CLEAR_SIGNAL1 (1 << 11) -#define SPSTATUS_SET_SIGNAL1 (1 << 12) -#define SPSTATUS_CLEAR_SIGNAL2 (1 << 13) -#define SPSTATUS_SET_SIGNAL2 (1 << 14) -#define SPSTATUS_CLEAR_SIGNAL3 (1 << 15) -#define SPSTATUS_SET_SIGNAL3 (1 << 16) -#define SPSTATUS_CLEAR_SIGNAL4 (1 << 17) -#define SPSTATUS_SET_SIGNAL4 (1 << 18) -#define SPSTATUS_CLEAR_SIGNAL5 (1 << 19) -#define SPSTATUS_SET_SIGNAL5 (1 << 20) -#define SPSTATUS_CLEAR_SIGNAL6 (1 << 21) -#define SPSTATUS_SET_SIGNAL6 (1 << 23) -#define SPSTATUS_CLEAR_SIGNAL7 (1 << 24) -#define SPSTATUS_SET_SIGNAL7 (1 << 25) - -/* Read */ -#define SPSTATUS_HALT (1 << 0) -#define SPSTATUS_BROKE (1 << 1) -#define SPSTATUS_DMA_BUSY (1 << 2) -#define SPSTATUS_DMA_FULL (1 << 3) -#define SPSTATUS_IO_FULL (1 << 4) -#define SPSTATUS_SINGLE_STEP (1 << 5) -#define SPSTATUS_INTERRUPT_ON_BREAK (1 << 6) -#define SPSTATUS_SIGNAL0_SET (1 << 7) -#define SPSTATUS_SIGNAL1_SET (1 << 8) -#define SPSTATUS_SIGNAL2_SET (1 << 9) -#define SPSTATUS_SIGNAL3_SET (1 << 10) -#define SPSTATUS_SIGNAL4_SET (1 << 11) -#define SPSTATUS_SIGNAL5_SET (1 << 12) -#define SPSTATUS_SIGNAL6_SET (1 << 13) -#define SPSTATUS_SIGNAL7_SET (1 << 14) - typedef struct { /* 0x00 */ u32 type; /* 0x04 */ u32 flags; - /* 0x08 */ u64* ucodeBoot; - /* 0x0C */ u32 ucodeBootSize; // ucode will load these sizes with lw, so need to be 32-bit + /* 0x08 */ u64* ucode_boot; + /* 0x0C */ u32 ucode_boot_size; // ucode will load these sizes with lw, so need to be 32-bit /* 0x10 */ u64* ucode; - /* 0x14 */ u32 ucodeSize; + /* 0x14 */ u32 ucode_size; - /* 0x18 */ u64* ucodeData; - /* 0x1C */ u32 ucodeDataSize; + /* 0x18 */ u64* ucode_data; + /* 0x1C */ u32 ucode_data_size; - /* 0x20 */ u64* dramStack; - /* 0x24 */ u32 dramStackSize; + /* 0x20 */ u64* dram_stack; + /* 0x24 */ u32 dram_stack_size; - /* 0x28 */ u64* outputBuff; - /* 0x2C */ u64* outputBuffSize; + /* 0x28 */ u64* output_buff; + /* 0x2C */ u64* output_buff_size; - /* 0x30 */ u64* dataPtr; - /* 0x34 */ u32 dataSize; + /* 0x30 */ u64* data_ptr; + /* 0x34 */ u32 data_size; - /* 0x38 */ u64* yieldDataPtr; - /* 0x3C */ u32 yieldDataSize; + /* 0x38 */ u64* yield_data_ptr; + /* 0x3C */ u32 yield_data_size; } OSTask_t; // size = 0x40 typedef union { |
