filename | src/aica/armcore.c |
changeset | 431:248dd77a9e44 |
prev | 86:f151e63f9754 |
next | 536:d3a65d75b5ae |
author | nkeynes |
date | Thu Oct 11 08:22:03 2007 +0000 (16 years ago) |
permissions | -rw-r--r-- |
last change | Add speed meter to main window Add sunken border around video area Add debugger menu item Move logging out to util.c |
file | annotate | diff | log | raw |
1.1 --- a/src/aica/armcore.c Sun Jan 22 22:40:05 2006 +00001.2 +++ b/src/aica/armcore.c Thu Oct 11 08:22:03 2007 +00001.3 @@ -1,5 +1,5 @@1.4 /**1.5 - * $Id: armcore.c,v 1.20 2006-01-22 22:40:05 nkeynes Exp $1.6 + * $Id: armcore.c,v 1.21 2007-10-09 08:11:51 nkeynes Exp $1.7 *1.8 * ARM7TDMI CPU emulation core.1.9 *1.10 @@ -18,6 +18,7 @@1.12 #define MODULE aica_module1.13 #include "dream.h"1.14 +#include "dreamcast.h"1.15 #include "mem.h"1.16 #include "aica/armcore.h"1.17 #include "aica/aica.h"1.18 @@ -405,7 +406,7 @@1.19 #define SHIFTIMM(ir) ((ir>>7)&0x1F)1.20 #define IMMROT(ir) ((ir>>7)&0x1E)1.21 #define ROTIMM12(ir) ROTATE_RIGHT_LONG(IMM8(ir),IMMROT(ir))1.22 -#define SIGNEXT24(n) ((n&0x00800000) ? (n|0xFF000000) : (n&0x00FFFFFF))1.23 +#define SIGNEXT24(n) (((n)&0x00800000) ? ((n)|0xFF000000) : ((n)&0x00FFFFFF))1.24 #define SHIFT(ir) ((ir>>4)&0x07)1.25 #define DISP24(ir) ((ir&0x00FFFFFF))1.26 #define UNDEF(ir) do{ arm_raise_exception( EXC_UNDEFINED ); return TRUE; } while(0)1.27 @@ -632,7 +633,7 @@1.28 */1.29 static uint32_t arm_get_address_operand( uint32_t ir )1.30 {1.31 - uint32_t addr;1.32 + uint32_t addr=0;1.34 /* I P U . W */1.35 switch( (ir>>21)&0x1D ) {1.36 @@ -759,6 +760,7 @@1.37 cond = 1;1.38 break;1.39 case 15: /* (NV) */1.40 + default:1.41 cond = 0;1.42 UNDEF(ir);1.43 }
.