|
Pledgers
(none yet) |
Make 1x speed in Mini vMac more accurate by counting cycles
rather than instructions
This is one of a set of Mini vMac projects. To support this project, and increase its priority, contact me with your pledge. See the Mini vMac bounties page for more information on how this works. When Mini vMac is set to 1x speed, the emulated computer runs approximately as fast as a real Mac Plus. But this is only an approximation, since Mini vMac only keeps count of the number of instructions executed, and doesn't track how long each instruction should take. For maximum compatibility with various software (as found by experimentation), this approximation is actually a bit too fast on average, which can be noticeable in some games. For this project I will add a compile time option to Mini vMac to count clock cycles instead of instructions, and then count for each instruction class and addressing mode how many clock cycles are taken. Due to some subtle effects, it still won't be completely accurate, but it should be noticeably more accurate in some games. Since this will make the emulator bigger and slower, it will be a compile time option, not the default. More accurate timing for the 68020 is not included in this project, since that is much more complicated. (And also doesn't matter as much, since programmers already had to adapt to different speed macs by the time they started making 68020 only software.) This project will likely require several weeks of my time to complete. |