more MAME fixes, some optimization
[picodrive.git] / cpu / Cyclone / app.h
CommitLineData
cc68a136 1\r
2#include <stdio.h>\r
3#include <stdarg.h>\r
4#include <stdlib.h>\r
5#include <string.h>\r
6\r
7#include "config.h"\r
8\r
9// Disa.c\r
10#include "Disa/Disa.h"\r
11\r
12// Ea.cpp\r
13extern int g_jmp_cycle_table[];\r
14extern int g_jsr_cycle_table[];\r
15extern int g_lea_cycle_table[];\r
16extern int g_pea_cycle_table[];\r
17extern int g_movem_cycle_table[];\r
18int Ea_add_ns(int *tab, int ea); // add nonstandard EA cycles\r
19int EaCalc(int a,int mask,int ea,int size,int top=0);\r
20int EaRead(int a,int v,int ea,int size,int mask,int top=0);\r
21int EaCanRead(int ea,int size);\r
22int EaWrite(int a,int v,int ea,int size,int mask,int top=0);\r
23int EaCanWrite(int ea);\r
24int EaAn(int ea);\r
25\r
26// Main.cpp\r
cfb3dfa0 27extern int *CyJump; // Jump table\r
28extern int ms; // If non-zero, output in Microsoft ARMASM format\r
cc68a136 29extern char *Narm[4]; // Normal ARM Extensions for operand sizes 0,1,2\r
30extern char *Sarm[4]; // Sign-extend ARM Extensions for operand sizes 0,1,2\r
cfb3dfa0 31extern int Cycles; // Current cycles for opcode\r
32extern int pc_dirty; // something changed PC during processing\r
cc68a136 33void ot(const char *format, ...);\r
34void ltorg();\r
35void CheckInterrupt(int op);\r
cfb3dfa0 36int MemHandler(int type,int size,int addrreg=0);\r
37void FlushPC(void);\r
cc68a136 38\r
39// OpAny.cpp\r
40int OpGetFlags(int subtract,int xbit,int sprecialz=0);\r
41void OpUse(int op,int use);\r
cfb3dfa0 42void OpStart(int op,int sea=0,int tea=0);\r
43void OpEnd(int sea=0,int tea=0);\r
cc68a136 44int OpBase(int op,int sepa=0);\r
45void OpAny(int op);\r
46\r
47//----------------------\r
48// OpArith.cpp\r
49int OpArith(int op);\r
50int OpLea(int op);\r
51int OpAddq(int op);\r
52int OpArithReg(int op);\r
53int OpMul(int op);\r
54int OpAbcd(int op);\r
55int OpNbcd(int op);\r
56int OpAritha(int op);\r
57int OpAddx(int op);\r
58int OpCmpEor(int op);\r
59int OpCmpm(int op);\r
60int OpChk(int op);\r
61int GetXBit(int subtract);\r
62\r
63// OpBranch.cpp\r
64void OpPush32();\r
65void OpPushSr(int high);\r
66int OpTrap(int op);\r
67int OpLink(int op);\r
68int OpUnlk(int op);\r
69int Op4E70(int op);\r
70int OpJsr(int op);\r
71int OpBranch(int op);\r
72int OpDbra(int op);\r
73\r
74// OpLogic.cpp\r
75int OpBtstReg(int op);\r
76int OpBtstImm(int op);\r
77int OpNeg(int op);\r
78int OpSwap(int op);\r
79int OpTst(int op);\r
80int OpExt(int op);\r
81int OpSet(int op);\r
82int OpAsr(int op);\r
83int OpAsrEa(int op);\r
c008977e 84int OpTas(int op, int gen_special=0);\r
cc68a136 85\r
86// OpMove.cpp\r
87int OpMove(int op);\r
88int OpLea(int op);\r
89void OpFlagsToReg(int high);\r
90void OpRegToFlags(int high);\r
91int OpMoveSr(int op);\r
92int OpArithSr(int op);\r
93int OpPea(int op);\r
94int OpMovem(int op);\r
95int OpMoveq(int op);\r
96int OpMoveUsp(int op);\r
97int OpExg(int op);\r
98int OpMovep(int op); // notaz\r
99int OpStopReset(int op);\r
100void SuperCheck(int op);\r
101void SuperEnd(int op);\r
102void SuperChange(int op);\r