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)
Sayfa: 1 2 [3]   Aşağı git
Yazdır
Gönderen Konu: c 64 I/O Kartı  (Okunma Sayısı 14310 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
msvstpl
Üye
***
Mesaj Sayısı: 64


Üyelik Bilgileri
« Yanıtla #30 : Eylül 07, 2015, 22:39:23 ÖS »

Merhaba,

c 64 I/O kartı ile ilgili eksik bıraktığım konuları epeydir tamamlamak istiyordum. Belki gerçekten hort denilebilecek  bu projeyi Simonun cesaret verici ilgisine teşekkür ederek tamamlayayım.

Projenin ait olduğu yer burasıdır. Gönül rahatlığıyla kaldığım yerden devam edeyim:
Aşağıda cetvel kalem ve kağıt ile çizilmis şemalar var. Tabii.., henüz çalışabileceğim bir PC olmadığından atalardan kalma klasik yolu kullanmak zorundaydım.


*  (159.89 KB, 1226x874 - Görüntüleme: 1311 kez.)
Logged
msvstpl
Üye
***
Mesaj Sayısı: 64


Üyelik Bilgileri
« Yanıtla #31 : Eylül 07, 2015, 22:42:58 ÖS »

Bazı açıklamalar yapayım:

1-Pinlerden biri A0 yanmıştır. İkinci bir c64 olmadığından. Uygun değisiklik yapılmıştır(bit kaydırılmak zorunda  kalınmıştır ).

2-“Bir tarafına reçel sürülmüş ekmek dilimi halıya düştügünde daima reçelli tarafı altta kalacak şekilde düşer”. Son Bir pin’e ihtiyaç duyduğumda  ancak teyp unitesinin bir pininde bulabilmiştim.

3-Kullanılan malzemelerin hemen tamamı Topkapı bit pazarının henüz daha arsaya dökülmediği günlerde ,pazarın ışık girmeyen karanlık dehlizlerinde topladığım eski kartlardan sökümle elde edilmiştir. Kartları bu malzemelerle yaptım. Opto-coupler  ve user port, data set konektörleri piyasadan alınmadır.

 (TTL serisi entegrelerin söküm esnasında düz uçlu yüksek watlı havyanın sıcaklığına  ,tornavida vb. aletlerle birkaç yönden uygulanan ve hoyrat demenin nazik bir kelime kalacağı şiddetli darbesel kuvvetlere dayanmasına, lehim kenarlarında korozyona uğramış haliyle perçinlerin içinden  canı yanmış bir şekilde inleyerek ve ciyaklayarak yerinden sökülmesine  , sonra hiç bir şey olmamış gibi   sapasağlam kullanılmak üzere sizi beklemesine  hayranlık ve takdir  duymamak mümkün değildir). 


* c 64 input output kart 1.jpg (195.43 KB, 1226x874 - Görüntüleme: 1253 kez.)

* c 64 input output kart 2.jpg (176.14 KB, 1226x874 - Görüntüleme: 1548 kez.)
Logged
msvstpl
Üye
***
Mesaj Sayısı: 64


Üyelik Bilgileri
« Yanıtla #32 : Eylül 07, 2015, 22:48:31 ÖS »

Bazı bilgi ve cevapları vereyim:

Arduino benzeri bir proje olması doğrudur , ama yapıldığı zaman için ( 8 bit işlemci için ise bugün de) ‘çok güçlü’ bir HI-RES ekranın varlığı (hem commodore’u, hem de projeyi )  kolay iletişim kurabilir  kulanıcı dostu hale getiriyordu. c64 ‘ün çağdaşı mikroişlemciler içinde öne çıkartan özelliklerinden  birinin bu ekran tasarımının olduğu şüphesizdir. Görselliğin artması mikroişlemciyi zengin bir olasılıklar dünyasının içine sokuyordu. Pek çok kişinin bu renkli ekranın büyüsüne kapıldığını , ekranı oluşturan  VİC’ e ulaşarak yaratıcılık sınırlarını zorladığını biliyorum. Bugünden baktığımda başka bir anlamıyla da olsa ( analog bilgileri monitor edebileceğim, bunlarını HI_RES de grafiklerle çizebileceğim bir ekran çok çekiciydi )beni de sürükleyen sebeplerden biri bu görsellikdi.

Expansion port hakkında çok az bilgi vardı.Kullandığım kaynaklar ; c 64 reference guide , İngilizce bir kitap ve bazı dergilerdi. Bu portu anlamıştım ama kulanabilmem başka bir şeydi ve mümkün değildi.

Final III kasedindeki monitoru yazılım için kullanıyordum,yani expansion port sürekli kullanımdaydı.

Şöyle düşünmüştüm, proje ilerledikçe yeni ihtiyaçlar ortaya çıkacaktı, expansion port bu ihtiyaçlarda rezerv olarak kullanılabilirdi.Yani bu port hakkında bilgi edinmeyi ve kullanmayı zamana bırakmıştım.

Yürüyebilmek için yol aradığımda  user portun uygun bir konnektör ,control portların rs232 ve biraz kablo lehimle bread bord’a  bağlayabildiğimi ,böylece c64 ‘ü deneysel hale getirebildiğimi gördüm (her şeyin  başlangıcı bu deneysellik ortamını kurabilmemdi, burayı geçemeseydim, ilerlemem olanaksızdı).

Dikkat etmem gereken kesin bir kuralım vardı; tek bir c64 üm vardı ve  c64 sisteminde hardware’e mümkün olduğunca dokunmadan devam etmem gerekiyordu. User port ve control port kullanımının sadece yazılım gerektiren emniyetli bir yol  olduğunu anlamıştım.Opto-coupler ile birlikte  her türlü hardware ‘i c64 ten bağımsız olarak oluşturabilirdim,sorunu  bu şekilde temel haliyle çözmüştüm. Geriye Bus oluşturmak kalıyordu control portlardaki 4 bitlik yollar zaten burayı bus olarak kullan diyordu, user portu da böylece bus üzerindeki kartlara ulaşmada kodlayıcı olarak kullandım. Yakından bakılırsa bu bus (c64 e ait olsada) sıralaması ve kullanımı değiştirilmiş sadece 8 biti (giriş ve çıkış olarak) kullanan (oluşturulmuş) farklı bir bus yapısıydı .


* c 64 input output ortak bus.jpg (119.87 KB, 874x1226 - Görüntüleme: 1194 kez.)
Logged
msvstpl
Üye
***
Mesaj Sayısı: 64


Üyelik Bilgileri
« Yanıtla #33 : Eylül 07, 2015, 22:54:47 ÖS »

Baştan beri en “cansıkıcı”olan şey projenin pcb olarak değil  el ile tek tek kablolarla lehimlenmesiydi. İş yükü bir yana bu konu sistemin güvenilirliğini tehdit ediyor ve aşırı dikkatli olmayı gerektiriyordu. Yaptığınız şey  inceliğe sahip olmayan, çalışan,işinizi gören, ama hantal görünümlü, yeteneğini hemen hiç yansıtmayan bir proje halini almaya başlamıştı.Projenin kendisi ilerledikçe hep yeni şeylere çağrı yapıyordu, bu ise her şeyi genişletiyordu .En başta yazılımı ;  yazılım içindeki alt rutinlerin sayısı sürekli artıyordu, sınıra gelmeye başlamıştım ,bunları c64 içinde  koyacak yerleri bulma problemi başlamıştı,ana programın döngüsünü sağlayan JSR tablosunun büyümesi , alt rutinlerin kullandığı kendi geçici ve saklama adreslerin tablolanması,rutinlerin  başlangıç bitiş adreslerinin listelenmesi, …vb . Her defasında kasede silip yeniden yazmak, bazı eski aşamaları silmeden saklamak, ve bu kez kasetlerdeki programları tablolamak sıraya koyup, hangi aşamada  ne olduğıunu yazmak..vs. herşey genişliyerek  devam ediyordu , kontrol altında tutmak gittikçe güçleşiyordu …, ve artık durmak gerekiyordu.

Sistemin yazılımını kasetten değilde bir kartuştan eprom  dan yüklenmesini planladım. Ama şöyle bir sorun vardı: Yazılımı sürekli güncelliyordum,her seferinde silip yeniden eprom yazmak garip bir şey olacaktı , buradan da ilerleyebilme olanağı yoktu .., ve durdum. (Meğer eeprom ları beklemek gerekiyormuş!)

Projeyi ancak bu sitede başlığı açtığımda tekrar ele alabildim ,çok uzun yılları araya koyduğuma göre demek ki bırakmış, terk etmişim.

Projeden maddi bir beklentim-o zamanlar- belirsiz de olsa vardı. Ama böyle bir projeyi anlayabilecek kişi ve kurumları bulabilmenin mümkün olmadığını, bulsamda pek bir işe yaramayacağını  biliyordum. Bu yönüyle çok bir beklenti içinde de değildim.Tesadüfen karşılaştığım ve yaptığım şeyin ne olduğunu anlayan makine imalatçısı  bir sanayicinin beni dinledikten sonra , bir yalancı olduğumu , ısrarla böyle bir şeyi tek başıma yapmış olmamın mümkün olmadığını söylemesi , hatırladığım , şimdilerde artık hoş olan bir anekdottur.
 .......
Başlığı açtığım günlerde konuyu tekrar ele aldım,  biraz merakla ne olacağını görmek için bir eeprom okuyucu, yazıcı ve eprom okuyucu olan kartı yaptım. Bu sisteme eklenen diğer kartlar gibi bir karttı. Ancak başka bir problem çıktı eeprom ‘u makina  dili ile doğrudan yazdığımda “bazen” eksik yazıldığını ve güvenilir olmadığını gördüm. Yazma hızını düşürdüğümde hata olmuyordu,ama, yazma zamanı birkaç dakikaya çıkıyordu.Yazma zamanının uzaması onu pratik,kolay bir şey  olmaktan çıkarıyordu. Sorun ya oldukça uzamış olan data hatlarındaki indüklenme parazitlerinden veya eeprom un kendisinden kaynaklanıyordu. (ekranlama yaptığım halde çözülmediğine göre büyük olasılıkla konu eeprom du).
 
Eh ,nihayetinde, projeye bu kadar ilginin yeterli olduğunu ,daha fazla uğraşmanın gereğinin kalmadığını görerek onu çıkarttığım paketinin içine tekrar koyup gözden uzak bir yere kaldırdım.
Logged
i_r_on
Uzman
*****
Mesaj Sayısı: 2.867



Üyelik Bilgileri WWW
« Yanıtla #34 : Eylül 07, 2015, 23:41:36 ÖS »

Bence şanssızlığınız kaset ile uğraşmak olmuş biraz. Expansion port niye kullanmadınız diye ben demiştim ancak geçenlerde sram ile kartuş projesinde c64'ü elime almadan önce farkına vardım sizin projeniz için ilk davranılması gereken yer expansion port değilmiş. Expansion port'ta serbestçe kontrol edilebilen bir i/o pin'i yok iken buradan başlamak işi baştan yokuşa sürmek olurdu.

Bir de buradaki arkadaşlar bu kadar çok 74244'ü benim projelerde bile görmemiştir herhalde

Bu arada şematikler harika. Blok diyagram ile düz şematik arası ve teknik resim düzgünlüğünde olmuşlar.




Logged

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

twitter | blog
ibo1973
Uzman
*****
Mesaj Sayısı: 2.030


Üyelik Bilgileri WWW
« Yanıtla #35 : Eylül 08, 2015, 20:57:48 ÖS »

En çok hoşuma giden türkçe içerik olması Kahkaha
Logged

Eşimin videolarını çektiği youtube yemek tarifleri kanalımız
http://www.youtube.com/channel/UCWeURdgKjzxe9490Pb5KTPA?view_as=subscriber
Simon (Özay Turay)
Genel Yönetici
*****
Mesaj Sayısı: 6.790


Commodore Forever


Üyelik Bilgileri WWW
« Yanıtla #36 : Eylül 10, 2015, 10:07:26 ÖÖ »

Elinize, emeğinize, klavyenize sağlık. Zevkle okudum. Daha önce de dediğim gibi vaktiniz ölçüsünde aramızda olup çalışmalarımıza yorum yaparsanız mutlu oluruz.
Logged

http://www.retrodergi.com - http://www.e-turay.com

Retro: Commodore 64, Amiga 500, Amiga 1200
Retromsu: Wii, XBox360, XBox, PS3 Slim, PS2 FAT, PS1, PSP Slim, Nintendo DS Lite
msvstpl
Üye
***
Mesaj Sayısı: 64


Üyelik Bilgileri
« Yanıtla #37 : Eylül 12, 2015, 21:59:23 ÖS »

Şunu da koyayım:
EEPROM okuma-yazma / EPROM okuma kartı.

Eeprom önündeki silik olan 74LS155 entegresidir. 3 den 8'e decoder)

Paralel EEprom programlayıcıya bir örnek olması bakımından (EEPROM Tarafını)kısaltarak özetledim. Basit bir şematik gösterimi tekrar çizdim,aşağıdadır.

EEPROM YAZMA
1-Kod7 ile 74374 çıkışına Adres alt 8 bit yazılır.Kod kapandığında adres kilitli kalarak bekler.
2-Kod 6 ile diğer 74374 ‘e Adres üst 8 bit yazılır . Kod kapandığında kilitli kalır, bekler. (Adres yazılmıştır).
3-Kod 5 ile EEPROM’a yazılacak 8 bit 74374 çıkışına yazılır. Kod kapatıldığında kilitli kalır.Bu entegre Write den Read ‘e geçildiğinde çıkışı açık olduğundan Çakışmaya neden olur . Bunu engellemek için 74244 kullanılmıştır.
4-Data Hattı bir switch ile 74244 enable üzerinden W/R seçilmektedir. 74244 Enable low durumunda yazma işlemi yapılır.Enable high durumunda HI-Z  özelliği sağlanarak data74374 çıkışı engellenmiş olur. Read yapılabilir hale gelir. W/R  hangisi yapılacaksa program çalıştırılmadan  switch ile en başta seçilir (Bu esnada ayrıca EEPROM’un kendi OE pini de yazma ise High, okuma ise Low yapılır.)
5-Kod 4 ile CE  ve WE beraberce low yapılır. EEPROM bu işlemle adresi alır ve içinde tutar.
6-Kod 4 kapatıldığında(CE ve WE beraberce high yapıldığında ) EEPROM bu kez data  üzerideki yazılacak (sayıyı) alır ve içinde kilitler.
7-Yazma süreci başlamıştır.EEPROM’un cinsine göre belirli bir zaman sonrasında (28c256 için 100nsn), o adresin içeriği yazılmış olur.

OKUMA
1 : OE low yapılır (İlk seçimdir. Bu da bir low-high switch dir)
2- W/R switch  okumaya seçilir. (high yapılır)
3- 1 ve 2 basamakları tekrarlanır,adres yazılır.
4-Kod 3 ile CE low, WE high yapılır
5-data bus üzerinden adresteki sayı okunur.

EK 1: Burada 74244 entegresi kullanılmadan da devre tamamlanabilirdi.Data write için kullanılan 74374 entegresinin 1 nolu pini (OE pini) high yapıldığında çıkış Hİ-Z  (yüksek empedans) durumuna geçmektedir.Yani W/R switch doğrudan ( 3 de kullanılan 74374 ‘ün 1no lu pinine bağlanır ,switch low yapıldığında write ,high yapıldığında read işlemleri)yapılabilirdi. Hardware projesi ayrıntılı ve dikkatli tasarım yapılmasını gerekir . Bu ise hemen hiçbir zaman mümkün olamamaktadır ! Çeşitli değiştirmeler (modifikasyonlar) bu tür çalışmaların doğal bir parçası ..!

EK 2 : Aslında CE ve WE operasyonları ardışık olarak yapılıyor.(Data sheet de böyle gösteriyor) Yazılımın yürümesi esnasında geçen zamanların çok uzun süreler olmasından dolayı aynı anda da yapılabiliyor..

Diğer switchler değişik EEPROM lar ve EPROM seçimi içindir. İstenildiği gibi olabilirdi..
Logged
msvstpl
Üye
***
Mesaj Sayısı: 64


Üyelik Bilgileri
« Yanıtla #38 : Eylül 12, 2015, 22:04:25 ÖS »

Şema;


*  (703.37 KB, 1544x1158 - Görüntüleme: 1394 kez.)
Logged
msvstpl
Üye
***
Mesaj Sayısı: 64


Üyelik Bilgileri
« Yanıtla #39 : Eylül 12, 2015, 22:06:05 ÖS »

Üstten görünüş;


*  (826.32 KB, 1544x1157 - Görüntüleme: 1219 kez.)
Logged
fort_apocalypse
Uzman
*****
Mesaj Sayısı: 2.082



Üyelik Bilgileri WWW
« Yanıtla #40 : Eylül 18, 2020, 02:14:20 ÖÖ »

Siteden kimler gelmiş, kimler geçmiş...

Bu projenin tozlu sayfalar arasında kalmasına izin veremezdim.

Paylaşım için teşekkürler @msvstpl

Logged

Sayfa: 1 2 [3]   Yukarı git
Yazdır
Gitmek istediğiniz yer: