1 |
cebix |
1.1 |
<HTML> |
2 |
|
|
<HEAD> |
3 |
|
|
<TITLE>Frodo, Frodo PC and Frodo SC</TITLE> |
4 |
|
|
</HEAD> |
5 |
|
|
<BODY> |
6 |
|
|
|
7 |
|
|
<H1>Frodo, Frodo PC and Frodo SC</H1> |
8 |
|
|
|
9 |
|
|
<HR> |
10 |
|
|
|
11 |
|
|
Frodo comes in three 'flavours' that allow you to decide between speed |
12 |
|
|
and accuracy of the emulation. |
13 |
|
|
|
14 |
|
|
<H2>The line-based emulation 'Frodo'</H2> |
15 |
|
|
|
16 |
|
|
<B>Frodo</B> is a line-based emulation, i.e. the activities that happen |
17 |
|
|
in parallel during one video line in the real C64 are emulated one after |
18 |
|
|
the other for the different chips. This offers a reasonable degree of |
19 |
|
|
precision of the emulation at a decent speed. There are some things that |
20 |
|
|
cannot be emulated with this technique, but it works fine with about |
21 |
|
|
80% of all C64 programs and it is also the fastest of the three Frodo |
22 |
|
|
versions. |
23 |
|
|
|
24 |
|
|
<HR> |
25 |
|
|
|
26 |
|
|
<H2>The improved line-based emulation 'Frodo PC'</H2> |
27 |
|
|
|
28 |
|
|
<B>Frodo PC</B> is also a line-based emulation but it has some improvements |
29 |
|
|
over the standard Frodo: |
30 |
|
|
|
31 |
|
|
<UL> |
32 |
|
|
<LI>Code in chip registers can be executed |
33 |
|
|
<LI>Correct calculation of 6510 instruction cycles |
34 |
|
|
<LI>More precise CIA emulation |
35 |
|
|
</UL> |
36 |
|
|
|
37 |
|
|
Programs that don't work on the standard Frodo or that produce an |
38 |
|
|
"Illegal jump to I/O space" message might work with Frodo PC. However, |
39 |
|
|
Frodo PC is a bit slower. |
40 |
|
|
|
41 |
|
|
<HR> |
42 |
|
|
|
43 |
|
|
<H2>The single-cycle emulation 'Frodo SC'</H2> |
44 |
|
|
|
45 |
|
|
<B>Frodo SC</B> is a special version of Frodo that doesn't work with a |
46 |
|
|
line-based emulation but instead with a cycle-based one. That means that |
47 |
|
|
the emulator switches between 6510 and VIC in every emulated ø2 clock |
48 |
|
|
phase. By doing this, Frodo SC achieves an extreme precision (nearly all |
49 |
|
|
$d011 and $d016 effects can be emulated), but at the expense of speed. |
50 |
|
|
|
51 |
|
|
In the settings options, Frodo SC differs from Frodo/Frodo PC in only |
52 |
|
|
a few points: |
53 |
|
|
|
54 |
|
|
<UL> |
55 |
|
|
<LI>The "Cycles per line" settings are not available as the timing of Frodo SC is hardcoded |
56 |
|
|
<LI>The "Clear CIA IRC on write" hack is not necessary |
57 |
|
|
</UL> |
58 |
|
|
|
59 |
|
|
Apart from that, Frodo SC is operated in the same way as Frodo and also |
60 |
|
|
uses the same settings. Frodo SC has only a few incompatibilities to a |
61 |
|
|
real C64: |
62 |
|
|
|
63 |
|
|
<UL> |
64 |
|
|
<LI>On the left and right side of the screen, sprites are not clipped but blanked out |
65 |
|
|
<LI>Sprite collisions are only detected within the visible screen area (excluding borders) |
66 |
|
|
<LI>The sprite data fetch ignores the state of BA |
67 |
|
|
<LI>On BA low and AEC high, the VIC always reads $f in D8-D11 |
68 |
|
|
<LI>Color register modifications are visible 7 pixels too late |
69 |
|
|
<LI>The TOD clock should not be stopped on a read access, but be latched |
70 |
|
|
<LI>The SDR interrupt is faked |
71 |
|
|
<LI>Some small incompatibilities with the CIA timers |
72 |
|
|
<LI>The readable SID registers are not emulated correctly |
73 |
|
|
</UL> |
74 |
|
|
|
75 |
|
|
</BODY> |
76 |
|
|
</HTML> |