On Tue, Feb 20, 2018 at 4:01 PM, Eric Christopherson via cctalk <
cctalk at classiccmp.org> wrote:
On Tue, Feb 20, 2018 at 5:30 PM, dwight via cctalk
<cctalk at classiccmp.org>
wrote:
In order to connect to the outside world, you
need a way to queue event
based on cycle counts, execution of particular address or particular
instructions. This allows you to connect to the outside world. Other than
that it is just looking up instructions in an instruction table.
Dwight
What I've always wondered about was how the heck cycle-accurate emulation
is done. In the past I've always felt overwhelmed looking in the sources of
emulators like that to see how they do it, but maybe it's time I tried
again.
An emulator does not necessarily need to be cycle accurate. Some
architectures have overlapping instruction execution, memory caches, I/O
memory contention -- calculating cycles can be very complex. Other
architectures, such as the DPS8/M do not seem to have left any
documentation about cycle timing. The dps8/m emulator is coded for
performance, not timing accuracy.
-- Charles