User Tools

Site Tools


content:retrocomputing:riparazioni

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:

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:
TensioneDa In uso a
12V 7812VIC-II e SID
5V 7805VIC-II
5V switchchip 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:

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:

  • 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:

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 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:

  • 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:

Se invece i componenti non sono zoccolati, conviene 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)

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:

  • 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:

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:

  • 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:

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.

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)

  • lo schermo centrale si presenta vuoto → Basic ROM (901226)

  • schermo nero:
    • Kernal ROM (901227)
    • PLA
    • … un sacco di altri componenti
  • per questi ed altri sintomi guardare 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:

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ì:

  • 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 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 schema della board assy 250425 (apparentemente è quello corretto anche se viene segnalato come 251469). Di seguito uno zoom dell'alimentazione:

  • testato alimentazioni come spiegato 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

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 video su YouTube viene segnalato che il sintomo lamentato è causato dalla ROM Basic. Si rende quindi necessario:

  1. dissaldare ROM
  2. usare zoccolo ad hoc 2364 (tipo vecchio) per EPROM 2764
  3. 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 qui.

Programmazione EPROM

  • scaricare la ROM da qua

  • 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:

FIXME

Soluzione: sostituzione ROM Basic con EPROM programmata

VIC20 #2

Sintomo

Si accende con video assente e righe diagonali che scorrono

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 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)
  • 2×6522: 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 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:

EE$TS
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 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 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-pinOhm
1-212.6
1-313.0
1-524.4
2-314.6
3-526.1
2-513.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 1541 Maintenance Guide, dove a pag- 3-8, vengono elencati i range di resistenza possibili per il connettore testina:

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.

ChipDescrizioneNote
8501R1CPUClock variabile a 1,776 Mhz e 0,89 Mhz, uguale al C16
8360R2TEDChip grafico e sonoro, uguale al C16
318006-01BASIC ROMUguale al C16
318004-04KERNAL, character set ROMUguale al C16
251641-02PLAUguale al C16
317053-01 e 317054-013-Plus-1 ROM
4264-15RAM
74LS257Multiplexer RAM

Analisi

8501R1

Mi sono concentrato sulla CPU 8501R1.

  • Misurato tensioni sui PIN del 8501:
PinDescrizioneValore misuratoNote
1Clock1,773 Mhz e 0,89 Mhzok
14-19 e 21-22A8-A13 e A14,A15:!: Segnale 'sporco' intorno i 5 V
23-30P0-P6alcuni segnali 'sporchi' intorno i 5 V
31-38D7-D0Attività regolare

Il test evidenziato mostra valori errati su vari PIN del bus indirizzi.

Misurazioni su di un 8501 correttamente funzionante:
PinDescrizioneSegnale normale
6-19A0-A13Attività normale
21-22A14-A15Attività normale
31-38D7-D0Attività normale
24-25P6-P55 V
26-30P4-P00, 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):

  • 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ì:

Low RAM test
  • all'accensione vedo 6 lampeggi e compare il seguente pattern:

  • e subito dopo questo altro:

La documentazione rivela particolari interessanti. In particolare, durante il low RAM test, in presenza di un problema:

  1. il bordo flasha da 1 a 8 volte, indicando la data line guasta :?:
  2. i pattern devono essere uniformi; se compaiono altre lettere al posto di '@' il problema risiede nel banco RAM secondo questa tabella (estratto della doc):

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:

  • 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.':

  • 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:

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.

  • 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:

Soluzione: sostituito CPU 8501R1 e 3 chip RAM

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 qua
  • caricato il programma sulla Kung Fu Flash
  • una volta avviato basta seguire le istruzioni a video:

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:

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:

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!

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

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 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:

  • anche rimuovendo del tutto la Char ROM si ottiene lo stesso garbage screen, sintomo che il problema è proprio quel chip:

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:

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:

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:

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

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:

  • 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:

Sostituito banchi RAM segnalati come difettosi dalla Dead Test

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

Il computer si avvia correttamente, ma i caratteri sono sfuocati e i colori non nitidi

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!

Sostituito VIC chip

Plus/4 #2

Descrizione

Si tratta di un Plus/4 con la tastiera molto ingiallita:

Sintomo

La tastiera non funziona, ma i tasti funzione sì e anche quelli cursore

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):

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:

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 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:

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 FIXME

Nel Service Manual, relativamente alla tastiera, si suggerisce:

Riparazione

bla bla bla

Riferimenti

content/retrocomputing/riparazioni.txt · Last modified: 2023/10/08 10:48 by admin