notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
famec: split fm68k_emulate
[picodrive.git]
/
pico
/
pico.h
diff --git
a/pico/pico.h
b/pico/pico.h
index
e1bcf03
..
f1687f5
100644
(file)
--- a/
pico/pico.h
+++ b/
pico/pico.h
@@
-34,6
+34,9
@@
extern void cache_flush_d_inval_i(void *start_addr, void *end_addr);
extern void *plat_mmap(unsigned long addr, size_t size, int need_exec, int is_fixed);
\r
extern void *plat_mremap(void *ptr, size_t oldsize, size_t newsize);
\r
extern void plat_munmap(void *ptr, size_t size);
\r
extern void *plat_mmap(unsigned long addr, size_t size, int need_exec, int is_fixed);
\r
extern void *plat_mremap(void *ptr, size_t oldsize, size_t newsize);
\r
extern void plat_munmap(void *ptr, size_t size);
\r
+
\r
+// memory for the dynarec; plat_mem_get_for_drc() can just return NULL
\r
+extern void *plat_mem_get_for_drc(size_t size);
\r
extern int plat_mem_set_exec(void *ptr, size_t size);
\r
\r
// this one should handle display mode changes
\r
extern int plat_mem_set_exec(void *ptr, size_t size);
\r
\r
// this one should handle display mode changes
\r
@@
-60,11
+63,11
@@
extern void *p32x_bios_g, *p32x_bios_m, *p32x_bios_s;
#define POPT_EN_MCD_PCM (1<<10)
\r
#define POPT_EN_MCD_CDDA (1<<11)
\r
#define POPT_EN_MCD_GFX (1<<12) // 00 x000
\r
#define POPT_EN_MCD_PCM (1<<10)
\r
#define POPT_EN_MCD_CDDA (1<<11)
\r
#define POPT_EN_MCD_GFX (1<<12) // 00 x000
\r
-
#define POPT_EN_MCD_PSYNC
(1<<13)
\r
+
// unused
(1<<13)
\r
#define POPT_EN_SOFTSCALE (1<<14)
\r
#define POPT_EN_MCD_RAMCART (1<<15)
\r
#define POPT_DIS_VDP_FIFO (1<<16) // 0x 0000
\r
#define POPT_EN_SOFTSCALE (1<<14)
\r
#define POPT_EN_MCD_RAMCART (1<<15)
\r
#define POPT_DIS_VDP_FIFO (1<<16) // 0x 0000
\r
-#define POPT_EN_
SVP_DRC
(1<<17)
\r
+#define POPT_EN_
DRC
(1<<17)
\r
#define POPT_DIS_SPRITE_LIM (1<<18)
\r
#define POPT_DIS_IDLE_DET (1<<19)
\r
#define POPT_EN_32X (1<<20)
\r
#define POPT_DIS_SPRITE_LIM (1<<18)
\r
#define POPT_DIS_IDLE_DET (1<<19)
\r
#define POPT_EN_32X (1<<20)
\r
@@
-99,10
+102,11
@@
typedef enum { PI_ROM, PI_ISPAL, PI_IS40_CELL, PI_IS240_LINES } pint_t;
typedef union { int vint; void *vptr; } pint_ret_t;
\r
void PicoGetInternal(pint_t which, pint_ret_t *ret);
\r
\r
typedef union { int vint; void *vptr; } pint_ret_t;
\r
void PicoGetInternal(pint_t which, pint_ret_t *ret);
\r
\r
-// cd/Pico.c
\r
+struct PicoEState;
\r
+
\r
+// cd/mcd.c
\r
extern void (*PicoMCDopenTray)(void);
\r
extern void (*PicoMCDcloseTray)(void);
\r
extern void (*PicoMCDopenTray)(void);
\r
extern void (*PicoMCDcloseTray)(void);
\r
-extern int PicoCDBuffers;
\r
\r
// pico.c
\r
#define XPCM_BUFFER_SIZE (320+160)
\r
\r
// pico.c
\r
#define XPCM_BUFFER_SIZE (320+160)
\r
@@
-128,14
+132,9
@@
void *PicoTmpStateSave(void);
void PicoTmpStateRestore(void *data);
\r
extern void (*PicoStateProgressCB)(const char *str);
\r
\r
void PicoTmpStateRestore(void *data);
\r
extern void (*PicoStateProgressCB)(const char *str);
\r
\r
-// cd/buffering.c
\r
-void PicoCDBufferInit(void);
\r
-void PicoCDBufferFree(void);
\r
-void PicoCDBufferFlush(void);
\r
-
\r
-// cd/cd_sys.c
\r
-int Insert_CD(const char *cdimg_name, int type);
\r
-void Stop_CD(void); // releases all resources taken when CD game was started.
\r
+// cd/cdd.c
\r
+int cdd_load(const char *filename, int type);
\r
+int cdd_unload(void);
\r
\r
// Cart.c
\r
typedef enum
\r
\r
// Cart.c
\r
typedef enum
\r
@@
-175,19
+174,11
@@
typedef enum
void PicoDrawSetOutFormat(pdso_t which, int use_32x_line_mode);
\r
void PicoDrawSetOutBuf(void *dest, int increment);
\r
void PicoDrawSetCallbacks(int (*begin)(unsigned int num), int (*end)(unsigned int num));
\r
void PicoDrawSetOutFormat(pdso_t which, int use_32x_line_mode);
\r
void PicoDrawSetOutBuf(void *dest, int increment);
\r
void PicoDrawSetCallbacks(int (*begin)(unsigned int num), int (*end)(unsigned int num));
\r
-extern void *DrawLineDest;
\r
-extern unsigned char *HighCol;
\r
// utility
\r
#ifdef _ASM_DRAW_C
\r
void vidConvCpyRGB565(void *to, void *from, int pixels);
\r
#endif
\r
// utility
\r
#ifdef _ASM_DRAW_C
\r
void vidConvCpyRGB565(void *to, void *from, int pixels);
\r
#endif
\r
-void PicoDoHighPal555(int sh);
\r
-extern int PicoDrawMask;
\r
-#define PDRAW_LAYERB_ON (1<<2)
\r
-#define PDRAW_LAYERA_ON (1<<3)
\r
-#define PDRAW_SPRITES_LOW_ON (1<<4)
\r
-#define PDRAW_SPRITES_HI_ON (1<<7)
\r
-#define PDRAW_32X_ON (1<<8)
\r
+void PicoDoHighPal555(int sh, int line, struct PicoEState *est);
\r
// internals
\r
#define PDRAW_SPRITES_MOVED (1<<0) // (asm)
\r
#define PDRAW_WND_DIFF_PRIO (1<<1) // not all window tiles use same priority
\r
// internals
\r
#define PDRAW_SPRITES_MOVED (1<<0) // (asm)
\r
#define PDRAW_WND_DIFF_PRIO (1<<1) // not all window tiles use same priority
\r
@@
-198,9
+189,8
@@
extern int PicoDrawMask;
#define PDRAW_PLANE_HI_PRIO (1<<6) // have layer with all hi prio tiles (mk3)
\r
#define PDRAW_SHHI_DONE (1<<7) // layer sh/hi already processed
\r
#define PDRAW_32_COLS (1<<8) // 32 column mode
\r
#define PDRAW_PLANE_HI_PRIO (1<<6) // have layer with all hi prio tiles (mk3)
\r
#define PDRAW_SHHI_DONE (1<<7) // layer sh/hi already processed
\r
#define PDRAW_32_COLS (1<<8) // 32 column mode
\r
-extern int rendstatus
, rendstatus
_old;
\r
+extern int rendstatus_old;
\r
extern int rendlines;
\r
extern int rendlines;
\r
-extern unsigned short HighPal[0x100];
\r
\r
// draw.c
\r
void PicoDrawUpdateHighPal(void);
\r
\r
// draw.c
\r
void PicoDrawUpdateHighPal(void);
\r
@@
-208,7
+198,6
@@
void PicoDrawSetInternalBuf(void *dest, int line_increment);
\r
// draw2.c
\r
// stuff below is optional
\r
\r
// draw2.c
\r
// stuff below is optional
\r
-extern unsigned char *PicoDraw2FB; // buffer for fast renderer in format (8+320)x(8+224+8) (eights for borders)
\r
extern unsigned short *PicoCramHigh; // pointer to CRAM buff (0x40 shorts), converted to native device color (works only with 16bit for now)
\r
extern void (*PicoPrepareCram)(); // prepares PicoCramHigh for renderer to use
\r
\r
extern unsigned short *PicoCramHigh; // pointer to CRAM buff (0x40 shorts), converted to native device color (works only with 16bit for now)
\r
extern void (*PicoPrepareCram)(); // prepares PicoCramHigh for renderer to use
\r
\r
@@
-244,6
+233,15
@@
enum media_type_e {
PM_MARK3,
\r
PM_CD,
\r
};
\r
PM_MARK3,
\r
PM_CD,
\r
};
\r
+
\r
+enum cd_img_type
\r
+{
\r
+ CIT_NOT_CD = 0,
\r
+ CIT_ISO,
\r
+ CIT_BIN,
\r
+ CIT_CUE
\r
+};
\r
+
\r
enum media_type_e PicoLoadMedia(const char *filename,
\r
const char *carthw_cfg_fname,
\r
const char *(*get_bios_filename)(int *region, const char *cd_fname),
\r
enum media_type_e PicoLoadMedia(const char *filename,
\r
const char *carthw_cfg_fname,
\r
const char *(*get_bios_filename)(int *region, const char *cd_fname),
\r