The single-cycle emulation 'Frodo SC'
Frodo SC is a special version of Frodo that doesn't work with a
line-based emulation but instead with a cycle-based one. That means that
the emulator switches between 6510 and VIC in every emulated ø2 clock
phase. By doing this, Frodo SC achieves an extreme precision (nearly all
$d011 and $d016 effects can be emulated), but at the expense of speed.
In the settings options, Frodo SC differs from Frodo in only a few points:
- The "Cycles per line" settings are not available as the timing of Frodo SC is hardcoded
- The "Clear CIA IRC on write" hack is not necessary
Apart from that, Frodo SC is operated in the same way as Frodo and also
uses the same settings. Frodo SC has only a few incompatibilities to a
real C64:
- Color of $ff bytes read by VIC when BA is low and AEC is high is not correct
- On the left and right side of the screen, sprites are not clipped but blanked out
- Sprite collisions are only detected within the visible screen area (excluding borders)
- The sprite data fetch ignores the state of BA
- On BA low and AEC high, the VIC always reads $f in D8-D11
- Color register modifications are visible 7 pixels too late
- Some opcodes like $8b/$ab don't create the same (partly unpredictable) results as on a real 6510
- BRK cannot be interrupted by IRQ/NMI
- The TOD clock should not be stopped on a read access, but be latched
- The SDR interrupt is faked
- Some small incompatibilities with the CIA timers
- The readable SID registers are not emulated correctly