Mündəricat:

Retro CP/M Stand Alone Emulator: 8 Addım
Retro CP/M Stand Alone Emulator: 8 Addım

Video: Retro CP/M Stand Alone Emulator: 8 Addım

Video: Retro CP/M Stand Alone Emulator: 8 Addım
Video: How to install Retrobat And Add Games and a few hints and Tips 2024, Noyabr
Anonim
Retro CP/M Stand Alone Emulator
Retro CP/M Stand Alone Emulator

Bu layihə, VGA32 ESP v1.4 modulundan istifadə edərək kombinasiyanı işə salır və ya CP/M 2.2 -yə bərabər bir sistemlə işləyən tək başına bir kompüter təmin etmək üçün RunCPM və FabGL -dən istifadə edir. 1980 -ci illərdə kiçik kompüterlər üçün bir əməliyyat sistemi olaraq məşhur idi. Keçmişə qayıda və Wordstar, Supercalc, Macəra və Zork kimi köhnə proqramlara yenidən baxa bilərsiniz.

Proqramı standart bir VGA monitoru və PS/2 Klaviaturası ilə işləməyi təmin edən FabGL layihəsinin müstəqil nəzakəti.

Əsas OS RunCPM -in dəyişdirilmiş bir versiyasıdır, Github -dakı orijinal işdən ayrılmışdır və FabGL kitabxanasını serial konsolunda deyil, ekranda istifadə etmək üçün əlavə etmişəm.

Hər iki layihəyə görə çox təşəkkür edirəm. Bu işi davam etdirin!

Proqram təminatı ən azı iki versiyada sınaqdan keçirilmişdir. Biri VGA32 ESP v1.4 (hazır olaraq satılır). İkincisi, köhnə versiyam, bir Wroom ESP32 Modulundan və köhnə kompüterlərdən bit parçaları qurdum.

Aşağıdakı Github saytı, bu qurğular və dəyişdirilmiş hazır quraşdırma proqramı haqqında vacib məlumatları ehtiva edir.

Bu layihə hardware haqqında deyil, proqramın quraşdırılması ilə bağlıdır.

Təchizat:

VGA32 ESP modulu V1.4 (sınaqdan keçirilmişdir). EBay / aliexpress / amazon və s

Bir kompüterdə quraşdırılmış Arduino IDE, düşünürəm ki, bunu oxuyursunuzsa, onsuz da buna sahibsiniz.

Arduino IDE üçün ESP32 dəstək paketini quraşdırın. https://github.com/espressif/arduino-esp32 1-ci addıma baxın

FabGL kitabxanası https://www.fabglib.org/ heç bir şey yükləməyinizə ehtiyac yoxdur, arduino IDE bunu bizim üçün edə bilər, 2 -ci addıma baxın.

Dəyişdirilmiş RunCPM-in bir nüsxəsini https://github.com/coopzone-dc/RunCPM ünvanından yükləyin

Addım 1: Arduino üçün ESP32 dəstəyini quraşdırın (isteğe bağlı)

Arduino üçün ESP32 dəstəyini quraşdırın (isteğe bağlı)
Arduino üçün ESP32 dəstəyini quraşdırın (isteğe bağlı)

Bəlkə də bunu artıq etmiş olarsınız, əgər bu addımı atlaya bilərsiniz.

github.com/espressif/arduino-esp32 ziyarət edin və lövhə menecerindən istifadə edərək quraşdırma təlimatlarına əməl edin:

Arduino IDE Boards Manager istifadə edərək quraşdırma təlimatları ======================================= ===============

Sabit buraxılış linki:

Mövcud yuxarı Arduino IDE -ni 1.8 və ya daha yüksək bir səviyyəyə quraşdırın. Mövcud versiya Arduino saytında.

Arduino'yu işə salın və Tercihlər pəncərəsini açın.

Əlavə İdarə heyəti URLləri sahəsinə yuxarıdakı buraxılış bağlantılarından birini daxil edin. Onları vergüllə ayıraraq birdən çox URL əlavə edə bilərsiniz.

Alətlər> Kart menyusundan İdarə Heyətləri Menecerini açın və esp32 platformasını quraşdırın (və quraşdırıldıqdan sonra Alətlər> Kart menyusundan ESP32 lövhənizi seçməyi unutmayın).

Addım 2: FabGL Kitabxanasını IDE -yə əlavə edin

FabGL Kitabxanasının IDE -yə əlavə edilməsi
FabGL Kitabxanasının IDE -yə əlavə edilməsi
FabGL Kitabxanasının IDE -yə əlavə edilməsi
FabGL Kitabxanasının IDE -yə əlavə edilməsi

Arduino IDE -də boş bir eskizdən istifadə edərək, Alətlər menyusundan lövhələrdən ESP lövhənizi seçdiyinizə əmin olun. (Yazılarkən VGA32 ESP siyahıda deyildi, ümumi bir Dev Kit lövhəsi seçirəm).

Eskiz menyusundan Kitabxana daxil et seçin, sonra Kitabxana meneceri seçin.

Axtarış dialoquna FabGL yazın və aşağıdakı siyahıda görünməsini gözləyin, indi Quraşdır düyməsini basın.

bitdi

Addım 3: RunCPM tərəfindən istifadə olunan əlavə SD kart kitabxanası əlavə edin

RunCPM tərəfindən istifadə edilən əlavə SD kart kitabxanasının əlavə edilməsi
RunCPM tərəfindən istifadə edilən əlavə SD kart kitabxanasının əlavə edilməsi

Bu, demək olar ki, əvvəlki addımla eynidır, lakin FabGL əvəzinə SDFat axtarılır

Eskiz menyusundan Kitabxana daxil et seçin, sonra Kitabxana meneceri seçin. Axtarış dialoquna SDFat yazın və aşağıdakı siyahıda görünməsini gözləyin, ehtimal ki, siyahını aşağıya çəkməli olacaqsınız.

İki versiyadan birini seçə bilərsiniz:

1, Bill Greiman tərəfindən SdFat

2, SdFat - Adafruit Çəngəl

Hər ikisini sınadım, hər ikisi də yaxşı işləyir. Lakin RunCPM layihəsi İkinci variant "Adafruit Fork" ı tövsiyə etdi, lakin son qeydlərdə indi belə deyilir:

İndi bütün lövhələr buradan SdFat kitabxanasından istifadə edir:

İndi bu layihə üçün ilk variantı seçirəm.

bitdi

Addım 4: Dəyişdirilmiş RunCPM Layihəsini yükləyin

Dəyişdirilmiş RunCPM Layihəsini yükləyin
Dəyişdirilmiş RunCPM Layihəsini yükləyin
Dəyişdirilmiş RunCPM Layihəsini yükləyin
Dəyişdirilmiş RunCPM Layihəsini yükləyin

Github Saytını ziyarət edin, KOD düyməsini basın və ZIP faylı olaraq yükləyin

Bu faylı bir yerdə saxlayın (normal olaraq Arduino adlı bir kataloqda.

Faylı eyni yerə açın, RunCPM-master adlı bir qovluq yaradacaq

bitdi

Addım 5: RunCPM Proqramını açın və nəzərdən keçirin və tərtib edin

RunCPM Proqramını açın və nəzərdən keçirin və tərtib edin
RunCPM Proqramını açın və nəzərdən keçirin və tərtib edin

İndi Arduino IDE Faylından Aç menyusundan istifadə edə bilərsiniz. Yuxarıda istifadə etdiyiniz qovluğa gedin.

Bu qovluğun içərisində RunCPM adlı başqa bir qovluq var. Qovluğu açın.

Bu qovluğun içərisində RunCPM.ino adlı.ino faylı var. Əsas layihə faylı budur - açın.

VGA32 -ESP versiyanıza uyğun gəlmək istəyirsinizsə, indi layihəyə baxa, şərhləri oxuya bilərsiniz. Lövhənin V1.4 üçün əvvəlcədən konfiqurasiya edilməlidir.

İndi VGA32 ESP -ə qoşulduğunuzu güman edərək, emulyatoru cihazınıza yükləyəcək kompilyasiya və yükləmə düyməsini vura bilərsiniz.

ƏHƏMİYYƏTLİ: VGA32-nin bu anda SD kartı ilə problemi ola bilər, buna görə də onu bilmək üçün qoşmayın. Daha çox məlumat üçün aşağıda göstərilən son addıma baxın.

Addım 6: RunCPM-dən yükləməyə hazır bir SD kartı yaradın

Bu bəlkə də ən hiyləgər addımlardır. Bunun necə ediləcəyi ilə bağlı Github saytının README.md -ni oxumağı təklif edirəm. Nə etməli olduğumun siyahısı budur:

Düşünürəm ki, boş bir SD kartınız var və ya əlinizdə olan heç bir fayl saxlamaqda maraqlı deyilsinizsə, bu onu siləcək.

1, SD kartı FAT-32 olaraq formatlayın

2, A, B, C D və s adlı bir neçə qovluq yaradın (P -ə qədər bunlar CP/M işləyərkən disk sürücüləri olacaq). Paytaxt olduqlarına diqqət yetirin.

3, Yaratdığınız hər bir qovluqda 0 (yəni sıfır) adlı başqa bir qovluq yaradın və isteğe bağlı olaraq 1, 2, 3 və s. (15 -ə qədər) Sonra qovluqlar CP/M emulyasiyasında İstifadəçi Sahələridir. Başlamaq üçün yalnız 0 qovluğuna ehtiyacınız var.

4, arduino qovluğunda yüklədiyiniz layihə qovluğundan CCP adlı qovluğu tapın. Bu, CP/M Komanda Konsolu İştirakçısının müxtəlif versiyalarını ehtiva edir. CCP-DR.60K adlı birini SD Kartınızın kökünə kopyalayın.

5, İndi layihə qovluğunda DISK adlı qovluğu tapın, A. ZIP faylını ehtiva edir, bu faylı SD kartınızdakı A/ 0/ adlı qovluğa açmalısınız. (daha çox məlumat üçün 1streadme faylına da baxın). Təəssüf ki, qovluq siyahısında "0" yoxdur, buna görə əvvəlcə müvəqqəti bir qovluğa girməlisiniz, sonra A qovluğunun məzmununu SD kartdakı A/ 0/ a kopyalayın.

6, yuxarıdakı addımları yerinə yetirdikdə, belə bir quruluşa malik bir SD Kartınız olacaq:

F: CCP-DR.60K

/A/0

/1STREAD. ME

/ASM. COM

/…. və s

/B/0

/C/0

və s

SD kartdan yükləməyə çalışdığınız zaman CCP yükləyə bilməyəcəyiniz barədə səhvlər görürsünüzsə, hər şeyin doğru tempdə olduğunu yoxlayın!

Bu mərhələni bir az da asanlaşdırmaq üçün yuxarıda hazır cp/m proqram təminatı ilə birlikdə yüklədim və buradan yükləyə bilərsiniz https://github.com/coopzone-dc/RunCPM/blob /master/… və formatlaşdırılmış bir SD Kartın kökünə açın. Başlamalısınız, sonra özünüz yarada bilərsiniz.

Github Repo -da quraşdırma təlimatını oxumağınızı da məsləhət görürəm, ehtiyacınız olan qovluqların təsviri var.

Addım 7: VGA Monitoru və Klaviaturanı qoşun

VGA Monitoru və Klaviaturanı qoşun
VGA Monitoru və Klaviaturanı qoşun

VGA32 ESP kartının gücünü kəsin.

VGA Monitorunuzu qoşun

PS/2 Klaviatura bağlayın Gücünü VGA32 ESP kartına yenidən bağlayın, klaviatura işıqlarının yanıb-sönməsini görməlisiniz və təxminən 10 saniyə sonra ekranda CP/M istəyi ilə bir şəkil görünəcək!

Vacib: VGA32-də SD kart və yumşaq sıfırlama istifadə edərkən bir problem var, bu səbəbdən yuxarıdakı ilk addım olaraq GÜCÜ söndürmək vacibdir, Əlavə məlumat üçün son addıma baxın.

Uzaqlaş sən get…

Addım 8: VGA32 Modulunda SD Kartla Problem

VGA32 Modulunda SD Kartla Problem
VGA32 Modulunda SD Kartla Problem
VGA32 Modulunda SD Kartla Problem
VGA32 Modulunda SD Kartla Problem

Yuxarıdakı fotoşəkil mənim ikinci ESP32 kartımı (ev istehsalı) göstərir, bu yaxşı işləyir və aşağıda heç bir problem yoxdur. Bir proqram problemi olmadığını bilirəm, VGA32 versiyası haqqında aşağıda oxuyun.

VG32 ESP modulumda (v1.4) SD kart GPIO12 istifadə edir, bu pin daxili yaddaşın iş gərginliyini aşkar etmək üçün açıldıqda Espressif Systems tərəfindən tövsiyə edilmir. Kaş kimsə bu VGA32 kartını hazırlayan adama desəydi! Ola bilsin ki, sənin üçün fərqlidir, buna görə inşallah bu problemlə qarşılaşmayacaqsan.

Problemlər bunlardır:

1, kart qoşulduqda eskiz yükləmək olmur.

2, sıfırlama düyməsini basdıqdan sonra, SD kartı çıxarılanadək kilidlənir. Daha sonra SD-Kartın olmadığını söyləyən bir səhv ekranına çəkilir! Kartı qoyub yenidən sıfırlaya bilərsiniz və ikinci dəfə işləyəcək.

Bu problem düzəldilə bilər (Ancaq bir riski var) https://github.com/coopzone-dc/RunCPM/blob/master/… README.md-ə baxın

ya da lövhəni işə salmaq üçün hər zaman sərt bir şəkildə söndürə/aça bilərsiniz. Nədənsə bu yaxşı işləyir. Ayrıca RunCPM proqramını yenidən yükləməlisinizsə, əvvəlcə SD kartı çıxarmalısınız.

Bu, məsələni izah edən README. MD -dən bir çıxarışdır. Düzəltmədən istifadə etdim və yaxşı işləyir, amma təbiətinə görə risk sizin üçündür, oxuyun …

Bununla birlikdə, VGA32 ESP parametrləri, SD kart üçün GPIO parametrləri ilə ziddiyyət təşkil edir.

Bu işləyir, ancaq yükləmək üçün SD kartı çıxarmalısınız və yumşaq bir sıfırlamadan sonra SD kartı çıxarmalı və sonra başqa bir sıfırlama ilə əvəz etməlisiniz. Güc açıldıqda və ya sıfırlandıqda yaxşı işləyir. Bunu düzəltməyə kömək edə bilsəniz, mənə bildirin. YENİLƏNİŞ 11 Oktyabr 2020: VGA32 ESP v1.4 GPIO12 -dən istifadə edir (MTDI, işə salma/sıfırlama). Bu pin, RAM üçün gərginliyi, Daxili LDO Gərginliyini (VDD_SDIO) təyin edir. SD kart mövcud olduqda, bu pimi yuxarı çəkir və ESP32, RAM gərginliyinin 1.8V olması lazım olduğunu düşünür, SD kartı olmadan bu pin, RAM gərginliyini 3.3V-ə təyin etmək üçün daxili açılır. Bu, faktiki olaraq FABGL layihəsində verilmiş nümunələrdən olan qeydlərdə qeyd olunur: GPIO 2 və 12 - GPIO2 haqqında qeydlər: proqramlaşdırmada problem yarada bilər. Serial önyükleyiciyə daxil olmaq üçün GPIO2 ya ya bağlı/üzən vəziyyətdə buraxılmalı, ya da aşağı idarə edilməlidir. Normal açılış rejimində (GPIO0 yüksək) GPIO2 nəzərə alınmır. - GPIO12: qarşısını almaq lazımdır. Flaş gərginliyini seçir. İstifadə etmək üçün GPIO12 aşkarlama parametrlərini söndürün: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V XƏBƏRDARLIQ !! 3.3V gərginlikli ESP32 üçün yaxşıdır (ESP-WROOM-32). Flaş 3.3V deyilsə ESP32 -ni KRİPLƏYƏCƏK NOTE1: "/dev/cu. SLAB_USBtoUART" ı seriyalı portunuzla əvəz edin NOTE2: espefuse.py https://github.com/espressif/esptool saytından yüklənə bilər

Bu daha sonra qeyd edir ki, GPIO12 -dən qaçmaq lazımdır, heç kim VGA32 ESP kartının istehsalçısına demir!

SABİD: Flaş gərginliyini GPIO12 istifadəsini aşmaq üçün təyin etməyi sınadım və vga32 ESP -də təsdiqləyə bilərəm, işləyir! SD kartla bağlı problem aradan qalxdı. Sizi yoxlamağa, ikiqat yoxlamağa və sınamağa qərar verərsəniz BRICK yaratmaq haqqında diqqətlə düşünməyə çağırıram. Bunu bir hərəkət olaraq tövsiyə etmirəm, amma mənim üçün işlədi.

Tövsiyə: