एक ZX स्पेक्ट्रम स्विफ्ट डिस्क से फ्लॉपी का डेटा पढ़ना

Jan 15 2021

दिन में वापस हम एक छह तलवार swiftdisk था हम अपनी कल्पना पर खेल से आगे थे हमें हमें 3.5 इंच फ्लॉपी डिस्क की अनुमति। ले देख:

  • 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

मुझे पूर्ण हार्डवेयर युक्ति दिखाई देती है और यहां तक ​​कि रोम ऑनलाइन भी उपलब्ध है। ऊपर दिए गए लिंक पर जो बहुत अद्भुत है।

क्या किसी को इस बात का अंदाजा है कि डिस्क प्रारूप का क्या उपयोग किया गया था (यह संपूर्ण मेमोरी का एक स्नैपशॉट था) और आधुनिक रेट्रो दुनिया के लिए हमारी पुरानी फ्लॉपियों को कैसे डिजिटल किया जा सकता है। संभवतः हम उन्हें FDI प्रारूप में बदल सकते हैं ?

प्रेरणा:

यह हमारे द्वारा जारी किए गए गेम गेलेक्टिक गश्ती को कभी भी पसंद करने और अपलोड करने के लिए अच्छा नहीं होगा, जैसा कि हमने शवलेड के साथ किया । दुश्मन की लहरों को वहाँ भी दुष्ट बनाने के लिए माफी! कुछ और नाटक के साथ किया जा सकता था लेकिन हम दोनों अभी भी स्कूल में थे।

यह रैपिड स्क्रीन स्विच स्कीम का उपयोग करके 'फुल' रंग में चला गया, जो मेरे भाई ने तैयार किया था, जिसका उल्लेख यहां दुर्घटना में किया गया है ।

जवाब

3 Tommy Jan 16 2021 at 04:11

मुझे तकनीकी जानकारी या एक मौजूदा एमुलेटर नहीं मिला, लेकिन आपके लिंक के माध्यम से मुझे इंटरफ़ेस बोर्ड की यह उच्च रिज़ॉल्यूशन वाली छवि मिली ।

वहाँ से मैं निम्नलिखित बातों पर ध्यान देता हूँ:

  • डिस्क नियंत्रक एक WD1770 है, जो बाईं ओर बड़ा है;
  • एज कनेक्टर के नीचे दोनों आधे दाईं ओर दो बड़े चिप्स एक 8kb रैम और एक EPROM हैं; तथा
  • बाकी सब कुछ जो दिख रहा है वह 74-सीरीज़ लॉजिक है।

यह स्पेक्ट्रम की वास्तुकला के आधार पर एक सुरक्षित शर्त है जो बीच-बीच में ROM में स्विच बटन को स्विच करता है और एक NMI को ट्रिगर करता है।

ROM की छवियाँ जुड़ी हुई हैं 32kb और 16kb आकार में हैं, लेकिन पूर्व में सिर्फ 16kb डेटा को दो बार कॉपी किया गया प्रतीत होता है आप यह भी जोड़ सकते हैं कि EPROM 16kb है, इस स्थिति में रैम के 8kb कब और कहाँ प्रकट होते हैं, इसके बारे में कुछ अनुमान लगाया जा सकता है। ।

मुझे comp.sys.sinclair में पुराने उल्लेख मिले कि माइक्रोड्राइव एमुलेशन बाद के संस्करण में जोड़ा गया था जो आंशिक रूप से हार्डवेयर आधारित था, लेकिन लगता है कि यह एक बोर्ड संशोधन के साथ आया है। इसलिए एक एमुलेटर लेखक शायद पुराने EPROM के साथ इस उम्मीद में शुरुआत करेगा कि अतिरिक्त हार्डवेयर अभी तक मौजूद नहीं था।

अन्यथा, अच्छी खबर यह है कि डिस्क नियंत्रक एक अत्यंत मानक हिस्सा है जो सिर्फ वेनिला आईबीएम एन्कोडिंग करता है, और "डिस्क प्रति तेरह 48 केबी गेम" की विज्ञापित फ्लॉपी क्षमता के आधार पर, आप डिस्क पर डेटा के भौतिक प्रारूप को मान सकते हैं। एमएफएम (यानी नियमित पीसी 'डबल घनत्व')।

इसलिए: आप अपनी डिस्क को एक सादे USB डिस्क ड्राइव का उपयोग करने में सक्षम हो सकते हैं (जब तक कि आपको कोई ऐसा न मिले जो केवल उच्च घनत्व फ्लॉपी का समर्थन करता है) क्योंकि MFM अनिवार्य रूप से केवल एक चीज है जो वे समर्थन करते हैं - लेकिन वे अक्सर 512-बाइट क्षेत्रों तक ही सीमित होते हैं निश्चित नंबरिंग तो यह गारंटी नहीं है। हालांकि कम आम समाधान के लिए चारों ओर देखने से पहले एक कोशिश के काबिल हो सकता है। यह MSX- संबंधित पेज लिनक्स और मैकओएस के लिए एक गाइड देता है, हालांकि विंडोज सेक्शन खाली है। कुछ और अधिक शोध वहां आवश्यक हो सकते हैं।

असफल होने पर, उन समाधानों पर गौर करें, जो अमस्ट्रा सीपीसी जैसी मशीन के लिए फ़्लॉपी की छवि बना सकते हैं, क्योंकि उन्हें अलग-अलग क्षेत्र के आकार और पते को संभालना चाहिए, और सामान्य सीपीसी-संबंधित फ़ाइल प्रारूप उन सभी सूचनाओं को बनाए रख सकते हैं। अगर आपके पास प्री-यूएसबी फ्लॉपी-डिस्क कंट्रोलर और ड्राइव करने के लिए एक पुराना पर्याप्त पीसी है और डॉस जैसा एक ओएस है जो सॉफ्टवेयर को कंट्रोलर तक अनफिट एक्सेस देता है तो उसे ट्रिक करना चाहिए। या निम्न-स्तरीय डिस्क नियंत्रक अब वास्तव में इस समस्या के लिए मौजूद हैं, जैसे कि स्क्रूज़, क्रायोफ़्लक्स और अन्य द्वारा उल्लिखित ग्रेविज़ेज़।

एक काम स्पेक्ट्रम एमुलेटर से शुरू करके इसे तब स्विफ्ट डिस्क इंटरफ़ेस में शामिल करने और अपने फ़्लॉपी को पढ़ने के लिए बहुत अधिक ट्रेक नहीं होना चाहिए।

WD1770 को कौन सा सॉफ़्टवेयर लिखना चाहिए, यह बहुत अच्छी तरह से जाना जाता है ताकि आप उन पतों को काफी आसानी से अलग कर सकें, और सबसे पहली बात यह है कि एनएमआई रूटीन को वर्तमान प्रदर्शन को बैकअप करना होगा ताकि आप यह पता लगा सकें। बहुत अधिक दुविधा के बिना राम सवाल। उस समय यह आपकी डिस्क छवि में प्लगिंग के रूप में अच्छी तरह से आसान हो सकता है।

बहुत समय जब ये थोड़े अधिक अस्पष्ट इंटरफेस का अनुकरण नहीं किया जाता है, क्योंकि यह कोई परीक्षण डेटा उपलब्ध नहीं है; यह बहुत संभव है कि आप एक मौजूदा लेखक को केवल डिस्क छवि होने में दिलचस्पी लेने में सक्षम हों। अन्यथा एक स्पेक्ट्रम एमुलेटर को खटखटाना आसान होता है, इसलिए मेरे जैसे किसी व्यक्ति के पास कोडिंग के बारे में आम तौर पर सही तरह से मदद करने में सक्षम होना चाहिए।

वैकल्पिक रूप से, चूंकि मेरी खोज विशेष रूप से पूरी तरह से नहीं थी, इसलिए हो सकता है कि आप पहले ही इस बात का अनुकरण कर लें - किस मामले में कृपया मुझे बताएं ताकि मैं इस उत्तर का 90% बदल सकूं।

2 Spektre Jan 16 2021 at 16:25

ऐसा लगता है कि यह WD1770 का उपयोग करता है मैं इससे परिचित नहीं हूं लेकिन पहले जांचें कि क्या WD1770 आईबीएम प्रारूप के साथ संगत है। यदि हाँ, तो आप डिस्क को सीधे पीसी पर पढ़ सकते हैं ... यदि आपको डिस्क को पढ़ने में सक्षम एचडब्ल्यू की आवश्यकता नहीं है ।

तो पीसी संगत के मामले में आप फ़ाइल प्रारूप के बजाय सी ++ (या किसी अन्य भाषा या उपयोगिता) में प्रत्यक्ष क्षेत्र की पहुंच का उपयोग करके बस इसे छवि। फ़्लॉपी की द्विआधारी छवि प्राप्त करने के बाद (एक ही रास्ता या अन्य) दो विकल्प हैं:

  1. FDC का अनुकरण करें

    इसलिए आपको अपने FDC इंटरफ़ेस का अनुकरण करने में सक्षम कुछ एमुलेटर की आवश्यकता है या कुछ खुले स्रोत कोड एक में ऐसी कार्यक्षमता जोड़ें।

    आपके अंतिम लिंक में ROM इमेजेस हैं और सर्किट भी (लेकिन वह एक अपठनीय है) इसलिए सर्किटरी को उलट कर इसका अनुकरण करना संभव हो सकता है ... मैंने अपने एमुलेटर और D40 / D80 FDC के लिए WD2797 पर आधारित से पहले ऐसा किया था । हालाँकि यह केवल एमुलेटर (मशीन चक्र) टाइमिंग रिज़ॉल्यूशन (मेरी तरह ) पर चलने वाले एमुलेटर के लिए आसानी से संभव है अन्यथा एफडीसी को केवल एचडब्ल्यू और एसडब्ल्यू की स्थिति को Z80 कोड को दरकिनार करके और इसके बजाय FDC कोड / संचालन को इंजेक्ट करके हैक किया जाना चाहिए ( यह है कि अधिकांश एमुलेटर यह कैसे करते हैं हालांकि यह 100% संगत और कस्टम लोडर नहीं है और सामान काम नहीं कर सकता है) जो कि लक्षित एफडीसी कामकाज पर गहन ज्ञान के बिना कोई भी नहीं कर सकता है।

  2. फ़ाइलों को निकालें

    या आप पूरी तरह से एफडीसी को बायपास कर देते हैं और इम्यूलेटर जैसे इमेज से गैर-कंप्रेस्ड फाइल्स को फॉर्मेट में पढ़ सकते हैं *.tap। यदि आप कुछ छवियों को साझा करते हैं (विवरण के साथ सबसे अच्छा है कि कौन सी फाइलें और इसमें कितनी देर हैं) मुझे एक win32 कनवर्टर बनाने की कोशिश करने में खुशी होगी जो आपके लिए ऐसा करेगी।

    क्योंकि फाइलें सिर्फ स्नैपशॉट हैं, यह आपका सबसे अच्छा विकल्प हो सकता है। आदर्श रूप से यदि आपके पास एचडब्ल्यू तक भी पहुंच है, तो आप एक विशिष्ट मेमोरी पैटर्न बना सकते हैं और इसे फ्लॉपी में सहेज सकते हैं ताकि फाइलसिस्टम की इनफ्लोरिंग आसान हो ... उदाहरण के लिए 32 बिट्स (वृद्धिशील मूल्य) के साथ हम 128K (RAM भाग) भरें। सही क्रम में एक साथ क्षेत्रों को प्राप्त कर सकते हैं और फिर इसका उपयोग होने पर FAT से मिलान कर सकते हैं ...