revision 122:3a557bc205d8
summary |
tree |
shortlog |
changelog |
graph |
changeset |
raw | bz2 | zip | gz changeset | 122:3a557bc205d8 |
parent | 121:795fec623ce9 |
child | 123:2ad156e10657 |
author | nkeynes |
date | Tue Mar 21 11:14:04 2006 +0000 (17 years ago) |
Fix insanely stupid FSCA bug. Unfortunately doesn't actually appear to fix
anything, it was still dumb
anything, it was still dumb
![]() | src/sh4/sh4core.c | view | annotate | diff | log |
1.1 --- a/src/sh4/sh4core.c Mon Mar 20 12:00:15 2006 +00001.2 +++ b/src/sh4/sh4core.c Tue Mar 21 11:14:04 2006 +00001.3 @@ -1,5 +1,5 @@1.4 /**1.5 - * $Id: sh4core.c,v 1.23 2006-03-17 12:45:11 nkeynes Exp $1.6 + * $Id: sh4core.c,v 1.24 2006-03-21 11:14:04 nkeynes Exp $1.7 *1.8 * SH4 emulation core, and parent module for all the SH4 peripheral1.9 * modules.1.10 @@ -1291,7 +1291,7 @@1.11 break;1.12 default: UNDEF(ir);1.13 }1.14 - } else {1.15 + } else { /* Single precision */1.16 switch( ir&0x000F ) {1.17 case 0: /* FADD FRm, FRn */1.18 FRN(ir) += FRM(ir);1.19 @@ -1406,7 +1406,7 @@1.20 }1.21 else if( (ir&0x0100) == 0 ) { /* FSCA FPUL, DRn */1.22 float angle = (((float)(short)(FPULi>>16)) +1.23 - ((float)(FPULi&16)/65536.0)) *1.24 + (((float)(FPULi&0xFFFF))/65536.0)) *1.25 2 * M_PI;1.26 int reg = FRNn(ir);1.27 FR(reg) = sinf(angle);
.