CD-ROM images are now working correctly again;
Fixed all the reported bugs regarding the Settings dialog; MIDI out device is now no longer reset to 0 after hard reset; Removed all vestiges of the old disk activity flash; The configuration file is no longer saved when it shouldn't be; Redone the status bar icon updating so it is only done in win.c; Made sure all variables in ibm.h are extern; A lot of other bugfixes; Added Mouse Systems Mouse emulation (patch from TheCollector1995); Added IBM PS/1 Model 2133 (486) emulation (patch from TheCollector1995); Tweaked the CPU dynamic recompiler cycle periods - 486SX 33 and 486DX 33 now work; Increased compatibility with configuration files from before the previous commit.
This commit is contained in:
@@ -1280,6 +1280,39 @@ int dontprint=0;
|
||||
|
||||
#define CACHE_ON() (!(cr0 & (1 << 30)) /*&& (cr0 & 1)*/ && !(flags & T_FLAG))
|
||||
|
||||
static int cpu_cycle_period(void)
|
||||
{
|
||||
switch(cpu_pci_speed)
|
||||
{
|
||||
case 16000000:
|
||||
return 800;
|
||||
break;
|
||||
case 20000000:
|
||||
case 40000000:
|
||||
return 1000;
|
||||
break;
|
||||
case 25000000:
|
||||
default:
|
||||
return 1000;
|
||||
break;
|
||||
case 27500000:
|
||||
return 1100;
|
||||
break;
|
||||
case 30000000:
|
||||
return 1200;
|
||||
break;
|
||||
case 333333333:
|
||||
return 1333;
|
||||
break;
|
||||
case 37500000:
|
||||
return 1500;
|
||||
break;
|
||||
case 41666667:
|
||||
return 1041;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static int cycles_main = 0;
|
||||
void exec386_dynarec(int cycs)
|
||||
{
|
||||
@@ -1294,8 +1327,42 @@ void exec386_dynarec(int cycs)
|
||||
while (cycles_main > 0)
|
||||
{
|
||||
int cycles_start;
|
||||
|
||||
cycles += 1000;
|
||||
|
||||
#if 0
|
||||
switch(cpu_pci_speed)
|
||||
{
|
||||
case 16000000:
|
||||
cycles += 640;
|
||||
break;
|
||||
case 20000000:
|
||||
cycles += 800;
|
||||
break;
|
||||
case 25000000:
|
||||
default:
|
||||
cycles += 1000;
|
||||
break;
|
||||
case 27500000:
|
||||
cycles += 1100;
|
||||
break;
|
||||
case 30000000:
|
||||
cycles += 1200;
|
||||
break;
|
||||
case 333333333:
|
||||
cycles += 1333;
|
||||
break;
|
||||
case 37500000:
|
||||
cycles += 1500;
|
||||
break;
|
||||
case 40000000:
|
||||
cycles += 1600;
|
||||
break;
|
||||
case 41666667:
|
||||
cycles += 1666;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
cycles += cpu_cycle_period();
|
||||
|
||||
cycles_start = cycles;
|
||||
|
||||
timer_start_period(cycles << TIMER_SHIFT);
|
||||
|
||||
Reference in New Issue
Block a user