mirror of
https://github.com/prirun/p50em.git
synced 2026-02-01 22:12:11 +00:00
FP exceptions, -DNOREG for -O0 and -DBG compiles, perf tweaks, gcov
reworked ring/register fix so that Primos nevers sees RP faulted but we don't have to do extra tests in the fetch loop changed EAxxx routines to use RP segno when EA = register added FP exception fault to ieeepr8 and all FP routines added round flag to ieeepr8 (though not sure it's rounding correctly) used gcov info to reorder some stuff in ea16s, ea32s, ea32r64r changed warn() and fatal() to use get16t; prevpc might be a register IMPORTANT NOTE: to compile with -O0, also use -DNOREG (gcc bug)
This commit is contained in:
6
emdev.h
6
emdev.h
@@ -450,8 +450,8 @@ readasr:
|
||||
if (gvp->savetraceflags == 0) {
|
||||
TRACEA("\nTRACE ENABLED:\n\n");
|
||||
gvp->savetraceflags = ~TB_MAP;
|
||||
gvp->savetraceflags = TB_FLOW;
|
||||
gvp->savetraceflags = ~0;
|
||||
gvp->savetraceflags = TB_FLOW;
|
||||
} else {
|
||||
TRACEA("\nTRACE DISABLED:\n\n");
|
||||
gvp->savetraceflags = 0;
|
||||
@@ -1504,11 +1504,10 @@ int devcp (int class, int func, int device) {
|
||||
the correct time. In addition to lowering overhead, slower
|
||||
clock tick rates make catching up much faster. */
|
||||
|
||||
#ifndef FIXEDCLOCK
|
||||
if (abs(ticks-targetticks) > 5000 && datnowea != 0)
|
||||
ticks = -1;
|
||||
else if (ticks < targetticks)
|
||||
devpoll[device] = 200; /* behind, so catch-up */
|
||||
devpoll[device] = 100; /* behind, so catch-up */
|
||||
else if (ticks > targetticks)
|
||||
devpoll[device] = devpoll[device]*2; /* ahead, so slow down */
|
||||
else { /* just right! */
|
||||
@@ -1517,7 +1516,6 @@ int devcp (int class, int func, int device) {
|
||||
ticks = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* update instpermsec every 5 seconds. Check for instcount
|
||||
overflow and reset when it occurs.
|
||||
|
||||
Reference in New Issue
Block a user