7 #if defined(__GNUC__) || defined(_WIN32_WCE)
\r
8 #define EMU_C68K // Use the Cyclone 68000 emulator
\r
10 #define EMU_A68K // Use the 'A68K' (Make68K) Assembler 68000 emulator
\r
15 // Disa.h also defines CPU_CALL to be fastcall or normal call
\r
19 // ----------------------- 68000 CPU -----------------------
\r
21 // The format of the data in a68k.asm (at the _M68000_regs location)
\r
24 unsigned int d[8],a[8];
\r
25 unsigned int isp,srh,ccr,xc,pc,irq,sr;
\r
26 int (*IrqCallback) (int nIrq);
\r
28 void *pResetCallback;
\r
29 unsigned int sfc,dfc,usp,vbr;
\r
30 unsigned int AsmBank,CpuVersion;
\r
32 extern "C" struct A68KContext M68000_regs;
\r
36 #include "../Cyclone/Cyclone.h"
\r
37 extern struct Cyclone PicoCpu;
\r
46 // ---------------------------------------------------------
\r
50 unsigned char reg[0x20];
\r
51 unsigned int command; // 32-bit Command
\r
52 unsigned char pending; // 1 if waiting for second half of 32-bit command
\r
53 unsigned char type; // Command type (v/c/vsram read/write)
\r
54 unsigned short addr; // Read/Write address
\r
55 int status; // Status bits
\r
56 unsigned char pad[0x14];
\r
61 unsigned char rotate;
\r
62 unsigned char z80Run;
\r
63 unsigned char padSelect[2]; // Select high or low bit from joypad
\r
64 short scanline; // -38 to 223
\r
65 char dirtyPal; // Is the palette dirty
\r
66 unsigned char hardware; // Hardware value for country
\r
67 unsigned char pal; // 1=PAL 0=NTSC
\r
68 unsigned char pad[0x16];
\r
73 unsigned char fmsel[2]; // FM selected register
\r
74 unsigned char reg[0x100];
\r
75 unsigned char pad[0x3e];
\r
80 unsigned char ram[0x10000]; // scratch ram
\r
81 unsigned short vram[0x8000];
\r
82 unsigned char zram[0x2000]; // Z80 ram
\r
83 unsigned int highpal[0x40];
\r
84 unsigned short cram[0x40];
\r
85 unsigned short vsram[0x40];
\r
88 unsigned int romsize;
\r
91 struct PicoVideo video;
\r
96 int PicoLine(int scan);
\r
102 int PicoInitPc(unsigned int pc);
\r
103 unsigned short CPU_CALL PicoRead16(unsigned int a);
\r
104 unsigned int CPU_CALL PicoRead32(unsigned int a);
\r
106 void PicoDasm(int start,int len);
\r
109 extern struct Pico Pico;
\r
114 int SekRun(int cyc);
\r
115 int SekInterrupt(int irq);
\r
117 void SekState(unsigned char *data);
\r
120 extern short Sine[];
\r
124 int PsndFm(int a,int d);
\r
128 void PicoVideoWrite(unsigned int a,unsigned int d);
\r
129 unsigned int PicoVideoRead(unsigned int a);
\r
132 extern "C" int dprintf(char *Format, ...);
\r