Search
lxdream.org :: lxdream/src/sh4/sh4core.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/sh4core.c
changeset 122:3a557bc205d8
prev116:87e3bea309a5
next123:2ad156e10657
author nkeynes
date Tue Mar 21 11:14:04 2006 +0000 (14 years ago)
permissions -rw-r--r--
last change Fix insanely stupid FSCA bug. Unfortunately doesn't actually appear to fix
anything, it was still dumb
file annotate diff log raw
1.1 --- a/src/sh4/sh4core.c Fri Mar 17 12:45:11 2006 +0000
1.2 +++ b/src/sh4/sh4core.c Tue Mar 21 11:14:04 2006 +0000
1.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 peripheral
1.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);
.