Η ιστορία του project

Όλα ξεκίνησαν από μια αγορά που έκανα μέσω ebay. Ανάμεσα στα αντικείμενα που πήρα ήταν και ένα mouse της commodore, χωρίς περισσότερες πληροφορίες ως προς το μοντέλο του. Επειδή συνόδευε έναν υπολογιστή commodore 64, υπέθεσα ότι ήταν το 1350, το χαμηλότερου κόστους mouse της commodore, το οποίο λειτουργεί ουσιαστικά ως joystick. Οι κινήσεις πάνω στο επίπεδο, μεταφράζονται σε 8 δυνατές εντολές κίνησης, όπως ακριβώς και στο jostick. Η συσκευή αυτή δεν ανιχνεύει την ταχύτητα με την οποία κινείται το ποντίκι και έτσι δεν έχει καμιά αναλογικότητα στην κίνηση. Μιά έκλπηξη με περίμενε όταν σύνδεσα το ποντίκι στο c64. Ο κέρσορας κινούνταν προς τυχαίες κατευθύνσεις, ενώ μόνο το αριστερό κλικ δούλευε κανονικά.
Απολύτως λογικό αφού αυτό που είχα πάρει εν αγνοία μου ήταν το mouse της amiga (για τα ενδότερα τη οποίας λίγα γνωρίζω), το οποίο δεν είναι συμβατό με τον commodore 64. Το mouse αυτό είναι αναλογικό, ωστόσο η περισσότερη δουλειά της μετατροπής των σημάτων γίνεται στο εσωτερικό του υπολογιστή. Η επικοινωνία με τον υπολογιστή γίνεται μέσω τεσσάρων γραμμών (Xa,Xb,Ya,Yb), δύο για κάθε άξονα κίνησης. Κάθε ζευγάρι σημάτων είναι παλμοί μεταβλητής συχνότητας. Ανάλογα με το πιο σήμα προηγείται καθορίζεται η κατεύθυνση της κίνησης, ενώ η συχνότητα καθορίζει την ταχύτητα.
Amiga mouse 2  Amiga mouse 1  Το εσωτερικό του amiga mouse

Σχετικά με το κύκλωμα

Η ιδέα ήρθε μου ήρθε άμεσα ! Καθόσον η λειτουργία του mouse σε joystick mode είναι σχετικά απλή, θα μπορούσα να σχεδιάσω ένα απλό κύκλωμα μετατροπής των σημάτων του ποντικιού της amiga, ώστε να μετατρέπονται σε σήματα που θα έβλεπε ο commodore 64 ως είσοδο από ψηφιακό ποντίκι. Αφού συνέδεσα όλες τις γραμμές του mouse στο breadboard, είδα τα σήματα στον παλμογράφο και ξεκίνησα να χτίζω το κύκλωμα. Στις παρακάτω φωτογραφίες φαίνονται τα σήματα στον παλμογράφο και το τελικό κύκλωμα.
τα σήματα Xa , Xb στον παλμογράφο  το κύκλωμα στο breadboard
Το τελικό κύκλωμα περιλαμβάνει 4 ICs και λίγα παθητικά στοιχεία (αντιστάσεις και πυκωτές). Στο πρώτο στάδιο τα σήματα Xa,Xb (του άξονα Χ) και Ya,Yb (του άξονα Υ) εισάγονται σε δύο D-type Flip Flop (ολοκληρωμένο CD4013), οι έξοδοι των οποίων ανιχνέυουν ποιο σήμα προηγείται, καθορίζοντας έτσι με την κίνηση του ποντικιού την κατεύθυνση της κίνησης. Ωστόσο όταν δεν κινείται το mouse οι τιμές των ζευγών Xa,Xb και Ya,Yb μπορεί να είναι είτε 0 είτε 5 Volt. Αυτό δυσκολεύει την ανίχνευση της κίνησης του ποντικιού από τα σήματα αυτά. Αναγκάστηκα έτσι να χρησιμοποιήσω δύο 555 (ένα για κάθε άξονα ή ζευγάρι σημάτων) σε διάταξη μονοσταθή πολυδονητή. Στην είσοδο του εισάγεται το σήμα Xa (θα μπορούσε να είναι και το Xb) και όταν αυτό μεταβάλεται από υψηλή σε χαμηλή στάθμη, στην έξοδο παράγεται ένα παλμός περίπου 20 ms. (έχουν επιλεγεί οι κατάλληλες τιμές των R2 και C2). Το λεπτό σημείο στην διάταξη αυτή είναι ότι το σήμα εισάγεται με τον πυκωτή C1 με μια αντίσταση πρόσδεσης R1 στην υψηλή στάθμη (+5V). Αυτό εξασφαλίζει ότι η είσοδος θα επανέλθει στην υψηλή στάθμη ακόμα και αν το σήμα τύχει να είναι στην χαμηλή στάθμη όταν σταματήσει η κίνηση του ποντικιού. Αν δεν υπήρχαν τα C1 και R1, η έξοδος του μονοσταθή θα ήταν σε τυχαία στάθμη (0 ή 1), και θα έκανε αδύνατη την ανίχνευση κίνησης. Οι τελικές έξοδοι προς τις γραμμές joy up,down,left και right, λαμβάνονται από ισάριθμες πύλες NAND (ολοκληρωμένο 7400). Οι είσοδοι των πυλών οδηγούνται από τις 4 εξόδους των flip-flop (παίρνουν τιμές ανάλογα με την κατεύθυνση κίνησης) και τις 2 εξόδους των 555, μία για κάθε άξονα.
το κύκλωμα προσαρμογής ..
Η συνολική κατανάλωση του κυκλώματος με το ποντίκι συνδεδεμένο είναι περίπου 20 mA από την γραμμή των 5 Volt του control port του commodore 64. Η κίνηση του ποντικιού είναι όπως και στο joystick (χωρίς αναλογικότητα). Ωστόσο το κύκλωμα μπορεί να κατασκευαστεί σχετικά εύκολα και δίνει την δυνατότητα σε κάποιον που έχει το συγκεκριμένο mouse να το χρησιμοποιήσει στον c64, χωρίς να αναγκαστεί να ψάξει το δυσεύρετο και κατά συνέπεια πολύ ακριβό commodore 1350.
Ιδιαίτερη προσοχή πρέπει να δοθεί στην κατασκευή ώστε να συνδεθούν στους ακροδέκτες D9, τα σύρματα με την σωστή σειρά. Περισσότερα μπορείτε να βρείτε από τους παρακάτω συνδέσμους :

Amiga mouse pinout

Commodore 64 pinout

Το mouse μπορεί να χρησιμοποιηθεί για το γραφικό περιβάλλον του Final Cartridge III, αλλά και για άλλα παιχνίδια και εφαρμογές. Μπορείτε να κατεβάσετε το ηλεκτρονικό σχέδιο του κυκλώματος από τον σύνδεσμο

Δεν έχω σχεδιάσει μέχρι στιγμής PCB για την κατασκευή, αλλά είναι δυνατή η υλοποίησή του με μικρά καλώδια σε διάτρητη πλακέτα, η οποία μπορεί να χωρέσει σε ένα μικρό κουτί.