On Tue, Feb 20, 2018 at 4:01 PM, Eric Christopherson via cctalk < cctalk@classiccmp.org> wrote:
> On Tue, Feb 20, 2018 at 5:30 PM, dwight via cctalk <cctalk@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