dirkwhoffmann / virtualc64

VirtualC64 is a cycle-accurate C64 emulator for macOS
https://dirkwhoffmann.github.io/virtualc64
Other
342 stars 33 forks source link

Speed optimizations (IEC bus) #766

Closed dirkwhoffmann closed 5 months ago

dirkwhoffmann commented 1 year ago

This comment has been dangling around in config.h for a long time. I'm making an issue out of it so it can be deleted from the source code:

// IDEAS:
// Update IEC bus inside CIA and VIA. Use delay flags if neccessary.
// Call CA1 action in VIA class only if the pin value really has changed.
dirkwhoffmann commented 5 months ago

The IEC bus is now updated by scheduling an IEC_UPDATE event in the IEC slot:

Bildschirmfoto 2024-01-25 um 15 32 30

The CIAs are also driven by the event scheduler now (like in vAmiga).

I've also refactored C64::execute() quite a lot, resulting in cleaner code. Unexpectedly, the new code does not bring any speed improvements.

dirkwhoffmann commented 5 months ago

Fixed in v4.7b1