Be more descriptive about higan's overhead.

This commit is contained in:
Tim Allen 2017-08-09 19:27:39 +10:00
parent 09c9a55588
commit 45c8f09330
1 changed files with 17 additions and 5 deletions
docs

View File

@ -165,11 +165,23 @@ Games can and do depend on timing details like
it will interrupt the CPU at exactly the right time
for the CPU to fiddle with the video chip".
higan is therefore very cautious about timing:
it always checks all possible devices
to see if anyone wants to interrupt anyone else
before proceeding to the next emulated step.
Although repeated checking is slow,
higan checks anyway
while it's emulating the audio chip (for example),
at every point the emulated CPU *might* interrupt
the emulated audio chip,
higan switches to emulating the CPU up to the same point
to find out whether the CPU *will* interrupt it.
In this way,
higan is a little bit like
an office-worker trying to do the jobs of three other people
by running from desk to desk,
sending the same emails
that those three people would send to each other,
leaving themselves a note at each desk to remind themselves
where they were up to when they come back.
Although this constant switching
is slow and inefficient,
higan does it
to ensure the emulated console
always matches the behaviour
of the original.