فهرست مطالب:

یکپارچهسازی با سیستمعامل CP/M شبیه ساز مستقل: 8 مرحله
یکپارچهسازی با سیستمعامل CP/M شبیه ساز مستقل: 8 مرحله

تصویری: یکپارچهسازی با سیستمعامل CP/M شبیه ساز مستقل: 8 مرحله

تصویری: یکپارچهسازی با سیستمعامل CP/M شبیه ساز مستقل: 8 مرحله
تصویری: آیا س*کس از پشت را دوست دارید ؟😱😂😂😱(زیرنویس فارسی) 2024, جولای
Anonim
یکپارچهسازی با سیستمعامل CP/M شبیه ساز مستقل
یکپارچهسازی با سیستمعامل CP/M شبیه ساز مستقل

این پروژه از ماژول VGA32 ESP v1.4 برای اجرای ترکیبی یا RunCPM و FabGL برای ارائه یک کامپیوتر مستقل که سیستم معادل CP/M 2.2 را اجرا می کند ، استفاده می کند. در دهه 1980 به عنوان یک سیستم عامل برای رایانه های کوچک محبوب بود. می توانید به گذشته برگردید و دوباره به نرم افزارهای قدیمی مانند Wordstar ، Supercalc ، Adventure و Zork مراجعه کنید.

این برنامه مستقل از پروژه FabGL است که نرم افزار را برای اجرای مانیتور استاندارد VGA و صفحه کلید PS/2 ارائه می دهد.

سیستم عامل اصلی نسخه اصلاح شده RunCPM است ، از کار اصلی در Github حذف شده است و من کتابخانه FabGL را اضافه کرده ام تا بتوان از آن به جای کنسول سریال روی صفحه استفاده کرد.

فقط می خواهم از هر دو پروژه تشکر کنم. کار خود را ادامه دهید!

نرم افزار حداقل روی دو نسخه سخت افزار آزمایش شده است. یکی VGA32 ESP v1.4 (همانطور که به فروش می رسد آماده است). دوم نسخه قدیمی من ، من از یک ماژول Wroom ESP32 ساختم و قطعاتی را از کامپیوترهای قدیمی حذف کردم.

سایت Github زیر حاوی اطلاعات مهمی در مورد این تنظیمات و همچنین نرم افزار تغییر یافته آماده نصب است.

این پروژه مربوط به نصب نرم افزار است نه سخت افزار.

تدارکات:

یک ماژول VGA32 ESP V1.4 (آزمایش شده). در eBay / aliexpress / amazon و غیره یافت می شود

Arduino IDE بر روی رایانه نصب شده است ، فرض می کنم اگر این مطلب را می خوانید قبلاً این را دارید.

بسته پشتیبانی ESP32 را برای Arduino IDE نصب کنید. https://github.com/espressif/arduino-esp32 مرحله 1 را ببینید

کتابخانه FabGL https://www.fabglib.org/ نیازی به بارگیری هیچ چیزی ندارید ، arduino IDE می تواند این کار را برای ما انجام دهد ، مرحله 2 را ببینید.

یک نسخه از RunCPM اصلاح شده را از https://github.com/coopzone-dc/RunCPM بارگیری کنید

مرحله 1: پشتیبانی ESP32 را برای Arduino نصب کنید (اختیاری)

نصب پشتیبانی ESP32 برای آردوینو (اختیاری)
نصب پشتیبانی ESP32 برای آردوینو (اختیاری)

ممکن است قبلاً این کار را انجام داده باشید ، اگر این کار را کرده اید ، می توانید این مرحله را رد کنید.

از https://github.com/espressif/arduino-esp32 دیدن کنید و دستورالعمل های مربوط به نصب با استفاده از مدیر صفحه را دنبال کنید ، مانند این:

دستورالعمل نصب با استفاده از Arduino IDE Boards Manager ======================================== ===============

پیوند انتشار پایدار:

Arduino IDE بالادست فعلی را در سطح 1.8 یا بالاتر نصب کنید. نسخه فعلی در وب سایت آردوینو قرار دارد.

آردوینو را راه اندازی کرده و پنجره Preferences را باز کنید.

یکی از پیوندهای انتشار بالا را در قسمت URL های Additional Board Manager وارد کنید. می توانید چندین نشانی اینترنتی اضافه کنید و آنها را با کاما جدا کنید.

از طریق ابزارها> منوی Board ، مدیر بردها را باز کرده و پلت فرم esp32 را نصب کنید (و فراموش نکنید که بعد از نصب ، برد ESP32 خود را از منوی Tools> Board انتخاب کنید).

مرحله 2: افزودن کتابخانه FabGL به IDE

افزودن کتابخانه FabGL به IDE
افزودن کتابخانه FabGL به IDE
افزودن کتابخانه FabGL به IDE
افزودن کتابخانه FabGL به IDE

با استفاده از یک طرح خالی در Arduino IDE ، مطمئن شوید که ESP Board خود را از منوی Tools ، Boards انتخاب کرده اید. (در زمان نوشتن VGA32 ESP ذکر نشده بود ، من یک تخته عمومی Dev Kit را انتخاب می کنم).

از منوی Sketch ، Include Library را انتخاب کرده و سپس Library Library را انتخاب کنید.

در گفتگوی جستجو FabGL را تایپ کرده و منتظر بمانید تا در لیست زیر ظاهر شود ، اکنون روی دکمه نصب کلیک کنید.

تمام شده

مرحله 3: افزودن کتابخانه SD-card اضافی مورد استفاده توسط RunCPM

افزودن کتابخانه SD-card اضافی مورد استفاده توسط RunCPM
افزودن کتابخانه SD-card اضافی مورد استفاده توسط RunCPM

این تقریباً مشابه مرحله قبل است ، اما به جای FabGL ، SDFat را جستجو کنید

از منوی Sketch ، Include Library را انتخاب کرده و سپس Library Library را انتخاب کنید. در گفتگوی جستجو SDFat را تایپ کرده و منتظر بمانید تا در لیست زیر ظاهر شود ، احتمالاً باید از لیست پایین بروید.

شما می توانید دو نسخه را انتخاب کنید:

1 ، SdFat توسط بیل گریمن

2 ، SdFat - چنگال Adafruit

من هر دو را امتحان کردم ، به نظر می رسد هر دو خوب کار می کنند. اما پروژه RunCPM گزینه دوم "چنگال Adafruit" را توصیه کرد ، با این حال در آخرین یادداشت ها اکنون می گوید:

اکنون همه تابلوها از کتابخانه SdFat استفاده می کنند ، از اینجا:

بنابراین اکنون اولین گزینه را برای این پروژه انتخاب می کنم.

تمام شده

مرحله 4: پروژه Modified RunCPM را بارگیری کنید

پروژه Modified RunCPM را بارگیری کنید
پروژه Modified RunCPM را بارگیری کنید
پروژه Modified RunCPM را بارگیری کنید
پروژه Modified RunCPM را بارگیری کنید

از سایت Github دیدن کنید ،

روی دکمه CODE کلیک کرده و به صورت فایل ZIP بارگیری کنید

این فایل را در جایی ذخیره کنید (معمولاً در پوشه ای به نام Arduino.

فایل را در همان مکان از حالت فشرده خارج کنید ، پوشه ای به نام RunCPM-master ایجاد می شود

تمام شده

مرحله 5: برنامه RunCPM را باز کرده و مرور کنید و کامپایل کنید

برنامه RunCPM را باز کرده و مرور کنید و کامپایل کنید
برنامه RunCPM را باز کرده و مرور کنید و کامپایل کنید

اکنون می توانید از Arduino IDE File ، Open menu استفاده کنید. به پوشه ای که در بالا آن را اضافه کرده اید بروید.

در داخل این پوشه پوشه دیگری به نام RunCPM قرار دارد. پوشه را باز کنید.

داخل آن پوشه یک فایل.ino به نام RunCPM.ino قرار دارد. این فایل اصلی پروژه است - آن را باز کنید.

اکنون می توانید پروژه را مشاهده کنید ، نظرات را بخوانید و غیره در صورت نیاز به مطابقت با نسخه VGA32 -ESP ، تغییرات را اعمال کنید. باید از قبل برای V1.4 برد تنظیم شود.

اکنون می توانید روی کامپایل و بارگذاری کلیک کنید ، با فرض اینکه VGA32 ESP را وصل کرده اید ، شبیه ساز را در دستگاه شما بارگذاری می کند.

مهم: VGA32 ممکن است در این مرحله با کارت SD مشکل داشته باشد ، بنابراین برای اطلاع از آن وصل نکنید. برای اطلاعات بیشتر به آخرین مرحله مراجعه کنید.

مرحله 6: یک کارت SD آماده برای راه اندازی RunCPM خود ایجاد کنید

این شاید ترفندترین مراحل باشد. پیشنهاد می کنم README.md سایت Github را در مورد نحوه انجام این کار بخوانید. در اینجا لیستی از آنچه باید انجام دهید وجود دارد:

من فرض می کنم که شما یک کارت SD خالی دارید یا علاقه ای به نگهداری فایل های موجود در آن ندارید ، این کار آن را پاک می کند.

1 ، کارت SD را به صورت FAT-32 فرمت کنید

2 ، چند پوشه به نام A ، B ، C D و غیره ایجاد کنید (تا P اینها هنگام اجرای CP/M درایوهای دیسک خواهند بود). توجه داشته باشید که آنها حروف بزرگ هستند.

3 ، در هر پوشه ایجاد پوشه دیگری با نام 0 (که یک صفر است) و به صورت اختیاری 1 ، 2 ، 3 و غیره (حداکثر 15) ایجاد می کنید ، سپس پوشه ها در شبیه سازی CP/M مناطق کاربر هستند. برای راه اندازی فقط به پوشه 0 نیاز دارید.

4 ، از پوشه پروژه بارگیری شده خود در فهرست arduino ، پوشه ای به نام CCP را پیدا کنید. این شامل نسخه های مختلف CP/M Command Console Proccessor است. نسخه ای به نام CCP-DR.60K را در ریشه کارت SD خود کپی کنید.

5 ، اکنون پوشه ای را در فهرست پروژه به نام DISK بیابید ، حاوی یک فایل A. ZIP است ، باید این فایل را در پوشه ای به نام A/ 0/ در کارت SD خود باز کنید. (همچنین برای اطلاعات بیشتر به فایل 1streadme مراجعه کنید). متأسفانه "0" در لیست پوشه ها وجود ندارد بنابراین باید ابتدا یک پوشه موقت را از حالت فشرده خارج کرده ، سپس محتویات پوشه A را در کارت SD به A/ 0/ کپی کنید.

6 ، هنگامی که مراحل بالا را انجام دادید ، یک کارت SD با ساختاری مانند این خواهید داشت:

F: CCP-DR.60K

/A/0

/1STREAD. ME

/ASM. COM

/…. و غیره

/B/0

/C/0

و غیره

اگر هنگام بارگیری از کارت SD با خطا در مورد بارگیری CCP و غیره مواجه شدید ، دوباره بررسی کنید که آیا همه چیز در سرعت مناسب وجود دارد!

در تلاش برای سهولت این مرحله ، من یک نسخه آماده از بالا را بارگذاری کرده ام ، با افزودن نرم افزار cp/m روی آن و همچنین بارگیری آن از اینجا https://github.com/coopzone-dc/RunCPM/blob /master/… و فقط آن را از حالت فشرده در ریشه کارت SD فرمت شده خارج کنید. باید شروع به کار کند سپس می توانید بعداً خود را ایجاد کنید.

همچنین توصیه می کنم راهنمای راه اندازی را در Github Repo بخوانید ، در آن شرح پوشه های مورد نیاز شما آمده است.

مرحله 7: مانیتور و صفحه کلید VGA را وصل کنید

مانیتور و صفحه کلید VGA را وصل کنید
مانیتور و صفحه کلید VGA را وصل کنید

برق را به کارت VGA32 ESP وصل کنید.

مانیتور VGA خود را وصل کنید

یک صفحه کلید PS/2 را وصل کنید دوباره برق را به کارت VGA32 ESP وصل کنید ، باید چراغ های صفحه کلید را چشمک بزنید و حدود 10 ثانیه بعد عکسی با اعلان CP/M روی صفحه ظاهر می شود!

مهم: VGA32 هنگام استفاده از کارت SD و تنظیم مجدد نرم افزاری مشکلی دارد ، به همین دلیل مهم است که POWER OFF را به عنوان اولین مرحله بالا خاموش کنید ، برای اطلاعات بیشتر به آخرین مرحله مراجعه کنید.

دور برو…

مرحله 8: مشکل با کارت SD در ماژول VGA32

مشکل با کارت SD در ماژول VGA32
مشکل با کارت SD در ماژول VGA32
مشکل با کارت SD در ماژول VGA32
مشکل با کارت SD در ماژول VGA32

عکس بالا دومین کارت ESP32 من (خانگی) را نشان می دهد ، این خوب کار می کند و مشکلی در زیر ندارد. بنابراین من می دانم که این یک مشکل نرم افزاری نیست ، لطفاً نسخه زیر را در مورد نسخه VGA32 بخوانید.

در ماژول VG32 ESP من (v1.4) ، کارت SD از GPIO12 استفاده می کند ، این مورد توسط Espressif Systems توصیه نمی شود ، زیرا این پین برای روشن شدن ولتاژ کاری حافظه داخلی برای روشن شدن ولتاژ استفاده می شود. ای کاش کسی به مردی که این کارت VGA32 را ساخته بود ، گفته بود! ممکن است در مورد شما متفاوت باشد ، بنابراین امیدوارم این مشکل را نداشته باشید.

مشکلات عبارتند از:

1 ، هنگام بارگیری کارت نمی توان طرح را بارگذاری کرد.

2 ، پس از فشار دادن دکمه تنظیم مجدد ، قفل می شود تا کارت SD حذف شود. سپس روی صفحه خطا بوت می شود و می گوید کارت SD وجود ندارد! می توانید کارت را داخل دستگاه قرار دهید و دوباره تنظیم کنید و بار دوم کار می کند.

این مشکل قابل رفع است (اما خطر دارد) به README.md در https://github.com/coopzone-dc/RunCPM/blob/master/… مراجعه کنید

یا همیشه می توانید برای روشن کردن صفحه ، یک خاموش/روشن کنید. به دلایلی به نظر می رسد این کار خوب کار می کند. همچنین اگر نیاز به بارگذاری مجدد نرم افزار RunCPM دارید ، ابتدا باید کارت SD را حذف کنید.

این یک عصاره از README. MD است که موضوع را توضیح می دهد. من از تعمیر استفاده کردم و خوب کار می کند ، اما به دلیل ماهیت آن خطر با شما است ، ادامه مطلب را بخوانید…

با این حال ، به نظر می رسد تنظیمات مربوط به VGA32 ESP با تنظیمات GPIO برای کارت SD مغایرت داشته باشد.

این کار می کند اما برای بارگذاری باید کارت SD را بردارید و پس از یک تنظیم مجدد نرم افزاری باید کارت SD را حذف کرده و سپس آن را جایگزین کنید و سپس تنظیم مجدد انجام دهید. با روشن شدن دستگاه یا تنظیم مجدد سخت کار می کند. اگر می توانید در رفع این مشکل کمک کنید لطفاً به من اطلاع دهید. UPDATE 11Oct2020: VGA32 ESP v1.4 از GPIO12 (MTDI ، در هنگام روشن/خاموش خوانده می شود) استفاده می کند. این پین ولتاژ RAM ، Voltage of Internal LDO (VDD_SDIO) را تعیین می کند. هنگامی که کارت SD وجود دارد ، این پین را بالا می کشد و ESP32 فکر می کند که ولتاژ RAM باید 1.8 ولت باشد ، بدون کارت SD این پین دارای کشش داخلی است تا ولتاژ RAM را روی 3.3 ولت تنظیم کند. این در واقع در یادداشت های مثالهای ارائه شده در پروژه FABGL ذکر شده است ، به نقل از: یادداشتهای مربوط به GPIO 2 و 12 - GPIO2: ممکن است در برنامه نویسی مشکل ایجاد کند. GPIO2 همچنین باید یا بدون اتصال/شناور باقی بماند و یا Low رانده شود تا وارد بوت لودر سریال شود. در حالت بوت معمولی (GPIO0 بالا) ، GPIO2 نادیده گرفته می شود. - GPIO12: باید اجتناب شود. ولتاژ فلش را انتخاب می کند. برای استفاده از آن efuses تنظیم تشخیص GPIO12 را با: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V غیرفعال کنید WARN !! برای ESP32 با ولتاژ 3.3V (ESP-WROOM-32) مناسب است. اگر فلش 3.3V NOTE1 نباشد این ESP32 شما را آجر می کند: "/dev/cu. SLAB_USBtoUART" را با پورت سریال NOTE2 خود جایگزین کنید: espefuse.py از https://github.com/espressif/esptool قابل بارگیری است

این نکته دیگر نشان می دهد که باید از GPIO12 اجتناب کرد ، چیزی که هیچ کس به سازنده کارت VGA32 ESP نگفت!

ثابت: من گزینه تنظیم ولتاژ فلش را برای استفاده بیش از حد GPIO12 امتحان کرده ام و می توانم در vga32 ESP من تأیید کنم ، کار می کند! مشکل دیگر با کارت SD برطرف نشد. من از شما می خواهم که بررسی کنید ، دوباره بررسی کنید و اگر تصمیم دارید آن را نیز امتحان کنید ، به دقت در مورد ایجاد آجر فکر کنید. من آن را به عنوان یک اقدام توصیه نمی کنم ، اما برای من کار کرد.

توصیه شده: