summaryrefslogtreecommitdiff
path: root/include/PR
diff options
context:
space:
mode:
authorDerek Hensley <hensley.derek58@gmail.com>2024-01-28 16:27:50 -0800
committerGitHub <noreply@github.com>2024-01-28 21:27:50 -0300
commitdb8f5f5ccc89304a28aa754087a6c2bf72e55717 (patch)
treef158680a5e754db47b7df9b3692b7b8652b84fe0 /include/PR
parent6a15ce9521484bf4a1da5b44435f92d8764722bf (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.h2
-rw-r--r--include/PR/mbi.h13
-rw-r--r--include/PR/os_cont.h47
-rw-r--r--include/PR/os_convert.h3
-rw-r--r--include/PR/os_voice.h21
-rw-r--r--include/PR/sched.h9
-rw-r--r--include/PR/sptask.h85
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 {