Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trGenel KategoriProjeTexas Instruments'a hürmetlerimizle
Sayfa: [1] 2 3   Aşağı git
Yazdır
Gönderen Konu: Texas Instruments'a hürmetlerimizle  (Okunma Sayısı 18841 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
i_r_on
Uzman
*****
Mesaj Sayısı: 2.865



Üyelik Bilgileri WWW
« : Aralık 15, 2015, 23:49:01 ÖS »

Alınık TMS9918 konusunda hatırlarsınız 10'lu paketlerde satılan TMS video çipleri için kendime ortak arıyordum. Sağolsun delimawi yarısına talip oldu, nihayetinde TMS9929 tercih ettik (ettim aslında biraz) ve mallar elimize ulaştı.

İnsan hakikaten bazı şeylere ancak işin içine girince uyanıyor. Öncelikle video çıkışının PAL ve YPbPr olmasının görüntü kalitesi ve Avrupa uyumu açısından tercih edilesi bir şey olduğunu düşünmekte iken şu günlerde lan NTSC destekliyor bizim televizyonlar, niye composite çıkışlı TMS9918'i tercih etmedim demiyor değilim.

Gerçi şöyle bir durum var, ilk denemeler için kablo sayısı 1'den 3'e çıksa da component destekleyen bir tv ile kullanma şansı var.

İkinci golü sıcağı sıcağına 20. yüzyılın Güngören'inde Dram dediğin şey Dram'dır kardeşim diyerek sipariş ettiğim  TMS4416 16Kx4bit dram'lerden yedim. Plan şuydu : Datasheet'te 16k elde etmek için 8 adet 4116 (16Kx1bit) kullanılmakta. Bendeki çakallık 8 çip yerine 2 çiple hallederim bu işi demek oldu.

İşin içine girince işin tam da düşündüğüm şekilde olmadığı anlaşıldı.

Aşağıdaki şekilde çipin pinout'una bakınca aslında gör beni, gör beni diyor resmen.

Kod:
       +----+--+----+
  RAS* |1 o       40| XTAL2
  CAS* |2         39| XTAL1
   AD7 |3    T    38| CPUCLK        R-Y  on TMS9928A/TMS9929A
   AD6 |4    M    37| GROMCLK
   AD5 |5    S    36| COMVID        Y    on TMS9928A/TMS9929A
   AD4 |6         35| EXTVDP        B-Y  on TMS9928A/TMS9929A
   AD3 |7    9    34| RESET*/SYNC
   AD2 |8    9    33| Vcc
   AD1 |9    1    32| RD0
   AD0 |10   8    31| RD1
  R/W* |11   A    30| RD2
   Vss |12        29| RD3
  MODE |13        28| RD4
  CSW* |14        27| RD5
  CSR* |15        26| RD6
  INT* |16        25| RD7
   CD7 |17        24| CD0
   CD6 |18        23| CD1
   CD5 |19        22| CD2
   CD4 |20        21| CD3
       +------------+

Biraz ön bilgi vermekte fayda var. Bu görüntü çipinin her ne kadar sistemdeki clock sinyallerini sağlasa da VIC-II gibi bus'ın master'ı ben olacağım, istediğim cycle'ları yerim, topunuzu keserim ulen gibi bir iddiası yok. Azıcık aşım, ağrısız başım şeklinde takılan bir çip, kendi belleğini istiyor, sistemin belleğine karışmıyor. Address bus'a falan da doğrudan bağlanma gereksinimi yok, portlarım buralar, buralardan beni okur yazarsın diyor.

Bu önbilgiden sonra gelelim RAM seçme olayına. Dikkat edilirse 3 tane 8 bit'lik portu var.

AD0..AD7 : DRAM interface'i için Adres yahut Data gönderimi için kullanılıyor
RD0..RD7 : DRAM interface'inde bellekten data okumak için kullanılıyor
CD0..CD7 : Cpu interface'inde okuma ve yazma için kullanılıyor

Bunlar da sırasıyla 4116 ve 4416'nın pinout'ları. Uyumsuzluğun kaynağı dikkatinizi çekti mi?







4116 sadece 1 bit interface'i olan bir DRAM, 4416 ise 4 bit. Ancak bacaklara dikkatle bakıldığında 4116'da tek bitlik data hattının giriş ve çıkışı ayrı ayrı. 4416'da ise bir arada. Yani biri unidirectional, diğeri ise bidirectional. Bu tip bellek/latch/sayıcı gibi entegre pin dizilimlerinde genel standart şu : Giriş olan pin'ler D ile, çıkış olan pin'ler ise Q ile gösteriliyor. Hem giriş hem de çıkış söz konusu ise pin DQ ile betimleniyor.

TMS'deki mühendisler sağolsun Dram interface'inde belleği adreslerken ve yazarken AD0..AD7 portunu kullanmayı tercih etmişler, okurken de RD0..RD7 portunu. Yani bunların ilgili Dram'e ayrı ayrı bağlanmaları gerekiyor. (Ya da bağlayan kişi ekstra logic ile bu işi halletmeli)

4416 kullanmak ciddi handikap. 8 adedinden ancak bir 16k elde ediliyor ilaveten 5V'a ek olarak -5V ve 12V gereksinimi de var.

Daha yoldayken kullanamayacağımızı anladığımız 4416'lara alternatif ne peki?

Sağolsun birileri uğraşmış, normal şartlarda CAS / RAS sinyalleri ile multiplex edilen interface'i 74574 latch ve bir adet 7404 ile SRAM'e uygun hale getirmiş.

Dokümanı şurada : http://retrobrewcomputers.org/n8vem-pbwiki-archive/0/35845334/48860720/33053543/SRAM%20Replacement%20for%20TMS99x8%20VRAM.pdf

Kolay temin edilebilecek parçalarla kurtarıyoruz Dram interface'ini bu şekilde. TMS'nin bu video çipinin bir gereksinimi de 10,738 MHZ bir kristal istemesi. Tabii dönüp aradığınızda pek çok yerde bulamıyorsunuz. Pratiğini bilmiyorum ancak 0.005 tolerans tanımışlar. Benim anladığım 10,684 - 10,791 aralığında bir kristal iş görüyor. Piyasada şansımıza  10.695 MHz ve 10.734 MHz kristal mevcut. Deneyeceğiz bakalım iş görecekler mi.

Sram interface'inin breadboard üzerinde kısmen kablolanmış hali aşağıdaki şekilde.



* 4116.png (12.44 KB, 232x128 - Görüntüleme: 2702 kez.)

* TMS4416-pinout.jpg (8.2 KB, 181x153 - Görüntüleme: 2870 kez.)

* 20151215_230552.jpg (82.29 KB, 800x450 - Görüntüleme: 2828 kez.)
« Son Düzenleme: Aralık 16, 2015, 00:09:56 ÖÖ Gönderen: i_r_on » Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
i_r_on
Uzman
*****
Mesaj Sayısı: 2.865



Üyelik Bilgileri WWW
« Yanıtla #1 : Aralık 16, 2015, 00:14:14 ÖÖ »

Şimdi diyebilirsiniz ki proje bunun neresinde? Proje aslında bu çiplerden 1 tanesini yahut 1'den fazlasını (Çipin video input özelliği var bir tanesinde transparan olan bölgede input'a bağlı diğer çipin ürettiği görüntüyü gösterebiliyor) tamamen özel tasarım bir bilgisayarda kullanmak şeklinde. Değişik projeler çıkabilir buradan ancak benim ilk amacım öncelikle bu çipten benim hali hazırda bir adet 6502 içeren sid player devresine entegre edip televizyonda görüntü almak. Sonrasında ise bu çiplerden 1 veya 1 kaçı ile custom bir arcade oyunu üretmek. Donanım kısmını bir şekilde hallederiz gibi geliyor ancak oyun yazma kısmı nasıl olur onu bilemiyorum
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
witchdoktor
Uzman
*****
Mesaj Sayısı: 5.445



Üyelik Bilgileri
« Yanıtla #2 : Aralık 16, 2015, 14:37:52 ÖS »

@i_r_on

TMS9918 kullanmaktaki amacın kolay bulunabilmesi ve arabirim kurma kolaylığı mıydı? Ben C64 zamanlarında 32 sprite desteği nedeniyle MSX'e özenirdim, ta ki aradan 10-15 yıl geçtikten sonra bir scanline'de 4 sprite limiti olduğunu ve sprite genişliğinin 16 pixel olduğunu öğrenene kadar. Yani bu çip o kadar da kullanışlı değil aslında.
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.865



Üyelik Bilgileri WWW
« Yanıtla #3 : Aralık 16, 2015, 15:10:08 ÖS »

@i_r_on

TMS9918 kullanmaktaki amacın kolay bulunabilmesi ve arabirim kurma kolaylığı mıydı? Ben C64 zamanlarında 32 sprite desteği nedeniyle MSX'e özenirdim, ta ki aradan 10-15 yıl geçtikten sonra bir scanline'de 4 sprite limiti olduğunu ve sprite genişliğinin 16 pixel olduğunu öğrenene kadar. Yani bu çip o kadar da kullanışlı değil aslında.

Evet çok da kullanışlı değil, delimawi ile yazışmıştık bunu. Smooth scroll olayı da yok bildiğim kadarıyla. Ancak dediğin gibi arabirimi kolay, temin etmesi kolay. Hızlı bir cpu ile bazı eksiklikleri de giderilebilir. İlaveten bahsettiğim çıkışları cascade etme olayı nasıl bir şey çıkaracak onu da çok merak ediyorum.

Bir de farklı bir şeyle uğraşma isteği de var işin içinde
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
witchdoktor
Uzman
*****
Mesaj Sayısı: 5.445



Üyelik Bilgileri
« Yanıtla #4 : Aralık 16, 2015, 15:18:55 ÖS »

Aslında muhtemelen bundan da kolay interface edebileceğin bir çip C128'in VDC-8563 olurdu. Yine in-out port mantığıyla çalışan, üzerinde 16K veya 64K RAM barındıran bir çip bu.
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.865



Üyelik Bilgileri WWW
« Yanıtla #5 : Aralık 16, 2015, 22:12:57 ÖS »

VDC 8563 hiç dikkatimi çekmemişti. Ancak onun temin edilebilirliği ciddi anlamda sorun olur. Baktığımda yüksek çözünürlükler destekliyor ancak grafik anlamda TMS'den de zayıf bir çip.

TMS'nin güzel tarafı bugün arduino'dan tv out yapmaya kalksan bile kullanabileceğin bir çip. Stok durumu da fena değil, öyle retro fiyatları yok. Tanesi 4-5 tl'ye falan geliyor.

Msx2'de kullanılan Yamaha V9938 diye bir çip var, bunun özellikleri daha iyi ancak bu da pahalı. Tanesi 30-40 tl'ye geliyor.

https://en.wikipedia.org/wiki/Yamaha_V9938

Gerçi tek sefer yapılacak bir arcade pcb'sinde kullanılabilir. Ama amaçlardan biri de başkalarının da yapabileceği bir şekilde çıkarmak bu işi.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #6 : Aralık 17, 2015, 11:38:03 ÖÖ »

Devreyi kurmaya başlamışsın. NAsıl gidiyor, görüntü alabildin mi?
Ben daha tembel tembel düşünüyorum nasıl birşeye başlasam diye...
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
i_r_on
Uzman
*****
Mesaj Sayısı: 2.865



Üyelik Bilgileri WWW
« Yanıtla #7 : Aralık 17, 2015, 11:44:34 ÖÖ »

Devreyi kurmaya başlamışsın. NAsıl gidiyor, görüntü alabildin mi?
Ben daha tembel tembel düşünüyorum nasıl birşeye başlasam diye...

Şu an için sadece SRAM interface'ini kabaca yaptım, kristali takıp benim sid player board'una bağlamak için de biraz kablolama lazım. Sonrasında iş yazılım ve test. Bluemavi'den pcb'ye takılabilen rca soketlerden aldım, belki TMS'yi header'lı küçük bir perfboard'a koyup breadboard'a öyle takabilirim. 3 tane rca kablo ile çok fazla uğraşmamış olurum.
Logged

Every imagination is one's self reflection but not every self reflection is imagination. <I.R.on - 2001>

twitter | blog
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #8 : Aralık 17, 2015, 12:07:47 ÖS »

Ben de delikli pertinaksa bir board yapmayı planlıyorum. Board'a takılacak şekilde header bırakacağım. SRAM vb siparişleri verdim. Herhalde yarın gelir, vakit olursa haftasonu kurarım devreyi.

Ben de kristal bulamadım. Nasıl çözeceğim o işi bilmiyorum. Eldeki eski boardlara bakacağım belki birşey çıkar... :/
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #9 : Aralık 17, 2015, 12:48:55 ÖS »

Devreyi kurmaya başlamışsın. NAsıl gidiyor, görüntü alabildin mi?
Ben daha tembel tembel düşünüyorum nasıl birşeye başlasam diye...

Şöyle ZxSpectrum için birşeyler olsa nede güzel olur
Logged
eins
Uzman
*****
Mesaj Sayısı: 1.816


A.K.A. deliMawi


Üyelik Bilgileri
« Yanıtla #10 : Aralık 17, 2015, 13:50:27 ÖS »

Spectrum dan hiç anlamam ben. Belki i_r_on bişiler çıkartır o konuda... Kahkaha
Logged

Doberman ♦ megaOne ♦ HDMI-64 ♦ HDMI-520 ♦ NewSchool
witchdoktor
Uzman
*****
Mesaj Sayısı: 5.445



Üyelik Bilgileri
« Yanıtla #11 : Aralık 17, 2015, 14:15:36 ÖS »

Şöyle ZxSpectrum için birşeyler olsa nede güzel olur

Hades'in bir projesi vardı aslında, Z80 ile VIC-II çipini kullanmaya yönelik...
Logged
joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #12 : Aralık 17, 2015, 14:21:02 ÖS »

Şöyle ZxSpectrum için birşeyler olsa nede güzel olur

Hades'in bir projesi vardı aslında, Z80 ile VIC-II çipini kullanmaya yönelik...

evet Hades'den de heran bir atak bekliyoruz. İş yerinde biraz daha kafası rahatladı.
Logged
hades
Üye
****
Mesaj Sayısı: 344



Üyelik Bilgileri
« Yanıtla #13 : Aralık 17, 2015, 14:56:22 ÖS »

Son zamanlardaki DMA kontrolu bilgileri nedeniyle projede büyük bir değişikliğe gittim.
Öncelikle devreye PIC 18F4550 ekledim. İşin içine pic girince hazır pc başındayken pic basic pro öğrenmeye başladım.
Şu an itibariyle devrede pic18f4550, 2x74hct573, 4x74hct245, 1x74hct08, 1x74hct14, 1x74hct365, 1xZ80, 2x62256, 2x74hct139 bulunuyor.
Hem Eagle'a alışma süreci, hem picbasic pro öğrenme aşaması hem de tasarıma yönelik iyileştirmeler derken epeyce zaman geçiyor. Kullanacağım pic'te sd card ve usb uçlarıda var ama bunların yazılım işleri beni şimdilik aşıyor. Bir de pcbyi smd kılıfa göre çizeceğim.
Neyse konu başlığını daha fazla dağıtmadan ben kaçayım.
« Son Düzenleme: Aralık 17, 2015, 14:59:47 ÖS Gönderen: hades » Logged
joker_
Genel Yönetici
*****
Mesaj Sayısı: 2.122



Üyelik Bilgileri
« Yanıtla #14 : Aralık 17, 2015, 15:23:07 ÖS »

Son zamanlardaki DMA kontrolu bilgileri nedeniyle projede büyük bir değişikliğe gittim.
Öncelikle devreye PIC 18F4550 ekledim. İşin içine pic girince hazır pc başındayken pic basic pro öğrenmeye başladım.
Şu an itibariyle devrede pic18f4550, 2x74hct573, 4x74hct245, 1x74hct08, 1x74hct14, 1x74hct365, 1xZ80, 2x62256, 2x74hct139 bulunuyor.
Hem Eagle'a alışma süreci, hem picbasic pro öğrenme aşaması hem de tasarıma yönelik iyileştirmeler derken epeyce zaman geçiyor. Kullanacağım pic'te sd card ve usb uçlarıda var ama bunların yazılım işleri beni şimdilik aşıyor. Bir de pcbyi smd kılıfa göre çizeceğim.
Neyse konu başlığını daha fazla dağıtmadan ben kaçayım.


Proje çok kapsamlı olduğundan, tek başına kotarabilmen uzun zaman alacak

Aslında bu projeyi forumdaki deneyimli, işi bilen arkadaşlar birleşip ele alsa hem hızlı ilerler, hemde senin üzerindeki yük hafifler
Logged
Sayfa: [1] 2 3   Yukarı git
Yazdır
Gitmek istediğiniz yer: