Η αρχιτεκτονική της ανασύνθεσης (recompilation)

Το project ξεφεύγει από την πεπατημένη οδό της απλής εξομοίωσης (emulation), η οποία συχνά επιβαρύνει το runtime με σημαντικό overhead. Αντίθετα, ακολουθεί μια διαδικασία ανασύνθεσης όπου ο αρχικός κώδικας DOS μεταφράζεται σε C, διατηρώντας την ακρίβεια των εντολών. Το τελικό αποτέλεσμα μεταγλωττίζεται σε WebAssembly, επιτρέποντας την εκτέλεση των demos με native ταχύτητες μέσα στον browser.

Μοντελοποίηση hardware και χρονισμός

Η πρόκληση στα demos της δεκαετίας του '90 δεν είναι μόνο ο κώδικας του CPU, αλλά η στενή αλληλεπίδραση με το hardware. Το project υλοποιεί μοντέλα για την κάρτα VGA, το Sound Blaster και τους χρονοδιακόπτες (timers), διασφαλίζοντας ότι κάθε πρόσβαση σε θύρα (port access) και κάθε διακοπή (interrupt) συμβαίνει ακριβώς τη στιγμή που θα συνέβαινε στο φυσικό μηχάνημα. Αυτή η προσέγγιση επιτρέπει στα demos να λειτουργούν με το αρχικό τους loader και τους music players χωρίς καμία τροποποίηση.

Πιστότητα και οπτική εμπειρία

Επειδή τα demos σχεδιάστηκαν για VGA οθόνες στα 70 Hz, η απόδοση στον browser εξαρτάται από τον ρυθμό ανανέωσης της οθόνης του χρήστη. Η αρχιτεκτονική διασφαλίζει ότι η εμπειρία παραμένει αυθεντική, καθώς ο κώδικας εκτελείται χωρίς να «αντιλαμβάνεται» ότι βρίσκεται σε ένα σύγχρονο περιβάλλον, διατηρώντας την αισθητική και την τεχνική αρτιότητα της εποχής.