lunedì 5 gennaio 2009

Atari Breakout : not working PCB - Aggiornamento 7

Nel post precedente, ho ipotizzato che il problema per il quale non viene incrementato il punteggio è (probabilmente) dovuto al malfunzionamento del multivibratore 9602 (location N8).
Di seguito tenterò di spiegare - più che altro a me stesso - come sono giunto a questa conclusione; nel frattempo sto aspettando l'integrato di ricambio.

Il blocco che si occupa dei punteggi è grosso modo diviso in quattro sezioni :


  1. sezione di "memorizzazione" dei punteggi - tre contatori per il Player 1 e tre per il Player 2

  2. sezione di visualizzazione a video dei punteggi

  3. sezione di azzeramento punteggi a inizio partita

  4. sezione che si occupa di incrementare il punteggio (ovvero incrementa il valore dei contatori "memoria")

Considerando che all'accensione della scheda sono visualizzati su schermo valori random dei punteggi e considedrando che ad inizio partita tali valori vengono correttamente azzerati, è da presumere che le prime tre sezioni funzionino correttamente, e che sia la quarta ad avere problemi.


La quarta sezione è formata da un multivibratore (9602 location N8) configurato in modo tale che generi un singolo impulso ("one-shoot") della durata immagino inferiore di poco al microsecondo. Questo impulso permette di caricare su un contatore (74192 location N9) il valore da cui incominciare a contare; siccome tale contatore è configurato per il conto alla rovescia, una volta raggiunto l'underflow l'uscita /Borrow del contatore , attraverso tre porte AND , genera un impulso (Count 1 per il punteggio del Player 1 e Count 2 per il punteggio del Player 2) che è inviato ai contatori della sezione 1 (memorizzazione punteggi).

Al contatore 74192 arrivano correttamente tutti i segnali (due di sincronia orizzontale e lo Start Game) ad eccezione dell'impulso one-shoot generato da multivibratore; simulando tale impulso, il contatore incomincia a contare, incrementando la memoria punteggi e sul video viene visualizzato il nuovo punteggio (a riprova del funzionamento di tutta la catena).

Detto così sembrerebbe proprio che il multivibratore non funzioni... andando ad analizzare i segnali in ingresso, ne troviamo tre: il segnale Brick Hit, un altro segnale posto fisso a +5V, ed il segnale di /Attract utilizzato per disabilitare il multivibratore.

Potrebbe essere che uno di questi tre segnali non sia correttamente generato (o manchi del tutto), e che quindi il multivibratore fallisca nel suo lavoro ? Sembrerebbe proprio di no : il +5V c'è, il Brick Hit anche , così come l' /Attract ( anche perchè questi ultimi due segnali sono utilizzati da altre parti, ad esempio il Brick Hit fa cambiare di direzione la palla nel momento in cui il mattone è colpito, e l' /Attract è utilizzato , manco a dirlo, nella fase di Attract Mode).

Tutta questa bella zuppa per dire che il 9602 sembra fritto !

Aspettiamo il ricambio e vedremo...

Nessun commento: