Di seguito una serie di indicazioni per il troubleshooting di base e un elenco di riparazioni di hardware, computer e periferiche, Commodore.
La prima cosa da testare in un computer, funzionante o no, sono le tensioni.
Si può pensare di utilizzare gli alimentatori originali Commodore, al patto prima di testarne le tensioni. Di seguito un pinout delle tensioni presenti sullo spinotto dell'alimentatore:
Le tensioni da considerare valide sono:
Se così non è, è meglio considerare il PSU non funzionante, pena danni irreversibili al computer.
Sulla scheda del C64 (e Vic20 ) sono presenti le seguenti tensioni:
Tensione | Da | In uso a |
---|---|---|
12V | 7812 | VIC-II e SID |
5V | 7805 | VIC-II |
5V | switch | chip logici |
Si possono misurare i 9V AC e i 5V DC, provenienti dall'alimentatore, sulla user port, usando i puntali del tester a cavallo delle due fessure:
Se il valore dei 5V DC è molto più basso (ad es. 4-4,1-4,2 V) può essere indicativo di un componente in corto.
Lo stato di on/off del pulsante di accensione del Commodore è configurato così:
In particolare, con vista dal retro della scheda, si possono testare i pin e misurare le tensioni prendendo questi riferimenti:
Per misurare le tensioni sui pin:
Semplicemente con una mano oppure con l'ausilio di una termocamera, misurare la temperatura dei componenti. Di seguito alcune foto di un C64 biscottone, prese con una termocamera FLIR one:
Da quanto sopra si può stilare una 'classifica' dei chip più caldi:
In presenza di uno schermo nero, conviene utilizzare la Dead Test cartridge (anche su Kung Fu Flash ) togliendo tutti i componenti non strettamente necessari, se sono zoccolati, come spiegato in questo video. La Dead test cartridge si usa in presenza di una schermata nera; tipicamente viene usata la 781220 che testa un insieme limitato di chip e non si usa il kit di harness per testare le porte. La Diag Test cartridge 586220 va invece usata dopo, a fine riparazione, per testare tutti i componenti.
I chip che si possono togliere per avere comunque un sistema C64 minimale ma funzionante con la dead test sono:
Dopo qualche secondo di schermo nero, anche con i componenti sopra rimossi, al termine dei test si ottiene questa schermata:
Se invece i componenti non sono zoccolati, conviene testare i segnali con il tester/oscilloscopio.
La Dead test può produrre dei lampeggii che stanno ad indicare solitamente:
In quest'ultimo caso, il 'colpevole' può non essere il chip RAM indicato nello schema, ma uno qualsiasi dei chip che utilizza il data bus, quindi purtroppo quasi tutti… In questo caso bisogna rimuovere tutti i chip principali, non necessari al boot.
Con la cartuccia di Jupiter Lander si puo far partire un sistema minimale, simile alla Dead Test, nel quale si riesce anche a provare la tastiera, anche in condizioni di un suo non perfetto funzionamento di tutti i tasti. E quindi possibile rimuovere i seguenti componenti:
==== Pulizia ====
A volte la semplice azione di rimozione/inserimento chip, previa pulizia, può fare partire i computer.
=== Alcol ===
Togliere/rimettere i chip, dopo aver pulito con alcol isopropilico (IPA) chip e contatti zoccoli.
Pulire anche i contatti dei pettini porta datassette e user port con IPA e cotton fiocc.
Un video con indicazioni di pulizia approfondite si trova qui.
==== Test preliminari ====
Nel C64 Service Manual vengono anche indicati una serie di test preliminari, utili al troubleshooting.
Iniziano alla Section 2 pag. 12:
dove:
Per il VIC-II si ottengono valori diversi rispetto alla guida:
Continuano a pag. 13:
dove CN5 e il connettore video; conviene misurare dai pin sulla scheda, dall'interno del connettore. Qui invece un'immagine dei pin esterni del CN5:
I valori che ho ottenuto sono i seguenti:
Si tratta di valori diversi rispetto a quelli indicati nella troubleshooting guide. Forse dovuti al sistema video PAL?
A pag. 15 si testa il system reset, che prevede un controllo anche del 556 (U20), che si trova di fianco alle RAM:
Poi vengano testati i system clock:
dove U31 e' l'8701 a fianco il VIC-II e ha un valore di 17.73 MHz (PAL clock)
A pag. 20 ci sono alcuni test di comunicazione della PLA (U17) verso vari chip:
I test della PLA continuano anche nella pagina successiva.
==== Sintomi 'classici' ====
Di seguito alcuni sintomi 'classici' dove il componente colpevole può essere facilmente individuato.
=== C64 ===
==== Diag Test ====
La Diag test cartridge va usata dopo aver effettuato la riparazione, per testare il funzionamento di tutte le porte. E` quindi necessario l'uso di un harness kit, con terminatori per ogni porta. Tipicamente viene usata la 586220; può essere caricata anche da Kung Fu Flash:
Nell'immagine sopra ho collegato una tastiera; se uso quella invece del terminatore del kit, ottengo la segnalazione di 'OPEN':
Questa invece la schermata corretta per tutti i chip e porte collegando tutti i terminatori (quello della tastiera compresa):
==== Tastiera non risponde bene ====
Una tastiera sporca può comportare che alcuni tasti non funzionino bene oppure è richiesto premerli con forza. In questo caso è necessario smontare e pulire i tasti così:
==== Retrobright (o Retr0bright) ====
=== Case ===
Per i case dei VIC 20, C64C, C128… uso perossido di idrogeno, detto 'acqua ossigenata' (H2O2), nella versione in crema a 40 volumi, corrispondenti al 12% di concentrazione (vedi qui), spalmata direttamente sul case con un pennello, proteggendo sempre le mani con guanti in gomma e lasciando al sole qualche ora, max una giornata.
Riapplico ogni ora circa e oriento con la stessa frequenza il case per esporne altre parti e seguire il sole.
=== Tasti ===
Per i tasti del C64C, Plus/4, C128 … ===== C64 =====
==== Sintomo ====
==== Analisi ====
==== Riparazione ====
===== C64 #2 =====
==== Sintomo ====
==== Analisi ====
==== Riparazione ====
===== C64 #3 =====
==== Sintomo ====
==== Analisi ====
=== Schema ===
Controllato lo schema della board assy 250425 (apparentemente è quello corretto anche se viene segnalato come 251469). Di seguito uno zoom dell'alimentazione:
==== Riparazione ====
In altri casi simili, con assenza totale video, conviene testare o sostituire il generatore di clock 8701 del VIC II
===== VIC20 =====
==== Sintomo ====
==== Analisi ====
Di seguito i test effettuati.
=== Cartucce gioco ===
Inserito un paio di cartucce gioco, ma i giochi non si avviano. Questo a differenza di quello che succederebbe sul C64, dove le cartucce bypassano eventuali problemi ad alcuni chip (non tutti) che impediscono l'avvio normale.
=== ROM Basic ===
Guardando un video su YouTube viene segnalato che il sintomo lamentato è causato dalla ROM Basic. Si rende quindi necessario:
==== Riparazione ====
=== Dissaldatura ===
Per dissaldare chip conviene:
=== Zoccoli 2364-2764 ===
Bisogna prevedere degli adattatori 2364-2764 come indicato qui.
=== Programmazione EPROM ===
immagine programmatore
===== VIC20 #2 =====
==== Sintomo ====
==== Analisi ====
Testato tensioni e segnali dei vari integrati; non sono stati rilevate anomalie.
==== Riparazione ====
Recuperato VIC chip 6561 zoccolato da altro VIC 20 funzionante.
===== VC1541 bianco =====
==== Funzionamento normale ====
Di seguito viene descritto il funzionamento normale, al fine di verificare scostamenti da questa baseline.
Avvio corretto:
LOAD "*",8
==== Sintomo ====
Il problema, come sopra, è che non legge nessun floppy. Di seguito i test effettuati,
==== Analisi ====
=== Misurato tensioni 5V e 12V ===
Le tensioni 5V e 12V si possono misurare su CR1 e CR2. La prima serve ai chip, la seconda per far funzionare i motori (quello che fa girare i floppy e il servo che muove la testina in avanti e indietro). Tensioni ok
=== Cavo seriale ===
Per verificare che il cavo seriale funzioni, si può:
=== Oscilloscopio ===
=== Cambio chip ===
==== Riparazione ====
Da indicazioni di Ray Charlsen e dai test effettuati sopra, i possibili colpevoli sono il 74LS14 e 7406. Dopo aver ordinato i chip e atteso la consegna:
===== 1541 marrone =====
==== Sintomo ====
==== Analisi ====
==== Riparazione ====
===== 1541 ?FILE NOT FOUND ERROR =====
==== Sintomo ====
Se, caricando un disco compare '?FILE NOT FOUND ERROR' è probabile che si sia depositata polvere sulla testina.
==== Riparazione ====
=== Pulizia testina ===
Pulire la testina con cotton fiocc e alcol isopropilico; pulire allo stesso modo anche la plastica sopra, che, in assenza di disco, va a contatto con la testina e la può sporcare.
I caricamenti dovrebbero procedere correttamente (sistemato così tre drive che presentavano lo stesso sintomo).
===== 1541-II =====
A differenza di un normale 1541, in un 1541-II l'avvio corretto è:
==== Sintomo ====
==== Analisi ====
10 OPEN 15,8,15 20 INPUT#15,E,E$,T,S 30 PRINT E;E$;T;S 40 CLOSE 15
Il comando OPEN presenta i seguenti parametri:
OPEN,file#,device#,channel#
Nell'esempio sopra:
Il comando INPUT# legge dati da una periferica; è necessario che prima sia aperto un canale con OPEN.
Se si ottiene quanto segue l'elettronica è a posto:
RUN 73 CBM DOS V2.6 1541 0 0
In pratica, il comando interroga il drive e ottiene dei valori, con i seguenti significati:
E | E$ | T | S |
---|---|---|---|
Errore numerico (“73”) | Errore testo (“CBM DOS V2.6 1541”) | Track (“0”) | Sector/Block (“0”) |
Il manuale del drive 1541 è reperibile qui. ==== Riparazione ====
===== 1541 ?FILE NOT FOUND ERROR #2 (FAIL) =====
==== Sintomo ====
==== Analisi ====
=== Error Channel ===
Per prima cosa conviene testare l'error channel
=== 1541 Diagnostic Cartridge ===
Poi si può eseguire, anche da Kung Fu Flash, la 1541 Diagnostic Cartridge. Per una spiegazione dei vari test si può fare riferimento qui.
=== Resistenza testina ===
Poi si può testare i valori di resistenza tra i pin del connettore testina:
Un esempio di valori corretti letti da un drive funzionante:
Pin-to-pin | Ohm |
---|---|
1-2 | 12.6 |
1-3 | 13.0 |
1-5 | 24.4 |
2-3 | 14.6 |
3-5 | 26.1 |
2-5 | 13.0 |
=== Riferimenti ===
Si può sempre fare riferimento alla 1541 Maintenance Guide, dove a pag- 3-8, vengono elencati i range di resistenza possibili per il connettore testina:
===== Plus/4 =====
==== Sintomo ====
==== Architettura ====
Visto che è la prima volta che mi capita questo computer da riparare, ho raccolto alcune informazioni circa l'architettura dello stesso.
Chip | Descrizione | Note |
---|---|---|
8501R1 | CPU | Clock variabile a 1,776 Mhz e 0,89 Mhz, uguale al C16 |
8360R2 | TED | Chip grafico e sonoro, uguale al C16 |
318006-01 | BASIC ROM | Uguale al C16 |
318004-04 | KERNAL, character set ROM | Uguale al C16 |
251641-02 | PLA | Uguale al C16 |
317053-01 e 317054-01 | 3-Plus-1 ROM | |
4264-15 | RAM | |
74LS257 | Multiplexer RAM |
==== Analisi ====
=== 8501R1 ===
Mi sono concentrato sulla CPU 8501R1.
Pin | Descrizione | Valore misurato | Note |
---|---|---|---|
1 | Clock | 1,773 Mhz e 0,89 Mhz | ok |
14-19 e 21-22 | A8-A13 e A14,A15 | Segnale 'sporco' intorno i 5 V | |
23-30 | P0-P6 | alcuni segnali 'sporchi' intorno i 5 V | |
31-38 | D7-D0 | Attività regolare |
Il test evidenziato mostra valori errati su vari PIN del bus indirizzi.
Pin | Descrizione | Segnale normale |
---|---|---|
6-19 | A0-A13 | Attività normale |
21-22 | A14-A15 | Attività normale |
31-38 | D7-D0 | Attività normale |
24-25 | P6-P5 | 5 V |
26-30 | P4-P0 | 0, 3, 0, 0, 0 V |
=== Garbage screen ===
Ho cercato quindi di risolvere il problema del garbage screen.
== 8360R2 ==
== 318006-01 ==
== 318004-04 ==
== 3251641-02 ==
== 317053-01 e 317054-01 ==
== 4264-15 ==
== 74LS257 ==
== Cartridge ==
=== Diag264 ===
Ordinato cartuccia Diag264. Una volta arrivata settata così:
== Low RAM test ==
La documentazione rivela particolari interessanti. In particolare, durante il low RAM test, in presenza di un problema:
Compaiono una serie di 'D', quindi il problema risiede nel banco RAM U13.
Al boot la situazione è migliorata, ma ci sono ancora dei caratteri spuri:
== Altri test ==
==== Riparazione ====
Il flat della tastiera può essere rimosso tirando. I pin di metallo sono semplicemente incollati, per cui, se si sollevano, prima di reinserire il flat bisogna eventualmente incollarli con super attack:
Di seguito un recap della riparazione.
===== Datassette =====
==== Sintomo ====
==== Analisi ====
Oltre a non leggere le cassette, in una che usa il Turbo tape le righe colorate orizzontali non sono consecutive, ma separate da ampie porzioni di blu.
==== Allineamento testina ====
Ho:
In sostanza, si tratta di:
Provato a rileggere la stessa cassetta di prima e adesso le righe compaiono in maniera consecutiva e senza ampi spazi blu in mezzo. Inoltre il caricamento viene portato correttamente a termine e il gioco si avvia.
===== C64C =====
==== Sintomo ====
==== Analisi ====
La CIA 6526A (U1) è il principale sospettato in questi casi; la ver. A si tratta di un equivalente del 6526, solo che può funzionare anche a 2 Mhz. In ogni caso, il C64C accetta entrambe le versioni.
Dopo verifiche, il chip CIA1 che governa la tastiera sul C64C è quello di fianco al pettine della stessa, sulla destra della mainboard. Ho agito sul CIA sbagliato!
In pratica: pin 1 Control Port 1 ↔ filtro EM6 ↔ linea JOY A0 ↔ pin 12 CN1 tastiera ↔ ROW 0 ↔ porta in ingresso PB0 su CIA1
E' come se un'intera linea di tasti (Row 0) sia bloccata; di seguito la keyboard matrix per il C64:
=== Funzionamento matrice tastiera ===
Il C64 dice al 6526 di mandare impulsi per ogni porta output COLx (PAx) e, nello stesso momento, legge le porte input ROWx (PBx); quando un tasto sulla tastiera viene premuto…
==== Riparazione ====
Ecco come appare il C64C riparato e con una tastiera nera, al posto della standard, così che ogni volta che lo userò mi ricorderà del tempo che ci ho perso sopra!
In casi simili, bisogna verificare sul CN1 se le tensioni arrivano a 5 V su (quasi) tutti i pin, come indicato sopra.
===== C64 #4 =====
==== Sintomo ====
==== Analisi ====
Concentro la mia analisi sui chip che possono essere coinvolti nella generazione di questo garbage screen.
==== Riparazione ====
Ho provato a risaldare i contatti, da una parte e da un'altra, ma senza successo. Ho preferito quindi più velocemente fare un ponte con un cavo di rame, che metta in contatto il pin 20 CS della ROM char col pin 15 della PLA:
Il trucco ha funzionato e adesso il computer si avvia regolarmente!
Il corretto funzionamento di tutti i suoi componenti è confermato dal dead test con il kit di harness collegato:
===== C128 =====
==== Sintomo ====
==== Analisi ====
Visto i sintomi 'strani', in più con un indicazione di 'Out of memory' sospetto subito problemi alla RAM, che vengono confermati con l'inserimento della Dead Test cartridge 781220, che segnala 7 flash all'avvio.
Come da manuale della Dead Test, sette flash corrispondono ai banchi U39/U47:
==== Riparazione ====
Procedo quindi a:
Dopo aver inserito le memorie col verso corretto, il computer funziona, così come il dead test viene portato a termine:
===== VIC 20 #3 =====
==== Descrizione ====
Si tratta di un VIC 20 prima serie, con tastiera Eurostile:
Anche la scheda è particolare, con generosi dissipatori:
Infine l'alimentatore è diverso dai successivi, ha un connettore a due poli ed eroga solo 9 VAC (e non 5 VDC):
==== Sintomo ====
==== Analisi ====
Su di un sito, per questo tipo di VIC 20 con gli stessi sintomi, escludono problemi di VIC chip e dicono di verificare i condensatori, uno arancione in particolare:
==== Riparazione ====
In realtà, prima di effettuare un test dei condensatori, ho provato semplicemente a inserire un VIC chip sicuramente funzionante, cosa che si è rivelata corretta!
===== Plus/4 #2 =====
==== Descrizione ====
Si tratta di un Plus/4 con la tastiera molto ingiallita:
==== Sintomo ====
==== Analisi ====
I sintomi sono identici alla situazione descritta qui; ma in quel caso si sono limitati a cambiare tastiera.
=== Diag 264 ===
Provata una cartridge Diag 264, senza harness kit (per istruzioni vedi qui):
=== Scheda ===
La scheda si presenta relativamente pulita e in ordine:
Le tensioni sulla User Port (stessi pin del C64) sono ok:
=== Jack Attack ===
Il gioco Jack Attack, sia su cartuccia stand alone, sia sulla Diag 264 risponde ai comandi joystick, anche se non sembra seguire i comandi di direzione esattamente.
=== Service manual ===
Scaricato il Plus/4 Service Manual; dall'analisi della keyboard matrix i tasti cursore sono inseriti al suo interno, cosi` come tutti gli altri:
E' possibile testare la tastiera scollegata premendo un tasto (ad es. rovesciandola e inserendo sotto ad essa un 'perno' che, con il peso della tastiera, produce la pressione del tasto) e testando con un multimetro le 2 connessioni del tasto; ad es. i pin del connettore tastiera 17 e 5, come da matrice sopra, se viene premuto il tasto '1', danno continuità.
Ci sono 18 pin sul cavo flat della tastiera, configurati così:
=== Smontaggio tastiera ===
Ci sono le solite vitine da svitare, simili a quelle del C64, così come bisogna dissaldare i reofori che si collegano al tasto Caps Lock; di diverso c'è il LED, che tiene ferma la tastiera tramite un piccolo perno di plastica, che bisogna sollevare delicatamente con un cacciavite sottile:
Fare attenzione ai 4 tondini di gomma dei tasti cursore e ai 4 dei tasti funzione, che sono appoggiati e rischiano di cadere:
C'è anche una piccola molla solo appoggiata, vicino al LED:
=== Pulizia tastiera ===
Dopo aver spennellato i contatti di gomma con soluzione a base di grafite…
=== Linee keyboard ===
Verificato i nuclei di ferrite a valle del connettore flat della tastiera FB49-56: misurano tutti circa 4.90 V (si possono misurare indifferentemente sul pin destro o sinistro, danno lo stesso valore). Dovrebbero corrispondere alle ROWS=Inputs; se nessun tasto è premuto stanno a 5 V, tramite le resistenze di pull-up del chip TED:
Le Colonne sono da intendere colonne di tasti presenti sulla tastiera del Plus/4; nella matrice sopra in realtà sono messe come righe :
Mentre i nuclei FB41-48 misurano tutti 0 V e dovrebbero corrispondere a COLUMNS=Outputs
Qui viene spiegato il funzionamento di una keyboard matrix C16/Plus4; qui invece c'è un video
Nel Service Manual, relativamente alla tastiera, si suggerisce:
==== Riparazione ====
…
===== Riferimenti =====
https://portcommodore.com/rcarlsen/cbm/
https://retrocomputerverzamelaar.nl/commodore-64-problems/