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.
As part of this :
- FDC Specify command now completes immediately
- Implemented keyboard system flag status
- Added ability to remap 384kb reserved memory to above extended memory
- Seperated disk and disk drive emulation
- Support more drive types - 5.25" dual RPM, 3.5" DD, 3.5" HD, 3.5" HD 3-Mode
- Support drive swapping (FDC37c665 only)
- Support FDC FIFO
- Support other FDC 'enhanced mode' behaviour
- Support IBM XDF format images
- Formatting now formats both tracks, and uses correct 'fill' byte
- Various other improvements
Many of these changes provided by Battler