X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2FPico.h;h=3714ad1200ce318c72f8f80cd3f4f723762bcb42;hb=2cb51c3c621ed60e192e8342fdeb4225def91bd8;hp=13108083a4eed0b8fc8b261238f88fe529099b27;hpb=c9e1affca5438353fdb156fb07a747af83251e14;p=picodrive.git diff --git a/Pico/Pico.h b/Pico/Pico.h index 1310808..3714ad1 100644 --- a/Pico/Pico.h +++ b/Pico/Pico.h @@ -48,10 +48,15 @@ void mp3_update(int *buffer, int length, int stereo); #define POPT_EN_SVP_DRC (1<<17) #define POPT_DIS_SPRITE_LIM (1<<18) extern int PicoOpt; // bitfield +#define PAHW_MCD (1<<0) +#define PAHW_32X (1<<1) +#define PAHW_SVP (1<<2) +#define PAHW_PICO (1<<3) +extern int PicoAHW; // Pico active hw extern int PicoVer; -extern int PicoSkipFrame; // skip rendering frame, but still do sound (if enabled) and emulation stuff +extern int PicoSkipFrame; // skip rendering frame, but still do sound (if enabled) and emulation stuff extern int PicoRegionOverride; // override the region detection 0: auto, 1: Japan NTSC, 2: Japan PAL, 4: US, 8: Europe -extern int PicoAutoRgnOrder; // packed priority list of regions, for example 0x148 means this detection order: EUR, USA, JAP +extern int PicoAutoRgnOrder; // packed priority list of regions, for example 0x148 means this detection order: EUR, USA, JAP extern int PicoSVPCycles; int PicoInit(void); void PicoExit(void); @@ -70,6 +75,23 @@ extern void (*PicoMCDopenTray)(void); extern int (*PicoMCDcloseTray)(void); extern int PicoCDBuffers; +// Pico/Pico.c +#define XPCM_BUFFER_SIZE (320+160) +typedef struct +{ + int pen_pos[2]; + int page; + // internal + int fifo_bytes; // bytes in FIFO + int fifo_bytes_prev; + int fifo_line_bytes; // float part, << 16 + int line_counter; + unsigned short r1, r12; + unsigned char xpcm_buffer[XPCM_BUFFER_SIZE+4]; + unsigned char *xpcm_ptr; +} picohw_state; +extern picohw_state PicoPicohw; + // Area.c typedef size_t (arearw)(void *p, size_t _size, size_t _n, void *file); typedef size_t (areaeof)(void *file);