X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2FPico.h;h=fb067b8d1b9ed37e488a2d90bf60a2b10054bc2d;hb=6a13ef3f56a80ac698d463f5d00235ea2a090f52;hp=f6305053c9b0aca8f7b930814b6c288f6ade34d2;hpb=ee4f03ae8612ca281935871c897ef3a7f4d499ca;p=picodrive.git diff --git a/Pico/Pico.h b/Pico/Pico.h index f630505..fb067b8 100644 --- a/Pico/Pico.h +++ b/Pico/Pico.h @@ -22,10 +22,14 @@ extern "C" { #endif // external funcs for Sega/Mega CD -int mp3_get_bitrate(FILE *f, int size); -void mp3_start_play(FILE *f, int pos); -void mp3_update(int *buffer, int length, int stereo); +extern int mp3_get_bitrate(FILE *f, int size); +extern void mp3_start_play(FILE *f, int pos); +extern void mp3_update(int *buffer, int length, int stereo); +// this function should write-back d-cache and invalidate i-cache +// on a mem region [start_addr, end_addr) +// used by SVP dynarec +extern void cache_flush_d_inval_i(const void *start_addr, const void *end_addr); // Pico.c #define POPT_EN_FM (1<< 0) // 00 000x @@ -150,6 +154,8 @@ void PicoDrawSetColorFormat(int which); // 0=BGR444, 1=RGB555, 2=8bit(HighPal pa extern void *DrawLineDest; #if OVERRIDE_HIGHCOL extern unsigned char *HighCol; +#else +extern unsigned char HighCol[8+320+8]; #endif extern int (*PicoScanBegin)(unsigned int num); extern int (*PicoScanEnd)(unsigned int num); @@ -157,17 +163,21 @@ extern int (*PicoScanEnd)(unsigned int num); #ifdef _ASM_DRAW_C void vidConvCpyRGB565(void *to, void *from, int pixels); #endif +void PicoDoHighPal555(int sh); +extern int PicoDrawMask; +#define PDRAW_LAYERB_ON (1<<2) +#define PDRAW_LAYERA_ON (1<<3) +#define PDRAW_SPRITES_LOW_ON (1<<4) +#define PDRAW_SPRITES_HI_ON (1<<7) // internals #define PDRAW_SPRITES_MOVED (1<<0) // (asm) #define PDRAW_WND_DIFF_PRIO (1<<1) // not all window tiles use same priority -#define PDRAW_ACC_SPRITES (1<<2) // accurate sprites (copied from PicoOpt) +#define PDRAW_SPR_LO_ON_HI (1<<2) // seen sprites without layer pri bit ontop spr. with that bit #define PDRAW_INTERLACE (1<<3) #define PDRAW_DIRTY_SPRITES (1<<4) // (asm) #define PDRAW_SONIC_MODE (1<<5) // mid-frame palette changes for 8bit renderer #define PDRAW_PLANE_HI_PRIO (1<<6) // have layer with all hi prio tiles (mk3) #define PDRAW_SHHI_DONE (1<<7) // layer sh/hi already processed -#define PDRAW_HAVE_LO_SPR (1<<8) -#define PDRAW_HAVE_HI_SPR (1<<9) extern int rendstatus; extern unsigned short HighPal[0x100];