minor psp fixes
[libpicofe.git] / psp / psp.h
index 03f9db0..7f2d70d 100644 (file)
--- a/psp/psp.h
+++ b/psp/psp.h
@@ -9,19 +9,20 @@ void psp_msleep(int ms);
 // 000000-044000 fb0
 // 044000-088000 fb1
 // 088000-0cc000 depth (?)
-// 0cc000-0??000 stuff
+// 0cc000-126000 emu draw buffers: 512*240 + 512*240*2
 
-#define VRAMOFFS_FB0    ((void *) 0x00000000)
-#define VRAMOFFS_FB1    ((void *) 0x00044000)
-#define VRAMOFFS_DEPTH  ((void *) 0x00088000)
+#define VRAMOFFS_FB0    0x00000000
+#define VRAMOFFS_FB1    0x00044000
+#define VRAMOFFS_DEPTH  0x00088000
+#define VRAMOFFS_STUFF  0x000cc000
 
-#define VRAM_FB0        ((void *) 0x44000000)
-#define VRAM_FB1        ((void *) 0x44044000)
-#define VRAM_STUFF      ((void *) 0x440cc000)
+#define VRAM_FB0        ((void *) (0x44000000+VRAMOFFS_FB0))
+#define VRAM_FB1        ((void *) (0x44000000+VRAMOFFS_FB1))
+#define VRAM_STUFF      ((void *) (0x44000000+VRAMOFFS_STUFF))
 
-#define VRAM_CACHED_STUFF   ((void *) 0x040cc000)
+#define VRAM_CACHED_STUFF   ((void *) (0x04000000+VRAMOFFS_STUFF))
 
-#define GU_CMDLIST_SIZE (16*1024) // TODO: adjust
+#define GU_CMDLIST_SIZE (16*1024)
 
 extern unsigned int guCmdList[GU_CMDLIST_SIZE];
 
@@ -35,6 +36,8 @@ unsigned int psp_pad_read(int blocking);
 int psp_get_cpu_clock(void);
 int psp_set_cpu_clock(int clock);
 
+char *psp_get_status_line(void);
+
 /* shorter btn names */
 #define BTN_UP       PSP_CTRL_UP
 #define BTN_LEFT     PSP_CTRL_LEFT
@@ -48,5 +51,11 @@ int psp_set_cpu_clock(int clock);
 #define BTN_SQUARE   PSP_CTRL_SQUARE
 #define BTN_SELECT   PSP_CTRL_SELECT
 #define BTN_START    PSP_CTRL_START
-#define BTN_NOTE     PSP_CTRL_NOTE
+#define BTN_NOTE     PSP_CTRL_NOTE // doesn't seem to work?
+
+/* fake 'nub' btns */
+#define BTN_NUB_UP    (1 << 28)
+#define BTN_NUB_RIGHT (1 << 29)
+#define BTN_NUB_DOWN  (1 << 30)
+#define BTN_NUB_LEFT  (1 << 31)