picodrive/platform/psp/psp.h
kub cdc6aac4c0 partially revived platform support for PSP (unfinished)
just to have a platform with an unusal screen resolution
- suspend/resume handling probably non-working
- no scaling settings
- no image generation
currently no intentions to finish this.
2021-01-10 12:13:56 +01:00

58 lines
1.4 KiB
C

/*
* PicoDrive
* (C) notaz, 2007,2008
*
* This work is licensed under the terms of MAME license.
* See COPYING file in the top-level directory.
*/
#include <pspctrl.h>
void psp_init(void);
void psp_finish(void);
void psp_msleep(int ms);
// vram usage map:
// 000000-044000 fb0
// 044000-088000 fb1
// 088000-0cc000 depth (?)
// 0cc000-126000 emu draw buffers: 512*240 + 512*240*2
#define VRAMOFFS_FB0 0x00000000
#define VRAMOFFS_FB1 0x00044000
#define VRAMOFFS_DEPTH 0x00088000
#define VRAMOFFS_STUFF 0x000cc000
#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 *) (0x04000000+VRAMOFFS_STUFF))
#define GU_CMDLIST_SIZE (16*1024)
extern unsigned int guCmdList[GU_CMDLIST_SIZE];
extern int psp_unhandled_suspend;
void *psp_video_get_active_fb(void);
void psp_video_switch_to_single(void);
void psp_video_flip(int wait_vsync);
extern void *psp_screen;
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);
void psp_wait_suspend(void);
void psp_resume_suspend(void);
/* fake 'nub' btns, mapped to the 4 unused upper bits of ctrl buttons */
#define PSP_NUB_UP (1 << 28)
#define PSP_NUB_RIGHT (1 << 29)
#define PSP_NUB_DOWN (1 << 30)
#define PSP_NUB_LEFT (1 << 31)