Παράκαμψη προς το κυρίως περιεχόμενο

Πώς δουλεύει ηλεκτρονικά ένα φλίπερ: CPU, διακόπτες, λάμπες, πηνία

Τι κάνει στ' αλήθεια η CPU ενός φλίπερ; Πώς «βλέπει» ότι η μπάλα χτύπησε έναν στόχο, πώς ανάβει 64 λάμπες με λίγα καλώδια, πώς δίνει εντολή σε ένα πηνίο χωρίς να καεί η πλακέτα; Εδώ η θεωρία, σε ηλεκτρονικό επίπεδο, με παράδειγμα το Williams System 6 του Firepower. Τα ίδια βασικά ισχύουν σε όλα τα ηλεκτρονικά φλίπερ από το 1977 μέχρι σήμερα.

Το άρθρο δεν προϋποθέτει γνώσεις ηλεκτρονικών πέρα από το τι είναι τάση, ρεύμα και δίοδος. Αν θέλεις να δεις τις πλακέτες για τις οποίες μιλάμε, άνοιξε τη σελίδα Ανατομία ενός φλίπερ σε λειτουργία «Πλακέτες». Για τις μετρήσεις που αναφέρονται δες το άρθρο Εργαλεία και μετρήσεις.

1. Η μεγάλη εικόνα: ένας υπολογιστής του 1979 με «μύες»

Ένα φλίπερ της εποχής είναι ένας μικρός υπολογιστής που δεν έχει οθόνη και πληκτρολόγιο, αλλά διακόπτες, λάμπες, πηνία και displays. Η δουλειά χωρίζεται σε τρία επίπεδα:

  • Η CPU (MPU board). Ο επεξεργαστής, η μνήμη με το πρόγραμμα (ROM), λίγη μνήμη εργασίας (RAM) και τα κυκλώματα εισόδου/εξόδου. Δουλεύει αποκλειστικά με +5 V και μικρά ρεύματα. Δεν μπορεί να οδηγήσει ούτε μία λάμπα απευθείας.
  • Η driver board. Οι «μύες». Τρανζίστορ που παίρνουν ένα ασθενές σήμα 5 V από τη CPU και ανοιγοκλείνουν τα μεγάλα ρεύματα των λαμπών (18 V) και των πηνίων (28 V).
  • Η τροφοδοσία. Ο μετασχηματιστής κατεβάζει τα 220 V σε διάφορες τάσεις, οι γέφυρες τις ανορθώνουν, και ένας σταθεροποιητής φτιάχνει τα καθαρά +5 V για τη λογική. Στο System 6 οι κύριες τάσεις είναι +5 V (λογική), +12 V, 18 V DC (λάμπες matrix), 28 V DC (πηνία), 6,3 V AC (γενικός φωτισμός GI) και ±100 V (displays).

Η CPU, λοιπόν, δεν «ανάβει» λάμπες. Αλλάζει την κατάσταση ενός ψηφίου από 0 σε 1 σε μια θέση μνήμης, και αυτό το ψηφίο, μέσα από μια αλυσίδα τρανζίστορ, καταλήγει να ανάψει τη λάμπα. Όλα τα παρακάτω είναι παραλλαγές αυτής της ιδέας.

2. Η πλακέτα CPU: επεξεργαστής, μνήμη, PIA

Στο System 3 έως 6 ο επεξεργαστής είναι ένας Motorola 6800, 8-bit, με ρολόι λίγο κάτω από 1 MHz (ο κρύσταλλος των 3,58 MHz διαιρείται με το 4). Χίλιες φορές πιο αργός από ένα σημερινό κινητό, αλλά για ένα φλίπερ υπεραρκετός: η μπάλα κινείται σε χιλιοστά του δευτερολέπτου, ο επεξεργαστής σε εκατομμυριοστά.

Γύρω του υπάρχουν τρία είδη μνήμης:

  • ROM. Το πρόγραμμα του παιχνιδιού, γραμμένο μία φορά στο εργοστάσιο. Ξέρει τους κανόνες: τι αξίζει κάθε στόχος, πότε ανάβει το bonus, πότε κλείνει η μπάλα.
  • RAM. Λίγες εκατοντάδες bytes μνήμης εργασίας. Εδώ ζει η κατάσταση του παιχνιδιού αυτή τη στιγμή: σκορ, ποια λάμπα είναι αναμμένη, ποιος στόχος έχει πέσει. Σβήνει με το κλείσιμο του ρεύματος.
  • CMOS RAM με μπαταρία. Μια μικρή μνήμη (5101) που κρατιέται ζωντανή από τις τρεις μπαταρίες ΑΑ. Εδώ είναι οι ρυθμίσεις, τα audits και τα high scores. Γι' αυτό όταν οι μπαταρίες πεθαίνουν «ξεχνάει» τις ρυθμίσεις, και γι' αυτό, όταν χυθούν, καταστρέφουν την πλακέτα από κάτω.

Το πιο σημαντικό εξάρτημα για ό,τι ακολουθεί είναι το PIA (Peripheral Interface Adapter, 6821). Είναι το «χέρι» του επεξεργαστή προς τον έξω κόσμο: ένα τσιπ με 16 ακίδες που ο επεξεργαστής μπορεί να ορίσει, μία μία, σαν έξοδο (βγάζει 0 ή 5 V) ή σαν είσοδο (διαβάζει αν έχει 0 ή 5 V). Ο επεξεργαστής βλέπει το PIA σαν λίγες θέσεις μνήμης: γράφει έναν αριθμό σε μια διεύθυνση και οκτώ ακίδες παίρνουν τάση ανάλογα με τα bits του αριθμού. Διαβάζει από μια άλλη διεύθυνση και παίρνει έναν αριθμό που περιγράφει τι τάση έχουν οκτώ ακίδες εισόδου. Το System 6 έχει έξι PIA: τρία στην CPU (displays και matrix διακοπτών) και τρία στη driver (λάμπες, πηνία, ήχος). Όλα τα λαμπάκια, τα πηνία, οι διακόπτες και τα displays ενός Firepower περνούν μέσα από αυτά τα έξι τσιπ.

3. Ο ρυθμός: το interrupt

Το πρόγραμμα δεν τρέχει «ό,τι να 'ναι, όποτε να 'ναι». Ένα κύκλωμα χρονισμού στέλνει στον επεξεργαστή ένα σήμα διακοπής (IRQ) περίπου χίλιες φορές το δευτερόλεπτο. Σε κάθε διακοπή ο επεξεργαστής αφήνει ό,τι έκανε και τρέχει μια μικρή ρουτίνα «συντήρησης»: ανανεώνει ένα ψηφίο στα displays, σαρώνει μία στήλη διακοπτών, αλλάζει τη στήλη λαμπών που είναι αναμμένη, μετράει πόσο ακόμα πρέπει να μείνει ενεργό κάθε πηνίο. Μετά επιστρέφει στο κυρίως πρόγραμμα, που ασχολείται με τους κανόνες του παιχνιδιού.

Αυτό το ρολόι του ενός χιλιοστού του δευτερολέπτου είναι ο καρδιακός παλμός του μηχανήματος. Λάμπες, διακόπτες και displays δεν είναι ποτέ «όλα μαζί αναμμένα»: ο επεξεργαστής τα εξυπηρετεί με τη σειρά, τόσο γρήγορα που το μάτι και η μπάλα δεν το αντιλαμβάνονται. Αν το κύκλωμα του IRQ χαλάσει, το μηχάνημα «παγώνει» με τα displays σβηστά ή κολλημένα, έστω κι αν ο επεξεργαστής είναι καλά.

4. Οι διακόπτες: το matrix 8×8

Ένα Firepower έχει περίπου 60 διακόπτες στο playfield: στόχοι, rollovers, pop bumpers, slingshots, το outhole, οι διακόπτες των κερμάτων, το start. Αν κάθε ένας είχε το δικό του καλώδιο προς τη CPU, θα χρειάζονταν 60 είσοδοι και ένα τεράστιο connector. Η λύση που χρησιμοποιούν όλα τα φλίπερ λέγεται switch matrix: 8 «στήλες» (columns) και 8 «γραμμές» (rows), 16 καλώδια συνολικά, και κάθε διακόπτης συνδέεται ανάμεσα σε μία στήλη και μία γραμμή. 8×8 = 64 διακόπτες με 16 καλώδια.

Πώς διαβάζεται: ο επεξεργαστής, μέσω του PIA, βάζει ενεργή μία στήλη τη φορά (σαν να «ρωτάει» τη στήλη 3: ποιοι από τους οκτώ διακόπτες σου είναι κλειστοί;). Αν ένας διακόπτης της στήλης 3 είναι κλειστός, το ρεύμα περνάει από τη στήλη, μέσα από τον διακόπτη, στην αντίστοιχη γραμμή, και η είσοδος του PIA για αυτή τη γραμμή διαβάζει «κλειστό». Στην επόμενη διακοπή ρωτάει τη στήλη 4, και ούτω καθεξής. Σε 8 χιλιοστά του δευτερολέπτου έχει διαβάσει και τους 64.

Γιατί κάθε διακόπτης έχει μια δίοδο

Αν κοιτάξεις κάτω από το playfield, σε κάθε διακόπτη του matrix υπάρχει μια μικρή δίοδος (1N4148 ή 1N4004). Χωρίς αυτήν, όταν είναι κλειστοί ταυτόχρονα τρεις διακόπτες που σχηματίζουν «Γ» στο matrix, το ρεύμα βρίσκει δρόμο από τη μία στήλη, μέσα από τους διακόπτες, στην άλλη στήλη, και ο επεξεργαστής διαβάζει κλειστό και έναν τέταρτο διακόπτη που στην πραγματικότητα είναι ανοιχτός. Αυτό λέγεται phantom switch (διακόπτης-φάντασμα). Η δίοδος αφήνει το ρεύμα να περάσει μόνο από στήλη προς γραμμή, και κόβει αυτό το παράσιτο μονοπάτι. Μια βραχυκυκλωμένη ή ανάποδα κολλημένη δίοδος είναι η κλασική αιτία για «πέφτουν στόχοι μόνοι τους» ή «ο μετρητής κερμάτων ανεβαίνει όταν χτυπάω έναν στόχο».

Τι διαβάζει η CPU από τη βλάβη

  • Όλοι οι διακόπτες μιας στήλης νεκροί: το τρανζίστορ ή η ακίδα του PIA που οδηγεί τη στήλη, ή το καλώδιο/connector της στήλης.
  • Όλοι οι διακόπτες μιας γραμμής νεκροί: η είσοδος της γραμμής, συνήθως ένα buffer (4049/7404) που προστατεύει το PIA από το playfield.
  • Ένας διακόπτης νεκρός: ο ίδιος ο διακόπτης, η δίοδός του, ή η κόλληση.
  • Φαντάσματα: δίοδος.

Η σάρωση έχει και έναν δεύτερο ρόλο: το debounce. Ένας μηχανικός διακόπτης δεν κλείνει «καθαρά», αναπηδά για μερικά χιλιοστά του δευτερολέπτου. Το πρόγραμμα δέχεται έναν διακόπτη ως κλειστό μόνο αν τον διαβάσει κλειστό σε δύο διαδοχικές σαρώσεις. Γι' αυτό ένας βρώμικος ή λασκαρισμένος διακόπτης «χάνει» χτυπήματα: κλείνει για λιγότερο από μία σάρωση.

5. Οι λάμπες: και πάλι matrix, αλλά με ρεύμα

Οι ελεγχόμενες λάμπες (αυτές που ανάβουν και σβήνουν ανάλογα με το παιχνίδι, όχι ο γενικός φωτισμός) είναι επίσης σε matrix 8×8. Η λογική είναι ίδια με τους διακόπτες, αλλά αντίστροφη: εδώ η CPU δεν διαβάζει, γράφει. Και επειδή μια λάμπα #44 τραβάει κοντά 0,25 A, πολύ περισσότερο από ό,τι μπορεί να δώσει ένα PIA, μπαίνουν τρανζίστορ στη μέση, στη driver board.

Στη driver board υπάρχουν 8 τρανζίστορ στηλών (PNP, συνδέουν τη στήλη στα +18 V) και 8 τρανζίστορ γραμμών (NPN, συνδέουν τη γραμμή στη γείωση). Μια λάμπα ανάβει όταν και η στήλη της και η γραμμή της είναι ενεργές. Ο επεξεργαστής ενεργοποιεί μία στήλη, γράφει στο PIA των γραμμών τα 8 bits που λένε ποιες από τις 8 λάμπες αυτής της στήλης πρέπει να ανάψουν, περιμένει περίπου 2 χιλιοστά του δευτερολέπτου, και προχωράει στην επόμενη στήλη. Σε κάθε στιγμή είναι αναμμένες μόνο οι λάμπες μίας στήλης. Ο πλήρης κύκλος των 8 στηλών κρατάει περίπου 16 χιλιοστά, δηλαδή κάθε λάμπα αναβοσβήνει γύρω στις 60 φορές το δευτερόλεπτο. Το μάτι το βλέπει συνεχές.

Γιατί 18 V σε λάμπα των 6 V

Επειδή κάθε λάμπα είναι αναμμένη μόνο το 1/8 του χρόνου, για να φωτίζει κανονικά πρέπει στο 1/8 αυτό να παίρνει πολύ περισσότερο ρεύμα. Γι' αυτό το matrix δουλεύει στα 18 V DC αντί για 6,3 V: η λάμπα παίρνει σύντομους, δυνατούς παλμούς, και η μέση θέρμανση του νήματος βγαίνει περίπου ίδια με συνεχή λειτουργία στα 6 V. Αυτό εξηγεί δύο πράγματα που συναντάς στην πράξη: πρώτον, αν ένα τρανζίστορ στήλης βραχυκυκλώσει και μείνει μόνιμα ανοιχτό, οι λάμπες της στήλης του παίρνουν 18 V συνεχώς και καίγονται ή ανάβουν πολύ δυνατά. Δεύτερον, τα LED, που δεν έχουν νήμα για να «κρατήσει» τη θερμότητα ανάμεσα στους παλμούς, δείχνουν το αναβόσβημα των 60 Hz σαν τρεμόπαιγμα ή ghosting. Για αυτό και τις λύσεις δες το άρθρο Λαμπάκια, μέρος 2ο: LED.

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

Η ανάγνωση της βλάβης

  • Μια ολόκληρη στήλη ή γραμμή λαμπών σβηστή: το αντίστοιχο τρανζίστορ στη driver ή το PIA πίσω του. Ο πίνακας του matrix στο manual σου λέει ποιες 8 λάμπες μοιράζονται στήλη ή γραμμή.
  • Μια στήλη μόνιμα αναμμένη: βραχυκυκλωμένο τρανζίστορ στήλης.
  • Μία λάμπα: λάμπα, ντουί, δίοδος.

Ο γενικός φωτισμός (GI) δεν περνάει από τη CPU: είναι απλώς 6,3 V AC από τον μετασχηματιστή, μέσα από ασφάλειες και connectors. Γι' αυτό όταν «μισό playfield είναι σκοτεινό» η CPU δεν φταίει ποτέ, φταίει ο connector ή η ασφάλεια του GI.

6. Τα πηνία: ένα τρανζίστορ ανά πηνίο και μια δίοδος που σώζει ζωές

Τα πηνία (solenoids) δεν είναι σε matrix. Κάθε ελεγχόμενο πηνίο, outhole, kickout, drop target reset, knocker, έχει το δικό του τρανζίστορ ισχύος στη driver board (στο System 6 συνήθως ένα Darlington 2N6043 σε θήκη TO-220) και το δικό του bit σε ένα PIA. Όταν το bit γίνει 1, ένα μικρό τρανζίστορ-προοδηγός (pre-driver) ανοίγει το μεγάλο, και το πηνίο συνδέεται ανάμεσα στα +28 V και τη γείωση. Ρεύμα 2 έως 4 A, για όσο η CPU κρατήσει το bit στο 1.

Ένα πηνίο δεν μένει ποτέ ενεργό για πολύ. Το πρόγραμμα του δίνει έναν παλμό συγκεκριμένης διάρκειας, συνήθως μερικές δεκάδες χιλιοστά του δευτερολέπτου, μετρημένα με το ρολόι του IRQ, και το κλείνει. Ένα πηνίο που μένει ενεργό συνεχώς ζεσταίνεται μέσα σε δευτερόλεπτα, λιώνει τη μόνωση του σύρματος, βραχυκυκλώνει, και καίει την ασφάλεια ή το τρανζίστορ. Αυτό ακριβώς συμβαίνει στην πιο κλασική βλάβη driver board: βραχυκυκλωμένο τρανζίστορ. Το τρανζίστορ καταρρέει «κλειστό», το πηνίο μένει μόνιμα ενεργό, και με το άνοιγμα του μηχανήματος ακούς ένα βουητό και μυρίζεις καμένο. Πρώτη κίνηση: κλείσε το ρεύμα, όχι «να δούμε τι κάνει».

Η δίοδος του πηνίου

Σε κάθε πηνίο υπάρχει μια δίοδος κολλημένη πάνω στις επαφές του (1N4004). Ένα πηνίο είναι ένας μεγάλος επαγωγέας. Όταν το τρανζίστορ το κλείσει απότομα, το μαγνητικό πεδίο καταρρέει και το πηνίο προσπαθεί να διατηρήσει το ρεύμα του, παράγοντας μια αιχμή τάσης πολλών εκατοντάδων volt με ανάποδη πολικότητα. Χωρίς προστασία αυτή η αιχμή θα διαπερνούσε το τρανζίστορ και, μέσω του PIA, θα έφτανε στη CPU. Η δίοδος είναι τοποθετημένη ανάποδα ως προς την κανονική τάση, ώστε σε κανονική λειτουργία να μην περνάει τίποτα, αλλά τη στιγμή της αιχμής να δίνει στο ρεύμα έναν ακίνδυνο δρόμο γύρω από το πηνίο μέχρι να σβήσει. Λέγεται flyback ή freewheeling diode. Μια κομμένη ή ξεκόλλητη δίοδος πηνίου σκοτώνει τρανζίστορ στη driver, ένα-ένα, κάθε λίγες εβδομάδες. Όταν αλλάζεις πηνίο, άλλαξε και τη δίοδο, και πρόσεξε την πολικότητα: η ταινία της διόδου πάει στην πλευρά που συνδέεται με τα +28 V.

Ειδικά πηνία και ρακέτες

Τα pop bumpers και τα slingshots πρέπει να απαντούν ακαριαία: αν περίμεναν τον επεξεργαστή να σαρώσει τον διακόπτη, να το σκεφτεί και να δώσει εντολή, η μπάλα θα είχε φύγει. Γι' αυτό στο System 3 έως 7 είναι «special solenoids»: ο διακόπτης τους οδηγεί απευθείας το τρανζίστορ τους στη driver board, χωρίς το πρόγραμμα στη μέση, και η CPU απλώς βλέπει το χτύπημα για να το μετρήσει στο σκορ και αποφασίζει αν η λειτουργία επιτρέπεται (π.χ. όχι όταν το παιχνίδι έχει τελειώσει). Οι ρακέτες πάνε ένα βήμα παραπέρα: στα παλιά συστήματα δεν περνούν καθόλου από ηλεκτρονικά. Το κουμπί της ρακέτας κλείνει απευθείας το κύκλωμα των 28 V του πηνίου της ρακέτας, μέσα από ένα ρελέ που η CPU ενεργοποιεί μόνο κατά τη διάρκεια του παιχνιδιού. Το πηνίο της ρακέτας έχει δύο τυλίγματα: ένα χοντρό, δυνατό, για το χτύπημα, και ένα λεπτό, αδύναμο, για να κρατάει τη ρακέτα πάνω. Ο διακόπτης end-of-stroke (EOS) στο τέλος της διαδρομής βγάζει το δυνατό τύλιγμα από το κύκλωμα, αλλιώς θα καιγόταν σε λίγα δευτερόλεπτα με κρατημένο το κουμπί. Ένας καμένος ή λάθος ρυθμισμένος EOS είναι η νούμερο ένα αιτία για αδύναμες ρακέτες και καμένα πηνία ρακέτας.

7. Τα displays: πώς δουλεύει ένα display αερίου

Τα πορτοκαλί displays του Firepower, όπως όλων των φλίπερ από το 1977 μέχρι το 1990 περίπου, είναι displays αερίου (gas plasma). Δεν έχουν νήμα ούτε LED: είναι μια γυάλινη θήκη με νέον σε χαμηλή πίεση, και μέσα της μεταλλικά ηλεκτρόδια σε σχήμα τμημάτων (segments) ψηφίων. Το Firepower έχει πέντε: τέσσερα των έξι ψηφίων για τους παίκτες και ένα μικρότερο για credits και αριθμό μπάλας. Κάθε ψηφίο αποτελείται από 7 τμήματα (τα κλασικά «7-segment»), συν το κόμμα.

Η φυσική: γιατί φέγγει το νέον

Το νέον σε χαμηλή πίεση είναι μονωτής, μέχρι μια ορισμένη τάση. Αν ανάμεσα σε δύο ηλεκτρόδια μέσα στο αέριο εφαρμόσεις πάνω από περίπου 170 έως 190 V, το ηλεκτρικό πεδίο «σπάει» το αέριο: ιονίζεται, γίνεται αγώγιμο, και κοντά στο αρνητικό ηλεκτρόδιο (την κάθοδο) εμφανίζεται η χαρακτηριστική πορτοκαλί λάμψη. Αυτή λέγεται τάση έναυσης (firing voltage). Μόλις το αέριο ανάψει, το ρεύμα πρέπει να περιοριστεί με αντίσταση, αλλιώς αυξάνεται ανεξέλεγκτα και καταστρέφει το ηλεκτρόδιο. Όσο κρατάς την τάση πάνω από μια χαμηλότερη τάση συντήρησης, η λάμψη συνεχίζεται. Κάτω από αυτήν, σβήνει ακαριαία, χωρίς καμία «ουρά» όπως το νήμα της λάμπας. Αυτή η ακαριαία συμπεριφορά είναι που κάνει εφικτή την πολυπλεξία που ακολουθεί.

Στα displays του φλίπερ τα τμήματα των ψηφίων είναι οι κάθοδοι, γι' αυτό φέγγουν αυτά, και κάθε ψηφίο έχει τη δική του άνοδο, μια διάφανη αγώγιμη επίστρωση πάνω από το ψηφίο. Για να φωτιστεί ένα τμήμα πρέπει ταυτόχρονα η άνοδος του ψηφίου του να είναι θετική και το τμήμα αρνητικό.

Γιατί +100 και −100 V

Εδώ κρύβεται το κόλπο του σχεδιασμού. Η τροφοδοσία παράγει δύο τάσεις: +100 V και −100 V. Ένα ψηφίο «επιλέγεται» όταν η άνοδός του πάει στα +100 V. Ένα τμήμα «επιλέγεται» όταν η κάθοδός του πάει στα −100 V. Ανάμεσα σε επιλεγμένη άνοδο και επιλεγμένη κάθοδο υπάρχουν 200 V, πολύ πάνω από την τάση έναυσης: το τμήμα ανάβει. Ένα τμήμα όμως που είναι επιλεγμένο (−100 V) σε ψηφίο μη επιλεγμένο (άνοδος κοντά στο 0 V) βλέπει μόνο 100 V, κάτω από την τάση έναυσης: μένει σκοτεινό. Το ίδιο και ένα μη επιλεγμένο τμήμα σε επιλεγμένο ψηφίο. Έτσι, με τα τμήματα όλων των ψηφίων ενός display συνδεδεμένα μαζί (το τμήμα «α» του πρώτου ψηφίου με το «α» του δεύτερου, του τρίτου...), ανάβουν μόνο τα τμήματα του ψηφίου που έχει εκείνη τη στιγμή την άνοδό του στα +100 V. Οι δύο τάσεις των 100 V υπάρχουν ακριβώς για να «βλέπει» το σωστό ζευγάρι 200 V και όλα τα λάθος ζευγάρια μόνο 100.

Η πολυπλεξία: ένα ψηφίο τη φορά, σε όλα τα displays μαζί

Η CPU ανάβει ένα ψηφίο τη φορά. Σε κάθε διακοπή IRQ (κάθε χιλιοστό του δευτερολέπτου):

  1. Σβήνει το προηγούμενο ψηφίο (κατεβάζει την άνοδό του από τα +100 V).
  2. Γράφει στο PIA των displays τον αριθμό που πρέπει να δείξει η θέση αυτή, σε μορφή BCD: 4 bits για ένα ψηφίο 0 έως 9. Στο System 6 στέλνει δύο ψηφία μαζί, ένα για το display του παίκτη 1/3 και ένα για του 2/4, συν τα ψηφία του display των credits.
  3. Ένας αποκωδικοποιητής BCD σε 7 τμήματα (τσιπ τύπου 7448) μετατρέπει τα 4 bits στα 7 σήματα των τμημάτων: ο αριθμός «3», ας πούμε, γίνεται «ανάβουν τα a, b, c, d, g».
  4. Οι οδηγοί υψηλής τάσης (τσιπ Sprague UDN6118/6184 για τα τμήματα, ζεύγη τρανζίστορ για τα ψηφία) μεταφράζουν τα 5 V της λογικής σε −100 V στα επιλεγμένα τμήματα και +100 V στην άνοδο της θέσης αυτής.
  5. Το ψηφίο φέγγει για περίπου ένα χιλιοστό. Στην επόμενη διακοπή, η επόμενη θέση.

Οι άνοδοι των ψηφίων είναι κοινές σε όλα τα displays: όταν είναι ενεργή η «θέση 3», ανάβει το τρίτο ψηφίο και στα τέσσερα displays των παικτών ταυτόχρονα, το καθένα με τα δικά του τμήματα. Έτσι χρειάζονται λίγα καλώδια: 7 τμήματα ανά display, συν 6 ή 7 γραμμές ψηφίων για όλα μαζί. Ο πλήρης κύκλος των θέσεων κρατάει λιγότερο από 20 χιλιοστά του δευτερολέπτου, δηλαδή κάθε ψηφίο αναβοσβήνει πάνω από 50 φορές το δευτερόλεπτο. Το μάτι βλέπει σταθερό σκορ. Αν βιντεοσκοπήσεις ένα display με κινητό, θα δεις το τρεμόπαιγμα και κυλιόμενες σκοτεινές ζώνες: αυτή είναι η πολυπλεξία.

Επειδή ένα ψηφίο φέγγει μόνο το 1/6 ή 1/7 του χρόνου, το ρεύμα ανά παλμό είναι υψηλότερο από ό,τι θα ήταν σε συνεχή λειτουργία, για τον ίδιο λόγο που το lamp matrix δουλεύει στα 18 V. Οι αντιστάσεις περιορισμού ρεύματος βρίσκονται πάνω στις πλακέτες των displays.

Τι σημαίνει κάθε βλάβη

  • Όλα τα displays σκοτεινά: λείπει μία από τις δύο τάσεις των 100 V. Στην τροφοδοσία του System 3-7 τα ±100 V φτιάχνονται από ξεχωριστό τύλιγμα του μετασχηματιστή, ανόρθωση και σταθεροποίηση με zener και τρανζίστορ. Μέτρα τα στα test points της τροφοδοσίας, με προσοχή: 200 V ανάμεσα στα δύο. Μια καμένη αντίσταση ή zener εκεί είναι συνηθισμένη.
  • Το ίδιο τμήμα λείπει (ή είναι μόνιμα αναμμένο) σε όλα τα ψηφία ενός display: ο οδηγός του τμήματος (UDN) ή η γραμμή του στον connector. Τα τμήματα είναι κοινά σε όλα τα ψηφία του display, οπότε η βλάβη εμφανίζεται «κάθετα», σε όλη τη σειρά.
  • Το ίδιο ψηφίο λείπει σε όλα τα displays: ο οδηγός της θέσης αυτής, αφού οι άνοδοι είναι κοινές. Βλάβη «οριζόντια», σε όλα τα displays.
  • Ένα ψηφίο λείπει σε ένα μόνο display: το ίδιο το γυαλί (η άνοδος του ψηφίου έχει αποκοπεί) ή το τρανζίστορ και η αντίσταση της θέσης πάνω στην πλακέτα του display.
  • Αχνό, τρεμάμενο, ή μερικώς φωτισμένο display, ψηφία που «φεύγουν» καθώς ζεσταίνεται: το γυαλί έχει γεράσει. Με τα χρόνια μπαίνει αέρας ή αλλοιώνεται το μείγμα αερίου, και η τάση έναυσης ανεβαίνει. Κάποια τμήματα θέλουν πλέον περισσότερα από τα 200 V για να ανάψουν, ή ανάβουν αργά. Η λάμψη γίνεται αχνή ή ροζ αντί για καθαρό πορτοκαλί. Λέγεται outgassing και δεν επισκευάζεται. Μερικοί ανεβάζουν λίγο τις τάσεις των 100 V για να κερδίσουν χρόνο, αλλά η μόνη μόνιμη λύση είναι αντικατάσταση.
  • Φαντάσματα: αχνά τμήματα που δεν έπρεπε να ανάβουν. Το αέριο δεν πρόλαβε να «σβήσει» από το προηγούμενο ψηφίο όταν άναψε το επόμενο, συνήθως επειδή ένας οδηγός δεν κόβει καθαρά, ή επειδή το γυαλί έχει διαρροή ανάμεσα σε ηλεκτρόδια.
  • Μαύρα σημάδια πάνω στα τμήματα: ιονοβολή (sputtering) από δεκαετίες λειτουργίας: το μέταλλο της καθόδου σιγά σιγά εκτοξεύεται και εναποτίθεται στο γυαλί. Είναι μόνο θέμα εμφάνισης και δεν επηρεάζει τη λειτουργία, μέχρι το μέταλλο να λεπτύνει τόσο που το τμήμα να γίνει αχνό.

Προσοχή στις μετρήσεις: τα +100 V και −100 V, μαζί, είναι 200 V. Δεν σκοτώνουν σαν τα 220 V του δικτύου, επειδή περνούν από αντιστάσεις, αλλά τινάζουν άσχημα και, το κυριότερο, το τίναγμα κάνει το χέρι να χτυπήσει ό,τι είναι δίπλα. Μέτρα με το ένα χέρι, με το μηχάνημα σε ασφαλή θέση, και ποτέ με το γυαλί του display στηριγμένο στα δάχτυλά σου.

Τα σύγχρονα LED displays

Τα displays αντικατάστασης που πωλούνται σήμερα (XPin, Pinscore, Rottendog και άλλα) είναι πλακέτες με LED που μπαίνουν στη θέση του γυαλιού. Έχουν δικό τους μικροεπεξεργαστή: διαβάζουν τα ίδια σήματα ψηφίων και τμημάτων που έστελνε η CPU στο παλιό γυαλί, καταλαβαίνουν ποιο ψηφίο ζητείται, και ανάβουν τα αντίστοιχα LED. Δεν χρειάζονται καθόλου τα 100 V, μόνο τα 5 V της λογικής. Αν τα βάλεις, μπορείς να αφαιρέσεις την ασφάλεια των 100 V στην τροφοδοσία και να ξεφορτώσεις το πιο κουρασμένο κομμάτι της. Το αντίτιμο είναι η εμφάνιση: πολλοί προτιμούν το ζεστό πορτοκαλί του αερίου, και τα LED displays σε πορτοκαλί απόχρωση κάνουν ό,τι μπορούν για να το μιμηθούν.

8. Ο ήχος: μια δεύτερη CPU που μιλάει

Ο ήχος είναι ξεχωριστή πλακέτα με δικό της επεξεργαστή (έναν 6808, ξάδερφο του 6800), δική της ROM με τους ήχους, ένα PIA, έναν μετατροπέα ψηφιακού σε αναλογικό (DAC) και έναν ενισχυτή. Η CPU του παιχνιδιού δεν παράγει ήχο. Όταν θέλει έναν ήχο, γράφει έναν αριθμό λίγων bits (ποιον ήχο από τους 30 περίπου διαθέσιμους) σε ένα PIA της driver board, και οι ακίδες αυτές καταλήγουν στην είσοδο της sound board. Ο επεξεργαστής του ήχου διαβάζει τον αριθμό, τρέχει το αντίστοιχο προγραμματάκι που «ζωγραφίζει» την κυματομορφή τιμή-τιμή, τη στέλνει στον DAC, και ο ενισχυτής την οδηγεί στο ηχείο. Οι περίφημοι ήχοι του 1980 είναι αυτές οι μικρές ρουτίνες, όχι ηχογραφήσεις.

Το Firepower έχει και κάτι που κανένα φλίπερ δεν είχε πριν: ομιλία. Το «Firepower!» και οι υπόλοιπες λέξεις είναι ψηφιοποιημένη ανθρώπινη φωνή, αποθηκευμένη σε ROM με μια πολύ οικονομική κωδικοποίηση ενός bit ανά δείγμα (CVSD, με το τσιπ HC55516) και αποκωδικοποιημένη από την πλακέτα ομιλίας που κάθεται πάνω στη sound board. Μερικά kilobytes ROM ήταν αρκετά για λίγα δευτερόλεπτα βραχνής αλλά αναγνωρίσιμης φωνής, κάτι εντυπωσιακό για το 1980.

Στη διάγνωση αυτή η ανεξαρτησία βοηθάει: η sound board έχει κουμπί ή jumper δοκιμής που παίζει τους ήχους μόνη της, χωρίς τη CPU του παιχνιδιού. Αν παίζει εκεί αλλά όχι στο παιχνίδι, φταίνε τα λίγα καλώδια και το PIA ανάμεσα στις δύο πλακέτες. Αν δεν παίζει ούτε εκεί, το πρόβλημα είναι μέσα στη sound board ή στην τροφοδοσία της.

9. Γιατί τα +5 V είναι ιερά

Όλη η λογική, επεξεργαστής, μνήμες, PIA, δουλεύει με +5 V και περιμένει ότι «ψηφίο 1» σημαίνει περίπου 5 V και «ψηφίο 0» περίπου 0 V. Αν η τάση πέσει κάτω από 4,75 V, τα τσιπ αρχίζουν να παρεξηγούν τα σήματα, η RAM αλλοιώνεται, και το κύκλωμα reset της πλακέτας, που παρακολουθεί ακριβώς αυτή την τάση, επανεκκινεί τη CPU. Στο Firepower τα +5 V φτιάχνονται από ένα σταθεροποιητή LM323 στην τροφοδοσία και φτάνουν στη CPU μέσα από έναν connector. Αυτός ο connector, με το ρεύμα των 2 έως 3 A που περνάει από πάνω του για 45 χρόνια, μαυρίζει και αυξάνει την αντίστασή του: η τροφοδοσία βγάζει 5,1 V, η CPU παίρνει 4,6 V και το μηχάνημα κάνει reset στη μέση του παιχνιδιού, κυρίως όταν δουλέψουν πολλά πηνία μαζί και το φορτίο ανέβει. Μέτρα πάντα τα 5 V πάνω στην πλακέτα CPU, όχι στην τροφοδοσία. Περισσότερα στο Οδηγοί επισκευής ανά σύστημα.

10. Όλα μαζί: τι γίνεται όταν η μπάλα χτυπάει έναν στόχο

  1. Η μπάλα κλείνει τον διακόπτη του στόχου. Ρεύμα από τη στήλη 3 του matrix περνάει μέσα από τον διακόπτη και τη δίοδό του στη γραμμή 5.
  2. Στην επόμενη διακοπή IRQ που σαρώνει τη στήλη 3 (το πολύ 8 χιλιοστά αργότερα), το PIA διαβάζει τη γραμμή 5 κλειστή. Στην επόμενη σάρωση της ίδιας στήλης τη διαβάζει ξανά κλειστή: debounce εντάξει, ο διακόπτης «μετράει».
  3. Το κυρίως πρόγραμμα βλέπει τον νέο διακόπτη, κοιτάει στη ROM τους κανόνες: ο στόχος αξίζει 1.000 πόντους, ανάβει τη λάμπα του, και αν είναι ο τελευταίος της σειράς δίνει bonus.
  4. Το σκορ στη RAM αυξάνει. Στις επόμενες διακοπές τα νέα ψηφία στέλνονται στο display.
  5. Το bit της λάμπας του στόχου γίνεται 1 στη RAM. Στην επόμενη σάρωση της στήλης της, το PIA των γραμμών το βγάζει στο τρανζίστορ, και η λάμπα παίρνει τον πρώτο παλμό 18 V.
  6. Το πρόγραμμα ζητάει έναν ήχο: στέλνει τον κωδικό του στη sound board.
  7. Αν ο κανόνας λέει ότι πέφτει η σειρά drop targets, το bit του πηνίου reset γίνεται 1, το τρανζίστορ ανοίγει, 28 V στο πηνίο για 40 χιλιοστά του δευτερολέπτου, bit 0, η δίοδος απορροφά την αιχμή.

Όλα αυτά σε λιγότερο από ένα εικοστό του δευτερολέπτου, από έναν επεξεργαστή του 1974. Και αν καταλάβεις αυτή την αλυσίδα, διακόπτης, δίοδος, PIA, πρόγραμμα, PIA, τρανζίστορ, φορτίο, καταλαβαίνεις πού να ψάξεις σε κάθε βλάβη: ποιο σκαλί της αλυσίδας έσπασε. Η λογική των τρανζίστορ, των matrix και των διόδων είναι ίδια σε ένα System 11, σε ένα WPC και, με περισσότερα bits, σε ένα Stern Spike: άλλαξαν οι επεξεργαστές, όχι η φυσική.

Για να δεις πού βρίσκονται οι πλακέτες που αναφέρονται: Ανατομία ενός φλίπερ. Για τα εργαλεία και τις μετρήσεις που χρειάζεσαι: Εργαλεία και μετρήσεις. Για αναλυτικά σχηματικά, το manual του μηχανήματος.