1541 II πρόβλημα με την συχνότητα του επεξεργαστή

geoanas

Commodore Vampire
Staff member
Messages
6,567
Reaction score
4,339
Points
223
Χθες το βραδάκι, μαζί με τον καλό μου φίλο τον wegi, είχαμε μια πολύ εποικοδομητική συζήτηση on line.
Το email box μου "άναψε" με μήνυμα που ζητούσε αν είχα κάποιου είδους εμπειρία με μια περίεργη και ύπουλη βλάβη. Αφορούσε ένα πρόβλημα που παρατηρούσε στην συχνότητα του 6502, επεξεργαστή λειτουργίας ενός 1541 ΙI οδηγού δισκέτας για C64. Ακούστε λοιπόν λεπτομέρεια...Το ρολογάκι της CPU έφθινε με τρόπο ύπουλο και σιωπηλό, με αποτέλεσμα ύστερα από λίγη ώρα χρήσης να πέφτει κατά μαγικό τρόπο από το το 1MHz στα 0.98 ~ 0.99MHz.

Η πρώτη σκέψη που ίσως σας έρθει στο νου, τη δεδομένη στιγμή και πριν προχωρήσω περισσότερο, είμαι σίγουρος ότι θα είναι κάτι του τύπου: "Μα τι κάθεται και μας λέει τώρα! ...και τι έγινε τώρα για 0.1 ή 0.2 διαφορά!...Κοίτα με τι λεπτομέρειες κάθονται και ασχολούνται βραδιάτικα!"

Έτσι είναι; ...Ε, λοιπόν ως πρώτη σκέψη δεν θα αδικήσω κανέναν. :)

Γνωρίζετε όμως ότι αυτή η μηδαμινή διαφορά μπορεί ίσως να οδηγήσει το floppy drive μας, ώστε να μεταμορφωθεί σε τίποτα περισσότερο από ένα πλαστικό διακοσμητικό retro κουτί πάνω στο γραφείο μας;

Σε γενικές γραμμές και για να μην το κουράζω πολύ με τεχνικές λεπτομέρειες, ο wegi μου εξήγησε ότι πάντα θα πρέπει να υπάρχει μια διαφορά κάποιων cycles μεταξύ της συχνότητας του 6502 (floppy drive) και του 6510 (C64 cpu).

Η διαφορά αυτή πρέπει να είναι σταθερή, με τον 6502 να προηγείται του 6510. Αυτό αποτελεί τον πυρήνα ή την βάση αν θέλετε της λειτουργίας πολλών fast loaders, όπως π.χ. η Action Replay. Όταν χαθεί αυτή η σταθερή διαφορά, τότε διαταράσσεται ο συγχρονισμός επικοινωνίας C64 <=> 1541 floppy, με δυσμενή συνέπεια κάποια bytes να "χάνονται στον δρόμο". Το πρόγραμμα μας, απλά ΔΕΝ μπορεί να μεταφερθεί σωστά και να τρέξει στον υπολογιστή και η διαδικασία κολλάει ή παραμένει ατέρμονη ή φορτώνει σκουπίδια.

Για να εξετάσει ο ίδιος το προβληματικό floppy, έγραψε και μου έστειλε δυο διαγνωστικά προγράμματα.

Το πρώτο μετρά (όπως και όλα τα διαγνωστικά που κυκλοφορούν στο net) τις στροφές ανά λεπτό του floppy drive (Spins RPM). Το δεύτερο πρόγραμμα μετρά τον αριθμό των cycles της cpu του drive ανά ένα frame, σε C64 PAL.
Από την εμπειρία του, ο wegi σημειώνει ότι οι στροφές/λεπτό πρέπει να είναι: 299 (RPM), ενώ η σωστή διαφορά πρέπει να δείχνει την 6502 του drive να υπερέχει 270-300 cycles περισσότερο από τον 6510 του C64. "Τότε θα είμαστε όλοι χαρούμενοι!" ...πρόσθεσε :)

Εδώ βλέπετε την σωστή αναλογία (σε περιβάλλον VICE emulator και σε C64 PAL)



Το προβληματικό drive, που ήθελε να ελέγξει, έδινε μια διαφορά cycles κοντά στους 50. Το αποτέλεσμα ήταν φυσικά να μην φορτώνει τίποτα, ενώ τα test που ακολουθούσαν έβγαιναν όλα προβληματικά. Επίσης να σημειώσω ότι η διαδικασία της επισκευής γινόταν μέσω video conference, που μπορείτε να πάρετε μάτι, εδώ:

Part I (Πριν τα διαγνωστικά εργαλεία)

Part II

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

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




Γνωρίζω πολύ καλά ότι με το πέρασμα του χρόνου, όλα τα ηλεκτρονικά εξαρτήματα (παθητικά και μη) ενός κυκλώματος, έχουν την τάση να αλλοιώνονται και να αποδομούνται ως προς την εσωτερική τους σύσταση, παρουσιάζοντας προβλήματα στην λειτουργία τους. Δυστυχώς αυτή είναι η αλήθεια και ο Άκης (@Pluto63 ) μου το έχει επιβεβαιώσει. Παρακάμπτοντας τα chips και γνωρίζοντας ότι τα ρολόγια όταν πεθαίνουν, το κάνουν μια κι έξω, εξέφρασα την άποψη να εξεταστούν πρώτα οι πυκνωτές. Ξέρω καλά ότι οι αλλοιώσεις αφορούν (πέρα των ηλεκτρολυτικών) όλη την γκάμα ακόμη και τους κεραμικούς.
Σπάνιο; Ναι. Απίθανο; Όχι.
Για να κάνω μια μικρή παρένθεση ο Thomas επίσης μου έστειλε κάποιες πρόσφατες φωτογραφίες, με κύριους "πρωταγωνιστές" δυο RIFA caps κυριολεκτικά σκασμένους και καμένους, στα σωθικά ενός Apple IIc που επισκεύασε πρόσφατα. Μην μιλήσουμε και για τα εσωτερικά τροφοδοτικά των Acorn BBCs...
Επιστρέφοντας στο θέμα, αν οι θέσεις των συγκεκριμένων κεραμικών, αφορούν φιλτράρισμα και εξομάλυνση τάσεων, τότε δε νομίζω ότι μιλάμε για μέγιστη ζημία. Καλώς ή κακώς την δουλειά τους θα συνεχίσουν να την κάνουν. Τι γίνεται όμως σε μια νευραλγική θέση, που θα μπορούσαν να επηρεάσουν τον ευαίσθητο χρονισμό ενός συστήματος; (Προσωπική εμπειρία: Τέτοιους συναντώ σε πολλά κυκλώματα, υπεύθυνα χρονισμού σε όλες τις arcades πλακέτες).

O wegi που είχε εξαρχής την ίδια άποψη, συμφώνησε αβίαστα και αφαίρεσε πρώτα τον C31*. Το θαύμα έγινε! Η διαφορά πλέον ανέβηκε στους 294 cycles > C64 per every one C64 frame και ο χρονισμός της 6502 σταθεροποιήθηκε! Το drive δούλεψε :thumbup:

*Με τις συζητήσεις που ακολούθησαν και την σχετική έρευνα που έκανε, ο wegi ανακάλυψε ότι ίσως και η ίδια η Commodore την είχε "ψιλιαστεί" την δουλειά και στις μετέπειτα εκδόσεις μητρικής, αφαίρεσε η ίδια τον C31.

[Φιλική συμβουλή: Αν διαθέτετε 1541 floppy drive, με μητρική που έχει επάνω της τον συγκεκριμένο πυκνωτή C31, αφαιρέστε τον τελείως. Δεν χρειάζεται αντικατάσταση. Θα κάνετε μεγάλη χάρη στο νευρικό σας σύστημα, πιστέψτε με! :)]

Θα ακολουθήσει παραπέρα αντικατάσταση όλων ανεξαιρέτως των πυκνωτών, με εμένα εδώ πέρα να σας περιγράφω τι έγινε μπας και μπορέσουμε να "σώσουμε" κανένα ακόμη δύσμοιρο 1541 floppy με παρόμοια ύπουλα και σκοτεινά συμπτώματα.
 

geoanas

Commodore Vampire
Staff member
Messages
6,567
Reaction score
4,339
Points
223
UPDATE:

Ύστερα από επικοινωνία, ο wegi μου παραχώρησε την άδεια να αναρτήσω κι εδώ τα δυο διαγνωστικά του προγράμματα (περιλαμβάνεται και ο source code). Τον ευχαριστώ πολύ!

Για όλους μας...Καλές διαγνώσεις :thumbup:
 

Attachments

DAT-Alex

Retro Addict
Messages
609
Reaction score
408
Points
73
Μου κάνεις πλάκα! πρωί πρωί ...έτσι?
RESPECT! σε εσένα και προπάντων στο wegi για το εύρημα!
Ουτε που θα μπορούσα να φανταστώ ...τέτοια λειτουργία - απαίτηση. :geek:
 

geoanas

Commodore Vampire
Staff member
Messages
6,567
Reaction score
4,339
Points
223
Χα!Χα!Χα! Ο wegi είναι ίδιος εσύ ;) Αν σου πω μάλιστα ότι την ώρα που τα λέγαμε, είχα στο μυαλό μου τα floppies που είχα δει στο lab? Κάποια έχουν θεματάκια, αν θυμάμαι καλά, έτσι; Βρε λες; :)
 
Top