1 #ifndef EMUL_EMULREGS_H 2 #define EMUL_EMULREGS_H 3 4 #ifndef EMUL_EMULINTERFACE_H 5 #include <emul/emulinterface.h> 6 #endif 7 8 #ifdef __VBCC__ 9 __regsused("r2") __varsused("") __varsmodified("") __alwaysreturn __nosidefx 10 __reg("r2") struct EmulHandle *__getEmulHandle(void) = ""; 11 #define MyEmulHandle __getEmulHandle() 12 13 #ifdef EMUL_QUICKMODE 14 #error EMUL_QUICKMODE is not supported with VBCC! 15 #endif 16 #else /* __VBCC__ */ 17 register struct EmulHandle *MyEmulHandle __asm("r2"); 18 #endif 19 20 #ifdef EMUL_QUICKMODE 21 register ULONG *REG_PC __asm("r13"); 22 register UWORD REG_SR __asm("r14"); 23 register void (**OPCODETABLE)(void) __asm("r15"); 24 25 register ULONG REG_D0 __asm("r16"); 26 register ULONG REG_D1 __asm("r17"); 27 register ULONG REG_D2 __asm("r18"); 28 register ULONG REG_D3 __asm("r19"); 29 register ULONG REG_D4 __asm("r20"); 30 register ULONG REG_D5 __asm("r21"); 31 register ULONG REG_D6 __asm("r22"); 32 register ULONG REG_D7 __asm("r23"); 33 register ULONG REG_A0 __asm("r24"); 34 register ULONG REG_A1 __asm("r25"); 35 register ULONG REG_A2 __asm("r26"); 36 register ULONG REG_A3 __asm("r27"); 37 register ULONG REG_A4 __asm("r28"); 38 register ULONG REG_A5 __asm("r29"); 39 register ULONG REG_A6 __asm("r30"); 40 register ULONG REG_A7 __asm("r31"); 41 #else 42 43 #define REG_PC (MyEmulHandle->PC) 44 #define REG_SR (MyEmulHandle->SR) 45 46 #define REG_D0 (MyEmulHandle->Dn[0]) 47 #define REG_D1 (MyEmulHandle->Dn[1]) 48 #define REG_D2 (MyEmulHandle->Dn[2]) 49 #define REG_D3 (MyEmulHandle->Dn[3]) 50 #define REG_D4 (MyEmulHandle->Dn[4]) 51 #define REG_D5 (MyEmulHandle->Dn[5]) 52 #define REG_D6 (MyEmulHandle->Dn[6]) 53 #define REG_D7 (MyEmulHandle->Dn[7]) 54 #define REG_A0 (MyEmulHandle->An[0]) 55 #define REG_A1 (MyEmulHandle->An[1]) 56 #define REG_A2 (MyEmulHandle->An[2]) 57 #define REG_A3 (MyEmulHandle->An[3]) 58 #define REG_A4 (MyEmulHandle->An[4]) 59 #define REG_A5 (MyEmulHandle->An[5]) 60 #define REG_A6 (MyEmulHandle->An[6]) 61 #define REG_A7 (MyEmulHandle->An[7]) 62 63 #endif 64 65 #endif