X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fpico_int.h;h=15ab616fd133dc5c841b4662a4ac42b1a191a7d1;hb=b71cbbf705cfd1c2519754142cd4b62cf9e0a2f5;hp=da49e04ba46fb5702c023303f0f007a79b9892ba;hpb=ea38612fad50103e224a3d00492d40b7dcff9e94;p=picodrive.git diff --git a/pico/pico_int.h b/pico/pico_int.h index da49e04..15ab616 100644 --- a/pico/pico_int.h +++ b/pico/pico_int.h @@ -292,7 +292,8 @@ struct PicoVideo unsigned char pending_ints; // pending interrupts: ??VH???? signed char lwrite_cnt; // VDP write count during active display line unsigned short v_counter; // V-counter - unsigned char pad[0x10]; + unsigned char addr_u; + unsigned char pad[0x0f]; }; struct PicoMisc @@ -333,8 +334,14 @@ struct PicoEState { int DrawScanline; int rendstatus; + void *DrawLineDest; // draw destination + unsigned char *HighCol; + int *HighPreSpr; void *Pico_video; void *Pico_vram; + int *PicoOpt; + unsigned char *Draw2FB; + unsigned short HighPal[0x100]; }; // some assembly stuff depend on these, do not touch! @@ -584,9 +591,10 @@ 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 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); @@ -596,6 +604,7 @@ extern void *DrawLineDestBase; extern int DrawLineDestIncrement; // draw2.c +void PicoDraw2Init(void); PICO_INTERNAL void PicoFrameFull(); // mode4.c @@ -774,7 +783,7 @@ extern int line_base_cycles; PICO_INTERNAL_ASM void PicoVideoWrite(unsigned int a,unsigned short d); PICO_INTERNAL_ASM unsigned int PicoVideoRead(unsigned int a); PICO_INTERNAL_ASM unsigned int PicoVideoRead8(unsigned int a); -extern int (*PicoDmaHook)(unsigned int source, int len, unsigned short **srcp, unsigned short **limitp); +extern int (*PicoDmaHook)(unsigned int source, int len, unsigned short **base, unsigned int *mask); // misc.c PICO_INTERNAL_ASM void memcpy16(unsigned short *dest, unsigned short *src, int count);