The new code is based on timestamps, rather than delays. This eliminates the
need to update every timer in timer_process(), which cost a non-trivial amount
of CPU time on low-end machines.
This involved changes to every user of the timer code, so this change almost
certainly introduces bugs.
Disable PIT timer operation between write of control word and initial count. Lemmings High Performance PC mode now works without incorrect rev 339 commit.
Changes since v0.7 :
- Major CPU reorganisation. This has possibly broken some stuff, though I fixed all the regressions I could find
- Lazy flags. This brought 10% speed improvement at one point, but that's probably been lost now
- 430 VX chipset emulation
- IDT Winchip emulation (currently sans MMX). Timing is probably wrong
- Fixed a few FPU bugs
- Timer reorganisation
- Sound reorganisation
- Other general reorganisation
- AdLib Gold emulation
- Windows Sound System emulation
- Pro Audio Spectrum 16 emulation. This currently works with most DOS stuff, but not in Windows
- Major improvements to GUS emulation. Has the downside that it now conflicts with SB emulation, so probably best to not enable both simultaneously
- New graphics cards :
- ATI-18800 (VGA Edge-16)
- ATI-28800 (VGA Charger)
- ATI Mach64GX (Graphics Pro Turbo). Quite a few features missing, but Windows doesn't seem to use half the features of this card
- Cirrus Logic CL-GD5429. Blitter is a bit broken
- Oak OTI-067
- S3 Trio64 (Number Nine 9FX)
- S3 Virge. Only framebuffer stuff at the minute, Windows won't recognise the card
- Trident TGUI-9440
- VGA. Doesn't work yet
- Beginnings of 3DFX emulation, however this is in extremely early stages and doesn't do anything useful
- Fixed DMA bug stopping floppy drives working in Windows 3.x
- Fixed some other stuff probably
- Broke some other stuff probably as well