X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=cpu%2FCyclone%2Fapp.h;h=1796e9c8cba62d3e6a370f6c5a82a26b4ad4379d;hb=b637c56aadc5b854ca28a8a111cf07324bc0e2ad;hp=e8fb21287148820fe03565c82ebf89bbbf43cd61;hpb=c008977e8ec74b68cbccc017620a156cc39b79b2;p=picodrive.git diff --git a/cpu/Cyclone/app.h b/cpu/Cyclone/app.h index e8fb212..1796e9c 100644 --- a/cpu/Cyclone/app.h +++ b/cpu/Cyclone/app.h @@ -16,29 +16,31 @@ extern int g_lea_cycle_table[]; extern int g_pea_cycle_table[]; extern int g_movem_cycle_table[]; int Ea_add_ns(int *tab, int ea); // add nonstandard EA cycles -int EaCalc(int a,int mask,int ea,int size,int top=0); -int EaRead(int a,int v,int ea,int size,int mask,int top=0); +int EaCalc(int a,int mask,int ea,int size,int top=0,int sign_extend=1); // 6 +int EaRead(int a,int v,int ea,int size,int mask,int top=0,int sign_extend=1); // 7 int EaCanRead(int ea,int size); -int EaWrite(int a,int v,int ea,int size,int mask,int top=0); +int EaWrite(int a,int v,int ea,int size,int mask,int top=0,int sign_extend_ea=1); int EaCanWrite(int ea); int EaAn(int ea); // Main.cpp -extern int *CyJump; // Jump table -extern int ms; // If non-zero, output in Microsoft ARMASM format +extern int *CyJump; // Jump table +extern int ms; // If non-zero, output in Microsoft ARMASM format extern char *Narm[4]; // Normal ARM Extensions for operand sizes 0,1,2 extern char *Sarm[4]; // Sign-extend ARM Extensions for operand sizes 0,1,2 -extern int Cycles; // Current cycles for opcode +extern int Cycles; // Current cycles for opcode +extern int pc_dirty; // something changed PC during processing void ot(const char *format, ...); void ltorg(); void CheckInterrupt(int op); -int MemHandler(int type,int size); +int MemHandler(int type,int size,int addrreg=0); +void FlushPC(void); // OpAny.cpp int OpGetFlags(int subtract,int xbit,int sprecialz=0); void OpUse(int op,int use); -void OpStart(int op); -void OpEnd(); +void OpStart(int op,int sea=0,int tea=0); +void OpEnd(int sea=0,int tea=0); int OpBase(int op,int sepa=0); void OpAny(int op);