====== Riparazioni ======
===== Intro =====
Di seguito una serie di indicazioni per il troubleshooting di base e un elenco di **riparazioni** di hardware, computer e periferiche, **Commodore**.
===== Test/attività di base =====
==== Tensioni ====
La prima cosa da testare in un computer, funzionante o no, sono le **tensioni**.
=== Alimentatore ===
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**:
{{:content:retrocomputing:riparazioni:c64-power-supply--connector-pinout.jpg?400|}}
Le tensioni da considerare **valide** sono:
* **DC: 4,9-5,1 V**
* **AC: max 10,5V :?:**
Se così non è, è meglio considerare il PSU **non** funzionante, pena danni irreversibili al computer.
=== Scheda ===
Sulla scheda del C64 (e Vic20 :?:) sono presenti le seguenti tensioni:
* **5V out del pulsante di accensione** vanno alla **parte logica (sinistra) della scheda**, dove sono presenti i chip. Vcc dei chip sono alimentati da questa tensione
* i regolatori di tensione **VR7805 e 7812** prendono tensione da un ponte raddrizzatore che regola la tensione **9V AC** e forniscono tensione al **VIC-II** e al **SID**. Qui di seguito viene spiegato meglio:
^Tensione^Da ^In uso a ^
|12V |7812|VIC-II e SID|
|5V |7805|VIC-II |
|5V |switch|chip logici|
=== Misurazione ===
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:
{{:content:retrocomputing:riparazioni:user-port.png?400|}}
Lo stato di on/off del **pulsante di accensione** del Commodore è configurato così:
{{:content:retrocomputing:riparazioni:pulsante-c64.png|}}
In particolare, con **vista dal retro della scheda**, si possono testare i pin e misurare le tensioni prendendo questi riferimenti:
{{:content:retrocomputing:riparazioni:alimentazione-pin.png|}}
Per **misurare le tensioni sui pin**:
* **5V DC:** misurare tra **un pin a 5V e uno GND**
* **9V AC:** misurare tra **i due pin 9V AC**
==== Test temperatura componenti ====
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**:
{{:content:retrocomputing:riparazioni:flirone_c64_1.jpg|}}
{{:content:retrocomputing:riparazioni:flirone_c64_2.jpg|}}
Da quanto sopra si può stilare una 'classifica' dei chip più caldi:
* VIC (hotter)
* SID
* MPU
* ROMs
* CIA e PLA
* RAM e TTL (cooler)
==== Dead test cartridge ====
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 **[[https://youtu.be/mVVkv_-4cjU?t=633|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|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:
* **SID**
* 2x **CIA** (6526)
* 3x **ROM** (901225, 901226, 901227)
Dopo qualche secondo di schermo nero, anche con i componenti sopra rimossi, al termine dei test si ottiene questa schermata:
{{:content:retrocomputing:riparazioni:deat_test.jpg|}}
Se invece i componenti **non sono zoccolati**, conviene **[[#test_preliminari|testare i segnali]] con il tester/oscilloscopio**.
==== Jupiter Lander ====
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:
* **SID**
* **CIA2** (6526) - lasciare CIA1 per la tastiera
* 3x **ROM** (901225, 901226, 901227)
{{:content:retrocomputing:riparazioni:20230917_105525.jpg|}}
==== 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 **[[https://youtu.be/0lYhzBuB7hI|qui]]**.
==== Test preliminari ====
Nel **{{:content:retrocomputing:riparazioni:c64-c64c_service_manual_1992-03_commodore.pdf|C64 Service Manual}}** vengono anche indicati una serie di test preliminari, utili al troubleshooting.
Iniziano alla **//Section 2// pag. 12**:
{{:content:retrocomputing:riparazioni:diag-troubleshooting01.png|}}
dove:
* **U5**: ROM Basic (va bene testare anche le altre ROM); qui arriva la **tensione non regolata** direttamente dall'alimentatore, tramite il pulsante di accensione
* **U19**: VIC-II chip; qui arriva la **tensione regolata dai 7805 e 7812**
* **U7**: 6510
Per il VIC-II si ottengono **valori diversi** rispetto alla guida:
* **pin 21 (//Clock Color//)**: 17.73 MHz (PAL clock)
* **pin 22 (//Clock In//)**: 7.47 MHz
Continuano a **pag. 13**:
{{:content:retrocomputing:diag-pag13.png|}}
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:
{{:content:retrocomputing:riparazioni:c64_audio_video.png|}}
I valori che ho ottenuto sono i seguenti:
* **pin 4 (//Composite//)**: 1.07 V
* **pin 1 (//Luminance//)**: 1.07 V
* **pin 6 (//Color/Chrominance//)**: 1.86 V
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:
{{:content:retrocomputing:riparazioni:diag-pag15.png|}}
Poi vengano testati i **//system clock//**:
{{:content:retrocomputing:riparazioni:diag-pag15-02.png|}}
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:
{{:content:retrocomputing:riparazioni:diag-20.png|}}
I test della PLA continuano anche nella pagina successiva.
In conclusione, tutti questi test sono utili e dovrebbero essere condotti al fine di individuare il guasto
==== Sintomi 'classici' ====
Di seguito alcuni **sintomi 'classici'** dove il componente colpevole può essere facilmente individuato.
=== C64 ===
* compare un garbage screen -> **Character ROM (901226)**
{{:content:retrocomputing:riparazioni:901225.png|}}
* lo schermo centrale si presenta vuoto -> **Basic ROM (901226)**
{{:content:retrocomputing:riparazioni:901226.png|}}
* schermo nero:
* Kernal ROM (901227)
* PLA
* ... un sacco di altri componenti
* per **questi ed altri sintomi** guardare **[[https://www.pictorial64.com/|qui]]**
==== 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:
{{:content:retrocomputing:riparazioni:harness-kit00.jpg?800|}}
Nell'immagine sopra ho collegato una tastiera; se uso quella invece del terminatore del kit, ottengo la segnalazione di 'OPEN':
{{:content:retrocomputing:riparazioni:harness-kit02.jpg?800|}}
Questa invece la **schermata corretta per tutti i chip e porte** collegando tutti i terminatori (quello della tastiera compresa):
{{:content:retrocomputing:riparazioni:harness-kit01.jpg?800|}}
==== 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ì:
* svitare viti tastiera
* togliere i tasti ad uno ad uno sollevandoli con il manico di uno spazzolino da denti
* svitare le vitine del PCB, dissaldare il caps-lock e pulire il PCB con WD-40
* togliere i perni neri dei tasti
* pulire tasti e perni con acqua e sapone e spazzolino
* asciugare e rimontare tasti
* prima di rimontare il PCB pulire il **retro in gomma conduttiva** dei perni come di seguito:
* prendere una matita grossa e farle la punta con temperino
* strofinare la punta con una limetta unghie monouso e raccogliere la **grafite** in un contenitore
* intingere la punta di un cottonfioc prima in alcol isopropilico, poi nella polvere di grafite
* spennellare tutti i gommini conduttivi
==== 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 [[https://it.wikipedia.org/wiki/Perossido_di_idrogeno#Concentrazione_in_volumi|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 ... FIXME
===== C64 =====
==== Sintomo ====
**Sintomo: schermo nero**
==== Analisi ====
* sostituito vari chip zoccolati con altri di altra scheda
* in particolare verificato che sostituendo la **PLA** ho ottenuto a video **colori vari o righe colorate, alternate a schermi neri**. Ciò è sintomo di una PLA difettosa (due, in questo caso...)
==== Riparazione ====
**Soluzione: sostituito PLA con chip di nuovo tipo**
===== C64 #2 =====
==== Sintomo ====
**Sintomo: bordo di colore ok, ma sfondo con blocchi strani o linee (garbage screen)**
==== Analisi ====
* toccando la **ROM caratteri 901225-01** compaiono a video schermo blu o caratteri strani che scrollano verso il basso; rimosso e pulito contatti e piedini senza successo
* **Dead Test 781220** viene portato a termine
* **cartridge Jupiter Lander** funziona (bypassa le ROM)
* sostituito **2xmultiplexor RAM 74LS257**, senza successo
==== Riparazione ====
* **rimosso zoccolo della ROM caratteri e messo strisce prese da Amazon**: il garbage screen è sparito e si vede bordi ok e sfondo vuoto :!:
* presa **ROM Basic** da altro C64: funziona!
**Soluzione: sostituito zoccolo della ROM caratteri; sostituito ROM Basic, che è risultata comunque poi funzionante**. Probabilmente l'inserimento di quest'ultimo non era adeguato.
===== C64 #3 =====
==== Sintomo ====
**Sintomo: schermo nero con assenza di segnale video**
==== Analisi ====
* l'alimentazione 5V DC agli integrati logici della parte sx della scheda arriva correttamente
* non c'è ingresso né uscita delle tensioni verso/da i **regolatori di tensione 7805 e 7812**
* testato **fusibile**: ok
=== Schema ===
Controllato lo **[[http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/c64/251469-2of2.gif|schema]]** della board assy 250425 (apparentemente è quello corretto anche se viene segnalato come 251469). Di seguito uno zoom dell'alimentazione:
{{:content:retrocomputing:riparazioni:250425-alimentazione.png?600|}}
* testato alimentazioni come spiegato **[[#tensioni|sopra]]**. In realtà dopo una serie di accensioni/spegnimenti ha buttato fuori le tensioni corrette e, da misurazioni precedenti, apparentemente il pulsante non attivava il ramo di tensione a 9V AC. Deciso quindi di **sostituire il pulsante di accensione**.
==== Riparazione ====
* **dissaldato pulsante di accensione e riparato come da [[https://www.youtube.com/watch?v=iIILJiJdIJA|video di EMD69]]**
**Soluzione: riparato pulsante di accensione**.
In altri casi simili, con **assenza totale video**, conviene testare o sostituire il **generatore di clock 8701 del VIC II**
===== VIC20 =====
==== Sintomo ====
Si accende con **regolari sfondo bianco e bordo celeste, ma nessun carattere a video**
==== 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 **[[https://www.youtube.com/watch?v=jY_ne61TiPc|video su YouTube]]** viene segnalato che il sintomo lamentato è causato dalla **ROM Basic**. Si rende quindi necessario:
- dissaldare ROM
- usare zoccolo ad hoc 2364 (tipo vecchio) per EPROM 2764
- programmare EPROM
==== Riparazione ====
=== Dissaldatura ===
Per **dissaldare chip** conviene:
* settare la **temperatura della stazione dissaldante a 350 C**
* appoggiare la punta sulla piazzola
* attendere 2 secondi che lo stagno si sciolga (roteando la punta, si dovrebbe sentire il piedino che si muove)
* premere il pulsante per succhiare lo stagno
* l'aria dovrebbe fluire dentro la piazzola ormai libera di stagno e si sente anche come rumore, di aria libera, non 'soffocata'
* in caso di mancata dissaldatura (potrebbe essere una piazzola di massa, con molto metallo) aggiungere **stagno nuovo** al vecchio, prima di dissaldare nuovamente
* ispezionare visivamente la dissaldatura: dovrebbe notarsi il foro libero di stagno intorno al piedino del chip
* in casi difficili usare **stazione saldante ad aria (per SMD)** dall'altro lato e tirare gentilmente con una pinzetta
=== Zoccoli 2364-2764 ===
Bisogna prevedere degli **adattatori 2364-2764** come indicato **[[http://blog.worldofjani.com/?p=757|qui]]**.
=== Programmazione EPROM ===
* scaricare la ROM da **[[http://www.zimmers.net/anonftp/pub/cbm/firmware/computers/vic20/index.html|qua]]**
{{:content:retrocomputing:riparazioni:basic-rom.png?800|}}
* inserire una **EPROM** di valore adeguato nel programmatore TL866II-Plus. Le **2764 sono da 64 bit**, quindi contengono esattamente 8 KB:
FIXME immagine programmatore
* eseguire il programma **Xgpro**:
{{:content:retrocomputing:xgpro01.png?800|}}
{{:content:retrocomputing:xgpro02.png?800|}}
FIXME
**Soluzione: sostituzione ROM Basic con EPROM programmata**
===== VIC20 #2 =====
==== Sintomo ====
Si accende con **video assente e righe diagonali che scorrono**
{{:content:retrocomputing:riparazioni:vic20-difetto.jpg?400|}}
==== Analisi ====
Testato tensioni e segnali dei vari integrati; non sono stati rilevate anomalie.
==== Riparazione ====
Recuperato **VIC chip 6561 zoccolato** da altro VIC 20 funzionante.
* installato 6561 sul VIC 20 che presentava il difetto: ha funzionato
* installato il presunto VIC chip 6561 sul VIC 20 che prima funzionava: non ha funzionato
* alcuni tasti non rispondevano bene; pulito contatti in gomma dei tasti, come spiegato **[[#tastiera_non_risponde_bene|sopra]]**
**Soluzione: sostituito VIC chip 6561 e pulito contatti in gomma tasti**
===== VC1541 bianco =====
==== Funzionamento normale ====
Di seguito viene descritto il **funzionamento normale**, al fine di verificare scostamenti da questa //baseline//.
**Avvio corretto:**
* LED verde acceso
* LED rosso acceso e motore che gira, entrambi per 1-2 secondi
* accendendo il computer si ha ancora per un attimo LED rosso e motore
* dare il seguente comando:
LOAD "*",8
* compare "SEARCHING FOR *" e subito dopo "LOADING". Il motore lavora.
* una volta terminato il caricamento comparirà "READY.". Il motore si arresta.
* si potrà quindi dare i comandi //LIST// e //RUN//
* il motore del floppy lavorerà ancora e infine il programma si avvierà
==== Sintomo ====
**Sintomo: il drive resta su "SEARCHING FOR"**
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ò:
* testare i **pin per continuità** ai due capi
* col drive **spento**, dando il comando //LOAD"*",8// compare l'errore "?DEVICE NOT PRESENT", che avvisa che non trova il drive. Invece col drive **acceso** riconosce il device, ma presenta l'errore "SEARCHING FOR *". Ciò significa che il cavo seriale è funzionante.
=== Oscilloscopio ===
Si può collegare la **clip nera (negativo)** della sonda dell'oscilloscopio alla vite del VR2 oppure al negativo dei condensatori elettrolitici
* 6502: OK. Linee dati ed indirizzi mostrano **attività (bit 1 e 0 in movimento)**
* 2x6522: OK. Linee dati ed indirizzi mostrano attività
* ROM 901229-05: OK. I pin mostrano attività
* ROM 325302-01: OK. I pin mostrano attività
* **74LS14 (inverter)**: dal datasheet alcuni **pin (11 e 13)** non presentano il segnale invertito rispetto ai corrispondenti pin (10 e 12). In particolare presentano un **segnale a 3V** :!: invece che a 5V.
* **7406 (altro inverter)**: **pin 6 a 3V** :!:
=== Cambio chip ===
* provato a sostituire le VIA 6522 con altre di altro drive, ma i pin del 74LS14 e 7406 (vedi sopra) restano a 3V. D'altro canto le 6522, dai test eseguiti in precedenza con l'oscilloscopio, risultavano a posto.
==== Riparazione ====
Da indicazioni di **[[https://cbm8bit.com/articles/ray-charlsen/article21|Ray Charlsen]]** e dai test effettuati sopra, i **possibili colpevoli sono il 74LS14 e 7406**. Dopo aver ordinato i chip e atteso la consegna:
* **sostituito il solo 74LS14**: i pin che prima segnavano 3V anche sul 7406 **adesso presentano valori normali a 5V o 0V** :!:
* inserito un floppy: adesso, dopo LOAD"*",8, compare LOADING e quindi READY. LIST e RUN funzionano correttamente,
**Soluzione: Il problema era quindi il 74LS14**, che è stato sostituito,
===== 1541 marrone =====
==== Sintomo ====
**Sintomo:** LED verde OK, ma **LED rosso e il motore restano accesi continuamente**
==== Analisi ====
* tensioni 5V e 12V OK
* oscilloscopio:
* **6502: linee indirizzi (A) e dati (D) ferme su 0V o 5V, non hanno attività** :!:
==== Riparazione ====
* Preso a prestito CPU **6502** da VC1541.
* adesso il LED rosso e il motore non sono continuamente accesi :!:
* c'è attività sui pin A e D del 6502
* caricamento programmi da floppy ok
**Soluzione**: **sostituito il 6502**. Confermato anche dal fatto che, messa questa CPU al posto di quella del VC1541, il drive presenta gli stessi sintomi.
===== 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 è:**
* LED **rosso** ('Power') acceso
* LED **verde** ('Drive') acceso e motore che gira, entrambi per 1-2 secondi
==== Sintomo ====
**Sintomo:** LED rosso OK, ma **LED verde e il motore restano accesi continuamente.**
==== Analisi ====
* tensioni 5V e 12V //sembrano// OK
* rimosso il blocco meccanico con il motore e la testina: il LED verde si spegne
* testato l'"error channel"; il seguente test consente di testare il corretto funzionamento dell'elettronica:
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:
* '15': può essere un qualsiasi numero fino a 127; corrisponde al //file#// e ad esso si farà riferimento nel resto dei comandi
* '8': è il //device#// floppy drive (solitamente 8)
* '15': è il //command channel#//; i canali 2 e 14 possono essere invece usati per i //data channel//
Il comando **//INPUT#//** legge dati da una periferica; è necessario che prima sia aperto un canale con //OPEN//.
I comandi disco devono essere dati all'**interno di un programma, non //standalone//**, pena comparsa dell'errore //'?ILLEGAL DIRECT ERROR'//
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")|
* un **errore "0"** significa **'nessun errore'**
* un **READ ERROR su Track 18 Block 0** significa che il floppy non è mai stato formattato
Il **manuale del drive 1541** è reperibile **{{ :content:retrocomputing:riparazioni:commodore_vic_1541_floppy_drive_users_manual.pdf |qui}}**.
==== Riparazione ====
* arrivato **altro 1541-II funzionante**
* il vecchio 1541-II con il nuovo alimentatore funziona correttamente
* **ritestato vecchio alimentatore: ottenuto valori 5V e 16V, invece di 12V**, quindi i 16V non consentivano di far funzionare correttamente motore e parte meccanica
* caricamento programmi da floppy ok
**Soluzione**: **problema con l'alimentatore che buttava fuori 16V, invece di 12V**.
===== 1541 ?FILE NOT FOUND ERROR #2 (FAIL) =====
==== Sintomo ====
**Sintomo: avvio drive corretto, ma '?//FILE NOT FOUND ERROR//' caricando un disco**, anche dopo aver pulito la testina con IPA
==== Analisi ====
=== Error Channel ===
Per prima cosa conviene [[#analisi7|testare l'error channel]]
=== 1541 Diagnostic Cartridge ===
Poi si può eseguire, anche da Kung Fu Flash, la [[http://blog.worldofjani.com/?p=2180|1541 Diagnostic Cartridge]]. Per una **spiegazione dei vari test** si può fare riferimento [[https://www.valoroso.it/en/check-the-commodore-1541-drive-with-the-1541-diagnostic-cartridge-by-jani/|qui]].
=== Resistenza testina ===
Poi si può testare i valori di **resistenza tra i pin del connettore testina**:
{{:content:retrocomputing:riparazioni:1541-connettore-testina01.jpg?600|}}
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|
I **valori corretti sono tra i 10 e i 30 Ohm**; nel caso in cui si leggano **valori di KOhm la testina è danneggiata e non è riparabile**
=== Riferimenti ===
Si può sempre fare riferimento alla **[[http://www.bitsavers.org/pdf/commodore/1541_Maintenance_Guide_1984.pdf|1541 Maintenance Guide]]**, dove a pag- 3-8, vengono elencati i range di resistenza possibili per il connettore testina:
{{:content:retrocomputing:riparazioni:1541-connettore-testina02.png|}}
**Soluzione (FAIL): purtroppo in questo caso la testina è danneggiata; la parte elettronica si può riutilizzare**
===== Plus/4 =====
==== Sintomo ====
**Sintomo: schermo nero, ma segnale video presente**
==== 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.
* **Misurato tensioni sui PIN del 8501:**
^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**.
Misurazioni su di un **8501 correttamente funzionante:**
^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|
* **sostituito 8501R1** con equivalente preso da C16 funzionante: **lo sfondo nero è scomparso, ma è comparso il bordo viola e sfondo bianco corretto, ma con caratteri vari (//garbage screen//)**:
{{:content:retrocomputing:riparazioni:plus4-001.png?800|}}
* a seguito della sostituzione CPU, tutti i PIN A0-A15 hanno mostrato un'attività regolare
* testato CPU, apparentemente non funzionante, del Plus/4 su C16: è comparso schermo nero, a riprova che l'**8501 del Plus/4 era difettoso**
=== Garbage screen ===
Ho cercato quindi di risolvere il problema del **//garbage screen//**.
== 8360R2 ==
* sostituito TED con equivalente da C16: sempre //garbage screen//
== 318006-01 ==
* sostituito BASIC ROM con equivalente da C16: sempre //garbage screen//
== 318004-04 ==
* sostituito KERNAL,Char set ROM con equivalente da C16: sempre //garbage screen//
== 3251641-02 ==
* sostituito PLA con equivalente da C16: sempre //garbage screen//
**Riassunto: testato TED, 2xROM e PLA su C16 - funzionano**
== 317053-01 e 317054-01 ==
* rimosso 3-Plus-1 ROM: stesso sintomo
== 4264-15 ==
* controllato attività su chip **RAM** agli indirizzi A*: sembra ok
== 74LS257 ==
* controllato attività su chip **multiplexer** per RAM: sembra ok, ma da verificare meglio :?:
== Cartridge ==
* testato **cartuccia Jack-Attack**: stesso sintomo
=== Diag264 ===
**Ordinato cartuccia Diag264**. Una volta arrivata settata così:
{{:content:retrocomputing:riparazioni:diag-settings.png?800|}}
== Low RAM test ==
* all'accensione vedo **6 lampeggi** e compare il seguente **pattern**:
{{:content:retrocomputing:riparazioni:1banco-difettoso2.png?800|}}
* e subito dopo questo altro:
{{:content:retrocomputing:riparazioni:1banco-difettoso.png?800|}}
La **[[http://www.inchocks.co.uk/commodore/Diag264/|documentazione]]** rivela particolari interessanti. In particolare, durante il //low RAM test//, in **presenza di un problema**:
- il bordo flasha da 1 a 8 volte, indicando la //data line// guasta :?:
- i pattern devono essere uniformi; se compaiono altre lettere al posto di **'@'** il problema risiede nel banco RAM secondo questa tabella (estratto della doc):
{{:content:retrocomputing:riparazioni:estratto-doc-diag264-2.png?800|}}
Compaiono una serie di **'D'**, quindi il problema risiede nel **banco RAM U13**.
* **dissaldato RAM U13**. Al posto delle **RAM 4264** usato **chip equivalenti 8264**.
Al **boot** la situazione è migliorata, ma ci sono ancora dei **caratteri spuri**:
{{:content:retrocomputing:riparazioni:1banco.png?800|}}
* testato con la **Diag264**: questa volta non compaiono caratteri diversi da **'@'**, però flasha 7 volte
**Se compaiono solo i pattern e i flash, ciclicamente, allora c'è un problema. Un //diag// normale prevede anche i check mostrati più avanti**
* provato a fare **//piggybacking//** sui rimanenti banchi di memoria RAM, fino a che, provando il **chip U16** la situazione è migliorata, anche se c'è un lampeggio in corrispondenza del '.' di 'READY.':
{{:content:retrocomputing:riparazioni:plus4-2banchi.jpg?800|}}
* effettuato **altro //piggybacking//** sul **chip U17**: il **boot adesso è regolare** :!:
== Altri test ==
* inserito **Diag264: adesso i check non presentano più lampeggi nè caratteri strani e proseguono:**
{{:content:retrocomputing:riparazioni:diagtest002.jpg?800|}}
==== 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:
{{:content:retrocomputing:riparazioni:plus4-flat-keyb.png|}}
Di seguito un //recap// della riparazione.
* sostituito CPU 8501R1 con equivalente da C16 funzionante
* lo schermo nero non è comparso, ma al suo posto è arrivato un **garbage screen**
* dalla **Diag264** sono emersi problemi di RAM nel chip U13
* altri banchi non funzionanti (U16 e U17) sono stati trovati col //piggibacking//
* dissaldato banchi RAM non funzionanti; saldato zoccoli e inserito chip RAM 8264:
{{:content:retrocomputing:riparazioni:plus4-ram.png?600|}}
**Soluzione**: **sostituito CPU 8501R1 e 3 chip RAM**
{{:content:retrocomputing:riparazioni:plus4-working.png?800|}}
===== Datassette =====
==== Sintomo ====
**Sintomo: il datassette non legge le cassette**
==== 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:
* scaricato un **programma per allineamento testina del Datassette da [[https://csdb.dk/release/?id=143459|qua]]**
* caricato il **programma sulla Kung Fu Flash**
* una volta **avviato** basta seguire le istruzioni a video:
{{:content:retrocomputing:riparazioni:azimuth01.jpg?600|}}
In sostanza, si tratta di:
* inserire una cassetta funzionante e premere **Play**
* premere F1 o F3 a seconda che la cassetta sia originale o meno (Turbo tape)
* dovrebbero **comparire 2 o 3 colonne** che devono essere rese le più **compatte** possibili, **girando con un cacciavitino la vite dell'azimuth**
* si può quindi uscire con Return
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.
**Soluzione: allineato azimuth testina**
===== C64C =====
==== Sintomo ====
Il computer si avvia, ma è **tutto in minuscolo. La tastiera non risponde, solo premendo alcuni tasti si vede qualcosa, ma l'output è sbagliato**
==== 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.
* Inserito **6526 da altro C64** con tastiera funzionante: stesso sintomo
* Testato il 6526A su altro C64: funziona
* **diagnostico 586220** senza //harness kit// su keyboard dà "OPEN" (forse per la mancanza del kit?)
* la coppia di valori orari in basso a destra sono uguali tra AM e PM, segno che la CIA 6526A dovrebbe essere ok
:!: 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!
* rimosso CIA1 corretto: aveva un **piedino rotto** e saldato alla meno peggio!
* messo CIA2 su zoccolo del CIA1: **garbage screen** (due volte)
* poi **schermo nero: saltato fusibile!**
* inserito 6526 da U1 a U2, per testare il chip: si vede schermo normale, senza cursore, come ovvio che sia visto che U1 adesso è vuoto
* ... dopo varie prove con schermo nero, ho **rimosso lo zoccolo di U1: adesso il computer si avvia**, ma come da sintomo iniziale non funziona la tastiera
* installato **nuovo zoccolo** (in realtà due file di zoccoli): inserito 6525 su U1: la tastiera non va (cursore lampeggiante, of course)
* eseguito **test continuità pin CN1 (tastiera) e U1 (6526)**: si tratta di 20 pin; avevo saldato male il pin 5 dello zoccolo;
* risaldato pin 5: test continuità adesso ok, ma la tastiera ancora non va
* provato **altra CIA**: tastiera ko
* invertito CIA: idem
* :!: inserito **cartridge Jupiter Lander e i tasti 'A', 'D' ed 'F1' funzionano**! Invece la cartuccia Omega Race no...
* ipotesi di problema su **ROM Kernal+Basic**:
* ordinato **EPROM 27128** perchè l'immagine ROM è da 16 KB. In più i PIN vanno bene, non serve adattatore per zoccolo
* programmato EPROM, testata: stesso effetto
* testato PIN **4066** (U18) tra U1 e CN1; comportamento simile a 4066 su C64 con tastiera funzionante
* inserito **cartuccia Lemans: il paddle funziona e anche 'A' e 'F1'**
* :!: provato poi a premere alcune **combinazioni di tasti: '1' e '2' esce '2', '7' e '8' esce '8', '3' e '5' esce '5'; premendo '7' + altri tasti questi escono: 'Y','U','G','H','V','B'**
* **cambiato zoccolo CIA1 con più standard 40 pin**: stesso problema tastiera
* :!: inserito **Kung Fu Flash: il joystick sulla porta 2 consente di muoversi nei menu e selezionare le voci**
* :!: provato **gioco Choplifter** (gli altri richiedono di premere RUN/STOP per essere avviati): **usa joystick su porta 1, però l'elicottero va sempre 'su', come se ci fosse qualcuno che spinge la leva joystick verso l'alto**
Questo aspetto legato alla **leva del joystick 1 apparentemente 'bloccata' verso l'alto** si rivelerà decisivo per il troubleshooting
* testato **segnali su CN1 con oscilloscopio:**
* i pin da 3 a 11 sono a 5V
* i pin da 13 a 19 sono a 5 V con dei //drop// con frequenza a 60 Hz, come da norma
* :!: il **pin 12, che corrisponde alla Row 0 nella matrice tastiera, segna 0.6 V invece dei 5 V di un connettore funzionante**; lo schema del **collegamento completo** è il seguente:
{{:content:retrocomputing:riparazioni:cia1-pin12.png|}}
In pratica: **pin 1 Control Port 1 <-> filtro EM6 <-> linea JOY A0 <-> pin 12 CN1 tastiera <-> ROW 0 <-> porta in ingresso PB0 su CIA1**
**Il pin 1 della porta joystick 1 controlla effettivamente l''UP' del joystick!** Quindi, il fatto che **la linea PB0 sia bassa (0.6 V corrisponde a //low//) spiega il comportamento del joystick**
E' come se un'intera linea di tasti (Row 0) sia bloccata; di seguito la **//keyboard matrix//** per il C64:
{{:content:retrocomputing:riparazioni:keyboard-matrix01.png|}}
=== 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... FIXME
**La domanda allora è: cosa tiene la linea PB0 bassa?**
==== Riparazione ====
* rieffettuate **saldature pin 12 su CN1 e pin 10 su zoccolo CIA1 (PB0)**: stesso problema
* :!: **rimosso filtro EM6: PB0 è tornata a 5 V e la tastiera funziona!** 8-)
* il filtro EM6 l'avevo precedentemente testato (continuità tra i pin esterni, nessuna continuità dagli esterni verso l'interno) e non aveva problemi; l'ho quindi **risaldato**. La linea PB0 è rimasta a 5 V e la tastiera continua a funzionare
* **test effettuati**: Choplifter su porta 1 joy ok, joy 2 ok, tastiera ok, datassette ok
* effettuato pulizia standard, case e tastiera
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!
{{:content:retrocomputing:riparazioni:c64c-black-keyboard.jpg|}}
**Risaldato filtro EM6 che teneva la linea PB0 tastiera giù**
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 ====
Il computer si avvia con bordo e sfondo corretti, ma con un **garbage screen**
{{:content:retrocomputing:garbage01.png|}}
==== Analisi ====
Concentro la mia analisi sui chip che possono essere coinvolti nella generazione di questo //garbage screen//.
* **901225-01 Char ROM**: dissaldato, zoccolato e messo sostituto -> garbage screen uguale
* **CIA U2** (dopo aver verificato la **[[https://www.pictorial64.com/|Pictorial Guide]]**: dissaldato chip e fatto partire il computer senza CIA2 -> **funziona** :!:
* installato quindi zoccolo e messo altra CIA 6526 -> **OK**
Dopo qualche tempo ha ripreso a dare **nuovamente garbage screen**. E' necessaria una nuova analisi.
* il computer **parte correttamente con la Dead Test 781220**
* il **gioco Jupiter Lander funziona** (anche tasti)
* il **gioco Lemans funziona** (anche tasti)
* :!: **toccato col dito la Char ROM 901225-01 e lo sfondo corretto inizia a comparire, per poi scomparire una volta tolto il dito**:
{{:content:retrocomputing:funziona_quasi_2.png|}}
{{:content:retrocomputing:funziona_quasi1.png|}}
* anche **rimuovendo del tutto la Char ROM si ottiene lo stesso garbage screen**, sintomo che il problema è proprio quel chip:
{{:content:retrocomputing:garbage_senza_char_rom.png|}}
==== Riparazione ====
* testato i **pin dello zoccolo ROM char**; hanno tutti continuità (ad es. verso i pin delle altre ROM), **a parte un pin molto importante, che è il suo CS (chip select) che va al pin della PLA della linea ROM char**, che non è attivo:
{{:content:retrocomputing:char-rom-pla.png|}}
Se questa pista non è attiva, è impossibile per la PLA selezionare la ROM char e quindi è come se quest'ultimo chip non funzionasse
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:
{{:content:retrocomputing:ponticello.png|}}
Il trucco ha funzionato e adesso il computer si avvia regolarmente!
{{:content:retrocomputing:c64_ok.png|}}
Il corretto funzionamento di tutti i suoi componenti è confermato dal **dead test con il kit di harness collegato**:
{{:content:retrocomputing:c64_ok2.png|}}
**Sostituito CIA2; ricreato pista tra ROM Char e PLA**. Purtroppo il SID si è rivelato parzialmente difettoso, quindi l'ho sostituito con un altro 6581
===== C128 =====
==== Sintomo ====
Il computer si avvia correttamente, ma dopo pochi secondi a volte si freeza, semplicissimi programmi Basic partono ma poi danno Syntax Error, in modalità C64 ha dato un Out of Memory e in entrambe le modalità ogni tanto cambiava caratteri e/o colori
{{:content:retrocomputing:riparazioni:c128-garbage.jpg|}}
{{:content:retrocomputing:riparazioni:c128-basic-error.jpg|}}
==== 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 **{{:content:retrocomputing:riparazioni:781220_manual.pdf|manuale della Dead Test}}**, sette flash corrispondono ai banchi U39/U47:
{{:content:retrocomputing:riparazioni:c128-7-flashes.jpg|}}
==== Riparazione ====
Procedo quindi a:
* dissaldatura RAM segnalate come difettose
* inserimento zoccolo
* inserimento 'nuove' **RAM 4164**
Bisogna fare **attenzione al verso di inserimento dei chip!** Sul C128, a differenza del C64, molti chip vanno inseriti con la tacca verso il basso della scheda.
Dopo aver inserito le memorie col verso corretto, il computer funziona, così come il **dead test viene portato a termine**:
{{:content:retrocomputing:riparazioni:c128-deadtest-ok.jpg|}}
**Sostituito banchi RAM segnalati come difettosi dalla Dead Test**
===== VIC 20 #3 =====
==== Descrizione ====
Si tratta di un VIC 20 prima serie, con tastiera **//Eurostile//**:
{{:content:retrocomputing:riparazioni:vic20-eurostile.png|}}
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):
{{:content:retrocomputing:riparazioni:vic20-psu.jpg|}}
==== Sintomo ====
Il computer si avvia correttamente, ma i caratteri sono sfuocati e i colori non nitidi
{{:content:retrocomputing:riparazioni:vic20_2.jpg|}}
==== Analisi ====
Su di un **[[https://forums.atariage.com/topic/266431-vic-20-pro-tip-adjust-your-pots/|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:
{{:content:retrocomputing:riparazioni:vic20_1.jpg?500|}}
==== 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!
{{:content:retrocomputing:riparazioni:vic20-vicchipok.jpeg|}}
**Sostituito VIC chip**
===== Plus/4 #2 =====
==== Descrizione ====
Si tratta di un Plus/4 con la tastiera molto ingiallita:
{{:content:retrocomputing:riparazioni:plus4_2_nokeyb.jpg|}}
==== Sintomo ====
La tastiera non funziona, ma i tasti funzione sì e anche quelli cursore
{{:content:retrocomputing:riparazioni:plus4_nokeyb.jpg|}}
==== Analisi ====
I sintomi sono identici alla situazione descritta **[[https://www.lemon64.com/forum/viewtopic.php?t=78411|qui]]**; ma in quel caso si sono limitati a cambiare tastiera.
=== Diag 264 ===
Provata una **cartridge Diag 264, senza harness kit** (per istruzioni vedi **[[https://www.inchocks.co.uk/commodore/Diag264/|qui]]**):
{{:content:retrocomputing:riparazioni:plus4-diag264.png|}}
**Testato la Diag 264 su di un Plus/4 con la tastiera funzionante**; il //'BAD'// sulla tastiera (e sulle altre porte) compare ugualmente, segno che sarebbe necessario il terminatore dell'harness kit
=== Scheda ===
La **scheda** si presenta relativamente pulita e in ordine:
{{:content:retrocomputing:riparazioni:plus4-board.png|}}
Le **tensioni sulla User Port** (stessi pin del C64) sono ok:
{{:content:retrocomputing:riparazioni:plus4-user-port.png|}}
=== 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 **{{:content:retrocomputing:riparazioni:service_manual_model_plus_4_computer.pdf|Plus/4 Service Manual}}**; dall'analisi della **keyboard matrix** i tasti cursore sono inseriti al suo interno, cosi` come tutti gli altri:
{{:content:retrocomputing:riparazioni:plus4-keyb-matrix.png|}}
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ì:
{{:content:retrocomputing:riparazioni:plus4-keyb-flat.png|}}
=== 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:
{{:content:retrocomputing:riparazioni:plus4-keyb-led.png|}}
:!: Fare attenzione ai **4 tondini di gomma dei tasti cursore e ai 4 dei tasti funzione**, che sono appoggiati e rischiano di cadere:
{{:content:retrocomputing:riparazioni:plus4-keyb-pcb.png|}}
:!: C'è anche una **piccola molla** solo appoggiata, vicino al LED:
{{:content:retrocomputing:riparazioni:plus4-keyb-molla.png|}}
=== Pulizia tastiera ===
Dopo una **pulizia del PCB con WD40 detergente contatti** e **dei gommini dei tasti con cotton fiocc imbevuto di IPA** qualche tasto comincia a funzionare. Altri tasti sono 'duri', per cui sembra necessario il trattamento con soluzione a base di grafite.
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**:
{{:content:retrocomputing:riparazioni:plus4-keyb-rows-colums.png|}}
Le **Colonne** sono da intendere colonne di tasti presenti sulla tastiera del Plus/4; nella matrice sopra in realtà sono messe come righe :!: :
{{:content:retrocomputing:riparazioni:plus4-keyb-rows-cols.png|}}
Mentre i nuclei **FB41-48** misurano tutti 0 V e dovrebbero corrispondere a COLUMNS=Outputs
{{:content:retrocomputing:riparazioni:plus4-fbxx.png|}}
**[[https://www.keymmodore.com/wiring-c-16/|Qui]]** viene spiegato il **funzionamento di una keyboard matrix C16/Plus4**; qui invece c'è un **[[https://youtu.be/25xlligwsL8|video]]** FIXME
Nel **Service Manual**, relativamente alla tastiera, si suggerisce:
{{:content:retrocomputing:riparazioni:plus4-keyb-service-manual.png?700|}}
==== Riparazione ====
...
**bla bla bla**
===== Riferimenti =====
https://www.pictorial64.com/
https://portcommodore.com/rcarlsen/cbm/
https://retro64.altervista.org/blog/commodore-64-repair-a-quick-guide-on-the-steps-required-to-fix-it/
https://retrocomputerverzamelaar.nl/commodore-64-problems/
https://cbm8bit.com/articles/ray-charlsen/article21
http://www.cbmhardware.de/314002/index.php