İçindekiler:
- Adım 1: Arduino için ESP32 Desteğini kurun (isteğe bağlı)
- Adım 2: FabGL Kitaplığını IDE'ye Ekleme
- 3. Adım: RunCPM Tarafından Kullanılan Ek SD kart Kitaplığı Ekleme
- Adım 4: Değiştirilmiş RunCPM Projesini İndirin
- Adım 5: RunCPM Programını Açın ve İnceleyin ve Derleyin
- 6. Adım: RunCPM'nizi Başlatmaya Hazır bir SD kart oluşturun
- 7. Adım: Bir VGA Monitörü ve Klavyeyi Bağlayın
- Adım 8: VGA32 Modülünde SD Kartla İlgili Sorun
Video: Retro CP/M Stand Alone Emülatörü: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Bu proje, bir kombinasyonu çalıştırmak için VGA32 ESP v1.4 modülünü veya CP/M 2.2'ye eşdeğer bir sistem çalıştıran bağımsız bir bilgisayar sağlamak için RunCPM ve FabGL'yi kullanır. 1980'lerde küçük bilgisayarlar için bir işletim sistemi olarak popülerdi. Zamanda geriye gidebilir ve Wordstar, Supercalc, Adventure ve Zork gibi eski yazılımları tekrar ziyaret edebilirsiniz.
Yazılımın standart bir VGA monitör ve PS/2 Klavye çalıştırmasını sağlayan FabGL projesinin bağımsız bir nezaketidir.
Ana işletim sistemi RunCPM'nin değiştirilmiş bir Sürümüdür, Github'daki orijinal çalışmadan çatallanmıştır ve seri konsol yerine ekranda kullanılmasını sağlamak için FabGL kitaplığını ekledim.
Her iki projeye de çok teşekkür etmek istiyorum. İyi çalışmaya devam edin!
Yazılım, donanımın en az iki sürümü üzerinde test edilmiştir. Bir adet VGA32 ESP v1.4 (hazır olarak satıldığı gibi). İkinci eski versiyonum, bir Wroom ESP32 Modülünden inşa ettim ve eski bilgisayarlardan hurda parçaları yaptım.
Aşağıdaki Github sitesi, değiştirilmiş kuruluma hazır yazılımın yanı sıra bu kurulumlar hakkında önemli bilgiler içerir.
Bu proje, donanımla ilgili değil, yazılımın kurulmasıyla ilgilidir.
Gereçler:
Bir VGA32 ESP modülü V1.4 (test edildi). eBay / aliexpress / amazon vb. Bulundu
Bir bilgisayara kurulu Arduino IDE, bunu okuyorsanız zaten buna sahip olduğunuzu varsayıyorum.
Arduino IDE için ESP32 destek paketini kurun. https://github.com/espressif/arduino-esp32 1. adıma bakın
FabGL kütüphanesi https://www.fabglib.org/ hiçbir şey indirmenize gerek yok, arduino IDE bunu bizim için yapabilir, 2. adıma bakın.
Değiştirilmiş RunCPM'nin bir kopyasını https://github.com/coopzone-dc/RunCPM adresinden indirin
Adım 1: Arduino için ESP32 Desteğini kurun (isteğe bağlı)
Bunu zaten yapmış olabilirsiniz, varsa bu adımı atlayabilirsiniz.
github.com/espressif/arduino-esp32 adresini ziyaret edin ve aşağıdaki gibi pano yöneticisini kullanarak yükleme talimatlarını izleyin:
Arduino IDE Boards Manager kullanarak kurulum talimatları========================================= ===============
Kararlı sürüm bağlantısı:
Mevcut yukarı akış Arduino IDE'yi 1.8 seviyesinde veya daha sonra kurun. Mevcut sürüm Arduino web sitesinde.
Arduino'yu başlatın ve Tercihler penceresini açın.
Ek Pano Yöneticisi URL'leri alanına yukarıdaki sürüm bağlantılarından birini girin. Virgülle ayırarak birden çok URL ekleyebilirsiniz.
Araçlar > Pano menüsünden Boards Manager'ı açın ve esp32 platformunu kurun (ve kurulumdan sonra Araçlar > Pano menüsünden ESP32 kartınızı seçmeyi unutmayın).
Adım 2: FabGL Kitaplığını IDE'ye Ekleme
Arduino IDE'de boş bir çizim kullanarak, Araçlar menüsü, Panolar'dan ESP Panonuzu seçtiğinizden emin olun. (VGA32 ESP'yi yazarken listede yoktu, genel bir Dev Kit kartı seçiyorum).
Çizim menüsünden Kitaplığı Dahil Et'i ve ardından Kitaplık yöneticisi'ni seçin.
Arama iletişim kutusuna FabGL yazın ve aşağıdaki listede görünmesini bekleyin, şimdi Yükle düğmesine tıklayın.
bitmiş
3. Adım: RunCPM Tarafından Kullanılan Ek SD kart Kitaplığı Ekleme
Bu, önceki adımla hemen hemen aynıdır, ancak FabGL araması yerine SDFat
Çizim menüsünden Kitaplığı Dahil Et'i ve ardından Kitaplık yöneticisi'ni seçin. Arama iletişim kutusuna SDFat yazın ve aşağıdaki listede görünmesini bekleyin, muhtemelen listeyi aşağı kaydırmanız gerekecektir.
İki versiyon arasından seçim yapabilirsiniz:
1, SdFat, Bill Greiman
2, SdFat - Adafruit Çatal
İkisini de denedim, ikisi de iyi çalışıyor gibi görünüyor. Ancak RunCPM projesi İkinci seçenek "Adafruit Çatal"ı önerdi, ancak en son notlarda şimdi şöyle diyor:
Tüm panolar artık buradan SdFat kitaplığını kullanıyor:
Şimdi bu proje için ilk seçeneği seçiyorum.
bitmiş
Adım 4: Değiştirilmiş RunCPM Projesini İndirin
Github Sitesini ziyaret edin, KOD düğmesine tıklayın ve ZIP dosyası olarak indirin
Bu dosyayı bir yere kaydedin (normalde Arduino.
Dosyayı aynı konuma açın, RunCPM-master adlı bir klasör üretecektir.
bitmiş
Adım 5: RunCPM Programını Açın ve İnceleyin ve Derleyin
Artık Arduino IDE Dosyası Aç menüsünü kullanabilirsiniz. Yukarıda birleştirdiğiniz klasöre gidin.
Bu klasörün içinde RunCPM adlı başka bir klasör var. Klasörü açın.
Bu klasörün içinde RunCPM.ino adlı bir.ino dosyası bulunur. Bu ana proje dosyasıdır - açın.
Artık projeyi görüntüleyebilir, yorumları okuyabilir vb. VGA32 -ESP sürümünüze uymanız gerekiyorsa değişiklik yapabilirsiniz. Kartın V1.4'ü için önceden yapılandırılmış olmalıdır.
Şimdi, VGA32 ESP'ye bağlı olduğunuzu varsayarak, derlemeyi ve yüklemeyi tıklayabilirsiniz, öykünücüyü cihazınıza yükleyecektir.
ÖNEMLİ: VGA32'nin bu noktada SD kartıyla ilgili bir sorunu olabilir, bu yüzden bilmek için takmayın. Daha fazla bilgi için aşağıdaki son adıma bakın.
6. Adım: RunCPM'nizi Başlatmaya Hazır bir SD kart oluşturun
Bu belki de adımların en hilesidir. Bunun nasıl yapılacağı konusunda Github sitesinin README.md dosyasını okumanızı öneririm. İşte yapılacaklar listem:
Boş bir SD kartınız olduğunu veya sahip olduğunuzda herhangi bir dosya tutmakla ilgilenmediğinizi varsayıyorum, bu onu silecektir.
1, SD kartı FAT-32 olarak biçimlendirin
2, A, B, C D vb. adlı bazı klasörler oluşturun (P'ye kadar bunlar, CP/M çalıştırıldığında disk sürücüleri olacaktır). Bunların başkent olduğuna dikkat edin.
3, Oluşturduğunuz her klasörde 0 (sıfır) ve isteğe bağlı olarak 1, 2, 3 vb (15'e kadar) adında başka bir klasör oluşturun. Daha sonra klasörler CP/M emülasyonunda Kullanıcı Alanlarıdır. Başlamak için sadece 0 klasörüne ihtiyacınız var.
4, arduino dizininde indirdiğiniz proje klasörünüzden CCP adlı klasörü bulun. Bu, CP/M Komut Konsolu İşlemcisinin çeşitli sürümlerini içerir. CCP-DR.60K adlı dosyayı SD Kartınızın kök dizinine kopyalayın.
5, Şimdi proje dizinindeki DISK adlı klasörü bulun, İçinde bir A. ZIP dosyası var, bu dosyayı SD kartınızdaki A/0/ adlı dizine açmanız gerekiyor. (ayrıca daha fazla bilgi için 1streadme dosyasına bakın). Maalesef klasör listesinde "0" yok, bu yüzden önce geçici bir klasöre sıkıştırmanız, ardından A klasörünün içeriğini SD karttaki A/0/ klasörüne kopyalamanız gerekiyor.
6, Yukarıdaki adımları tamamladığınızda aşağıdaki gibi bir yapıya sahip bir SD-Kartınız olacaktır:
F: ÇKP-DR.60K
/A/0
/1STREAD. ME
/ASM. COM
/…. vesaire
/B/0
/C/0
vesaire
SD-Karttan başlatmaya çalıştığınızda CCP yüklenemiyor vb. hatalar alırsanız, her şeyin doğru hızda olup olmadığını iki kez kontrol edin!
Bu aşamayı biraz daha kolaylaştırmak için, yukarıda cp/m yazılımının eklendiği hazır bir sürümünü yükledim ve buradan indirin https://github.com/coopzone-dc/RunCPM/blob /master/… ve formatlanmış bir SD-Kartın kök dizinine çıkartın. Başlamanız gerekir, daha sonra kendinizinkini oluşturabilirsiniz.
Ayrıca Github Repo'daki kurulum kılavuzunu okumanızı tavsiye ederim, ihtiyacınız olan klasörlerin açıklaması var.
7. Adım: Bir VGA Monitörü ve Klavyeyi Bağlayın
VGA32 ESP kartına giden gücü kesin.
VGA Monitörünüzü bağlayın
Bir PS/2 Klavye Bağlayın Gücü VGA32 ESP kartına yeniden bağlayın, klavye ışıklarının yanıp söndüğünü görmelisiniz ve yaklaşık 10 saniye sonra ekranda CP/M istemiyle bir resim belirecektir!
Önemli: VGA32'de SD kart ve yazılım sıfırlaması kullanılırken bir sorun oluşur, bu nedenle yukarıdaki ilk adım olarak GÜCÜ KAPATMAK önemlidir, Daha fazla bilgi için son adıma bakın.
Sen git…
Adım 8: VGA32 Modülünde SD Kartla İlgili Sorun
Yukarıdaki fotoğraf ikinci ESP32 kartımı (ev yapımı) gösteriyor, bu gayet iyi çalışıyor ve aşağıdaki sorun yok. Bu yüzden bir yazılım sorunu olmadığını biliyorum, lütfen VGA32 sürümü hakkında aşağıdakileri okuyun.
VG32 ESP modülümde (v1.4) SD kart GPIO12 kullanır, Bu pin, dahili bellek için çalışma voltajını algılamak için bu pin güç açıldığında kullanıldığından Espressif Systems tarafından önerilmez. Keşke birisi bu VGA32 kartını yapan adama söyleseydi! Sizinki farklı olabilir, umarım bu sorunu yaşamazsınız.
Sorunlar:
1, Kart takılıyken çizim yüklenemiyor.
2, Sıfırlama düğmesine bastıktan sonra, SD kart çıkarılıncaya kadar kilitlenir. Ardından, SD-Kart yok diyen bir hata ekranına açılıyor! Kartı takıp tekrar sıfırlayabilirsiniz ve ikinci kez çalışacaktır.
Bu sorun düzeltilebilir (Ancak bir riski vardır) https://github.com/coopzone-dc/RunCPM/blob/master/… adresinde README.md'ye bakın.
veya kartı başlatmak için her zaman sert bir kapatma/açma yapabilirsiniz. Nedense bu iyi çalışıyor gibi görünüyor. Ayrıca RunCPM yazılımını yeniden yüklemeniz gerekirse, önce SD kartı çıkarmalısınız.
Bu, sorunu açıklayan README. MD'den bir alıntıdır. Düzeltmeyi kullandım ve iyi çalışıyor, AMA doğası gereği risk size ait, okumaya devam edin…
Ancak, VGA32 ESP'nin ayarları, SD kartın GPIO ayarlarıyla çakışıyor gibi görünüyor.
Çalışıyor ama yüklemek için SD kartı çıkarmanız gerekiyor ve yazılım sıfırlamasından sonra SD kartı çıkarmanız ve ardından başka bir sıfırlama ile değiştirmeniz gerekiyor. Bir güç açıkken veya donanımdan sıfırlamadan tamam çalışır. Bunu düzeltmeye yardımcı olabilirseniz lütfen bana bildirin. GÜNCELLEME 11Ekim2020: VGA32 ESP v1.4, GPIO12 (MTDI, açılışta/sıfırlamada okuma) kullanır. Bu pin RAM voltajını, Dahili LDO Voltajını (VDD_SDIO) belirler. SD kart varken bu pini yukarı çeker ve ESP32 RAM voltajının 1.8V olması gerektiğini düşünür, SD kart olmadan bu pin RAM voltajını 3.3V'a ayarlamak için dahili pull-down özelliğine sahiptir. Bu aslında FABGL projesinde verilen örneklerden notlarda, alıntı yapmak için belirtilmiştir: GPIO 2 ve 12 - GPIO2 ile ilgili notlar: programlamada soruna neden olabilir. Seri önyükleyiciye girmek için GPIO2'nin de bağlantısız/yüzer durumda bırakılması veya Düşük olarak çalıştırılması gerekir. Normal önyükleme modunda (GPIO0 yüksek), GPIO2 yoksayılır. - GPIO12: kaçınılmalıdır. Flaş voltajını seçer. Bunu kullanmak için GPIO12 algılama ayarını devre dışı bırakın: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V UYARI!! 3.3V voltajlı (ESP-WROOM-32) ESP32 için uygundur. Flaş 3.3V değilse bu, ESP32'nizi BRİCK yapacaktır NOT1: "/dev/cu. SLAB_USBtoUART" öğesini seri bağlantı noktanızla değiştirin NOT2: espefuse.py, https://github.com/espressif/esptool adresinden indirilebilir
Bu ayrıca, GPIO12'den kaçınılması gerektiğini not eder, kimsenin VGA32 ESP kartının üreticisine söylemediği bir üzücü!
DÜZELTİLDİ: GPIO12 kullanımını geçersiz kılmak için flaş voltajını ayarlama seçeneğini denedim ve vga32 ESP'mde onaylayabiliyorum, Çalışıyor! Sorun, SD Kartla ilgili daha fazla sorunu çözmedi. Siz de denemeye karar verirseniz, bir TUĞLA oluşturmayı kontrol etmenizi, iki kez kontrol etmenizi ve dikkatlice düşünmenizi tavsiye ederim. Bunu bir eylem olarak önermiyorum, ama benim için işe yaradı.
Önerilen:
Raspberry Pi Oyun Emülatörü Talimatları: 7 Adım
Raspberry Pi Oyun Emülatörü Talimatları: Herkes oynamayı sever. Ciddi bir iş yaptığımızda bile. Ve bu doğaldır çünkü herkes dinlenmeyi, boş zamanı veya boş zamanı hak eder. Ve elbette, en sevdiğimiz oyunu oynamayı reddedemeyiz. Bazı tiplerin olduğu zamanı hatırlıyorum
Sonos Spotify Vinyl Emülatörü: 26 Adım
Sonos Spotify Vinyl Emulator: Lütfen bunun bu proje için en son talimat dizisi olmadığını unutmayın: Lütfen en son set için https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d adresini ziyaret edin. talimatlar ve destek Plak üzerinde müzik dinlemek harikadır. Onun
Arduino Uno ile HP-35 Bilimsel Hesap Makinesi Emülatörü: 4 Adım
Arduino Uno ile HP-35 Bilimsel Hesap Makinesi Emülatörü: Bu projenin amacı, aşağıdaki simülatörü https://www.hpmuseum.org/simulate/hp35sim/hp35sim…. orijinal HP-35 Bilimsel Hesap Makinesi. Depolanan orijinal kodu taklit eder
X-box Rock Band Davullarını Midi Stand Alone Elektronik Davullara Dönüştürün.: 4 Adım (Resimlerle)
X-box Rock Band Davullarını Midi Stand Alone Elektronik Davullara Dönüştürün.: Kullanılmış bir x-box davul seti aldığım için şanslıydım, biraz kaba bir şekle sahip ve kürek yok, ama düzeltilemeyecek hiçbir şey yok.I bağımsız bir elektrikli davul setine dönüştürün. Piezo sensöründen analog değeri okumak ve bunu MIDI komutuna dönüştürmek
Raspberry Pi 3: Retro Arcade Emülatörü: 7 Adım
Raspberry Pi 3: Retro Arcade Emülatörü: Bunu yapma motivasyonum, günümüz dünyasında teknolojik okuryazarlığın olmaması. Bilgisayarların ve küçük cihazların bolluğuna rağmen, insanlar her gün kullandıkları şeylerin temel işlevleri konusunda hala çok cahiller. Bence bu olacak