Obsah:

Samostatný emulátor Retro CP/M: 8 kroků
Samostatný emulátor Retro CP/M: 8 kroků

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

Video: Samostatný emulátor Retro CP/M: 8 kroků
Video: CPM Software Transfer: Where to find it & how to get into a CP/M computer #retro #retrogaming 2024, Červenec
Anonim
Samostatný emulátor Retro CP/M
Samostatný emulátor Retro CP/M

Tento projekt používá modul VGA32 ESP v1.4 ke spuštění kombinace nebo RunCPM a FabGL k poskytnutí samostatného počítače s ekvivalentním systémem CP/M 2.2. Populární v 80. letech jako operační systém pro malé počítače. Můžete se vrátit v čase a znovu navštívit starý software, jako jsou Wordstar, Supercalc, Adventure a Zork.

Je to s laskavým svolením projektu FabGL, který poskytl software pro provoz standardního monitoru VGA a klávesnice PS/2.

Hlavním operačním systémem je upravená verze RunCPM, byla vytvořena z původní práce na Githubu a přidal jsem knihovnu FabGL, aby bylo možné ji použít na obrazovce místo na sériové konzole.

Chtěl bych oběma projektům moc poděkovat. Pokračuj v dobré práci!

Software byl testován alespoň na dvou verzích hardwaru. Jeden VGA32 ESP v1.4 (jak se prodává hotový). Jako druhá moje stará verze jsem stavěl z modulu Wroom ESP32 a šrotoval ze starých počítačů.

Níže uvedený web Github obsahuje důležité informace o těchto nastaveních a také o upraveném softwaru připraveném k instalaci.

Tento projekt je o instalaci softwaru, ne o hardwaru.

Zásoby:

Modul VGA32 ESP V1.4 (testováno). Nalezeno na eBay / aliexpress / amazon atd

Arduino IDE nainstalované v počítači, předpokládám, že pokud to čtete, už to máte.

Nainstalujte si balíček podpory ESP32 pro Arduino IDE. https://github.com/espressif/arduino-esp32 Viz krok 1

Knihovna FabGL https://www.fabglib.org/ nemusíte nic stahovat, to za nás může udělat arduino IDE, viz krok 2.

Stáhněte si kopii upraveného RunCPM z

Krok 1: Nainstalujte podporu ESP32 pro Arduino (volitelně)

Nainstalujte si podporu ESP32 pro Arduino (volitelně)
Nainstalujte si podporu ESP32 pro Arduino (volitelně)

Možná jste to již udělali, pokud ano, můžete tento krok přeskočit.

navštivte https://github.com/espressif/arduino-esp32 a postupujte podle pokynů k instalaci pomocí Správce desek, jako je tento:

Pokyny k instalaci pomocí Arduino IDE Boards Manager ================================================== ================

Odkaz na stabilní vydání:

Nainstalujte aktuální upstream Arduino IDE na úrovni 1,8 nebo novější. Aktuální verze je na webu Arduino.

Spusťte Arduino a otevřete okno Předvolby.

Zadejte jeden z odkazů na vydání výše do pole Další adresy URL Správce desek. Můžete přidat více adres URL a oddělit je čárkami.

Otevřete Správce desek v nabídce Nástroje> Nabídka Deska a nainstalujte platformu esp32 (a nezapomeňte po instalaci vybrat desku ESP32 z nabídky Nástroje> Nabídka desky).

Krok 2: Přidání knihovny FabGL do IDE

Přidání knihovny FabGL do IDE
Přidání knihovny FabGL do IDE
Přidání knihovny FabGL do IDE
Přidání knihovny FabGL do IDE

Pomocí prázdného náčrtu v Arduino IDE se ujistěte, že jste vybrali svou desku ESP z nabídky Nástroje, Desky. (V době psaní nebyl VGA32 ESP uveden, vybral jsem obecnou desku Dev Kit).

Z nabídky Skica vyberte Zahrnout knihovnu a poté zvolte Správce knihovny.

Do vyhledávacího dialogu zadejte FabGL a počkejte, až se objeví v seznamu níže, nyní klikněte na tlačítko Instalovat.

hotovo

Krok 3: Přidání další knihovny SD karet používané systémem RunCPM

Přidání další knihovny SD karet používané systémem RunCPM
Přidání další knihovny SD karet používané systémem RunCPM

To je téměř stejné jako v předchozím kroku, ale místo FabGL hledejte SDFat

Z nabídky Skica vyberte Zahrnout knihovnu a poté zvolte Správce knihovny. Do vyhledávacího dialogu zadejte SDFat a počkejte, až se objeví v seznamu níže, budete pravděpodobně muset listovat v seznamu dolů.

Máte na výběr ze dvou verzí:

1, SdFat od Billa Greimana

2, SdFat - Adafruit Fork

Zkoušel jsem obojí, zdá se, že fungují dobře. Projekt RunCPM však doporučil druhou možnost „Adafruit Fork“, nicméně v nejnovějších poznámkách nyní uvádí:

Všechny desky nyní používají knihovnu SdFat, odtud:

Nyní tedy volím první možnost pro tento projekt.

hotovo

Krok 4: Stáhněte si upravený projekt RunCPM

Stáhněte si upravený projekt RunCPM
Stáhněte si upravený projekt RunCPM
Stáhněte si upravený projekt RunCPM
Stáhněte si upravený projekt RunCPM

Navštivte web Github, Klikněte na tlačítko KÓD a stáhněte jako soubor ZIP

Tento soubor někam uložte (obvykle do adresáře s názvem Arduino.

Rozbalte soubor do stejného umístění, vytvoří se složka s názvem RunCPM-master

hotovo

Krok 5: Otevřete a zkontrolujte program RunCPM a zkompilujte

Otevřete a zkontrolujte program RunCPM a zkompilujte
Otevřete a zkontrolujte program RunCPM a zkompilujte

Nyní můžete použít soubor Arduino IDE, nabídka Otevřít. Přejděte do složky, kterou jste výše uzipovali.

V této složce je další s názvem RunCPM. Otevřete složku.

Uvnitř této složky je soubor.ino s názvem RunCPM.ino. Toto je hlavní soubor projektu - otevřete jej.

Nyní si můžete prohlédnout projekt, přečíst si komentáře atd. Proveďte změny, pokud potřebujete odpovídat vaší verzi VGA32 -ESP. Mělo by být předem nakonfigurováno pro V1.4 desky.

Nyní můžete kliknout na kompilaci a nahrát, za předpokladu, že máte připojený VGA32 ESP, nahraje emulátor do vašeho zařízení.

DŮLEŽITÉ: V tomto okamžiku může mít VGA32 problém s kartou SD, proto jej nezapojujte, abyste věděli. Další informace najdete v posledním kroku níže.

Krok 6: Vytvořte kartu SD, ze které můžete spustit RunCPM

Toto je možná nejvíce trik kroků. Doporučuji přečíst si README.md na webu Github o tom, jak to udělat. Zde je můj seznam toho, co dělat:

Předpokládám, že máte prázdnou kartu SD nebo nemáte zájem uchovávat žádné soubory na té, kterou máte, tím se smaže.

1, naformátujte kartu SD jako FAT-32

2, Vytvořte některé složky s názvem A, B, C D atd. (Až P to budou diskové jednotky při spuštění CP/M). Všimněte si, že jsou to velká písmena.

3, V každé složce, kterou vytvoříte Vytvořte další složku s názvem 0 (to je nula) a volitelně 1, 2, 3 atd. (Až 15) Pak jsou složky uživatelskými oblastmi v emulaci CP/M. Ke spuštění potřebujete pouze složku 0.

4, Ze stažené složky projektu v adresáři arduino vyhledejte složku s názvem CCP. Obsahuje různé verze nástroje CP/M Command Console Proccessor. Zkopírujte ten s názvem CCP-DR.60K do kořenového adresáře vaší SD karty.

5, Nyní najděte složku v adresáři projektu s názvem DISK, Obsahuje soubor A. ZIP, musíte tento soubor rozbalit do adresáře s názvem A/ 0/ na vaší SD kartě. (více informací naleznete také v souboru 1.readme). Bohužel v seznamu složek nemá „0“, takže musíte nejprve rozbalit dočasnou složku a poté zkopírovat obsah složky A do A/ 0/ na SD kartě.

6, Když jste provedli výše uvedené kroky, budete mít kartu SD se strukturou takto:

F: CCP-DR.60K

/A/0

/1STREAD. ME

/ASM. COM

/…. atd

/B/0

/C/0

atd

Pokud se vám při pokusu o zavedení z karty SD zobrazí chybové hlášení nelze načíst CCP atd., Zkontrolujte, zda máte vše ve správném tempu!

Ve snaze tuto fázi trochu usnadnit jsem nahrál hotovou verzi výše, s přidaným softwarem cp/m a také jej stáhněte zde https://github.com/coopzone-dc/RunCPM/blob /master/… a rozbalte jej do kořenového adresáře naformátované karty SD. Mělo by to začít, abyste si později mohli vytvořit vlastní.

Doporučuji také přečíst si průvodce nastavením na Github Repo, který obsahuje popis složek, které potřebujete.

Krok 7: Připojte monitor VGA a klávesnici

Připojte monitor a klávesnici VGA
Připojte monitor a klávesnici VGA

Odpojte napájení karty VGA32 ESP.

Připojte monitor VGA

Připojte klávesnici PS/2 Znovu připojte napájení ke kartě VGA32 ESP, měli byste vidět blikání kontrolek klávesnice a asi o 10 sekund později se na obrazovce objeví obrázek s výzvou CP/M!

Důležité: VGA32 má problém při použití SD karty a soft reset, proto je důležité VYPNOUT NAPÁJENÍ jako první krok výše, další informace viz poslední krok.

Pryč jdi…

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

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

Na výše uvedené fotografii je moje druhá karta ESP32 (domácí výroba), funguje to dobře a problém níže není. Vím tedy, že se nejedná o softwarový problém, přečtěte si prosím níže verzi VGA32.

Na mém modulu VG32 ESP (v1.4) používá karta SD GPIO12, což společnost Espressif Systems nedoporučuje, protože tento kolík se používá při zapnutí k detekci pracovního napětí pro interní paměť. Přál bych si, aby to někdo řekl tomu, kdo vyrábí tuto kartu VGA32! U vás se to může lišit, takže doufejme, že tento problém nebudete mít.

Problémy jsou:

1, Nelze nahrát skicu, když je karta zapojena.

2, Po stisknutí tlačítka reset se uzamkne, dokud nevyberete kartu SD. Poté se spustí na chybovou obrazovku, která říká, že žádná karta SD! Kartu můžete vložit a znovu resetovat a podruhé to bude fungovat.

Tento problém lze opravit (má však riziko), viz README.md na

nebo můžete desku spustit tvrdým vypnutím/zapnutím. Z nějakého důvodu se zdá, že to funguje dobře. Také pokud potřebujete znovu nahrát software RunCPM, musíte nejprve vyjmout kartu SD.

Toto je výpis z souboru README. MD, který vysvětluje problém. Použil jsem opravu a funguje to dobře, ALE kvůli své povaze je riziko na vás, čtěte dále …

Zdá se však, že nastavení pro VGA32 ESP je v konfliktu s nastavením GPIO pro kartu SD.

Funguje to, ale k nahrání musíte vyjmout kartu SD a po měkkém resetu musíte kartu SD vyjmout a poté ji vyměnit a poté provést další reset. Funguje to dobře po zapnutí nebo tvrdém resetu. Pokud můžete pomoci vyřešit tento problém, dejte mi prosím vědět. UPDATE 11Oct2020: VGA32 ESP v1.4 používá GPIO12 (MTDI, čtení při zapnutí/resetu). Tento kolík určuje napětí pro RAM, napětí interního LDO (VDD_SDIO). Když je přítomna karta SD, vytáhne tento kolík vysoko a ESP32 si myslí, že napětí RAM by mělo být 1,8 V, bez karty SD má tento kolík vnitřní výsuv pro nastavení napětí RAM na 3,3 V. To je ve skutečnosti uvedeno v poznámkách z příkladů uvedených na projektu FABGL, abychom citovali: poznámky o GPIO 2 a 12 - GPIO2: mohou způsobit problém s programováním. Aby bylo možné vstoupit do sériového zavaděče, musí být GPIO2 buď ponechán nespojený/plovoucí, nebo musí být spuštěn na nízké úrovni. V normálním zaváděcím režimu (vysoký GPIO0) je GPIO2 ignorován. - GPIO12: je třeba se vyhnout. Vybírá napětí blesku. Chcete -li jej použít, deaktivujte nastavení detekce GPIO12 pomocí: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V UPOZORNĚNÍ !! Dobré pro ESP32 s napětím 3,3 V (ESP-WROOM-32). Pokud blesk není 3,3 V, dojde k POUŽITÍ ESP32 POZNÁMKA 1: nahraďte „/dev/cu. SLAB_USBtoUART“svým sériovým portem POZNÁMKA2: espefuse.py lze stáhnout z

To dále uvádí, že je třeba se vyhnout GPIO12, což bohužel nikdo neřekl výrobci karty VGA32 ESP!

OPRAVENO: Zkoušel jsem možnost nastavení napětí blesku tak, aby překračovalo použití GPIO12 a mohu potvrdit na mém vga32 ESP, funguje to! Problém vyřešen, žádné další problémy s kartou SD. Vyzývám vás, abyste zkontrolovali, dvakrát zkontrolovali a dobře si rozmysleli vytvoření BRICK, pokud se rozhodnete to také vyzkoušet. Nedoporučuji to jako akci, ale pro mě to fungovalo.

Doporučuje: