X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fpico_int.h;h=3ee4ea134ab43130b7715b7a7f55ed7f5b41db1b;hb=1f1ff763e661bab664151c4821c65dad35777976;hp=f5481fcdd95d4e304d57128c671bf4245eca8d02;hpb=f6c49d38cbb965c502ca2af66d76e92f95acda7c;p=picodrive.git diff --git a/pico/pico_int.h b/pico/pico_int.h index f5481fc..3ee4ea1 100644 --- a/pico/pico_int.h +++ b/pico/pico_int.h @@ -437,6 +437,8 @@ typedef struct #define P32XV_PRI (1<< 7) #define P32XV_Mx (3<< 0) // display mode mask +#define P32XV_SFT (1<< 0) + #define P32XV_VBLK (1<<15) #define P32XV_HBLK (1<<14) #define P32XV_PEN (1<<13) @@ -474,8 +476,8 @@ typedef struct struct Pico32x { unsigned short regs[0x20]; - unsigned short vdp_regs[0x10]; - unsigned short sh2_regs[3]; + unsigned short vdp_regs[0x10]; // 0x40 + unsigned short sh2_regs[3]; // 0x60 unsigned char pending_fb; unsigned char dirty_pal; unsigned int emu_flags; @@ -547,10 +549,12 @@ int CM_compareRun(int cyc, int is_sub); PICO_INTERNAL void PicoFrameStart(void); void PicoDrawSync(int to, int blank_last_line); void BackFill(int reg7, int sh); -void FinalizeLineRGB555(int sh, int line); +void FinalizeLine555(int sh, int line); extern int DrawScanline; #define MAX_LINE_SPRITES 29 extern unsigned char HighLnSpr[240][3 + MAX_LINE_SPRITES]; +extern void *DrawLineDestBase; +extern int DrawLineDestIncrement; // draw2.c PICO_INTERNAL void PicoFrameFull(); @@ -559,7 +563,7 @@ PICO_INTERNAL void PicoFrameFull(); void PicoFrameStartMode4(void); void PicoLineMode4(int line); void PicoDoHighPal555M4(void); -void PicoDrawSetColorFormatMode4(int which); +void PicoDrawSetOutputMode4(pdso_t which); // memory.c PICO_INTERNAL void PicoMemSetup(void); @@ -702,7 +706,7 @@ void PicoReset32x(void); void Pico32xStartup(void); void PicoUnload32x(void); void PicoFrame32x(void); -void p32x_update_irls(void); +void p32x_update_irls(int nested_call); void p32x_reset_sh2s(void); // 32x/memory.c @@ -717,12 +721,20 @@ void p32x_poll_event(int cpu_mask, int is_vdp); // 32x/draw.c void FinalizeLine32xRGB555(int sh, int line); +void PicoDraw32xLayer(int offs, int lines, int mdbg); +void PicoDraw32xLayerMdOnly(int offs, int lines); +enum { + PDM32X_OFF, + PDM32X_32X_ONLY, + PDM32X_BOTH, +}; +extern int Pico32xDrawMode; // 32x/pwm.c unsigned int p32x_pwm_read16(unsigned int a); void p32x_pwm_write16(unsigned int a, unsigned int d); void p32x_pwm_update(int *buf32, int length, int stereo); -void p32x_timers_do(int new_line); +void p32x_timers_do(int line_call); void p32x_timers_recalc(void); extern int pwm_frame_smp_cnt;