[Repair log] Gemini Wing (bootleg)

Originali e sistemi Arcade (Naomi, SEGA Model, Triforce, Atomiswave, MVS, ecc.)
janniz
Nostalgico
Nostalgico
Messaggi: 368
Iscritto il: 08/10/2014, 11:11
Città: Torino

[Repair log] Gemini Wing (bootleg)

Messaggio da janniz »

Scheda avuta dal gentilissimo frame (ma è quasi certamente passata per le mani anche di tirino73) e dichiarata come non funzionate.
La scheda è composta da due PCB appaiate, una contenente le due CPU e le EPROM del codice e dei caratteri video, l'altra contente le EPROM degli sprite, degli sfondi, etc...
gemini_wing_01_01.jpg
gemini_wing_01_03.jpg
gemini_wing_01_05.jpg
Si tratta di un bootleg di Gemini Wing attualmente non presente nel mame. Su CityLan viene identificato come Gemini Wing (World, bootleg), ma alcune delle informazioni indicate dal dumper, Tirino73 (ipotizzo lo stesso utente che frequenta arcadeitalia) credo non siano del tutto corrette:
This romset comes from a faulty bootleg pcb.
Differences are: Notice screen removed.
Confirmed by renaming rom file and test on Mame.
Hardware info:
same as japanese version
Rom definition:
gww2-6c.bin -part of main program.
Rest of roms/eproms are identical to existing set (gemini)
Effettivamente l'unica ROM diversa rispetto al romset gemini.zip relativo alla versione Gemini Wing (Japan) è quella etichettata come G-2 in posizione 6C:

Codice: Seleziona tutto

C:\mame>mame64 -romident gemini_booleg.zip
Identifying gemini_booleg.zip....
G-1.BIN             = gw02-3h.rom           gemini     Gemini Wing (Japan)
G-10.BIN            = gw11-2na.rom          gemini     Gemini Wing (Japan)
G-11.BIN            = gw12-2nb.rom          gemini     Gemini Wing (Japan)
G-12.BIN            = gw13-3n.rom           gemini     Gemini Wing (Japan)
G-13.BIN            = gw14-1r.rom           gemini     Gemini Wing (Japan)
G-14.BIN            = gw15-2ra.rom          gemini     Gemini Wing (Japan)
G-15.BIN            = gw16-2rb.rom          gemini     Gemini Wing (Japan)
G-16.BIN            = gw17-3r.rom           gemini     Gemini Wing (Japan)
G-2.BIN             NO MATCH
G-3.BIN             = gw05-6s.rom           gemini     Gemini Wing (Japan)
G-5.BIN             = gw06-1c.rom           gemini     Gemini Wing (Japan)
G-6.BIN             = gw07-1d.rom           gemini     Gemini Wing (Japan)
G-7.BIN             = gw08-1f.rom           gemini     Gemini Wing (Japan)
G-8.BIN             = gw09-1h.rom           gemini     Gemini Wing (Japan)
G-9.BIN             = gw10-1n.rom           gemini     Gemini Wing (Japan)
Out of 15 files, 14 matched, 1 did not match.
Non mi pare pero' che ci sia alcuna notice screen nella versione originale. Inoltre il file G-2.bin differisce da gw04-5s.rom solamente per due byte:
Edit: Avevo sbagliato a decompilare le due porzioni di codice differenti. La sostanza non cambia, ma per correttezza ecco gli opcode giusti (quelli sbagliati sono nel blocco sotto... in bianco per non far confusione):

Codice: Seleziona tutto

 ----------------------------------------------------------------------------------------------
|  offset | byte                | opcode                                                       |
|---------|---------------------|------|------------------------|------------------------------|
|         | originale | bootleg |      | originale              | bootleg                      |
| 0xa4a   | 0x1F      | 0x6F    | 0A48 | 21 EF 1F - ld hl,$1FEF | 21 EF 6F - ld hl,$6FEF |
| 0xa4e   | 0xFA      | 0xAA    | 0A4D | CD FA A5 - call $A5FA  | CD AA A5 - call $A5AA  |
 ----------------------------------------------------------------------------------------------

_______________________________________________________
offsetbyteopcode originalebootlegoriginalebootleg 0xa4a0x1F0x6Frrald l,a 0xa4e0xFA0xAAjmp m,$21A5xor d -------------------------------------------------------
[/color]
e vista la tipologia di cambiamento negli opcode ritengo probabile che possa trattare solamente di un glitch nella ROM. Purtroppo la scheda da cui Tirino73 ha effettuato il dump è la medesima in mio possesso (immagini tratte dalla pagina del dump su CityLan:
gemini_wing_01_31.jpg
gemini_wing_01_32.jpg
quindi sarebbe necessario recuperare un'altra scheda per poter fugare ogni dubbio.

Altra differenza notevole rispetto all'originale è la mancanza della ROM per i samples ADPCM (e suppongo anche l'integrato MSM5205 per la sintesi vocale).

Modifiche “dell'ultimo minuto”
In questo caso troviamo due sole modifiche abbastanza semplici. Vale a dire:

Una resistenza di pull-up sull'uscita (pin8) della OR3, sul quattro porte OR 74S32 in H6. La serigrafia sul PCB indica che il progetto richiedesse una porta 74ALS32, quindi questa modifica potrebbe essere stata necessaria per bilanciare le caratteristiche diverse della famiglia 74SXX rispetto alla 74ALSXX (Forse il fanout? Dal datasheet mi parebbe essere l'unica cosa peggiorativa delle 74SXX rispetto alle 74ALSXX):
gemini_wing_01_48.jpg
La seconda modifica connette in cascata due contatori 74LS161. Probabilmente serve a correggere un problema di progettazione del PCB:
gemini_wing_01_53.jpg
Ispezione visiva
La scheda è già stata probabilmente oggetto di un tentato intervento di riparazione in quanto praticamente tutti gli integrati sono marchiati con il simbolo "/" oppure "X", utilizzati, ipotizzo, per indicare rispettivamente gli integrati che hanno superato il test e quelli che non lo hanno superato.

In un angolo, evidenziato con un pennarello indelebile, c'è l'indicazione 5,3V. Tuttavia io non ho rilevato particolari problemi pur alimentandola a 5V.

La scheda, a una prima ispezione visiva, appare in uno stato di conservazione tutt'altro che buono, ha subito molti danni da stoccaggio/trasporto e molti dei condensatori risultano essere parzialmente divelti o addirittura mancanti:
gemini_wing_01_06.jpg
gemini_wing_01_07.jpg
gemini_wing_01_09.jpg
Di seguito l'elenco dei condensatori che sono stati oggetto di intervento di riparazione:

Codice: Seleziona tutto

_________________________________________________________________________________
| Valore                    | ID       | Intervento                               |
|---------------------------|----------|------------------------------------------|
| 100nF (Ceramico)          | C11, C29 | Sostituito, Rimosso                      |
| 220uF@16V (Elettrolitico) | C1, C54  | Sostituito/Mancante, Risaldato           |
| 1nF@100V (Ceramico)       | C41      | Risaldato                                |
| 470uF@16V (Elettrolitico) | C42, C58 | Sostituito/Mancante, Sostituito/Mancante |
| 10uF@50V (Elettrolitico)  | C53      | Risaldato, ricostruita pista divelta     |
 ---------------------------------------------------------------------------------
I condensatori C29 e C30 sono, per quanto ho modo di sapere, prettamente inutili, infatti hanno entrambi i poli connessi allo stesso nodo e quindi sono perennemente cortocircuitati:
gemini_wing_01_13.jpg
gemini_wing_01_16.jpg
Decido pertanto di non rimpiazzare il condensatore C29 che aveva un pin spezzato.

Gli elettrolitici sono stati già sostituiti quasi tutti in periodo abbastanza recente e quindi decido di non cambiarli. Mi sono comunque trovato a dover rifare molte delle saldature fredde sugli elettrolitici.

Un altro danno apparentemente abbastanza evidente riguarda una pista, forse parzialmente danneggiata in un precedente tentativo di riparazione, ed ora del tutto disconnessa dal PCB a causa della pressione esercitata dal reoforo dell'elettrolitico C53:
gemini_wing_01_15.jpg
Da una prima verifica con il tester sembrerebbe esserci continuità. Tuttavia, per sicurezza ho preferito comunque aggiungere un cablaggio tra i due punti coinvolti.

Malfunzionamento
La scheda presenta evidenti malfunzionamenti video per quanto riguarda la visualizzazione degli sprite delle astronavi e dei nemici, palette errata, come evidenziato nella schermata di test iniziale e sonoro assente. Inoltre viene rilevato un malfunzionamento su RAM4:
gemini_wing_01_12.jpg
gemini_wing_01_21.jpg
http://www.youtube.com/watch?v=XTEYFBJbDh8
http://www.youtube.com/watch?v=uBbJqtt2kRs

Interventi effettuati
Il primissimo intervento effettuato è consistito nella sostituzione di tutti i condensatori danneggiati e nel ripristino della pista incerta evidenziata sopra, anche se, verificando con il tester veniva comunque evidenziata continuità elettrica.

Sprite
Decido quindi di concentrare i miei sforzi cercando di individuare l'errore agli sprite. Analizzando i dati in mio possesso ritengo che possa essere plausibile che un guasto ad uno dei banchi SRAM possa causare un problema del genere. Tale ipotesi viene suffragata anche dal fatto che il test iniziale rilevi come malfunzionante quello che indica come RAM4.
Procedo quindi zoccolando e testando tutti i banchi di memoria TMM2016 (SRAM 2k X 8 ) presenti sul PCB degli sprite e purtroppo l'operazione si rileva lunga e quantomai infruttuosa.
Non avendo ottenuto risultati apprezzabili riparto dal principio e ricomincio a guardare con attenzione la scheda degli sprite. Ho così modo di vedere una importante zona del PCB occupata da banchi di DRAM LM3364-15 che funzionalmente dovrebbero essere l'equivalente dei 5164-15 serigrafati sul PCB. Esse sono DRAM (64k x 1) e dovrebbero essere utilizzate per renderizzare gli sprite. Tuttavia dopo attenta riflessione ritengo che non sia quella la strada giusta da esplorare. Infatti il taglio di questi banchi di memoria richiederebbe un errore massivo su più integrati per presentare gli errori evidenziati dal gioco, cosa che, seppur non impossibile, mi pare decisamente remota.
Abbandonata la strada di un guasto alle memorie decido che sia il caso di verificare la zona delle EPROM relative agli sprite (G-5, G-6, G-7, G-8). Pensadoci su in effetti il difetto evidenziato potrebbe essere anche causato da un danno ad una linea indirizzi di una delle EPROM, ed infatti, dopo attenta analisi del PCB rilevo due possibili colpevoli che avevo trascurato inizialmente. La pista indicata in fotografia è interrotta, anche se apparentemente sembrerebbe aver perso solamente lo strato isolante superiore:
gemini_wing_01_22.jpg
E bingo!!! Riecco le navicelle di Gemini Wing e i relativi nemici in tutto il loro splendore:
gemini_wing_01_30.jpg
Sonoro
Corretto il problema agli sprite il passo d'obbligo successivo è quello di dedicarmi al ripristino del sonoro. In questo caso, tanto per bilanciare le difficoltà nel ripristino degli sprite, ho gioco facile. Non essendo riuscito a leggere la EPROM G-4 (difettosa, mi viene rilevata con un pin costantemente in alta impedenza), localizzata in maniera fortemente sospetta vicino all'integrato YM3812, e tra l'altro marchiata con una grande X argentata il livello di dubbio su dove sia localizzato il guasto è molto basso :-):
gemini_wing_01_25.jpg
Il sospetto si tramuta in certezza dopo aver scritto una nuova EPROM con il contenuto della ROM gw03-5h.rom prelevata dal romset gemini.zip del mame.

Palette
Sistemati sprite ed audio non mi resta che concludere la riparazione riparando il guasto alla palette che ancora permane. Questa volta decido di sfruttare il lavoro già fatto per me da chi ha tentato la riparazione in precedenza e mi concentro su questo banco di SRAM 2148 (1k x 4) localizzato in L8 e il cui marchio 'X' sembra dirla lunga:
gemini_wing_01_56.jpg
Dopo aver zoccolato l'integrato in oggetto (operazione non indolore perché inavvertitamente mi sono portato via una pista che non si era staccata del tutto da uno dei pin, e quindi sono stato costretto a ricrearla) ho modo di verificare che i tre integrati 2148-55 posti rispettivamente in posizione J8, K8, L8 sono utilizzati per memorizzare le componenti di palette relative al rosso, al verde e al blu. Non avendo pero' un equivalente di ricambio sono costretto ad ordinarne alcuni e devo interrompere questa riparazione per alcuni giorni.

Quando finalmente mi arrivano i ricambi rimpiazzo la SRAM:
gemini_wing_01_33.jpg
con risultati apprezzabili solo parzialmente.
gemini_wing_01_26.jpg
gemini_wing_01_35.jpg
La palette sembra migliorare, ma il quadro colore nella pagina di test ancora non è corretto e, soprattutto, l'indicazione RAM4 ERROR capeggia ancora visibilmente in cima alla pagina :-/. Molto scettico procedo quindi alla sostituzione anche dei banchi relativi alla gestione delle componenti rossa e verde e come mi aspettavo non ottengo miglioramenti di sorta.
Osservando con attenzione l'immagine indicante il quadro colore della palette noto alcuni aspetti importanti:
  • La palette non sempre appare identica
  • L'unica componente difettosa è quella relativa al blu
Non essendo un problema relativo al banco di SRAM, puo' trattarsi solamente di un problema di bus dati oppure indirizzi.
Procedo quindi ponticellando a due a due prima le linee dati, e poi le linee indirizzi per vedere se riesco a ricondurmi ad un pattern che mi ricordi l'errore attualmente presente. Così facendo ho modo di constatare che, se ponticello brevemente la linee dati IO4 con WE* (conesso fisso a ground), permane l'errore RAM4, pero' la palette sembra essere corretta, ed in effetti lo sfondo del gioco passa dal blu al nero!!!
Certo di aver trovato il mio colpevole seguo la linea relativa a IO4 lungo il PCB e rilevo quindi una problematica a me nuova. La linea segue un percorso abbastanza breve e termina connessa al latch 74LS374. Tuttavia sul piedino dell'integrato NON rilevo continuità elettrica con la pista sottostante. Probabilmente la pista è interrotta in qualche punto, ma anche analizzandola minuziosamente non sono riuscito a capire dove.

Ripristino il collegamento:
gemini_wing_01_39.jpg
anche l'ultimo errore svanisce come neve al sole:
gemini_wing_01_38.jpg
Dopo aver quindi ripristinato il bus dati correttamente provo a rimettere i banchi di SRAM originali e con grande piacere noto che sono tutti e tre perfettamente funzionanti (Anche quello con l'infamante lettera scarlatta, ops, argento).

Termine della riparazione
Termino la riparazione fermando con del nastro di carta i cablaggi che sono stati effettuati:
gemini_wing_01_46.jpg
gemini_wing_01_47.jpg
Sono fortemente dubbioso sull'utilità di questa ultima operazione. Da un lato non mi piace avere i fili beanti per la scheda, il rischio di agganciarli o strapparli è veramente molto alto; dall'altro ho visto schede con del nastro di carta quasi vulcanizzato e questo è male... boh... diciamo che sto sperimentando!

Inoltre notando che soprattutto il PCB con li pettina jamma appare molto imbarcata verso il centro, quasi certamente a causa di umidità e peso dei componenti, provvedo a spessorare con del polistirolo la spazio tra i due PCB per evitare danni futuri dovuti a saldature deboli che saltano e simili (E anche questo non è del tutto adeguato, avrei dovuto cercare del materiale antistatico, ma come detto prima, per ora sono nel campo degli esperimenti) :
gemini_wing_01_49.jpg
Vecchio post - Parte rimossa/non più attuale:
Oggi avevo iniziato la stesura di questo post, con l'intento di fare cosa gradita agli utenti del forum che apprezzano i repair log.

Il post iniziava più o meno così:

Scheda avuta da frame (ma è certamente passata per le mani anche di tirino73) e dichiarata come non funzionate.
La scheda è composta da due PCB appaiate, una contenente le due CPU e le EPROM del codice e dei caratteri video, l'altra contente le EPROM degli sprite, degli sfondi, etc...


Tuttavia visti i recenti provvedimenti presi nei confronti dell'utente frame che mi aveva molto gentilmente fornito la scheda ho deciso di posticipare il completamento di questo repair log, in segno di rispetto nei suoi confronti, nell'attesa che egli possa nuovamente essere con noi e possa leggere come è andata a finire...

So che con questo post mi creerò probabilmente numerose inimicizie e forse, anche se spero di no, richiami e/o ban, ma pur senza voler mancare di rispetto o provocare in alcun modo lo staff e gli admin, di cui io in primis apprezzo il notevole lavoro, lo ritengo un atto dovuto nei confronti di un utente che, per quello che ho avuto modo di vedere, sta forse scontando in modo eccessivo le sue colpe.

Detto cio', se siete interessati, segnatevi il post che appena torna frame si ritorna a ballare :D

ATTENZIONE: Questo non vuole essere un post pro o contro frame, quindi pregherei tutti di evitare di scrivere commenti sulla questione... Se volete rispondere al post gradirei lo faceste solo ed esclusivamente in merito a quello che sarà il suo reale contenuto... vale a dire il repair log di Gemini Wing!
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Ultima modifica di janniz il 08/07/2015, 16:43, modificato 9 volte in totale.
Avatar utente
frame
Banned
Banned
Messaggi: 1599
Iscritto il: 20/01/2014, 23:10
Città: Arcore
Grazie Ricevuti: 1 volta

Re: [Repair log] Gemini Wing (bootleg)

Messaggio da frame »

..anche se faccio una fatica mostrusa per mia ignoranza, e prima di te Pull (up o down che siano) lo trovavo scritto sul lato opposto della porta col "Push", ti dico che, se vorrai metterlo, il log di riparazione lo leggo sempre con interesse e ammirazione verso chi, come te, è padrone della (a me) occulta materia.
Immagine ...cerco il vetro di Astro Wars & Vanguard Zaccaria..
janniz
Nostalgico
Nostalgico
Messaggi: 368
Iscritto il: 08/10/2014, 11:11
Città: Torino

Re: [Repair log] Gemini Wing (bootleg)

Messaggio da janniz »

frame ha scritto:..anche se faccio una fatica mostrusa per mia ignoranza, e prima di te Pull (up o down che siano) lo trovavo scritto sul lato opposto della porta col "Push", ti dico che, se vorrai metterlo, il log di riparazione lo leggo sempre con interesse e ammirazione verso chi, come te, è padrone della (a me) occulta materia.
...arriva, arriva... putroppo scrivere questi post mi porta via sempre almeno due o tre ore di tempo (quando come in questo caso parto da appunti già masticati, altrimenti impiego anche il doppio abbondante), quindi devo trovare il momento giusto per riuscire a farlo :P
janniz
Nostalgico
Nostalgico
Messaggi: 368
Iscritto il: 08/10/2014, 11:11
Città: Torino

Re: [Repair log] Gemini Wing (bootleg)

Messaggio da janniz »

Repair log inserito... finalmente :D
Al solito attendo commenti e/o critiche (purché costruttive :P)

Ciao a tutti...
Avatar utente
baritonomarchetto

Donatore
God of Arcade
God of Arcade
Messaggi: 2965
Iscritto il: 12/11/2008, 14:40
Medaglie: 1

Re: [Repair log] Gemini Wing (bootleg)

Messaggio da baritonomarchetto »

Ottimo lavoro! Questi sono i topici che dovrebbero essere pinnati (altro che top seller ;))
Avatar utente
frame
Banned
Banned
Messaggi: 1599
Iscritto il: 20/01/2014, 23:10
Città: Arcore
Grazie Ricevuti: 1 volta

Re: [Repair log] Gemini Wing (bootleg)

Messaggio da frame »

baritonomarchetto ha scritto:Ottimo lavoro! Questi sono i topici che dovrebbero essere pinnati (altro che top seller ;))
Concordo... purtroppo Baritonomarchetto al "circolo virtuoso" non ci si viene nemmeno più per un campari con du fave lesse pre cena :(
Immagine ...cerco il vetro di Astro Wars & Vanguard Zaccaria..
Avatar utente
hishaq1

Gold Medal Silver Medal Bronze Medal Record italiano
Cab-dipendente
Cab-dipendente
Messaggi: 674
Iscritto il: 03/09/2013, 14:31
Medaglie: 11
Città: alghero
Grazie Inviati: 1 volta
Grazie Ricevuti: 1 volta

Re: [Repair log] Gemini Wing (bootleg)

Messaggio da hishaq1 »

Complimenti i tuoi post sono davvero interessanti sopratutto per chi come me e' affascinato dai vari funzionamenti delle pcb.continua cosi' che vai alla grande ;)

"THE FUTURE IS NOW"
Avatar utente
kilik81
Cab-dipendente
Cab-dipendente
Messaggi: 594
Iscritto il: 30/08/2008, 18:45
Grazie Ricevuti: 1 volta

Re: [Repair log] Gemini Wing (bootleg)

Messaggio da kilik81 »

Anche secondo me questi topic vanno messi in evidenza! Altimenti finiscono nel dimenticatoio. Sono davvero interessanti, bravo!
janniz
Nostalgico
Nostalgico
Messaggi: 368
Iscritto il: 08/10/2014, 11:11
Città: Torino

Re: [Repair log] Gemini Wing (bootleg)

Messaggio da janniz »

Grazie mille a tutti per i complimenti... :love:
Avatar utente
frame
Banned
Banned
Messaggi: 1599
Iscritto il: 20/01/2014, 23:10
Città: Arcore
Grazie Ricevuti: 1 volta

Re: [Repair log] Gemini Wing (bootleg)

Messaggio da frame »

Dai tanto per scontato comunque...

Cos'è un glitch? Cos'è un latch?
Come si zoccola? ...e come si ponticella brevemente?
Immagine ...cerco il vetro di Astro Wars & Vanguard Zaccaria..
Rispondi

Torna a “PCB Jamma e sistemi Arcade”