Obsah:

Samostatný emulátor Retro CP/M: 8 krokov
Samostatný emulátor Retro CP/M: 8 krokov

Video: Samostatný emulátor Retro CP/M: 8 krokov

Video: Samostatný emulátor Retro CP/M: 8 krokov
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, November
Anonim
Samostatný samostatný emulátor Retro CP/M
Samostatný samostatný emulátor Retro CP/M

Tento projekt používa modul VGA32 ESP v1.4 na spustenie kombinácie alebo RunCPM a FabGL na poskytnutie samostatného počítača s ekvivalentným systémom CP/M 2.2. Populárny v osemdesiatych rokoch minulého storočia ako operačný systém pre malé počítače. Môžete sa vrátiť v čase a znova navštíviť starý softvér, ako sú Wordstar, Supercalc, Adventure a Zork.

Je to nezávislý projekt FabGL, ktorý poskytol softvér na spustenie štandardného monitora VGA a klávesnice PS/2.

Hlavným operačným systémom je upravená verzia RunCPM, bola rozčlenená z pôvodnej práce na Github a pridal som knižnicu FabGL, aby bolo možné ju použiť na obrazovke namiesto na sériovej konzole.

Rád by som obidvom projektom veľmi pekne poďakoval. Pokračuj v dobrej práci!

Tento softvér bol testovaný najmenej na dvoch verziách hardvéru. Jeden z VGA32 ESP v1.4 (v predaji hotový). Druhá moja stará verzia, postavil som z modulu Wroom ESP32 a zošrotoval som staré počítače.

Nasledujúca stránka Github obsahuje dôležité informácie o týchto nastaveniach a upravenom softvéri pripravenom na inštaláciu.

Tento projekt je o inštalácii softvéru, nie o hardvéri.

Zásoby:

Modul VGA32 ESP V1.4 (testovaný). Nájdené na eBay / aliexpress / amazon atď

ID Arduino nainštalované v počítači, predpokladám, že ak to čítate, už to máte.

Nainštalujte balík podpory ESP32 pre Arduino IDE. https://github.com/espressif/arduino-esp32 Pozrite si krok 1

Knižnica FabGL https://www.fabglib.org/ nemusíte nič sťahovať, arduino IDE to môže urobiť za nás, pozri krok 2.

Stiahnite si kópiu upraveného RunCPM z

Krok 1: Nainštalujte podporu ESP32 pre Arduino (voliteľné)

Nainštalujte podporu ESP32 pre Arduino (voliteľné)
Nainštalujte podporu ESP32 pre Arduino (voliteľné)

Možno ste to už urobili, ak máte, môžete tento krok preskočiť.

navštívte https://github.com/espressif/arduino-esp32 a postupujte podľa pokynov na inštaláciu pomocou Správcu dosiek, ako je tento:

Pokyny na inštaláciu pomocou Arduino IDE Boards Manager ================================================== ================

Odkaz na stabilné vydanie:

Nainštalujte aktuálne upstream Arduino IDE na úrovni 1,8 alebo novšej. Aktuálna verzia je na webovej stránke Arduino.

Spustite Arduino a otvorte okno Predvoľby.

Zadajte jeden z odkazov na vydanie vyššie do poľa Ďalšie adresy URL správcu tabule. Môžete pridať viacero adries URL a oddeliť ich čiarkami.

Otvorte Správcu dosiek z ponuky Nástroje> ponuka Doska a nainštalujte platformu esp32 (a po inštalácii nezabudnite vybrať dosku ESP32 z ponuky Nástroje> ponuka Doska).

Krok 2: Pridanie knižnice FabGL do IDE

Pridanie knižnice FabGL do IDE
Pridanie knižnice FabGL do IDE
Pridanie knižnice FabGL do IDE
Pridanie knižnice FabGL do IDE

Pomocou prázdneho náčrtu v Arduino IDE sa uistite, že ste vybrali svoju dosku ESP z ponuky Nástroje, Dosky. (V čase písania článku nebol VGA32 ESP uvedený, vybral som generickú dosku Dev Kit).

V ponuke Náčrt vyberte položku Zahrnúť knižnicu a potom vyberte položku Správca knižnice.

V vyhľadávacom dialógovom okne napíšte FabGL a počkajte, kým sa neobjaví v zozname nižšie, teraz kliknite na tlačidlo Inštalovať.

hotový

Krok 3: Pridanie ďalšej knižnice kariet SD používanej systémom RunCPM

Pridanie ďalšej knižnice kariet SD používanej systémom RunCPM
Pridanie ďalšej knižnice kariet SD používanej systémom RunCPM

Je to takmer rovnaké ako v predchádzajúcom kroku, ale namiesto FabGL vyhľadajte SDFat

V ponuke Náčrt vyberte položku Zahrnúť knižnicu a potom vyberte položku Správca knižnice. V vyhľadávacom dialógovom okne napíšte SDFat a počkajte, kým sa nezobrazí v zozname nižšie, pravdepodobne budete musieť listovať v zozname.

Máte na výber z dvoch verzií:

1, SdFat od Billa Greimana

2, SdFat - Adafruit Fork

Vyskúšal som oba, zdá sa, že fungujú v poriadku. Projekt RunCPM však odporučil druhú možnosť „Adafruit Fork“, avšak v najnovších poznámkach sa teraz uvádza:

Všetky dosky teraz používajú knižnicu SdFat, odtiaľto:

Teraz si teda vyberám prvú možnosť pre tento projekt.

hotový

Krok 4: Stiahnite si upravený projekt RunCPM

Stiahnite si upravený projekt RunCPM
Stiahnite si upravený projekt RunCPM
Stiahnite si upravený projekt RunCPM
Stiahnite si upravený projekt RunCPM

Navštívte stránku Github, Kliknite na tlačidlo KÓD a stiahnite si ho ako súbor ZIP

Tento súbor niekde uložte (zvyčajne do adresára s názvom Arduino.

Rozbaľte súbor na rovnaké miesto a vytvorí sa priečinok s názvom RunCPM-master

hotový

Krok 5: Otvorte a skontrolujte program RunCPM a skompilujte

Otvorte a skontrolujte program RunCPM a skompilujte
Otvorte a skontrolujte program RunCPM a skompilujte

Teraz môžete použiť ponuku Arduino IDE File, Open. Prejdite do priečinka, ktorý ste uzipkovali vyššie.

V tomto priečinku sa nachádza ďalší s názvom RunCPM. Otvorte priečinok.

V tomto priečinku sa nachádza súbor.ino s názvom RunCPM.ino. Toto je hlavný súbor projektu - otvorte ho.

Teraz si môžete pozrieť projekt, prečítať si komentáre atď. Vykonajte zmeny, ak potrebujete zodpovedať vašej verzii VGA32 -ESP. Mal by byť predkonfigurovaný pre V1.4 dosky.

Teraz môžete kliknúť na kompiláciu a nahrať za predpokladu, že máte pripojený VGA32 ESP, nahrá emulátor do vášho zariadenia.

DÔLEŽITÉ: VGA32 môže mať v tomto mieste problém s kartou SD, preto ho nezapájajte, aby ste vedeli. Ďalšie informácie nájdete v poslednom kroku nižšie.

Krok 6: Vytvorte si kartu SD pripravenú na spustenie vašej RunCPM z

Toto je možno najtradičnejší krok. Odporúčame vám, aby ste si prečítali README.md stránky Github, ako to urobiť. Tu je môj zoznam toho, čo mám robiť:

Predpokladám, že máte prázdnu kartu SD alebo nemáte záujem uchovávať na nej žiadne súbory, čím sa vymažete.

1, naformátujte kartu SD ako FAT-32

2, Vytvorte niekoľko priečinkov s názvom A, B, C D atď. (Až do P to budú diskové jednotky pri spustení CP/M). Všimnite si, že sú to veľké písmená.

3, V každom priečinku, ktorý vytvoríte Vytvorte ďalší priečinok s názvom 0 (to je nula) a voliteľne 1, 2, 3 atď. (Až 15) Potom sú priečinky užívateľskými oblasťami v emulácii CP/M. Na spustenie potrebujete iba priečinok 0.

4, V stiahnutom priečinku projektu v adresári arduino nájdite priečinok s názvom CCP. Obsahuje rôzne verzie postupníka príkazovej konzoly CP/M. Skopírujte ten s názvom CCP-DR.60K do koreňa vašej karty SD.

5, Teraz nájdite priečinok v adresári projektu s názvom DISK, Obsahuje súbor A. ZIP, musíte tento súbor rozbaliť do adresára s názvom A/ 0/ na SD karte. (ďalšie informácie nájdete tiež v súbore 1streadme). V zozname priečinkov bohužiaľ nemá „0“, takže ho musíte najskôr rozbaliť do dočasného priečinka a potom skopírovať obsah priečinka A do priečinka A/ 0/ na karte SD.

6, Keď ste vykonali vyššie uvedené kroky, budete mať kartu SD so štruktúrou takto:

F: CCP-DR.60K

/A/0

/1STREAD. ME

/ASM. COM

/…. atď

/B/0

/C/0

atď

Ak sa vám pri pokuse o zavedenie z karty SD zobrazuje chyba, že nie je možné načítať CCP atď., Dvakrát skontrolujte, či máte všetko v správnom tempe!

V snahe uľahčiť túto fázu som nahral pripravenú verziu vyššie uvedeného programu a tiež softvér cp/m, ktorý si tiež môžete stiahnuť tu https://github.com/coopzone-dc/RunCPM/blob /master/… a rozbaľte ho do koreňa naformátovanej karty SD. Malo by vás to začať, potom si môžete neskôr vytvoriť svoj vlastný.

Odporúčame vám tiež prečítať si sprievodcu nastavením na Github Repo, ktorý obsahuje popis priečinkov, ktoré potrebujete.

Krok 7: Pripojte monitor VGA a klávesnicu

Pripojte monitor VGA a klávesnicu
Pripojte monitor VGA a klávesnicu

Odpojte napájanie karty VGA32 ESP.

Pripojte svoj monitor VGA

Pripojte klávesnicu PS/2 Znovu pripojte napájanie karty VGA32 ESP, mali by ste vidieť, ako blikajú kontrolky klávesnice a asi o 10 sekúnd neskôr sa na obrazovke zobrazí obrázok s výzvou CP/M!

Dôležité: VGA32 má problém pri použití karty SD a softvérového resetu, preto je dôležité ako prvý krok VYPNÚŤ NAPÁJANIE, Ďalšie informácie nájdete v poslednom kroku.

Preč, choď…

Krok 8: Problém s kartou SD na module VGA32

Problém s kartou SD na module VGA32
Problém s kartou SD na module VGA32
Problém s kartou SD na module VGA32
Problém s kartou SD na module VGA32

Na vyššie uvedenej fotografii je moja druhá karta ESP32 (domáca výroba), ktorá funguje dobre a nemá žiadny nasledujúci problém. Takže viem, že nejde o softvérový problém, prečítajte si prosím nižšie informácie o verzii VGA32.

Na mojom module VG32 ESP (v1.4) karta SD používa GPIO12, čo spoločnosť Espressif Systems neodporúča, pretože tento kolík sa používa na zapnutie napájania na zistenie pracovného napätia pre vnútornú pamäť. Prial by som si, aby to niekto povedal chlapcovi, ktorý vyrobil túto kartu VGA32! U vás sa to môže líšiť, takže dúfajme, že s týmto problémom nebudete mať.

Problémy sú tieto:

1, Nie je možné nahrať náčrt, keď je karta zapojená.

2, Po stlačení tlačidla reset sa uzamkne, kým nevyberiete kartu SD. Potom sa spustí na chybovú obrazovku, ktorá hovorí, že žiadna karta SD! Kartu môžete vložiť a resetovať znova a na druhýkrát to bude fungovať.

Tento problém je opraviteľný (má však riziko), pozri si README.md na

alebo môžete dosku kedykoľvek tvrdo vypnúť/zapnúť. Z nejakého dôvodu sa zdá, že to funguje dobre. Tiež, ak potrebujete znova nahrať softvér RunCPM, musíte najskôr vybrať kartu SD.

Toto je výpis z súboru README. MD, ktorý vysvetľuje problém. Opravu som použil a funguje to dobre, ALE kvôli svojej povahe je riziko vaše, čítajte ďalej …

Zdá sa však, že nastavenia pre VGA32 ESP sú v konflikte s nastaveniami GPIO pre kartu SD.

Funguje to, ale na nahranie musíte vybrať kartu SD a po mäkkom resete musíte kartu SD vybrať a potom ju vymeniť a potom vykonať ďalší reset. Funguje to dobre po zapnutí alebo tvrdom resete. Ak môžete pomôcť vyriešiť tento problém, dajte mi vedieť. UPDATE 11Oct2020: VGA32 ESP v1.4 používa GPIO12 (MTDI, čítanie pri zapnutí/resetovaní). Tento pin určuje napätie pre RAM, napätie interného LDO (VDD_SDIO). Keď je prítomná karta SD, vytiahne tento kolík vysoko a ESP32 si myslí, že napätie RAM by malo byť 1,8 V, bez karty SD má tento kolík vnútorné vysúvanie na nastavenie napätia RAM na 3,3 V. Toto je skutočne spomenuté v poznámkach z príkladov uvedených na projekte FABGL, ktoré citujeme: poznámky o GPIO 2 a 12 - GPIO2: môžu spôsobiť problém s programovaním. Aby ste mohli vstúpiť do sériového zavádzača, musí byť GPIO2 buď ponechaný nezapojený/plávajúci, alebo musí byť spustený na nízkej úrovni. V normálnom režime zavádzania (vysoký GPIO0) je GPIO2 ignorovaný. - GPIO12: treba sa vyhnúť. Vyberá napätie blesku. Ak ho chcete použiť, deaktivujte efekty nastavenia detekcie GPIO12 pomocou: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V UPOZORNENIE !! Dobré pre ESP32 s napätím 3,3 V (ESP-WROOM-32). Toto zablokuje váš ESP32, ak blesk nie je 3,3 V POZNÁMKA 1: nahraďte „/dev/cu. SLAB_USBtoUART“svojim sériovým portom POZNÁMKA 2: espefuse.py je možné stiahnuť z

Ďalej sa uvádza, že je potrebné sa vyhnúť GPIO12, čo bohužiaľ nikto nepovedal výrobcovi karty VGA32 ESP!

OPRAVENÉ: Skúsil som možnosť nastavenia napätia blesku tak, aby prekračovalo používanie GPIO12 a môžem na svojom vga32 ESP potvrdiť, že to funguje! Problém odstránený, žiadne ďalšie problémy s kartou SD. Naliehavo vás žiadam, aby ste skontrolovali, dvakrát skontrolovali a dobre si premysleli vytvorenie BRICK, ak sa rozhodnete to tiež vyskúšať. Neodporúčam to ako akciu, ale pre mňa to fungovalo.

Odporúča: