From 29318b1e33bd838f43c5303dda3b7d75f3e429c8 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 27 Apr 2012 04:36:41 +0000 Subject: revert EX: spec don't make sense here --- emu.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/emu.c b/emu.c index feb2e35..00012a1 100644 --- a/emu.c +++ b/emu.c @@ -153,7 +153,7 @@ add(unsigned short *b, unsigned short *a) { int tmp = *b + *a; - reg[EX] = !!(tmp >> 16); + reg[EX] = tmp >> 16; *b = tmp; cycle += 2; } @@ -163,7 +163,7 @@ sub(unsigned short *b, unsigned short *a) { int tmp = *b - *a; - reg[EX] = -1 * !!(tmp >> 16); + reg[EX] = tmp >> 16; *b = tmp; cycle += 2; } @@ -346,7 +346,7 @@ adx(unsigned short *b, unsigned short *a) { int tmp = *b + *a + reg[EX]; - reg[EX] = !!(tmp > 16); + reg[EX] = tmp > 16; *b = tmp; cycle += 3; } @@ -356,7 +356,7 @@ sbx(unsigned short *b, unsigned short *a) { int tmp = *b - *a + reg[EX]; - reg[EX] = -1 * !!(tmp >> 16); + reg[EX] = tmp >> 16; *b = tmp; cycle += 3; } @@ -488,7 +488,7 @@ step(unsigned short *m, unsigned short *r) { unsigned short c, o, *a, *b, s, tmp; - if (!run) + if (!run || errors > 3) return -1; mem = m; @@ -517,8 +517,5 @@ step(unsigned short *m, unsigned short *r) usleep(10 * cycle); /* 100kHz */ - if (errors > 3) - return -1; - return cycle; } -- cgit v1.2.3