X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fpico.c;h=80ffb90efd04c7535659ac2e6d8274b787df17fc;hb=f81107f59093904c3daac2e9c257261fddc6caf0;hp=2db3c3f23366864c70d096d9d846bd8405c658aa;hpb=f3a57b2d6c6a32dc09a6efd4fbef31eb876263b2;p=picodrive.git diff --git a/pico/pico.c b/pico/pico.c index 2db3c3f..80ffb90 100644 --- a/pico/pico.c +++ b/pico/pico.c @@ -1,11 +1,11 @@ -// PicoDrive - -// (c) Copyright 2004 Dave, All rights reserved. -// (c) Copyright 2006-2008 notaz, All rights reserved. -// Free for non-commercial use. - -// For commercial use, separate licencing terms must be obtained. - +/* + * PicoDrive + * (c) Copyright Dave, 2004 + * (C) notaz, 2006-2010 + * + * This work is licensed under the terms of MAME license. + * See COPYING file in the top-level directory. + */ #include "pico_int.h" #include "sound/ym2612.h" @@ -23,9 +23,6 @@ struct PicoSRAM SRam; int emustatus; // rapid_ym2612, multi_ym_updates int scanlines_total; -int p32x_msh2_multiplier = MSH2_MULTI_DEFAULT; -int p32x_ssh2_multiplier = SSH2_MULTI_DEFAULT; - void (*PicoWriteSound)(int len) = NULL; // called at the best time to send sound buffer (PsndOut) to hardware void (*PicoResetHook)(void) = NULL; void (*PicoLineHook)(void) = NULL; @@ -57,6 +54,7 @@ void PicoExit(void) if (SRam.data) free(SRam.data); + pevt_dump(); } void PicoPower(void) @@ -148,6 +146,10 @@ int PicoReset(void) if (Pico.romsize <= 0) return 1; +#ifdef DRC_CMP + PicoOpt |= POPT_DIS_VDP_FIFO|POPT_DIS_IDLE_DET; +#endif + /* must call now, so that banking is reset, and correct vectors get fetched */ if (PicoResetHook) PicoResetHook(); @@ -220,8 +222,8 @@ void PicoLoopPrepare(void) // FIXME: PAL has 313 scanlines.. scanlines_total = Pico.m.pal ? 312 : 262; - if (PicoAHW & PAHW_32X) - p32x_timers_recalc(); + Pico.m.dirtyPal = 1; + rendstatus_old = -1; } @@ -270,29 +272,6 @@ PICO_INTERNAL int CheckDMA(void) return burn; } -static __inline void SekRunM68k(int cyc) -{ - int cyc_do; - pprof_start(m68k); - - SekCycleAim+=cyc; - if ((cyc_do=SekCycleAim-SekCycleCnt) <= 0) return; -#if defined(EMU_CORE_DEBUG) - // this means we do run-compare - SekCycleCnt+=CM_compareRun(cyc_do, 0); -#elif defined(EMU_C68K) - PicoCpuCM68k.cycles=cyc_do; - CycloneRun(&PicoCpuCM68k); - SekCycleCnt+=cyc_do-PicoCpuCM68k.cycles; -#elif defined(EMU_M68K) - SekCycleCnt+=m68k_execute(cyc_do); -#elif defined(EMU_F68K) - SekCycleCnt+=fm68k_emulate(cyc_do+1, 0, 0); -#endif - - pprof_end(m68k); -} - #include "pico_cmn.c" int z80stopCycle;