X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=Pico%2FPicoInt.h;h=58d37d09606d0c8dc65facab8ff12db61cbd264f;hb=29a951879b9e2d2f93f9aa3a34c2872e6cbf4e39;hp=e9f7e77311a910afdccd827fafd963d0fc5f9ddd;hpb=721cd3963fa4ba82ca218345e8f543703dc46c90;p=picodrive.git diff --git a/Pico/PicoInt.h b/Pico/PicoInt.h index e9f7e77..58d37d0 100644 --- a/Pico/PicoInt.h +++ b/Pico/PicoInt.h @@ -1,7 +1,7 @@ // Pico Library - Header File // (c) Copyright 2004 Dave, All rights reserved. -// (c) Copyright 2006 notaz, All rights reserved. +// (c) Copyright 2006,2007 Grazvydas "notaz" Ignotas, all rights reserved. // Free for non-commercial use. // For commercial use, separate licencing terms must be obtained. @@ -38,8 +38,8 @@ extern struct Cyclone PicoCpu, PicoCpuS68k; } #define SekPc (PicoCpu.pc-PicoCpu.membase) #define SekPcS68k (PicoCpuS68k.pc-PicoCpuS68k.membase) -#define SekSetStop(x) { PicoCpu.stopped=x; if (x) PicoCpu.cycles=0; } -#define SekSetStopS68k(x) { PicoCpuS68k.stopped=x; if (x) PicoCpuS68k.cycles=0; } +#define SekSetStop(x) { PicoCpu.state_flags&=~1; if (x) { PicoCpu.state_flags|=1; PicoCpu.cycles=0; } } +#define SekSetStopS68k(x) { PicoCpuS68k.state_flags&=~1; if (x) { PicoCpuS68k.state_flags|=1; PicoCpuS68k.cycles=0; } } #endif #ifdef EMU_A68K @@ -110,8 +110,17 @@ extern int SekCycleAimS68k; #define SekCyclesResetS68k() {SekCycleCntS68k=SekCycleAimS68k=0;} #define SekCyclesDoneS68k() (SekCycleAimS68k-SekCyclesLeftS68k) -// does not work as expected -//extern int z80ExtraCycles; // extra z80 cycles, used when z80 is [en|dis]abled +// debug cyclone +#if defined(EMU_C68K) && defined(EMU_M68K) +#undef SekSetCyclesLeftNoMCD +#undef SekSetCyclesLeft +#undef SekCyclesBurn +#undef SekEndRun +#define SekSetCyclesLeftNoMCD(c) +#define SekSetCyclesLeft(c) +#define SekCyclesBurn(c) c +#define SekEndRun(c) +#endif extern int PicoMCD; @@ -217,10 +226,13 @@ struct mcd_misc unsigned int counter75hz; unsigned short audio_offset; // 0c: for savestates: play pointer offset (0-1023) unsigned char audio_track; // playing audio track # (zero based) - char pad1; + char pad1; int timer_int3; // 10 unsigned int timer_stopwatch; - int pad[10]; + unsigned char bcram_reg; // 18: battery-backed RAM cart register + unsigned char pad2; + unsigned short pad3; + int pad[9]; }; typedef struct @@ -333,7 +345,7 @@ unsigned int SRAMReadEEPROM(); void SRAMUpdPending(unsigned int a, unsigned int d); void memcpy16(unsigned short *dest, unsigned short *src, int count); void memcpy16bswap(unsigned short *dest, void *src, int count); -void memcpy32(int *dest, int *src, int count); +void memcpy32(int *dest, int *src, int count); // 32bit word count void memset32(int *dest, int c, int count); // cd/Misc.c