όταν λένε πως ένας εξομοιωτής είναι cycle accurate
...εννοούν ότι έχουν εξομοιώσει με ακρίβεια τα ρολόγια των επιμέρους στοιχείων αν υπάρχουν (chip γραφικών, chip ήχου, CPU κλπ) ή το κεντρικό ρολόι συστήματος αν υπάρχει μόνο ένα.
Επομένως το κάθε ένα «τικ» του πραγματικού συστήματος, αντιστοιχεί ακριβώς σε ένα «τικ» του ρολογιού του emulator.
Τώρα, σε κάθε «τικ» δίνονται από την εξομοιωμένη CPU (και GPU ή SPU -Sound Processing Unit- κλπ) κάποιες (εκατοντάδες, χιλιάδες, εκατομμύρια, ανάλογα το πόσο δυνατό είναι το σύστημα) εντολές, που μεταφράζονται σε αντίστοιχες εντολές -ή ακολουθία εντολών- Win32 x86 ή x64 και OpenGL ή DirectX κλπ. Εκεί λοιπόν σε αυτό το σημείο, την μετάφραση, είναι που δημιουργούνται τα λάθη, οι ανακρίβειες και τα bugs, διότι πολλές CPU κονσολών, έχουν undocumented features και ελλειπή τεκμηρίωση, με αποτέλεσμα να μην ξέρουμε τι ακριβώς κάνει η κάθε εντολή, για να μη μιλήσουμε και για τις GPU των PS1, PS2 κλπ, οπότε το trial and error πάει σύννεφο. Πολλές φορές διορθώνουν κάτι -νομίζουν ότι διορθώνουν- αλλά χαλάει κάτι άλλο, διότι ο «τύπος» υπολογισμού ήταν λάθος, αλλά στη συγκεκριμένη εντολή, έτυχε να δίνει σωστό αποτέλεσμα. Ας πούμε 2+x = 2*x μόνο όταν x=2
Δεν ξέρω αν ήμουν πλήρως κατανοητός, διότι ελλείψει περαιτέρω γνώσεων δεν μπορώ να δώσω χειροπιαστά παραδείγματα, αλλά αυτά είναι πάνω κάτω τα bugs, που διορθώνονται σε έναν cycle accurate emulator.