সুচিপত্র:

রেট্রো সিপি/এম একা একা এমুলেটর: 8 টি ধাপ
রেট্রো সিপি/এম একা একা এমুলেটর: 8 টি ধাপ

ভিডিও: রেট্রো সিপি/এম একা একা এমুলেটর: 8 টি ধাপ

ভিডিও: রেট্রো সিপি/এম একা একা এমুলেটর: 8 টি ধাপ
ভিডিও: Ami Jonmo Thekei Jolchi | আমি জন্ম থেকেই জ্বলছি | A Tribute to Akbar | Lyrical Video | Anupam 2024, জুলাই
Anonim
রেট্রো সিপি/এম একা একা এমুলেটর
রেট্রো সিপি/এম একা একা এমুলেটর

এই প্রকল্পটি VGA32 ESP v1.4 মডিউল ব্যবহার করে একটি সংমিশ্রণ চালানোর জন্য অথবা RunCPM এবং FabGL একটি স্বতন্ত্র কম্পিউটার প্রদান করে যা CP/M 2.2 এর সমতুল্য সিস্টেম চালায়। 1980 এর দশকে ছোট কম্পিউটারের অপারেটিং সিস্টেম হিসেবে জনপ্রিয়। আপনি সময়মতো ফিরে যেতে পারেন এবং ওয়ার্ডস্টার, সুপারক্যালক, অ্যাডভেঞ্চার এবং জর্কের মতো পুরানো সফ্টওয়্যারগুলি আবার দেখতে পারেন।

এটি ফ্যাবজিএল প্রকল্পের স্বতন্ত্র সৌজন্যে যা একটি স্ট্যান্ডার্ড ভিজিএ মনিটর এবং পিএস/2 কীবোর্ড চালানোর জন্য সফ্টওয়্যার সরবরাহ করেছিল।

মূল ওএস হল রানসিপিএম এর একটি পরিবর্তিত সংস্করণ, এটি গিথুবের মূল কাজ থেকে নকল করা হয়েছে এবং আমি সিরিয়াল কনসোলের পরিবর্তে স্ক্রিনে এটি ব্যবহার করতে ফ্যাবজিএল লাইব্রেরি যুক্ত করেছি।

আমি উভয় প্রকল্পের জন্য একটি বড় ধন্যবাদ বলতে চাই। ভাল কাজগুলো করতে থাকো!

সফ্টওয়্যারটি হার্ডওয়্যারের কমপক্ষে দুটি সংস্করণে পরীক্ষা করা হয়েছে। একটি VGA32 ESP v1.4 (রেডিমেড বিক্রি হিসাবে)। দ্বিতীয় আমার পুরানো সংস্করণ, আমি একটি Wroom ESP32 মডিউল এবং পুরানো কম্পিউটার থেকে স্ক্র্যাপ বিট তৈরি করেছি।

নীচের গিথুব সাইটে এই সেটআপগুলির পাশাপাশি গুরুত্বপূর্ণ পরিবর্তিত রেডি-টু-ইনস্টল সফ্টওয়্যার সম্পর্কে গুরুত্বপূর্ণ তথ্য রয়েছে।

এই প্রকল্পটি সফ্টওয়্যার ইনস্টল করার বিষয়ে, হার্ডওয়্যার সম্পর্কে নয়।

সরবরাহ:

একটি VGA32 ESP মডিউল V1.4 (পরীক্ষিত)। ইবে / aliexpress / amazon ইত্যাদি পাওয়া যায়

একটি কম্পিউটারে Arduino IDE ইনস্টল করা হয়েছে, আমি মনে করি আপনি যদি এটি পড়েন তবে আপনার ইতিমধ্যে এটি আছে।

Arduino IDE এর জন্য ESP32 সাপোর্ট প্যাক ইনস্টল করুন। https://github.com/espressif/arduino-esp32 ধাপ 1 দেখুন

FabGL লাইব্রেরি https://www.fabglib.org/ আপনার কিছু ডাউনলোড করার দরকার নেই, arduino IDE আমাদের জন্য এটি করতে পারে, ধাপ 2 দেখুন।

Https://github.com/coopzone-dc/RunCPM থেকে পরিবর্তিত RunCPM এর একটি অনুলিপি ডাউনলোড করুন

ধাপ 1: Arduino এর জন্য ESP32 সমর্থন ইনস্টল করুন (alচ্ছিক)

Arduino এর জন্য ESP32 সমর্থন ইনস্টল করুন (alচ্ছিক)
Arduino এর জন্য ESP32 সমর্থন ইনস্টল করুন (alচ্ছিক)

আপনি হয়তো ইতিমধ্যেই এটি করে ফেলেছেন, যদি আপনার কাছে থাকে তাহলে আপনি এই ধাপটি এড়িয়ে যেতে পারেন।

github.com/espressif/arduino-esp32 এ যান এবং বোর্ড ম্যানেজার ব্যবহার করে ইনস্টল করার নির্দেশাবলী অনুসরণ করুন, যেমন:

Arduino IDE বোর্ড ম্যানেজার ব্যবহার করে ইনস্টলেশন নির্দেশাবলী =============================================== =================

স্থিতিশীল মুক্তির লিঙ্ক:

বর্তমান আপস্ট্রিম আরডুইনো আইডিই 1.8 স্তরে বা তার পরে ইনস্টল করুন। বর্তমান সংস্করণটি Arduino ওয়েবসাইটে।

Arduino শুরু করুন এবং পছন্দ উইন্ডো খুলুন।

অতিরিক্ত বোর্ড ম্যানেজার ইউআরএল ফিল্ডে উপরের রিলিজ লিঙ্কগুলির মধ্যে একটি লিখুন। আপনি একাধিক ইউআরএল যোগ করতে পারেন, সেগুলোকে কমা দিয়ে আলাদা করে।

সরঞ্জাম> বোর্ড মেনু থেকে বোর্ড ম্যানেজার খুলুন এবং esp32 প্ল্যাটফর্ম ইনস্টল করুন (এবং ইনস্টলেশনের পরে সরঞ্জাম> বোর্ড মেনু থেকে আপনার ESP32 বোর্ড নির্বাচন করতে ভুলবেন না)।

ধাপ 2: IDE তে FabGL লাইব্রেরি যোগ করা

আইবিইতে ফ্যাবজিএল লাইব্রেরি যুক্ত করা হচ্ছে
আইবিইতে ফ্যাবজিএল লাইব্রেরি যুক্ত করা হচ্ছে
আইবিইতে ফ্যাবজিএল লাইব্রেরি যুক্ত করা হচ্ছে
আইবিইতে ফ্যাবজিএল লাইব্রেরি যুক্ত করা হচ্ছে

Arduino IDE তে একটি ফাঁকা স্কেচ ব্যবহার করে, নিশ্চিত করুন যে আপনি সরঞ্জাম মেনু, বোর্ডগুলি থেকে আপনার ESP বোর্ড নির্বাচন করেছেন। (লেখার সময় VGA32 ESP তালিকাভুক্ত ছিল না, আমি একটি জেনেরিক দেব কিট বোর্ড নির্বাচন করি)।

স্কেচ মেনু থেকে, লাইব্রেরি অন্তর্ভুক্ত করুন, তারপর লাইব্রেরি ম্যানেজার নির্বাচন করুন।

অনুসন্ধান ডায়ালগে ফ্যাবজিএল টাইপ করুন এবং এটি নীচের তালিকায় উপস্থিত হওয়ার জন্য অপেক্ষা করুন, এখন ইনস্টল বোতামটি ক্লিক করুন।

সমাপ্ত

ধাপ 3: RunCPM দ্বারা ব্যবহৃত অতিরিক্ত SD- কার্ড লাইব্রেরি যোগ করা

RunCPM দ্বারা ব্যবহৃত অতিরিক্ত SD- কার্ড লাইব্রেরি যোগ করা
RunCPM দ্বারা ব্যবহৃত অতিরিক্ত SD- কার্ড লাইব্রেরি যোগ করা

এটি প্রায় পূর্ববর্তী ধাপের মতই কিন্তু ফ্যাবজিএল এর পরিবর্তে এসডিফ্যাটের জন্য অনুসন্ধান করুন

স্কেচ মেনু থেকে, লাইব্রেরি অন্তর্ভুক্ত করুন, তারপর লাইব্রেরি ম্যানেজার নির্বাচন করুন। অনুসন্ধান ডায়ালগে SDFat টাইপ করুন এবং এটি নীচের তালিকায় উপস্থিত হওয়ার জন্য অপেক্ষা করুন, আপনাকে সম্ভবত তালিকাটি স্ক্রোল করতে হবে।

আপনি দুটি সংস্করণের পছন্দ পাবেন:

1, SdFat বিল Greiman দ্বারা

2, SdFat - Adafruit Fork

আমি উভয় চেষ্টা করেছি, তারা উভয় ঠিক কাজ বলে মনে হচ্ছে। কিন্তু রানসিপিএম প্রকল্পটি দ্বিতীয় বিকল্প "অ্যাডাফ্রুট ফর্ক" এর সুপারিশ করেছিল, তবে সর্বশেষ নোটগুলিতে এটি এখন বলে:

সমস্ত বোর্ড এখন SdFat লাইব্রেরি ব্যবহার করে, এখান থেকে:

তাই এখন আমি এই প্রকল্পের জন্য প্রথম বিকল্পটি বেছে নিই।

সমাপ্ত

ধাপ 4: পরিবর্তিত রানসিপিএম প্রকল্প ডাউনলোড করুন

পরিবর্তিত RunCPM প্রকল্প ডাউনলোড করুন
পরিবর্তিত RunCPM প্রকল্প ডাউনলোড করুন
পরিবর্তিত RunCPM প্রকল্প ডাউনলোড করুন
পরিবর্তিত RunCPM প্রকল্প ডাউনলোড করুন

Github সাইটে যান, কোড বোতামে ক্লিক করুন এবং একটি জিপ ফাইল হিসাবে ডাউনলোড করুন

এই ফাইলটি কোথাও সংরক্ষণ করুন (সাধারণত Arduino নামে একটি ডিরেক্টরিতে।

ফাইলটিকে একই স্থানে আনজিপ করুন, এটি RunCPM-master নামে একটি ফোল্ডার তৈরি করবে

সমাপ্ত

ধাপ 5: RunCPM প্রোগ্রামটি খুলুন এবং পর্যালোচনা করুন এবং কম্পাইল করুন

RunCPM প্রোগ্রামটি খুলুন এবং পর্যালোচনা করুন এবং কম্পাইল করুন
RunCPM প্রোগ্রামটি খুলুন এবং পর্যালোচনা করুন এবং কম্পাইল করুন

আপনি এখন Arduino IDE ফাইল, ওপেন মেনু ব্যবহার করতে পারেন। আপনি উপরের uziped ফোল্ডারে নেভিগেট করুন।

এই ফোল্ডারের ভিতরে আরেকটি RunCPM নামে পরিচিত। ফোল্ডারটি খুলুন।

সেই ফোল্ডারের ভিতরে RunCPM.ino নামে একটি.ino ফাইল আছে। এটি মূল প্রকল্প ফাইল - এটি খুলুন।

আপনি এখন প্রজেক্টটি দেখতে পারেন, মন্তব্যগুলি পড়তে পারেন ইত্যাদি। এটি বোর্ডের V1.4 এর জন্য পূর্ব-কনফিগার করা উচিত।

আপনি এখন কম্পাইল এবং আপলোড ক্লিক করতে পারেন, ধরে নিন আপনার কাছে VGA32 ESP সংযুক্ত আছে এটি আপনার ডিভাইসে এমুলেটর আপলোড করবে।

গুরুত্বপূর্ণ: VGA32 এর এসডি-কার্ডে সমস্যা হতে পারে, তাই জানার জন্য এটিকে প্লাগ ইন করবেন না। আরও তথ্যের জন্য শেষ ধাপটি দেখুন।

ধাপ 6: আপনার রান সিপিএম থেকে বুট করার জন্য একটি এসডি-কার্ড তৈরি করুন

এটি সম্ভবত পদক্ষেপের সবচেয়ে কৌশল। আমি আপনাকে এটি কিভাবে করতে হয় Github সাইটের README.md পড়ার পরামর্শ দিচ্ছি। আমার করণীয়গুলির তালিকা এখানে:

আমি ধরে নিচ্ছি আপনার একটি ফাঁকা এসডি-কার্ড আছে অথবা আপনার যে ফাইল আছে সেটিতে কোনো ফাইল রাখতে আগ্রহী নন, এটি এটি মুছে ফেলবে।

1, SD- কার্ডকে FAT-32 হিসেবে ফরম্যাট করুন

2, A, B, C D ইত্যাদি নামক কিছু ফোল্ডার তৈরি করুন (P পর্যন্ত এইগুলি CP/M চালানোর সময় ডিস্ক ড্রাইভ হবে)। মনে রাখবেন তারা রাজধানী।

3, প্রতিটি ফোল্ডারে আপনি 0 (thats a zero) নামে একটি ফোল্ডার তৈরি করুন এবং allyচ্ছিকভাবে 1, 2, 3 ইত্যাদি (15 পর্যন্ত) তারপর CP/M ইমুলেশনে ফোল্ডারগুলো ইউজার এরিয়া। শুরু করার জন্য আপনার শুধুমাত্র 0 টি ফোল্ডার প্রয়োজন।

4, arduino ডিরেক্টরিতে আপনার ডাউনলোড করা প্রজেক্ট ফোল্ডার থেকে CCP নামক ফোল্ডারটি খুঁজুন। এতে CP/M কমান্ড কনসোল প্রসেসরের বিভিন্ন সংস্করণ রয়েছে। আপনার এসডি কার্ডের মূলে CCP-DR.60K নামকটি অনুলিপি করুন।

5, এখন DISK নামক প্রজেক্ট ডাইরেক্টরিতে ফোল্ডারটি খুঁজুন, এতে একটি A. ZIP ফাইল রয়েছে, আপনাকে আপনার SD-card এ A/ 0/ নামক ডিরেক্টরিতে এই ফাইলটি আনজিপ করতে হবে। (আরও তথ্যের জন্য 1streadme ফাইলটি দেখুন)। দুর্ভাগ্যক্রমে এটি ফোল্ডার তালিকায় "0" নেই তাই আপনাকে প্রথমে একটি অস্থায়ী ফোল্ডারে আনজিপ করতে হবে, তারপরে A ফোল্ডারের বিষয়বস্তু SD কার্ডে A/ 0/ এ অনুলিপি করুন।

6, যখন আপনি উপরের ধাপগুলি সম্পন্ন করবেন তখন আপনার একটি এসডি-কার্ড থাকবে যার একটি কাঠামো থাকবে:

F: CCP-DR.60K

/এ/0

/1 STREAD. ME

/ASM. COM

/…। ইত্যাদি

/বি/0

/সি/0

ইত্যাদি

আপনি যদি এসডি-কার্ড থেকে বুট করার চেষ্টা করেন তখন সিসিপি ইত্যাদি লোড করতে না পারার বিষয়ে ত্রুটি পেলে, আপনার সঠিক গতিতে সবকিছু আছে কিনা তা পরীক্ষা করে দেখুন!

এই পর্যায়টিকে কিছুটা সহজ করার প্রচেষ্টায়, আমি উপরের একটি প্রস্তুত সংস্করণ আপলোড করেছি, এতে সিপি/এম সফ্টওয়্যার যুক্ত করার পাশাপাশি এটি এখান থেকে ডাউনলোড করুন https://github.com/coopzone-dc/RunCPM/blob /master/… এবং শুধু একটি ফরম্যাট করা SD- কার্ডের মূলে আনজিপ করুন। এটি আপনাকে শুরু করা উচিত তারপর আপনি পরে নিজের তৈরি করতে পারেন।

আমি আপনাকে গিথুব রেপোতে সেটআপ নির্দেশিকা পড়ার পরামর্শ দিচ্ছি, এতে আপনার প্রয়োজনীয় ফোল্ডারগুলির বিবরণ রয়েছে।

ধাপ 7: একটি ভিজিএ মনিটর এবং কীবোর্ড সংযুক্ত করুন

একটি ভিজিএ মনিটর এবং কীবোর্ড সংযুক্ত করুন
একটি ভিজিএ মনিটর এবং কীবোর্ড সংযুক্ত করুন

VGA32 ESP কার্ডে বিদ্যুৎ সংযোগ বিচ্ছিন্ন করুন।

আপনার ভিজিএ মনিটর সংযুক্ত করুন

একটি PS/2 কীবোর্ড সংযুক্ত করুন VGA32 ESP কার্ডের সাথে পাওয়ার পুনরায় সংযুক্ত করুন, আপনার কীবোর্ড লাইট ফ্ল্যাশ হওয়া উচিত এবং প্রায় 10 সেকেন্ড পরে একটি ছবি CP/M প্রম্পট সহ স্ক্রিনে উপস্থিত হবে!

গুরুত্বপূর্ণ: SD-card এবং সফট রিসেট ব্যবহার করার সময় VGA32- এর একটি সমস্যা আছে, সেজন্য উপরে প্রথম ধাপ হিসেবে পাওয়ার অফ চালু করা গুরুত্বপূর্ণ, আরও তথ্যের জন্য শেষ ধাপটি দেখুন।

দূরে তুমি যাও …

ধাপ 8: VGA32 মডিউলে SD- কার্ডের সাথে সমস্যা

VGA32 মডিউলে SD- কার্ড নিয়ে সমস্যা
VGA32 মডিউলে SD- কার্ড নিয়ে সমস্যা
VGA32 মডিউলে SD- কার্ড নিয়ে সমস্যা
VGA32 মডিউলে SD- কার্ড নিয়ে সমস্যা

উপরের ছবিটি আমার দ্বিতীয় ESP32 কার্ড (হোম মেড) দেখায়, এটি ঠিক কাজ করে এবং সমস্যাটি নেই। তাই আমি জানি এটি একটি সফটওয়্যার সমস্যা নয়, অনুগ্রহ করে VGA32 সংস্করণ সম্পর্কে নীচে পড়ুন।

আমার VG32 ESP মডিউলে (v1.4) SD-card GPIO12 ব্যবহার করে, এটি Espressif সিস্টেম দ্বারা সুপারিশ করা হয় না কারণ এই পিনটি অভ্যন্তরীণ মেমরির জন্য কাজ করার ভোল্টেজ সনাক্ত করতে পাওয়ার আপে ব্যবহৃত হয়। আমি চাই যে কেউ এই ভিজিএ card২ কার্ড বানানোর লোকটিকে বলেছে! এটি আপনার ক্ষেত্রে ভিন্ন হতে পারে, তাই আশা করি আপনার এই সমস্যা হবে না।

সমস্যাগুলি হল:

1, কার্ডটি প্লাগ ইন করার সময় একটি স্কেচ আপলোড করতে অক্ষম।

2, রিসেট বোতাম টিপে পরে, SD-card অপসারণ না হওয়া পর্যন্ত এটি লক আপ। তারপরে এটি একটি ত্রুটি স্ক্রিনে বুট করে বলে যে এসডি-কার্ড নেই! আপনি কার্ডটি andুকিয়ে আবার রিসেট করতে পারেন এবং এটি দ্বিতীয়বার কাজ করবে।

এই সমস্যাটি সমাধানযোগ্য (তবে ঝুঁকি আছে) README.md দেখুন

অথবা আপনি বোর্ড চালু করতে সর্বদা হার্ড পাওয়ার অফ/অন করতে পারেন। কিছু কারণে এটি সূক্ষ্ম কাজ বলে মনে হচ্ছে। এছাড়াও যদি আপনার রানসিপিএম সফটওয়্যারটি পুনরায় আপলোড করার প্রয়োজন হয় তবে আপনাকে প্রথমে এসডি-কার্ডটি সরিয়ে ফেলতে হবে।

এটি README. MD থেকে একটি নির্যাস যা সমস্যাটি ব্যাখ্যা করে। আমি ফিক্স ব্যবহার করেছি এবং এটি ভাল কাজ করে, কিন্তু তার প্রকৃতির কারণে ঝুঁকি আপনার, পড়ুন …

যাইহোক, VGA32 ESP- এর সেটিংস SD কার্ডের GPIO সেটিংসে দ্বন্দ্ব আছে বলে মনে হচ্ছে।

এটি কাজ করে কিন্তু আপলোড করার জন্য আপনাকে SD কার্ডটি সরিয়ে ফেলতে হবে এবং একটি নরম রিসেট করার পরে আপনাকে SD কার্ডটি সরিয়ে ফেলতে হবে এবং তারপরে এটিকে প্রতিস্থাপন করার পরে অন্য একটি রিসেট করতে হবে। এটি একটি পাওয়ার অন বা হার্ড রিসেট থেকে ঠিক কাজ করে। আপনি যদি এটি ঠিক করতে সাহায্য করতে পারেন দয়া করে আমাকে জানান। আপডেট 11 অক্টোবর 2020: VGA32 ESP v1.4 GPIO12 ব্যবহার করে (MTDI, পাওয়ারআপ/রিসেট পড়ুন)। এই পিনটি RAM এর ভোল্টেজ, অভ্যন্তরীণ LDO (VDD_SDIO) এর ভোল্টেজ নির্ধারণ করে। যখন এসডি কার্ড উপস্থিত থাকে তখন এটি এই পিনটিকে উঁচু করে এবং ESP32 মনে করে যে RAM ভোল্টেজ 1.8V হওয়া উচিত, এসডি কার্ড ছাড়া এই পিনটিতে RAM ভোল্টেজ 3.3V এ সেট করার জন্য অভ্যন্তরীণ পুল-ডাউন রয়েছে। এটি আসলে FABGL প্রকল্পে প্রদত্ত উদাহরণ থেকে নোটগুলিতে উল্লেখ করা হয়েছে, উদ্ধৃত করার জন্য: GPIO 2 এবং 12 - GPIO2 সম্পর্কে নোট: প্রোগ্রামিংয়ে সমস্যা হতে পারে। সিরিয়াল বুটলোডারে প্রবেশ করার জন্য GPIO2 অবশ্যই সংযোগহীন/ভাসমান, অথবা নিম্নচালিত হতে হবে। স্বাভাবিক বুট মোডে (GPIO0 উচ্চ), GPIO2 উপেক্ষা করা হয়। - GPIO12: এড়ানো উচিত। এটি ফ্ল্যাশ ভোল্টেজ নির্বাচন করে। এটি ব্যবহার করতে GPIO12 সনাক্তকরণ সেটিং efuses নিষ্ক্রিয় করুন: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V WARN !! 3.3V ভোল্টেজ (ESP-WROOM-32) সহ ESP32 এর জন্য ভাল। ফ্ল্যাশ 3.3V নোট 1 না থাকলে এটি আপনার ESP32 কে ভেঙে দেবে: আপনার সিরিয়াল পোর্ট NOTE2 দিয়ে "/dev/cu. SLAB_USBtoUART" প্রতিস্থাপন করুন: espefuse.py https://github.com/espressif/esptool থেকে ডাউনলোডযোগ্য

এটি আরও নোট করে যে GPIO12 এড়ানো উচিত, ভিজিএ 32 ইএসপি কার্ড প্রস্তুতকারককে কেউ বলেনি!

স্থির: আমি GPIO12 এর ব্যবহারকে অতিক্রম করার জন্য ফ্ল্যাশ ভোল্টেজ সেট করার বিকল্পটি চেষ্টা করেছি এবং আমার vga32 ESP এ নিশ্চিত করতে পারি, এটি কাজ করে! SD কার্ডের সাথে সমস্যা আর স্থির হয়নি। আমি আপনাকে যাচাই করার জন্য অনুরোধ করছি, দুবার চেক করুন এবং ব্রিক তৈরির বিষয়ে সাবধানে চিন্তা করুন যদি আপনি এটি চেষ্টা করার সিদ্ধান্ত নেন। আমি এটি একটি কর্ম হিসাবে সুপারিশ করছি না, কিন্তু আমার জন্য এটি কাজ করেছে।

প্রস্তাবিত: