Merhaba,
Bugün 29F800 ler için bread board üzerinde kullanabilmek için bir adaptör yaptım. Yöntem aynı, mavi kağıda ütü ile baskı ve perhidrol + tuz ruhu banyosu.


Bu kartı önümüzdeki günlerde programlama testleri için kullanacağım.
Aynı zamanda daha önce yaptığım prototipe statik RAM ekleyerek, tam easyflash uyumluluğunu test ettim. Bu güne kadar board üzerinde kurduğum en karışık kartuş bu oldu. Hatta sadece kartuş da değil, neredeyse board üzerinde kurduğum en karışık devre oldu. Gerçi PCB'ye dökülünce çok ufacık basit birşey olacak ama kabarık montaj kabloları sanki marsa uzay aracı gönderiyormuşuz havası estiriyor masada.


Gel gelelim tam olarak çalışmadı.

Yani bazen doğru yazıyor RAM'e ancak her zaman değil. Hemen logic analyser'ı bağlayıp incelemeye başladım. Farkettim ki C64 tarafından gönderilen R/W hattını doğrudan RAM'in /WE hattına bağlamak iyi fikir değilmiş. (Teorik olarak bunun yeterli olması gerekiyordu aslında.) Neyse sorun aşağıdaki plotta görülebiliyor.

Birinci problem R/W hattında glitchler var. Bunlar hiç hoşuma gitmedi. Kırmızı OK ile işaretlediğim yerde bir tanesi net olarak görülebiliyor. Gerçi bu glitchler Phi2 low iken yani BUS erişim izini bizde değilken oluyor. Ama devrede şu an Phi2 kontrolu yok.
Ayrıca, RAM'in /WE hattı high olmadan önce ADRES ve DATA'nın stabil kalması gerekirken, /WE hattı high olmadan hemen önce DATA değişebiliyor. (Turuncu Plot) Bu durumda RAM bazı durumlarda bu değişmiş olan datayı saklıyor.
Neyse uzun lafın kısası, R/W hattı ne FLASH için ne de RAM için doğrudan kullanıma uygun değil. Ben de aşağıdaki şemada görülen devreyi yaptım.

Çok uzatmayacağım, bu bir sayıcı entegresi. Clock olarak DOT_CLOCK kullanıyor. (Yaklaşık 8MHZ). R/W Sinyali Low'a düştükten sonra saymaya başlıyor. Sayaç 2 ve 3 iken çıkışı Low yapıyor, yani aslında legal bir /WE sinyali üretiyor. Bu sinyali yeşil ile görebilirsiniz. Şimdi bu yeşil insyal ile sarıyı karşılaştıracak olursanız, sarı hem bozuk hem de çok geniş. Yeşil ise daha dar, ve low olduğu süre boyunca ADRES ve DATA stabil...
Neyse bunu da ekleyince gayet güzel çalıştı. Artık tam easyflash uyumlu bir prototipimiz oldu. Şimdi bunu yavaş yavaş PCB'ye dökme zamanı geldi sanırım.

Bu arada isim olarak "MegaOne" düşünüyorum. Ne de olsa kartuş 1 MegaByte... Ne dersiniz?
Son olarak protoip kartuşumuz üzerinde çalışan "Prince of Persia" ile iyi akşamlar demek istiyorum. Burada enteresan bir durum gözledim. Sağ alt taraftaki kırmız LED ler kartuşun aktif bankını binary olarak gösteriyor. Dikkat edin hiç durmuyor oyun boyunca, devamlı bank değiştirip birşeyler okuyor oyun...