MOS 6502 Simulator είναι είδος ενός εξομοιωτή για ένα chip 6502. Δεν υπάρχει σχεδόν τίποτα, εκτός από την CPU (λειτουργίες μείον BCD). Φέρει, επίσης, καμία προσοχή σε χρονισμούς διδασκαλίας.
Ενώ (εκτός από αυτά τα δύο πράγματα) προσομοιώνει με επιτυχία την CPU υπήρχαν μερικά ελαττώματα σχεδιασμού, που με οδήγησε να μην συνεχίσει με αυτό:
- Το έγραψα σε C ++.
Καθώς το 6502 δεν είχε καμία ειδική IO λεωφορείο, όλα έγιναν μέσω της μνήμης. Είχα την ιδέα του να έχετε ένα καθαρό εικονική τάξη, η οποία παρείχε μια γενική διεπαφή, τότε όπως έγραψα συσκευές για να καθίσει στο χώρο της μνήμης, που θα μπορούσε να παρακάμψει τμήματα μόνο του, ή παγίδα για εγγραφές ή κάτι τέτοιο.
Ενώ γράφω αυτό, συνέχισα να πάρει την αίσθηση ότι θα έπρεπε να είχε γράψει σε ASM αντί Ειδικά για το χειρισμό σημαίες και περιστρέφεται και πράγματα. (Όπως θα μπορούσα να είχα μόλις περιστραφεί AL, για παράδειγμα, παρά το χάος που έχω στον κώδικα C ++.
- Επικλινές αποκωδικοποίησης των εντολών.
Εγώ αρχικά έθεσε ως στόχο να αποκωδικοποιήσει τις οδηγίες σωστά, αλλά υπήρχαν πολλές εξαιρέσεις από το σύστημα που χρησιμοποιείται (ESP. Αν είχα την πρόθεση να στηρίξει την 65C02 για παράδειγμα). Αυτό decended σε ένα τεράστιο δήλωση switch. I σχεδόν θεωρείται σπάσουμε σε μικρότερα αρχεία, και απλά να τους #include στη μέση, ακριβώς για να γίνει πιο διαχειρίσιμο.
Επίσης, δεδομένου ότι δεν είναι σε αριθμητική σειρά (ομαδοποιούνται ανάλογα με το είδος, ή αντιμετωπίζοντας την κατάσταση, δεν μπορείτε να θυμηθείτε atm) δεν θα συγκεντρώνει σε ένα τραπέζι άλμα. Μήπως με βελτιστοποίηση όμως.
Το κύριο πράγμα που με ώθησε να γράψω αυτό ήταν Βρήκα μου BBC-Β στο πατάρι, και ένιωσα μια πόνο της νοσταλγίας για την ώρα χαμένη σκυμμένοι πάνω στη χαμηλότερη δυνατή ανάλυση κειμένου (λειτουργία IIRC 7 για να σώσει RAM). Είχα την ιδέα να γράψω ένα NES ή του BBC εξομοιωτή, ωστόσο, δεν είχε πάρει τόσο μακριά.
Έχει μια πολύ απλή μορφή εικόνας. Το αρχείο πρέπει να είναι> = 65536 bytes (64k), και ότι είναι απλά η εικόνα μνήμης για το σύστημα (δίαυλος διευθύνσεων 16-bit). Υπάρχει ένα περίεργο είδος της οθόνης κειμένου ASCII σε 0x200, το οποίο είναι αρκετά εντάξει για εκπέμπουν ένα string με. Όπως μόλις ρίξει μαζί στο χώρο του 6 ώρες ή έτσι (πήρε πολύ χρόνο για να κάνει την δήλωση switch) δεν είναι πολύ σχολαστικά τεκμηριωμένο, αλλά hey.
Στοιχεία Λογισμικού:
Εκδοχή: -
Ανεβάστε ημερομηνία: 2 Jun 15
Άδεια: Δωρεάν
Δημοτικότητα: 22
Τα σχόλια δεν βρέθηκε