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.trCommodoreCommodore Donanım1541 disk Sürücü kontrol etme
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: 1541 disk Sürücü kontrol etme  (Okunma Sayısı 920 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
blackturk
Uzman
*****
Mesaj Sayısı: 1.035



Üyelik Bilgileri
« : Aralık 18, 2018, 23:42:54 ÖS »


   Uzun zamandır , 1541 disk sürücülerde  mekanik disk  kısımını devre dışı bırakarak , sd kart okuyuculu bir devre ile bu işi yapabilir mi diye düşünüyordum.Aslında yapmak istediğim .Disk sürücü kontrol devresi ile işlemci arasına girip ,  sd kart üzerinde okuduğumuz d64 imajındaki verileri göndemekti. bir nevi 1541 disk sürücü medyası emüle etmiş olacaktık.Burda ilk  amacım sadece sd kartı veriyi , 1541 ana işlemcisine göndermek.

   ikinci bir durum ise Düşündüğüm devreyi , sd kart içersindeki d64 imajı 1541disk sürücükontrol devresine veri gönderirsem bu seferde d64 imajları boş disklere yazılabilme durumda olabilir.İki yönlüde bu devre kullanabilceğini düşünüyorum.


  1541 disk sürücülerde garip bir durum var.Her 1541 disk sürücü model icersinde farklı tasarımlar yapılmış.Aslında bu sorun değil.Bizim için önemli olan , aşağıdaki resimde gözüktüğü gibi iki adet 6522 cip'den biri disk kontrol ünitesi ile haberleşiyor. 1541  icersinde UC2 entgresi bu işi yapıyor.1541 sürücülerin hepsinde  aynı cip soketli olarak var.1541 disk sürücü devre şeması bağlantısı aşağıdaki gibi.












 Manual Guide iöersinde çalışma teorisi anlatılımış.Okuma nasıl olur.Yazma nasıl olur.yazmışlar.Fakat fazla detaylandırmamışlar.burda esas olan şu 6522 ile sürüc kontrol devresi arasındaki sinayelleme işaretlerin acık diagramı verilmemiş.Bunun için digital logic analizör ile çözebilceğimizi düşünüdüm.Elimde analizör olmadığından.Arduino mega 2560 ile yapılmış bir logic analizor devresi ile bir kac sinyallere baktım.Fakat arduino ile yaptığım logic analizörde pek bir şey okuyamadım okudum anlaşılı değldi.sadece bir kaç kontrol işaretle ve 8 bit data akışını loglayabildim.iyi bir logic analizör şart.Arduino mega logic analyzer programı kaynak kodları ile internette var.bununla denedim fakat tatmin etmedi. .Logic sniffer programını kullanıyor. Resmi aşağıdaki gibi.







   1541 Disk sürücü içersinden jumper kabloları ile 6522 soketinden bütün sinyalleri breadborada taşıdık.oraya soketten söktğüm 6522  entegreyi koydum.Bread board üzerinden logic sinyallere bakmaya çalıştım.Bir kac sinyal zar zor gördüm.fazla iş görmedi.şimdilik sinyalleri kontrol etmeyi bir kenara koydum.daha sonra bu konuya tekrar dönücem.

    Sd kart okuma veri gönderme işini arduino ile yapmak istedim.Çünkü hazır kütüphanesi ve desteği çok iyi.Sinyalleri ilgili kısmı çözmek için proteus ortamında bu test şartlarını oluşturudum.


  Arduino ile sd kart içersindeki d64 imajından 4 byte veri okuyup , 8 bit data olarak  arduino portd gönderdim.Ordan karisı tarafa pic16f628a koydum.pic16f628a işlemciye   via 6522  rölü verdim.


    Pic16f628a iilemcisi  mtr  sinyali oluşturup arduino gönderiyor.arduino mtr sinyali alınca ,  stp0 ve stp1 sinyallerine  bakarak Track ve sektör d64 imaj içersinde  adresini bulup, veriyi alıyor.Pic16f628a gönderiyor.



    Şimdilik başlangıç olarak başladım.bu fikirim sd2iec ve 1541 emğlatörlerinden farklı bir projedir.Proteus üzerinde test video aşağıda görebilirisniz.

   d64 disk imaj dosya yapısı ilgili internette güzel bir kaynak var. burdan d64 imajda veriler nası saklanıyor bilgisi verilmiş.Fakat 1541 disk sürücü hardware sevyesinde çalışırken durum biraz farklı gözüküyor.sadece sinyaller iş bitmiyor. ayrıca disk üzerindeki tracklerden veri alınırken ince ayrıntılar var.fakat bunlarla ilgili kaynak bulamadım. sadece araştırma safasında kaldı.1541 disk sürücü kontrol devresile veri alınırken tracklerde aşağıdaki yapıda sync , id1 , id2 ,checksum, gap   veri bilgisi verilmiş.yazılacak araştırılacak bayaa bir konu varmış.İşin içine girdikçe dallanıp budaklanıyor.








D64 imajı dosyadından , arduino ile okuma yapıp , Pic61f628a'ya (yani 6522 VIA CİPİNE ) gönderiyoruz.


<a href="http://www.youtube.com/v/g2N2FBwStz0&rel=0" target="_blank">http://www.youtube.com/v/g2N2FBwStz0&rel=0</a>























 
Logged

A1200 | APOLLO 1240 32 MB | CNET PCMCIA | SYSINFO SPEED TEST 30 MIPS
SM1,SEGA MEGA CD,SM2,SMS II,Sega Saturn Mod ve AR 4MB,PSX Mod ve Mpeg ,PSX2 ,SNES ,ATARI 800XL,SPECTRUM 128K +2,YAMAHA CX5M MSX,ATARI 520 STFM,1040 STF,C64,C128,1541 II,1571,RAM 1764 ,A500,A500+,A600,A590,IDE68k,2X1084S,1084P
i_r_on
Uzman
*****
Mesaj Sayısı: 2.857



Üyelik Bilgileri WWW
« Yanıtla #1 : Aralık 19, 2018, 00:04:10 ÖÖ »

Amaç ne burada? Sadece mekaniği devre dışı bırakacağız ancak tüm sürücü elektroniğine yine sahip mi olmamız gerekecek?
Logged

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

twitter | blog
blackturk
Uzman
*****
Mesaj Sayısı: 1.035



Üyelik Bilgileri
« Yanıtla #2 : Aralık 19, 2018, 00:40:09 ÖÖ »

Evet.mekanik devre disi .bende o sekilde dusunuyoruk.
Logged

A1200 | APOLLO 1240 32 MB | CNET PCMCIA | SYSINFO SPEED TEST 30 MIPS
SM1,SEGA MEGA CD,SM2,SMS II,Sega Saturn Mod ve AR 4MB,PSX Mod ve Mpeg ,PSX2 ,SNES ,ATARI 800XL,SPECTRUM 128K +2,YAMAHA CX5M MSX,ATARI 520 STFM,1040 STF,C64,C128,1541 II,1571,RAM 1764 ,A500,A500+,A600,A590,IDE68k,2X1084S,1084P
i_r_on
Uzman
*****
Mesaj Sayısı: 2.857



Üyelik Bilgileri WWW
« Yanıtla #3 : Aralık 19, 2018, 00:58:53 ÖÖ »

Hevesini kırmak istemem ama bu şekilde çok da faydalı bir icat çıkmaz ortaya sanki.

Jim Drew denen vatandaşın şöyle bir ürünü var. Orjinal sürücü için benzer bir projenin katma değeri daha yüksek olur.
https://www.cbmstuff.com/proddetail.php?prod=ST2-VIA

Belki sen de öyle düşünüyorsundur, mekanik tarafı çözdükten sonra geri kalan elektroniği (cpu+ram+rom vesaire) emule etmek çok da zor değil. Bildiğim kadarıyla işin en uyuz kısımlarından biri sürücü içindeki VIA'yı bug'ları ile beraber emüle etme, sürücü mekaniğine de bağlı GCR decoding filan. Tabii bende de bilgi yüzeysel..

Pi1541'i yapan vatandaşın paylaşımlarından teknik bazı detayları sanırım yakalayabilirsin. Proje open source imiş,

https://github.com/pi1541/Pi1541
Logged

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

twitter | blog
blackturk
Uzman
*****
Mesaj Sayısı: 1.035



Üyelik Bilgileri
« Yanıtla #4 : Aralık 19, 2018, 06:02:16 ÖÖ »

Sadece , arduino ile via 6522 arayuze baglanip. D64 imaji icersindeki ilgili track ve sector verisini gondermek.via emule etmek amacim yok. Ilk resimde gorulen via 6522 ile motor surucu baglantisinda via 6522 ye  veri gonderme.
Logged

A1200 | APOLLO 1240 32 MB | CNET PCMCIA | SYSINFO SPEED TEST 30 MIPS
SM1,SEGA MEGA CD,SM2,SMS II,Sega Saturn Mod ve AR 4MB,PSX Mod ve Mpeg ,PSX2 ,SNES ,ATARI 800XL,SPECTRUM 128K +2,YAMAHA CX5M MSX,ATARI 520 STFM,1040 STF,C64,C128,1541 II,1571,RAM 1764 ,A500,A500+,A600,A590,IDE68k,2X1084S,1084P
blackturk
Uzman
*****
Mesaj Sayısı: 1.035



Üyelik Bilgileri
« Yanıtla #5 : Aralık 23, 2018, 12:27:41 ÖS »


      Ardunino ve 1541 disk sürücü hazırladım.Gerekli bağlantılar yapıldı.

      İlk test denememde bir kaç bağlantı hatası vardı düzelltim.Yine yazılım kısımnda bir kaç düzeltme yaptım.

   Sonuç olarak veri gönderiyorum.Veri alındı işareti geliyor.Step motor konumları ve spindle motor durumu görüebiliyorum.Sadece kontrol hattı senkronize olmada hatalar.


  Videoda , 1541 disk kafa hizalama programını test amaclı kullandım.Burda  Track 18 sector 0  okuma yapıldığını görmek için kullandım.Veri alındı.signal doğrulama yapmak için monitorden gelen dong dong sinyali değiştiğini duyabiliyorsunuz.bu veri alındığında yapıyor.Uğraşmaya devam....


<a href="http://www.youtube.com/v/6kLm4zjD3NM&rel=0" target="_blank">http://www.youtube.com/v/6kLm4zjD3NM&rel=0</a>




 
Logged

A1200 | APOLLO 1240 32 MB | CNET PCMCIA | SYSINFO SPEED TEST 30 MIPS
SM1,SEGA MEGA CD,SM2,SMS II,Sega Saturn Mod ve AR 4MB,PSX Mod ve Mpeg ,PSX2 ,SNES ,ATARI 800XL,SPECTRUM 128K +2,YAMAHA CX5M MSX,ATARI 520 STFM,1040 STF,C64,C128,1541 II,1571,RAM 1764 ,A500,A500+,A600,A590,IDE68k,2X1084S,1084P
Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: