Pagina 1 di 1

Fix schede bootleg e non

Inviato: 21/01/2015, 22:18
da janniz
Premessa: Mi piace molto l'elettronica in generale, ma amo particolarmente l'elettronica digitale a livello porte logiche... rimango quindi spesso affascinato dai PCB dei decenni scorsi cercando di carpire la logica progettuale che è nascosta dietro la disposizione di una miriade di integrati interconnessi tra loro.
Inutile dire che ho trovato nei PCB delle schede arcade una vera e propria manna, ed in tal senso si puo' quasi dire che io apprezzi quasi di più le volgari schede bootleg rispetto alle schede originali. In tali "creazioni" (moralmente condannabili, in fondo si tratta di furto, e di questo non si discute) a volte è possibile, IMHO, scorgere l'ingegno di chi, arrangiandosi con i componenti a disposizione, deve riuscire a riprodurre fedelmente il comportamento delle schede originali.

Spesso i bootleg pero' dovevano fare i conti con una progettazione non proprio perfetta, ed ecco che allora nascevano le patch al volo applicate alle schede per permettere di bilanciare comportamenti fuori specifica o comunque anomali. Altre volte invece le modifiche al circuito originale erano/sono effettuate per riportare negli schemi di funzionamento normale componenti che magari non funzionano più correttamente, ma che con la dovuta spintarella fanno ancora il loro lavoro.

In questo post vorrei cercare di capire, con chi ha maggiore esperienza pratica del sottoscritto, quali siano le motivazioni che hanno portato il riparatore o addirittura il produttore originale ad applicare questi cambiamenti. in particolare lo ritengo interessante perché si potrebbe così costituire un bagaglio di nozioni utile anche per chi si troverà ad affrontare riparazioni o studio su chede anche diverse, ma con applicati i medesimi "trucchi dal logica TTL".

Per cominciare mi riferirò a un bootleg di WWF Wrestlefest acquistato proprio qui sul forum. Questa scheda presenta numerosi adattamenti. Alcuni di questi probabilmente servono a bilanciare un'errata progettazione iniziale, altre invece cadono nella seconda categoria e magari potrebbero essere rimosse andando a sostituire il componente cui sono state applicate, altre infine potrebbero essere delle modifiche applicate per correggere bus interrotti per dannggiamento o addirittura dimenticati in fase di progettazione.
WP_20150102_17_49_39_Pro - Copy.jpg
Qualche volontario vuole darmi una mano? :D Io le mie considerazioni le scrivo... Certamente qualche (spero non troppe) castroneria la dirò in fondo la mia esperienza pratica con la logica TTL risale ai tempi dei laboratori di elettronica dell'ITIS e in questo campo devo ancora farmi molta, molta esperienza :P

-= 1 =-
WP_20141231_13_59_57_Pro - Copy.jpg
Elettrolitico da 220uF@35V connesso tra l'ingresso A1 del buffer 74LS367 e la massa del 74LS367 sopra di lui. All'ingresso A1 del buffer è collegato direttamente il pin relativo a COIN1 del connettore JAMMA. Quasi certamente questo elettrolitico serve per evitare rimbalzi e malfunzionamenti derivanti da una progettazione troppo semplificata della linea di ingresso. Lo deduco anche dai malfunzionamenti che invece si verificano sulla controparte COIN2 (su cui non è applicata alcuna modifica). Ad esempio ho notato che tenendo premuto il pulsante relativo al COIN2 sul banco di test il gioco inserisce correttamente un solo credito, ma dopo pochi istanti comincia a rallentare in maniera vistosa fino quasi a fermarsi, salvo riprendere a funzionare correttamente rilasciandolo.

-= 2 =-
WP_20141231_14_25_08_Pro - Copy.jpg
TDA2002 con elettolitico da 47uF@16V connesso tra i pin di supply voltage e ground. Questo è facile... :) Dovrebbe servire a stabilizzare la tensione di ingresso. Mi domando tuttavia se sia stato aggiunto successivamente perché "dimenticato" oppure se sia una compensazione per stabilizzare fluttuazioni sull'alimentazione dovute ad altri malfunzionamenti.

-=3 =-
WP_20141231_14_00_21_Pro - Copy.jpg
Z80C: Resistenza da 330R conessa tra la linea di clock e VCC. A cosa puo' servire una resistenza di pull-up sul clock? Se lo sapevo non lo ricordo... Inoltre il valore è più o meno casuale oppure ha un suo senso?
WP_20141231_14_01_40_Pro - Copy.jpg
Lo stesso Z80 ha le linee A6 e A8 interconnesse con le corrispondenti della RAM 6116. Inoltre quest'ultima ha la linea A10 interconnessa con la medesima ROM (audio). La scheda non mi pare presenti danneggiamenti di sorta, quindi credo che questi collegamenti posticci siano stati fatti per ovviare a qualche altro genere di problema.

-= 4 =-
WP_20141231_13_59_35_Pro - Copy.jpg
Contatore 4bit 74LS163 con resistenza di pull-up simile a quella dello Z80 poco sopra. Cambia, seppur di poco, il valore della resistenza che in questo caso è da 220R.

-= 5 =-
WP_20141231_13_59_39_Pro - Copy.jpg
74LS393: Altro contatore a bit (duale questa volta) con condensatore da 220pF connesso tra il piedino CLEAR e VCC. Anche in questo caso credo serva solamente ad evitare rimbalzi e a permettere di acquisire un segnale pulito dal punto di vista logico.

Re: Fix schede bootleg e non

Inviato: 21/01/2015, 23:10
da pieroandreini
Ciao,

spesso su schede bootleg si trovano modifiche "dell'ultimo minuto".

Il condensatore su ingresso coin fa un integrazione del segnale in ingresso evitando appunto false letture. Evidentemente avevano problemi a correggere il software in maniera adeguata per evitare false letture...

Per quanto riguarda le resistenza di pull-up sul clock immagino sia necessaria perchè il duty cycle non era esatto.

Idem sugli altri contatori che non venivano pilotati in maniera corretta.

Il condensatore sull'audio penso eviti far rientrare rumori e ronzii vari che provengono dall'alimentazione. Qualcuno per evitare questi problemi divideva le alimentazioni dei circuiti logici da quelli audio.

Dato che la capacità è bassa (per essere su un alimentazione) evidentemente si trattava di rumori con frequenza elevata.

Il condensatore sul segnale del clear sicuramente serve a "ripulire" il segnale come hai detto tu

Potresti collegare un oscilloscopio e vedere cosa succede con e senza :wink:

Mentre per I fili sugli indirizzi immagino che siano semplicemente messi per ovviare ad errori di chi ha fatto lo sbroglio della scheda

Re: Fix schede bootleg e non

Inviato: 22/01/2015, 12:28
da janniz
A questo punto mi piacerebbe sapere se c'è qualcuno sul forum con lo stesso identico bootleg per verificare se le medesime modifiche sono state applicate anche sulla sua scheda. In quest'ultimo caso quasi certamente si tratterebbe di un difetto di progettazione/sbroglio del clone. Se invece sull'altra scheda non ci fossero allora il problema sarebbe da imputare a qualche altro componente che fa le bizze sulla mia scheda (oppure da una progettazione al limite delle specifiche, non supportata dalle tolleranze dei componenti).

Ho cercato un poco sul web, ma gli unici bootleg che ho trovato sono profondamente diversi. L'unico molto simile che ho visto compare in un video youtube (anche se la parte sullo schedino ausiliario non è relalizzata con porte logiche ma con una FPGA). Guardando il filmato scorgo il condensatore sul contatore e la resistenza di pull-up sullo Z80 ma non le altre modifiche.

Re: Fix schede bootleg e non

Inviato: 23/01/2015, 11:14
da kilik81
Io ce l'ho il bootleg di Wrestlefest. Ricordo che ci sono accrocchi anche nella mia, ma mi pare siano leggermente diversi da quelli presenti nella tua. Appena posso faccio delle foto e le posto.

Ad ogni modo, il difetto più grosso di questa scheda è che il 68000 è a 10 MHz, contro i 12 MHz della scheda originale e la cosa si nota eccome! Giocando nella modalità Royal Rumble (quindi la modalità con più personaggi nello schermo) il gioco rallenta notevolmente rispetto all'originale.

Re: Fix schede bootleg e non

Inviato: 23/01/2015, 14:25
da janniz
kilik81 ha scritto:Io ce l'ho il bootleg di Wrestlefest. Ricordo che ci sono accrocchi anche nella mia, ma mi pare siano leggermente diversi da quelli presenti nella tua. Appena posso faccio delle foto e le posto.

Ad ogni modo, il difetto più grosso di questa scheda è che il 68000 è a 10 MHz, contro i 12 MHz della scheda originale e la cosa si nota eccome! Giocando nella modalità Royal Rumble (quindi la modalità con più personaggi nello schermo) il gioco rallenta notevolmente rispetto all'originale.
Si avevo letto qui su arcadeitalia di questa cosa dei 10/12Mhz.

Ho verificato e sulla mia scheda in effetti il cristallo da cui si ricava il clock è da 10Mhz. La cosa interessante è che la CPU non è la SCN68000CAN64 indicata in passato in un altro thread ma una MC68000P12 che supporta da specifiche fino a 12Mhz.
Inoltre, e la cosa mi tenta non poco, le serigrafie sul PCB indicano 12Mhz (anche se poi il cristallo è da 10) per il cristallo generante il CLOCK del 68k e 14.4Mhz (Contro gli effettivi 13Mhz del cristallo realmente installato) per il cristallo da cui credo vengano generati i vari clock per le altre CPU. Mi piacerebbe quasi provare a cambiare i due cristalli (10->12 e 13->14,7) per vedere se i problemi da te lamentati spariscono...

Re: Fix schede bootleg e non

Inviato: 23/01/2015, 20:05
da kilik81
Sì, avevo aperto proprio io quella discussione. Questo fine settimana cerco di fare qualche foto.
Su youtube avevo trovato qualche video a riguardo, mi pare.

Re: Fix schede bootleg e non

Inviato: 23/01/2015, 20:10
da janniz
Scusami, per evitare un mio doppio post ho modificato il testo sopra proprio mentre tu stavi commentando :/

Comunque, quasi quasi chiederei ai mod la cortesia di dividere questo thread in due. Le mie intenzioni erano di raccogliere i vari fix delle schede che incontrero' in un unico post (alla guisa di un catalogo). Pero' credo che anche quest'altra discussione su WWF meriti dignità di essere archiviata per il futuro...

Re: Fix schede bootleg e non

Inviato: 23/01/2015, 21:31
da Mark6974
Seguo con piacere

Re: Fix schede bootleg e non

Inviato: 06/02/2015, 8:45
da janniz
Nuova puntata, per il momento senza fotografie, integrerò il prima possibile :)
Ho per le mani una scheda bootleg di Carrier Airwing (la versione con due YM2203).
Su questa scheda in particolare mi hanno incuriosito due modifiche post-prdozione (se così vogliamo chiamarle):

-=1=-
Su un contatore 74LS393 (dovrebbe essere quello utilizzato per generare il sincronismo orizzontale) è stato sostituito il condensatore originariamente presente (indicato dalla serigrafia sul PCB e verificato con alcune fotografie in rete dello stessa PCB) tra i pin RESET (attivo alto) e GND con una resistenza di pull-down. Come effetto collaterale la tensione VIH applicata al pin di RESET è di 2,85V, ripristinando la condizione iniziale la tensione sale a 4.65V.
Non riesco a capire a cosa potesse servire realmente questa modifica. Forse proprio ad abbassare la tensione sul pin di reset? Le tensioni su indicate sono per tensione di alimentazione di 5V precisi però forse la scheda era "progettata" per funzionare con una tensione leggermente più alta (5.5V ?) e quindi si è reso necessario abbassare il valore sul RESET? Oppure, più probabile, serve semplicemente per tirare il segnale a massa ed evitare disturbi sul sincronismo (Anche se a onor del vero trovo che a video l'immagine sia più stabile ora che ho ripristinato il condensatore che prima con la resistenza)?

-=2=-
Array di resistenze (sigla C09X) da 1K tra i pin 49 (polo comune, VCC) e 57 del 68000.
i pin coinvolti sono:
49 VCC -VVVVVV- 50 A21
49 VCC -VVVVVV- 51 A22
49 VCC -VVVVVV- 52 A23
49 VCC -VVVVVV- 53 GND (?????????)
49 VCC -VVVVVV- 54 D15
49 VCC -VVVVVV- 55 D14
49 VCC -VVVVVV- 56 D13
49 VCC -VVVVVV- 57 D12

Questa modifica mi lascia alcune perplessità. Chiaramente è una rete di pull-up e posso probabilmente immaginare che D12-D15 siano portati a qualche integrato schizzinoso, ma non capisco perché mettere in pull-up solo alcuni pin del bus indirizzi e soprattutto perché connettere anche GND. Svista? Perché era comodo usare un'array di resistenze e pazienza se dissipo sulla resistenza tra VCC e GND? In ogni caso mi pare una porcheria e questa sera, saldatore alla mano mi sa che rimuvo tutto :D

Passo la palla a chi ha più esperienza di me :)

Re: Fix schede bootleg e non

Inviato: 06/02/2015, 9:11
da frame
janniz ha scritto:
Questa modifica mi lascia alcune perplessità. Chiaramente è una rete di pull-up e posso probabilmente immaginare che D12-D15 siano portati a qualche integrato schizzinoso, ma non capisco perché mettere in pull-up solo alcuni pin del bus indirizzi e soprattutto perché connettere anche GND. Svista? Perché era comodo usare un'array di resistenze e pazienza se dissipo sulla resistenza tra VCC e GND? In ogni caso mi pare una porcheria e questa sera, saldatore alla mano mi sa che rimuvo tutto :D
Jan, non so nemmeno cosa sia un pull up e un pull down, ma credo che tante volte un non professionista possa arrivare a soluzioni migliori e più ordinate rispetto ai chi lo faceva traendone profitto... dacci dentro! Spesso la risposta non esiste, siamo noi che ce la andiamo a trovare mettendoci del personale, rischiando e verificando se l'intuizione era corretta... io, se fossi idealmente il boss, ti darei carta bianca..

Re: Fix schede bootleg e non

Inviato: 06/02/2015, 10:15
da caiusfabricius
janniz ha scritto:Nuova puntata, per il momento senza fotografie, integrerò il prima possibile :)
Ho per le mani una scheda bootleg di Carrier Airwing (la versione con due YM2203).
Su questa scheda in particolare mi hanno incuriosito due modifiche post-prdozione (se così vogliamo chiamarle):

-=1=-
Su un contatore 74LS393 (dovrebbe essere quello utilizzato per generare il sincronismo orizzontale) è stato sostituito il condensatore originariamente presente (indicato dalla serigrafia sul PCB e verificato con alcune fotografie in rete dello stessa PCB) tra i pin RESET (attivo alto) e GND con una resistenza di pull-down. Come effetto collaterale la tensione VIH applicata al pin di RESET è di 2,85V, ripristinando la condizione iniziale la tensione sale a 4.65V.Non riesco a capire a cosa potesse servire realmente questa modifica. Forse proprio ad abbassare la tensione sul pin di reset? Le tensioni su indicate sono per tensione di alimentazione di 5V precisi però forse la scheda era "progettata" per funzionare con una tensione leggermente più alta (5.5V ?) e quindi si è reso necessario abbassare il valore sul RESET? Oppure, più probabile, serve semplicemente per tirare il segnale a massa ed evitare disturbi sul sincronismo (Anche se a onor del vero trovo che a video l'immagine sia più stabile ora che ho ripristinato il condensatore che prima con la resistenza)?
Giuste osservazioni ma, come già detto, anche se gli stati logici non sono altro che livelli di tensione tu ragioni troppo in campo analogico, quai siamo nel digitale :) La resistenza di pull-down sul RESET è messa proprio per costringere l'input ad uno stato logico basso quando è disconnesso dal resto del circuito od in tristate.E' probabile che i bootlegers hanno apportato questa modifica perché hanno notato un comportamento anomalo del circuito di sincronismo video .Prova a togliere la resistenza e vedi cosa succede.




-
=2=-
Array di resistenze (sigla C09X) da 1K tra i pin 49 (polo comune, VCC) e 57 del 68000.
i pin coinvolti sono:
49 VCC -VVVVVV- 50 A21
49 VCC -VVVVVV- 51 A22
49 VCC -VVVVVV- 52 A23
49 VCC -VVVVVV- 53 GND (?????????)
49 VCC -VVVVVV- 54 D15
49 VCC -VVVVVV- 55 D14
49 VCC -VVVVVV- 56 D13
49 VCC -VVVVVV- 57 D12

Questa modifica mi lascia alcune perplessità. Chiaramente è una rete di pull-up e posso probabilmente immaginare che D12-D15 siano portati a qualche integrato schizzinoso, ma non capisco perché mettere in pull-up solo alcuni pin del bus indirizzi e soprattutto perché connettere anche GND.

Si, più che una resistenza si sarebbe dovuto mettere un condensatore di bypass tra VCC e GROUND.Di solito le resistenze di pull-dow/pull-up si usano su linee dati/indirizzo un pò 'pigre' , cioè che faticano a commutare e forse è il caso di questo bootleg

Re: Fix schede bootleg e non

Inviato: 06/02/2015, 10:54
da janniz
caiusfabricius ha scritto: Giuste osservazioni ma, come già detto, anche se gli stati logici non sono altro che livelli di tensione tu ragioni troppo in campo analogico, quai siamo nel digitale :) La resistenza di pull-down sul RESET è messa proprio per costringere l'input ad uno stato logico basso quando è disconnesso dal resto del circuito od in tristate.E' probabile che i bootlegers hanno apportato questa modifica perché hanno notato un comportamento anomalo del circuito di sincronismo video .Prova a togliere la resistenza e vedi cosa succede.

Si, forse mi sono spiegato male.
Ho gia tolto la resistenza e ripristinato il condensatore. Quello che ottengo è un livello di tensione VIH a livello analogico maggiore (4,65 contro i 2,85 con la resistenza). In entrambi i casi il valore viene correttamente interpretato con VIH (sopra 2V TTL è sempre valore logico alto). A prima vista l'immagine mi sembra più pulita e stabile dopo aver ripristinato il condensatore... quindi non capisco il motivo per quella resistenza. Non credo che serva per pilotare l'ingresso in caso di tristate perché altrimenti noterei malfunzionamenti nel sincronismo... Invece sia a video che su oscilloscopio il segnale mi sembra perfetto.
E' possibile, secondo la tua esperienza, che potesse invece essere stato utilizzato in maniera anomala per abbassare la tensione a fronte di un overvoltaggio alla sorgente?