Sprite'larda yatay sorunlar var. Fotoda pek belli olmuyor ama karakterlerin grafikleri belli aralıklarla tekrar ediyor.

Şimdi "The Main Event" in sevis kitapçığını internetten bulup test ekranlarına nasıl ulaşabileceğimi öğrenmem lazım...

Tamam bulduk, dip switch 3'ün üçüncü kontağını on yaparsak oyun test ekranında açılırmış...

Evet anlamıştık zaten. Ancak test ekranı sorunlu ROM'ların hangileri olduğunu belirterek bize oldukça yardımcı oluyor...
Bu konuyu biraz açayım isterseniz;
Bildiğiniz üzere bu eski arcade board'larda grafik, karakter (sprite) ve sesler ROM'larda depolanmış durumda. Ses problemlerini analiz etmek farklı (orayada geleceğiz maalesef) ancak grafik problemlerini analiz etmek nispeten kolay, şöyle ki...
Eğer sorun sadece arkaplan veya karakterlerde ise board'un ilgili kısımlarına odaklanabiliriz.
Eğer sorun dikey çizgiler şeklinde ise genelde ilgili ROM veya RAM'ın data yollarında veya bacaklarında veya RAM'in belli bir data kısmındadır diyebiliriz.
Eğer sorun yatay ise genelde sorun data değil adres yollarındadır. Yani adresleme yaparken (satır satır karakteri çizerken) doğru sayamaz, sırayı kaçırır veya başa dönerse şu an gördüğüm "yatay" tekrarlar veya atlamalar veya çizgiler oluşur...
Sorunlu ROM'lar bunlarmış...

Bunlar Konami tarafından fabrikada yazılmış OTP denilen özel bir türde EPROM'lar aslında. OTP: One Time Program, yani "Bir defa programlanabilen ROM". Bunları paldır küldür söküp yerine normal EPROM'lar yazmadan önce Willem EPROM programlayıcım ile okutup MAME setindeki ROM imajları ile karşılaştırıyorum ve bir sorun olmadığını görüyorum...
Peki test ekranı yalan mı söylüyordu? Sorun sanki bu ROM'ların kendisinde değil de bunlara giden hatlarda veya bu ROM'lara erişip gerçek okuma yazmayı yapan başka bir elemanda.
Hatları izleyince şüphelinin bu olabileceği ihtimali artıyor


Bu korkulu rüyamız "custom" bir çip. Yani Konami firması tarafından üretilmiş özel bir entegre. Kuvvetle muhtemel bir FPGA. Kodunu internette aratınca bunun "sprite generator" entegresi olduğunu buluyorum, yani sprite üreticisi, tam da aradığımız suçlu!!!
Bakalım sorun entegreden mi hatlardan mı? Bunu hızlıca anlayabilmek için logic prob'umu kullanıyorum. Tek tek karakter ROM'un adres hatlarındaki aktiviteyi kontrol ediyorum...

Kırmızı ve yeşil led'lerin pırpır etmesi güzel

Ancak 4'üncü adres hattı sabit olarak kırmızıda (yani hep 1)

Olay biraz daha netleşti... Bu hat hep 1 ise spriteları çizmek için adresleri sırayla sayarken bir noktadan sonra sayı ileleyemediği için başa dönüyor;
Örnek:
00: 0
01: 1
10: 2
11: 3
Eğer soldaki bit sorunlu ise:
10: 2
11: 3
10: 2
11: 3
Bu basit örnekle anlatmaya çalıştığım üzere 0'ıncı ve 1'inci satırların üzerine 2'inci ve 3'üncü satır bilgisi yazılıyor. Yani kendini tekrar eden bir patern oluşuyor...
Eğer logic probe'un ışıkları yanmıyor olsaydı ilgili adres hattı kopuk diyecektik. Ancak sürekli kırmızı led'in yanması (logic 1 yani +5 volt) ya hattın bir yerlere temas ettiğini ya da özel entegremizin 4'üncü adres hattının yanmış olduğu anlamına geliyor...
hatları mercekle takip ettim ve hiçbir başka yere temas etmiyor.
Maalesef sorun sprite generatorda...
Tesadüf ki elimde arızalı bir başka Main event board'u var

Umarım onun sprite generator'ı sağlamdır.
Sorunlu entegreyi ısı tabancası ile söküp lehim yerlerini temizliyorum...


Hastamız organ transferine hazır


Parçayı değiştirdikten sonra stresli bekleyiş ve power ON


Şlaaak!!!




