Tam ohh be tüm sorunları hallettik galiba derken Fatal Fury'de görmediğim ancak Metal Slug'da dikkatimi çeken bir başka sorun daha tespit ettim...
Bazı görüntülerde pixel seviyesinde arızalar vardı...

Bu soruna dair internette herhangi bir şey bulamadım ancak neo-geo development wikide tek satırda anlatıldığı üzere eğer pixel seviyesinde görüntü problemi varsa bu "internal bus timing" sorunu olduğu anlamına gelirmiş.
Yani veri yolundaki bir zamanlama hatası.
Bu sorunu direk bir çipe veya hatta bağlamak zor zira sorun öyle satırda sütunda değil, tek bir pixel'de.
Bu sorunla bir kaç gün uğraştım. Denemelerim arasında bazı veri hatlarına (örn ODD EVEN satır seçimi yapan sinyali taşıyan hatta) osiloskobun prob'unu değdirdiğimde sorun ortadan kayboluyordu.

veya biraz şans eseri de olsa, voltajı kıstığımda... (4.85V seviyesine çektiğimde mesela)

Sorun ortadan kalkıyordu geçici olarak...

Zamanlama olayını derinlemesine düşündüğümde ve development wiki'deki zamanlama grafiklerini incelediğimde NEO-D0 çipinin aynı zamanda sistemdeki tüm değişik frekanslardaki clock sinyallerini 24Mhz'lik harici kristal osilatör kısmından alıp ürettiğini okudum...
Bu model Neo Geo'da 24Mhz'lik hazır bir osilatör kullanmak yerine bu klasik kristal osilatör devresini oluşturmuşlar.

Sorun NEO-D='dan olabilirmiydi acaba? Bu çipi Z80 hatası sebebiyle değiştirmiştim. Sorun değiştirdiğim çipte de olabilirdi zira çok küçük bir hata ve çipin geri kalan işlevlerini etkilemiyor olabilirdi. Belki de 1 Mhz'den bile daha az bir sapmadan dolayı oluyordu...
Neyse elimde boşta başka bir NEO-D0 yok. Yani çalışan kartlarım var tabii ama bir kaç pixel için zaten çalışan bir Neo Geo'yu bozamam. Ayrıca hem sorun bundansa ne olacak? Bir kartı çalışmaz hale getirip bir kartı tamir etmek, sıfıra sıfıra elde var sıfır...
Sonra, du bakalım dedim bir de ana osilatör kısmını ölçeyim dedim, bakalım tam 24Mhz'Mi veya potansiyel sorunu görebilirmiyim diye...
kristal osilatör kısmında ben osiloskop probunu kristale değdirince de sorunun ortadan kalktığını gözlemledim.
Önce kristali değiştirdim ancak sorun devam ediyordu.
Peki osiloskop probunu değdirmem ne anlama geliyordu? Osiloskop probunun iç direnci 10 MegaOhm seviyesinde. Yani herhangi bir voltaj kaçağına sebep olamaz.
Sonra aklıma geldi. Bu probların sadece direnç değeri değil bir de pico farad seviyesinde de olsa bir iç kapasitansı vardır

Kristalin, dokunduğumda sorunun yok olduğu bacağına 22 pF'lık bir ek mercimek kondansatör daha bağladım.

Bu sayede mevcut kullanılan 20pF'lık kondansatörün değeri 40pF'a çıkmış olacaktı. Bu muhtemel osilasyon frekansında az da olsa bir sapmaya sebep olacaktı teorik olarak (Zamanında bir yerlerde Sega Mega Drive 60Hz modu yapınca renk sinyalinin TV'nin anlayacağı seviyeye getirilebilmesi için osilasyon kısmına bir ayarlı kondansatör bağlanan bir yazı okumuştum)
Sonuç?

Bu ek kondansatör pixel sorunumu da çözdü.
Bu şekilde iğreti bir çözüm yerine 20pF'lık kondansatörü söküp yerine 47pF'lık tek bir kondansatör taktım.

Sonunda bu kartın tüm arızalarını tamir etmiş oldum. Tüm süreç bir haftadan fazla sürdü.
Neyse, işimiz bitmedi, yapacak bir kaç ufak detay daha var
