ZX Spectrum Swift diskinden disket verilerinin okunması

Jan 15 2021

O günlerde, bize 3,5 inçlik disketlere izin veren altı kelimelik bir hızlı diskimiz vardı. Görmek:

  • https://www.worthpoint.com/worthopedia/swift-disc-interface-zx-spectrum-540379389
  • http://www.crashonline.org.uk/44/swiftdisk.htm
  • https://spectrumcomputing.co.uk/index.php?cat=96&id=1000412
  • https://hardware.speccy.org/hardware/Swift_Disc-Sixword-i.html

Tam donanım özelliklerini görüyorum ve rom bile çevrimiçi olarak, yukarıdaki hardware.speccy.org bağlantısında mevcut, bu oldukça şaşırtıcı.

Hangi disk formatının kullanıldığına (tüm belleğin anlık görüntüsüydü) ve eski disketlerimizin modern retro dünya için nasıl dijitalleştirilebileceğine dair bir fikri olan var mı? Muhtemelen bunları FDI formatına dönüştürebilir miyiz ?

Motivasyon:

StarBlade'de yaptığımız gibi, hiç yayınlanmayan oyunumuz Galactic Patrol'ü denemek ve yüklemek güzel olurdu . Düşman dalgalarını orada çok kötü yaptığım için özür dileriz! Biraz daha oyun testi yapabilirdik ama ikimiz de hala okuldaydık.

Bu, burada kazada bahsedilen, kardeşimin tasarladığı hızlı ekran değiştirme şemasını kullanarak 'tam' renkli çalıştı .

Yanıtlar

3 Tommy Jan 16 2021 at 04:11

Teknik bilgi veya mevcut bir emülatör bulamadım, ancak bağlantılarınız aracılığıyla arayüz kartının bu yüksek çözünürlüklü görüntüsünü buldum .

Oradan şu şeyleri fark ettim:

  • disk denetleyicisi bir WD1770, soldaki büyük olanı;
  • sağ taraftaki iki büyük yonga, kenar konektörünün her iki yarısı altında bir 8kb RAM ve bir EPROM'dur; ve
  • görünen diğer her şey 74 serisi mantıktır.

Spektrum mimarisine dayanan güvenli bir bahis, kesme düğmesinin yerleşik ROM'da geçiş yapması ve bir NMI'yi tetiklemesi.

Bağlantılı ROM görüntüleri 32kb ve 16kb boyutundadır, ancak birincisi sadece iki kez kopyalanmış 16kb veri gibi görünüyor, ayrıca EPROM'un 16kb olduğunu da kabul edebilirsiniz, bu durumda 8kb RAM'in ne zaman ve nerede göründüğünü bulmak için bazı tahminler olabilir. .

Comp.sys.sinclair'de, daha sonraki bir sürüme eklenen Microdrive öykünmesinin kısmen donanım tabanlı olduğunu, ancak bir kart revizyonuyla birlikte geldiğine dair eski sözler buldum. Öyleyse, bir öykünücü yazarı, fazladan donanımın henüz mevcut olmadığı umuduyla muhtemelen eski EPROM ile başlayacaktır.

Aksi takdirde, iyi haber şu ki, disk denetleyicisi yalnızca IBM'in vanilya kodlamasını yapan son derece standart bir parça ve reklamı yapılan "disk başına on üç 48 kb oyun" disket kapasitesine dayanarak, diskteki verilerin fiziksel biçiminin şu şekilde olduğunu varsayabilirsiniz: MFM (yani normal PC 'çift yoğunluklu').

Yani: Eğer olabilir görüntüye muktedir MFM esasen destekledikleri tek şey olarak (eğer destekleri yüksek yoğunluklu disketler sadece o bulmak sürece) düz bir USB disk sürücüsü kullanarak diski - ancak genellikle ile 512 bayt sektörlere yetkilisiniz sabit numaralandırma olduğundan bu garanti edilmez. Yine de daha az yaygın bir çözüm aramadan önce denemeye değer olabilir. MSX ile ilgili bu sayfa , Windows bölümü boş olsa da Linux ve macOS için bir kılavuz sağlar. Orada biraz daha fazla araştırma gerekli olabilir.

Bunu başaramazsanız, Amstrad CPC gibi bir makine için disketleri görüntüleyebilen çözümlere bakın, çünkü bunlar farklı sektör boyutları ve adresleme işlemlerini gerçekleştirmelidir ve genel CPC ile ilgili dosya formatları tüm bu bilgileri tutabilir. Ön USB disket denetleyicisine ve sürücüye sahip olacak kadar eski bir PC'niz ve yazılımın denetleyiciye sınırsız erişimini sağlayan DOS gibi bir işletim sisteminiz varsa, bu hile yapmalıdır. Veya, scruss tarafından bahsedilen Greaseweazle, Kryoflux ve diğerleri gibi, şimdi tam olarak bu sorun için düşük seviyeli disk denetleyicileri mevcuttur.

Çalışan bir Spectrum öykünücüsünden başlayarak, Swift disk arayüzünü eklemek ve disketinizi okumak çok zor olmamalıdır.

Bir WD1770'e hangi yazılımın yazması gerektiği çok iyi bilinmektedir, bu nedenle bu adresleri oldukça kolay bir şekilde izole edebilirsiniz ve NMI rutininin yapması gereken ilk şey, mevcut ekranı yedeklemektir, böylece büyük olasılıkla Çok fazla ikilem olmadan RAM sorusu. Bu noktada, disk görüntünüzü takmak kadar kolay olabilir.

Bu biraz daha belirsiz arayüzlerin taklit edilmediği çoğu zaman bunun nedeni test verilerinin mevcut olmamasıdır; Sadece bir disk görüntüsüne sahip olarak var olan bir yazarın ilgisini çekmeniz çok olasıdır. Aksi takdirde, bir Spectrum öykünücüsünün devrilmesi kolaydır, bu nedenle benim gibi genel olarak doğru türden koda sahip biri yardımcı olabilir.

Alternatif olarak, aramam özellikle kapsamlı olmadığından, şeyin zaten taklit edildiğini görebilirsiniz - bu durumda lütfen bu cevabın% 90'ını değiştirebilmem için bana bildirin.

2 Spektre Jan 16 2021 at 16:25

Görünüşe göre WD1770 kullanıyormuş , buna aşina değilim ama önce WD1770'in IBM formatıyla uyumlu olup olmadığını kontrol edin . Evetse, diskleri doğrudan PC'de okuyabilirsiniz ... Değilse , diski okuyabilecek donanımlara ihtiyacınız vardır .

Dolayısıyla, PC uyumlu olması durumunda, dosya formatı yerine C ++ 'da (veya başka bir dil veya yardımcı program) doğrudan sektör erişimini kullanarak görüntüleyebilirsiniz. Disketin ikili görüntüsünü elde ettikten sonra (öyle veya böyle) iki seçenek vardır:

  1. FDC'ye öykünmek

    bu nedenle, FDC arayüzünüzü taklit edebilecek veya bu tür bir işlevselliği bazı açık kaynak kodlu birine ekleyebilecek bir emülatörünüz olması gerekir.

    Son bağlantınızda ROM görüntüleri ve aynı zamanda devre (ancak bu okunamaz), bu yüzden devreyi tersine çevirerek bunu taklit etmek mümkün olabilir ... Bunu daha önce emülatörüm ve WD2797 tabanlı D40 / D80 FDC için yaptım . Ancak bu, yalnızca MC (makine döngüsü) zamanlama çözünürlüğünde (benimki gibi ) çalışan emülatörler için kolayca yapılabilir, aksi takdirde FDC yalnızca HW ve SW durumuna bağlanarak Z80 kodunu atlayarak ve bunun yerine FDC kodunu / işlemlerini enjekte ederek hacklenmelidir ( çoğu öykünücünün bunu nasıl yaptığıdır, ancak bu% 100 uyumlu değildir ve özel yükleyiciler ve eşyalar çalışmayabilir), hedeflenen FDC çalışmaları hakkında derin bilgisi olmayan hiç kimse bunu yapamaz.

  2. dosyaları çıkart

    veya FDC'yi tamamen atlar ve sıkıştırılmamış dosyaları görüntüden *.tap. Bazı görüntüleri paylaşmanız durumunda (hangi dosyaların ve içinde ne kadar uzun olduğunun açıklaması en iyisi) sizin için bunu yapacak bir win32 dönüştürücü oluşturmaya çalışmaktan mutluluk duyarım.

    dosyalar sadece anlık görüntüler olduğundan, bu en iyi seçeneğiniz olabilir. İdeal olarak, HW'ye de erişiminiz varsa, belirli bir bellek örüntüsü oluşturabilir ve onu diskete kaydedebilirsiniz, böylece dosya sistemine erişim daha kolay olur ... örneğin, 128K'yı (RAM bölümü) 32 bit adreslerle (artan değer) doldurun, böylece biz sektörleri doğru sırada bir araya getirebilir ve daha sonra kullanılıyorsa FAT ile eşleştirebilir ...