X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fpico.h;h=98e4c78551589e6cfcb73712692acc243b60dafb;hb=4981de9ce79d0aa80222f8583667bf2fbf2265f2;hp=9922d5679ff058875190ba14ca91ed141a8d4aa8;hpb=92dfd9afa6e06a071c2e025ff7e0d4f1824a5e8d;p=picodrive.git diff --git a/pico/pico.h b/pico/pico.h index 9922d56..98e4c78 100644 --- a/pico/pico.h +++ b/pico/pico.h @@ -81,9 +81,10 @@ extern int PicoAHW; // Pico active hw #define PQUIRK_FORCE_6BTN (1<<0) extern int PicoQuirks; -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 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 PicoRegionFPSOverride; // override the refresh rate of the region 0: Auto, 1: NTSC, 2: PAL +extern int PicoAutoRgnOrder; // packed priority list of regions, for example 0x148 means this detection order: EUR, USA, JAP extern int PicoSVPCycles; void PicoInit(void); void PicoExit(void); @@ -99,10 +100,11 @@ typedef enum { PI_ROM, PI_ISPAL, PI_IS40_CELL, PI_IS240_LINES } pint_t; typedef union { int vint; void *vptr; } pint_ret_t; void PicoGetInternal(pint_t which, pint_ret_t *ret); +struct PicoEState; + // cd/mcd.c extern void (*PicoMCDopenTray)(void); extern void (*PicoMCDcloseTray)(void); -extern int PicoCDBuffers; // pico.c #define XPCM_BUFFER_SIZE (320+160) @@ -128,14 +130,9 @@ void *PicoTmpStateSave(void); void PicoTmpStateRestore(void *data); extern void (*PicoStateProgressCB)(const char *str); -// cd/buffering.c -void PicoCDBufferInit(void); -void PicoCDBufferFree(void); -void PicoCDBufferFlush(void); - -// cd/cd_sys.c -int Insert_CD(const char *cdimg_name, int type); -void Stop_CD(void); // releases all resources taken when CD game was started. +// cd/cdd.c +int cdd_load(const char *filename, int type); +int cdd_unload(void); // Cart.c typedef enum @@ -175,13 +172,11 @@ typedef enum void PicoDrawSetOutFormat(pdso_t which, int use_32x_line_mode); void PicoDrawSetOutBuf(void *dest, int increment); void PicoDrawSetCallbacks(int (*begin)(unsigned int num), int (*end)(unsigned int num)); -extern void *DrawLineDest; -extern unsigned char *HighCol; // utility #ifdef _ASM_DRAW_C void vidConvCpyRGB565(void *to, void *from, int pixels); #endif -void PicoDoHighPal555(int sh); +void PicoDoHighPal555(int sh, int line, struct PicoEState *est); extern int PicoDrawMask; #define PDRAW_LAYERB_ON (1<<2) #define PDRAW_LAYERA_ON (1<<3) @@ -198,7 +193,7 @@ extern int PicoDrawMask; #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_32_COLS (1<<8) // 32 column mode -extern int rendstatus, rendstatus_old; +extern int rendstatus_old; extern int rendlines; extern unsigned short HighPal[0x100]; @@ -244,6 +239,15 @@ enum media_type_e { PM_MARK3, PM_CD, }; + +enum cd_img_type +{ + CIT_NOT_CD = 0, + CIT_ISO, + CIT_BIN, + CIT_CUE +}; + enum media_type_e PicoLoadMedia(const char *filename, const char *carthw_cfg_fname, const char *(*get_bios_filename)(int *region, const char *cd_fname),