neo6502 board

 

Μικροεπεξεργαστής 6502 (1975)

Το 1975 κυκλοφορεί στην αγορά ο μικροεπεξεργαστής 6502. Πρόκειται για έναν από τους δημοφιλέστερους μικροεπεξεργαστές των δεκαετιών 1970-1980.


Οι πιο σημαντικοί υπολογιστές (APPLE I, II, BBC, ATARI, COMMODORE 64, κλπ), αλλά και παιχνιδομηχανές (π.χ. ATARI 2600) βασίζονταν σε αυτόν. Σήμερα, υπάρχει μια ενεργή κοινότητα, που ενδιαφέρεται για την αναβίωση των παιχνιδιών, του λογισμικού, αλλά και του υλικού των υπολογιστών εκείνης της εποχής. Ο πιο εύκολος τρόπος για την αναβίωση της εποχής μέσα από τα αντίστοιχα παιχνίδια, είναι η χρήση των emulator, αφού τα παιχνίδια που υπήρχαν κυρίως σε κασέτες, έχουν μετατραπεί σε ψηφιακή μορφή.

Από την άλλη μεριά, ελάχιστοι είναι οι αυθεντικοί υπολογιστές της εποχής, οι οποίοι βρίσκονται σε λειτουργία. Παρά το γεγονός αυτό, τα μέσα απεικόνισης που χρησιμοποιούσαν τότε είναι σήμερα σπάνια και απαρχαιωμένα, ενώ και η φόρτωση των παιχνιδιών από κασέτες είναι σχεδόν αδύνατη και χρονοβόρα.

Πολλοί όμως είναι αυτοί, που επιμένουν στην αναβίωση του υλικού της εποχής, χρησιμοποιώντας σύγχρονη όμως τεχνολογία. Μια αναβίωση, που θα επιτρέψει στα παιχνίδια για παράδειγμα, να εκτελεστούν στον αυθεντικό μικροεπεξεργαστή. Η δημιουργία όμως ενός κλώνου είναι επίσης μια δύσκολη και πολύπλοκη διαδικασία.

Τελικά, βρέθηκε μια λύση περίπου στη μέση. Σήμερα, παράγεται ακόμα, μια πιο σύγχρονη εκδοχή του 6502 με κωδικό όνομα W65C02. Πρόκειται για μια CMOS υλοποίηση περισσότερες δυνατότητες και λυμένα τα bug του παρελθόντος. Η ύπαρξη του W65C02 (documentation), επιτρέπει την ανάπτυξη συστημάτων βασισμένων σε αυτόν. Επειδή όμως ένα πλήρες σύστημα πρέπει να διαθέτει μνήμη (RAM, ROM), ελεγκτή εξωτερικής επικοινωνίας, κλπ, πάλι εμφανίζονται δυσκολίες.

Η λύση δόθηκε με τη χρησιμοποίηση ενός προηγμένου μικροελεγκτή (RP2040 που χρησιμοποιεί το Raspberry Pico), ο οποίος παίζει το ρόλο όλων των συστημάτων, που απαιτεί ο 6502 για να λειτουργήσει ως σύστημα.

neo6502

Η εταιρία OLIMEX, σχεδίασε ένα open-source board (neo6502), βασισμένο στον 6502 και συμπληρωματικά τον RP2040, ώστε να δώσει στον τελικό χρήστη ένα πλήρες λειτουργικό σύστημα, το οποίο να μπορεί να αξιοποιηθεί μέσα από σύγχρονο εξοπλισμό (π.χ. οθόνη HDMI). Σε αυτό το σύστημα μπορεί να τρέξει το λογισμικό, που είχαμε συναντήσει οι παλαιότεροι σε υπολογιστές όπως ο APPLE II, κλπ. Το σύστημα υποστηρίζει παιχνίδια, αλλά και προγραμματισμό σε BASIC. Ένα σύστημα, το οποίο μπορεί να χρησιμοποιηθεί και εκπαιδευτικά. Δείτε περισσότερα και ΕΔΩ.

Χάρτης του board

Η αρχική ιδέα της σχεδίασης ήταν, ένα πλήρες board, το οποίο θα είχε μια πληθώρα από αισθητήρες, οθόνες και πολλά άλλα συμπληρωματικά κυκλώματα. Όμως, κάποιος ενδιαφερόμενος θα αναγκαζόταν να αγοράσει ένα board υψηλότερους κόστους και με κυκλώματα, τα οποία ενδεχομένως να μην επιθυμούσε. Έτσι, η σχεδιάστρια εταιρία, υλοποίησε τη θύρα UEXT, στην οποία συνδέονται τα πρόσθετα κυκλώματα που επιθυμεί ο καθένας (αγοράζονται ξεχωριστά). Φυσικά, η εταιρία έχει σχεδιάσει πλακέτες που φιλοξενούν π.χ. αισθητήρες και υποστηρίζουν το συγκεκριμένο τρόπο διασύνδεσης.

Ανοιχτά σχέδια

Το neo6502 έχει σχεδιαστεί στο KiCAD και όλα τα αρχεία είναι δωρεάν ανοιχτά και διαθέσιμα σε όλους (gitHub). Έτσι, μπορεί κάποιος να παραγγείλει το PCB και να αναλάβει μόνος του την προμήθεια και συναρμολόγηση των εξαρτημάτων ή να το αγοράσει απευθείας συναρμολογημένο και λειτουργικό από την olimex. Η τεκμηρίωση είναι ολοκληρωμένη και το συγκεκριμένο project μπορεί να αποτελέσει την αφετηρία για σχεδίαση σχετικών κυκλωμάτων για διάφορους σκοπούς.

Εκπαίδευση

Η απλότητα του 6502, τον καθιστά ιδανικό για πειραματισμό και εκμάθηση των μικροεπεξεργαστών από το μηδέν. Το χαμηλό κόστος και η απλότητα των απαιτούμενων συμπληρωματικών κυκλωμάτων για να αναπτυχθεί ένα πλήρες σύστημα, κάνει την ενασχόληση με τους μικροεπεξεργαστές μια προσιτή διαδικασία. Με την ίδια λογική, στο πανεπιστήμιο σήμερα διδάσκονται οι μικροεπεξεργαστές 8088/8086, επίσης της δεκαετίας του 1970, λόγω της απλότητας και της ευκολίας παρουσίασης των βασικών αρχών. Για να ξεκινήσετε με τον 6502 (με την αξιοποίηση και του Arduino), μπορείτε να παρακολουθήσετε αυτό το προτεινόμενο βίντεο και να διερευνήσετε και τα επόμενα.

Σύντομη δοκιμή

Στο neo6502 είναι ήδη προφορτωμένη η γλώσσα ProDOS BASIC, η οποία είναι μια έκδοση της Applesoft BASIC ειδικά σχεδιασμένη για το ProDOS, το λειτουργικό σύστημα της σειράς APPLE II. Η Applesoft BASIC ήταν μια έκδοση της APPLE για την Microsoft BASIC. Από την άλλη μεριά, η ProDOS BASIC περιλαμβάνει περισσότερα χαρακτηριστικά και συνεργάζεται καλύτερα με το λειτουργικό ProDOS.