X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fpico_int.h;h=b9a4418fb5594aa2c11a223664dc2ac4489c73de;hb=4981de9ce79d0aa80222f8583667bf2fbf2265f2;hp=f53250aa8df1f231096637bccb47fc4249a00c86;hpb=4835077e00c2cf7e3dba7bf7801c6aafd9d00dbe;p=picodrive.git diff --git a/pico/pico_int.h b/pico/pico_int.h index f53250aa..b9a4418f 100644 --- a/pico/pico_int.h +++ b/pico/pico_int.h @@ -32,6 +32,11 @@ extern "C" { #endif +#ifdef _MSC_VER +#define snprintf _snprintf +#define strcasecmp _stricmp +#define strncasecmp _strnicmp +#endif // ----------------------- 68000 CPU ----------------------- #ifdef EMU_C68K @@ -328,6 +333,19 @@ struct PicoMS unsigned char pad[0x4e]; }; +// emu state and data for the asm code +struct PicoEState +{ + int DrawScanline; + int rendstatus; + void *DrawLineDest; // draw estination + unsigned char *HighCol; + int *HighPreSpr; + void *Pico_video; + void *Pico_vram; + int *PicoOpt; +}; + // some assembly stuff depend on these, do not touch! struct Pico { @@ -348,6 +366,7 @@ struct Pico struct PicoMisc m; struct PicoVideo video; struct PicoMS ms; + struct PicoEState est; }; // sram @@ -574,13 +593,13 @@ extern void (*PicoCartUnloadHook)(void); int CM_compareRun(int cyc, int is_sub); // draw.c +void PicoDrawInit(void); PICO_INTERNAL void PicoFrameStart(void); void PicoDrawSync(int to, int blank_last_line); -void BackFill(int reg7, int sh); -void FinalizeLine555(int sh, int line); +void BackFill(int reg7, int sh, struct PicoEState *est); +void FinalizeLine555(int sh, int line, struct PicoEState *est); extern int (*PicoScanBegin)(unsigned int num); extern int (*PicoScanEnd)(unsigned int num); -extern int DrawScanline; #define MAX_LINE_SPRITES 29 extern unsigned char HighLnSpr[240][3 + MAX_LINE_SPRITES]; extern void *DrawLineDestBase; @@ -856,7 +875,7 @@ void p32x_sh2_poll_event(SH2 *sh2, unsigned int flags, unsigned int m68k_cycles) // 32x/draw.c void PicoDrawSetOutFormat32x(pdso_t which, int use_32x_line_mode); -void FinalizeLine32xRGB555(int sh, int line); +void FinalizeLine32xRGB555(int sh, int line, struct PicoEState *est); void PicoDraw32xLayer(int offs, int lines, int mdbg); void PicoDraw32xLayerMdOnly(int offs, int lines); extern int (*PicoScan32xBegin)(unsigned int num);