X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fpico.h;h=e5e832bd5203fd795eb19ff0ca1b9ef1e7cbc490;hb=9aee8770d2504ed14980dc47f4683bdf080310c9;hp=e15f3160196267b073969afeed7e12bd592fb4d0;hpb=cff531af94bd9c9c89ae162e80f48ddc26a4e504;p=picodrive.git diff --git a/pico/pico.h b/pico/pico.h index e15f316..e5e832b 100644 --- a/pico/pico.h +++ b/pico/pico.h @@ -19,6 +19,9 @@ extern "C" { #endif +// message log +extern void lprintf(const char *fmt, ...); + // external funcs for Sega/Mega CD extern int mp3_get_bitrate(void *f, int size); extern void mp3_start_play(void *f, int pos); @@ -27,13 +30,14 @@ 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 dynarecs -extern void cache_flush_d_inval_i(const void *start_addr, const void *end_addr); +extern void cache_flush_d_inval_i(void *start_addr, void *end_addr); // attempt to alloc mem at specified address. // alloc anywhere else if that fails (callers should handle that) extern void *plat_mmap(unsigned long addr, size_t size, int need_exec, int is_fixed); extern void *plat_mremap(void *ptr, size_t oldsize, size_t newsize); extern void plat_munmap(void *ptr, size_t size); +extern int plat_mem_set_exec(void *ptr, size_t size); // this one should handle display mode changes extern void emu_video_mode_change(int start_line, int line_count, int is_32cols); @@ -156,6 +160,7 @@ int PicoCartInsert(unsigned char *rom, unsigned int romsize, const char *carthw_ void PicoCartUnload(void); extern void (*PicoCartLoadProgressCB)(int percent); extern void (*PicoCDLoadProgressCB)(const char *fname, int percent); +extern int PicoGameLoaded; // Draw.c // for line-based renderer, set conversion @@ -211,7 +216,7 @@ extern void (*PicoPrepareCram)(); // prepares PicoCramHigh for renderer to us extern int p32x_msh2_multiplier; extern int p32x_ssh2_multiplier; #define SH2_MULTI_SHIFT 10 -#define MSH2_MULTI_DEFAULT ((1 << SH2_MULTI_SHIFT) * 3 / 2) +#define MSH2_MULTI_DEFAULT ((1 << SH2_MULTI_SHIFT) * 21 / 10) #define SSH2_MULTI_DEFAULT ((1 << SH2_MULTI_SHIFT) * 3 / 2) // 32x/draw.c @@ -223,6 +228,24 @@ extern short *PsndOut; extern void (*PsndMix_32_to_16l)(short *dest, int *src, int count); void PsndRerate(int preserve_state); +// media.c +enum media_type_e { + PM_BAD_DETECT = -1, + PM_ERROR = -2, + PM_BAD_CD = -3, + PM_BAD_CD_NO_BIOS = -4, + PM_MD_CART = 1, /* also 32x */ + PM_MARK3, + PM_CD, +}; +enum media_type_e PicoLoadMedia(const char *filename, + const char *carthw_cfg_fname, + const char *(*get_bios_filename)(int *region, const char *cd_fname), + void (*do_region_override)(const char *media_filename)); +int PicoCdCheck(const char *fname_in, int *pregion); + +extern unsigned char media_id_header[0x100]; + #ifdef __cplusplus } // End of extern "C" #endif