2 // This file is part of the Cyclone 68000 Emulator
\r
4 // Copyright (c) 2011 FinalDave (emudave (at) gmail.com)
\r
6 // This code is licensed under the GNU General Public License version 2.0 and the MAME License.
\r
7 // You can choose the license that has the most advantages for you.
\r
9 // SVN repository can be found at http://code.google.com/p/cyclone68000/
\r
17 #include "../Pico/Disa.h"
\r
20 int EaCalc(int a,int mask,int ea,int size);
\r
21 int EaRead(int a,int v,int ea,int size,int top=0);
\r
22 int EaCanRead(int ea,int size);
\r
23 int EaWrite(int a,int v,int ea,int size,int top=0);
\r
24 int EaCanWrite(int ea);
\r
27 extern int *CyJump; // Jump table
\r
28 extern int ms; // If non-zero, output in Microsoft ARMASM format
\r
29 extern char *Narm[4]; // Normal ARM Extensions for operand sizes 0,1,2
\r
30 extern char *Sarm[4]; // Sign-extend ARM Extensions for operand sizes 0,1,2
\r
31 extern int Cycles; // Current cycles for opcode
\r
32 extern int Amatch; // If one, try to match A68K timing
\r
33 extern int Accu; // Accuracy
\r
34 extern int Debug; // Debug info
\r
35 void ot(char *format, ...);
\r
37 void CheckInterrupt();
\r
38 int MemHandler(int type,int size);
\r
41 int OpGetFlags(int subtract,int xbit);
\r
42 void OpUse(int op,int use);
\r
44 void OpStart(int op);
\r
49 //----------------------
\r
51 int OpArith(int op);
\r
54 int OpArithReg(int op);
\r
57 int OpAritha(int op);
\r
59 int OpCmpEor(int op);
\r
63 void OpPushSr(int high);
\r
69 int OpBranch(int op);
\r
73 int OpBtstReg(int op);
\r
74 int OpBtstImm(int op);
\r
81 int OpAsrEa(int op);
\r
86 void OpFlagsToReg(int high);
\r
87 void OpRegToFlags(int high);
\r
88 int OpMoveSr(int op);
\r
89 int OpArithSr(int op);
\r
91 int OpMovem(int op);
\r
92 int OpMoveq(int op);
\r
93 int OpMoveUsp(int op);
\r