Tartalomjegyzék:

Retro CP/M önálló emulátor: 8 lépés
Retro CP/M önálló emulátor: 8 lépés

Videó: Retro CP/M önálló emulátor: 8 lépés

Videó: Retro CP/M önálló emulátor: 8 lépés
Videó: Atarian 31#: Programming the VCS 2024, Július
Anonim
Retro CP/M önálló emulátor
Retro CP/M önálló emulátor

Ez a projekt a VGA32 ESP v1.4 modult használja kombináció futtatására, vagy RunCPM és FabGL, hogy önálló számítógépet biztosítson, amely a CP/M 2.2 szabványnak megfelelő rendszert futtat. Az 1980 -as években népszerű, mint a kis számítógépek operációs rendszere. Visszatérhet az időben, és újra megnézheti a régi szoftvereket, mint például a Wordstar, a Supercalc, az Adventure és a Zork.

Önállóan a FabGL projekt jóvoltából, amely a szoftvert szabványos VGA monitor és PS/2 billentyűzet futtatásához szolgáltatta.

A fő operációs rendszer a RunCPM módosított verziója, elszakadt a Github eredeti munkájától, és hozzáadtam a FabGL könyvtárat, hogy lehetővé tegye a képernyőn való használatot a soros konzol helyett.

Szeretnék köszönetet mondani mindkét projektnek. További jó munkát!

A szoftvert legalább két hardververzión tesztelték. Az egyik a VGA32 ESP v1.4 (készen kapható). Másodszor a régi verziómat, amelyet egy Wroom ESP32 modulból építettem, és a régi számítógépek darabjait.

Az alábbi Github webhely fontos információkat tartalmaz ezekről a beállításokról, valamint a módosított telepítendő szoftverről.

Ez a projekt a szoftver telepítéséről szól, nem a hardverről.

Kellékek:

VGA32 ESP modul V1.4 (tesztelt). Megtalálható az eBay / aliexpress / amazon stb

A számítógépre telepített Arduino IDE, feltételezem, hogy ha ezt olvassa, már rendelkezik ezzel.

Telepítse az ESP32 támogatási csomagot az Arduino IDE számára. https://github.com/espressif/arduino-esp32 Lásd az 1. lépést

A FabGL könyvtár https://www.fabglib.org/ nem kell semmit letöltenie, az arduino IDE ezt megteheti helyettünk, lásd a 2. lépést.

Töltse le a módosított RunCPM egy példányát a https://github.com/coopzone-dc/RunCPM webhelyről

1. lépés: Telepítse az ESP32 támogatást az Arduino számára (opcionális)

ESP32 támogatás telepítése az Arduino számára (opcionális)
ESP32 támogatás telepítése az Arduino számára (opcionális)

Lehet, hogy ezt már megtette, ha igen, kihagyhatja ezt a lépést.

keresse fel a https://github.com/espressif/arduino-esp32 webhelyet, és kövesse a táblák kezelőjével történő telepítés utasításait, például:

Telepítési utasítások az Arduino IDE Boards Manager használatával ============================================== ===============

Stabil kiadási link:

Telepítse a jelenlegi upstream Arduino IDE -t az 1.8 -as vagy újabb szintre. A jelenlegi verzió az Arduino weboldalán található.

Indítsa el az Arduino programot, és nyissa meg a Beállítások ablakot.

Írja be a fenti kiadási linkek egyikét a További fórumkezelő URL -címek mezőbe. Több URL -t is hozzáadhat, vesszővel elválasztva.

Nyissa meg a Boards Manager alkalmazást az Eszközök> Tábla menüből, és telepítse az esp32 platformot (és ne felejtse el kiválasztani az ESP32 kártyát az Eszközök> Tábla menüből a telepítés után).

2. lépés: A FabGL könyvtár hozzáadása az IDE -hez

A FabGL könyvtár hozzáadása az IDE -hez
A FabGL könyvtár hozzáadása az IDE -hez
A FabGL könyvtár hozzáadása az IDE -hez
A FabGL könyvtár hozzáadása az IDE -hez

Az Arduino IDE üres vázlatával győződjön meg arról, hogy az Eszközök menü, Táblák menüpontját választotta ki. (Íráskor a VGA32 ESP nem volt felsorolva, én egy általános Dev Kit lapot választok).

A Vázlat menüben válassza a Könyvtár bevonása, majd a Könyvtárkezelő lehetőséget.

A keresési párbeszédpanelen írja be a FabGL parancsot, és várja meg, amíg megjelenik az alábbi listában, majd kattintson a Telepítés gombra.

befejezett

3. lépés: A RunCPM által használt további SD-kártya könyvtár hozzáadása

További SD-kártya könyvtár hozzáadása, amelyet a RunCPM használ
További SD-kártya könyvtár hozzáadása, amelyet a RunCPM használ

Ez majdnem ugyanaz, mint az előző lépés, de a FabGL helyett az SDFat keresése

A Vázlat menüben válassza a Könyvtár bevonása, majd a Könyvtárkezelő lehetőséget. Írja be az SDFat keresési párbeszédpanelt, és várja meg, amíg megjelenik az alábbi listában, valószínűleg le kell görgetnie a listát.

Két változat közül választhat:

1, SdFat Bill Greiman

2, SdFat - Adafruit villa

Mindkettőt kipróbáltam, úgy tűnik, mindkettő rendben működik. De a RunCPM projekt ajánlotta a második opciót, az "Adafruit Fork" -t, azonban a legutóbbi feljegyzések szerint most ez áll:

Az összes tábla most az SdFat könyvtárat használja, innen:

Tehát most az első lehetőséget választom ehhez a projekthez.

befejezett

4. lépés: Töltse le a módosított RunCPM projektet

Töltse le a módosított RunCPM projektet
Töltse le a módosított RunCPM projektet
Töltse le a Módosított RunCPM projektet
Töltse le a Módosított RunCPM projektet

Látogassa meg a Github webhelyét, Kattintson a KÓD gombra, és töltse le ZIP fájlként

Mentse el ezt a fájlt valahol (általában az Arduino nevű könyvtárban.

Csomagolja ki a fájlt ugyanarra a helyre, és létrehozza a RunCPM-master nevű mappát

befejezett

5. lépés: Nyissa meg és tekintse át a RunCPM programot és fordítsa le

Nyissa meg és tekintse át a RunCPM programot és a fordítást
Nyissa meg és tekintse át a RunCPM programot és a fordítást

Most már használhatja az Arduino IDE fájl, Megnyitás menüjét. Keresse meg a fent felsorolt mappát.

Ebben a mappában van egy másik, RunCPM. Nyissa meg a mappát.

Ebben a mappában van egy.ino fájl RunCPM.ino. Ez a fő projektfájl - nyissa meg.

Most megtekintheti a projektet, elolvashatja a megjegyzéseket stb. Ha szükséges, módosítsa a VGA32 -ESP verzióját. Előre be kell állítani a kártya V1.4-es verziójára.

Most rákattinthat a fordításra és a feltöltésre, feltéve, hogy csatlakoztatta a VGA32 ESP -t, és feltölti az emulátort az eszközére.

FONTOS: A VGA32-nek problémája lehet az SD-kártyával, ezért ne csatlakoztassa. További információkért tekintse meg az alábbi utolsó lépést.

6. lépés: Hozzon létre egy SD-kártyát, amely készen áll a RunCPM indítására

Ez talán a legtöbb lépés trükkje. Javaslom, hogy olvassa el a Github webhely README.md -jét, hogyan kell ezt megtenni. Íme a listám a tennivalókról:

Feltételezem, hogy üres SD-kártyája van, vagy nem kívánja megőrizni a fájlokat a meglévőn, ez törli azt.

1, formázza az SD-kártyát FAT-32 formátumban

2, Hozzon létre néhány mappát A, B, C D stb. Néven (P -ig ezek lesznek a lemezmeghajtók CP/M futtatásakor). Vegye figyelembe, hogy nagybetűk.

3, Minden létrehozott mappában Hozzon létre egy másik mappát, amelynek neve 0 (ez nulla) és opcionálisan 1, 2, 3 stb. (Legfeljebb 15). Ezután a mappák felhasználói területek a CP/M emulációban. Az induláshoz csak a 0 mappára van szüksége.

4, Az arduino könyvtár letöltött projektmappájából keresse meg a CCP nevű mappát. Ez a CP/M Command Console Proccessor különféle verzióit tartalmazza. Másolja a CCP-DR.60K nevű fájlt az SD-kártya gyökerébe.

5, Most keresse meg a DISK nevű mappát a projektkönyvtárban, A. ZIP fájlt tartalmaz, ezt a fájlt kell kicsomagolnia az SD-kártyán lévő A/ 0/ könyvtárba. (további információért lásd az 1. olvasás fájlt). Sajnos a mappalistában nincs "0", ezért először egy ideiglenes mappába kell kicsomagolnia, majd az A mappa tartalmát át kell másolnia az SD -kártyán lévő A/ 0/ mappába.

6, Ha elvégezte a fenti lépéseket, kap egy SD-kártyát, amelynek szerkezete a következő:

F: CCP-DR.60K

/A/0

/1STREAD. ME

/ASM. COM

/…. stb.

/B/0

/C/0

stb.

Ha hibaüzenetet kap arról, hogy nem tudja betölteni a CCP-t stb., Amikor az SD-kártyáról próbál indítani, ellenőrizze, hogy minden a megfelelő tempóban van-e!

Annak érdekében, hogy kissé megkönnyítsük ezt a lépést, feltöltöttem a fenti kész verziót, kiegészítve a cp/m szoftverrel, és töltsd le innen: https://github.com/coopzone-dc/RunCPM/blob /master/… és csak csomagolja ki a formázott SD-kártya gyökerébe. El kell kezdenie, majd később létrehozhatja a sajátját.

Azt is javaslom, hogy olvassa el a Github Repo telepítési útmutatóját, amely leírja a szükséges mappákat.

7. lépés: Csatlakoztassa a VGA monitort és a billentyűzetet

Csatlakoztassa a VGA monitort és a billentyűzetet
Csatlakoztassa a VGA monitort és a billentyűzetet

Válassza le a VGA32 ESP kártya áramellátását.

Csatlakoztassa a VGA monitort

Csatlakoztassa a PS/2 billentyűzetet Csatlakoztassa újra a tápellátást a VGA32 ESP kártyához, látni fogja, hogy a billentyűzet fényei villogni kezdenek, és körülbelül 10 másodperc múlva megjelenik egy kép a képernyőn egy CP/M paranccsal!

Fontos: A VGA32-nek problémája van az SD-kártya és a soft reset használatakor, ezért fontos, hogy a KIKAPCSOLJUK a fenti első lépést. További információkért lásd az utolsó lépést.

Menj el…

8. lépés: Probléma az SD-kártyával a VGA32 modulon

Probléma az SD-kártyával a VGA32 modulon
Probléma az SD-kártyával a VGA32 modulon
Probléma az SD-kártyával a VGA32 modulon
Probléma az SD-kártyával a VGA32 modulon

A fenti képen a második ESP32 kártyám látható (házi készítésű), ez jól működik, és nincs probléma az alábbiakban. Tehát tudom, hogy ez nem szoftver probléma, kérjük, olvassa el alább a VGA32 verzióját.

A VG32 ESP modulomon (v1.4) az SD-kártya GPIO12-et használ, ezt az Espressif Systems nem ajánlja, mivel ezt a csapot a bekapcsoláskor használják a belső memória üzemi feszültségének észlelésére. Bárcsak valaki elmondta volna a srácnak, aki ezt a VGA32 kártyát készíti! Lehet, hogy nálad más a helyzet, remélhetőleg nem lesz ilyen problémád.

A problémák a következők:

1, Nem lehet vázlatot feltölteni a kártya csatlakoztatásakor.

2, A reset gomb megnyomása után lezár, amíg ki nem veszi az SD-kártyát. Ezután hibaüzenet jelenik meg, és nincs SD-kártya! Behelyezheti a kártyát, és újraindíthatja, és másodszor is működik.

Ez a probléma megoldható (de kockázattal jár), lásd a README.md címet a

vagy bármikor kikapcsolhat/bekapcsolhat a táblát. Valamiért úgy tűnik, hogy ez jól működik. Továbbá, ha újra fel kell töltenie a RunCPM szoftvert, először távolítsa el az SD-kártyát.

Ez a README. MD kivonata, amely megmagyarázza a problémát. Használtam a javítást, és jól működik, DE természetéből adódóan a kockázat a tiéd, olvasd el…

A VGA32 ESP beállításai azonban ellentmondanak az SD -kártya GPIO -beállításainak.

Működik, de a feltöltéshez el kell távolítania az SD -kártyát, és a puha visszaállítás után el kell távolítania az SD -kártyát, majd ki kell cserélnie, majd újabb alaphelyzetbe kell állítania. Bekapcsolt állapotból vagy hard resetből jól működik. Ha tudsz segíteni ennek kijavításában, tudasd velem. UPDATE 11 Oct2020: A VGA32 ESP v1.4 GPIO12 -et használ (MTDI, olvasható bekapcsoláskor/visszaállításkor). Ez a csap határozza meg a RAM feszültségét, a belső LDO feszültségét (VDD_SDIO). Ha az SD-kártya jelen van, akkor ezt a tűt magasra húzza, és az ESP32 úgy gondolja, hogy a RAM feszültségének 1,8 V-nak kell lennie, az SD-kártya nélkül ez a csap belső lehúzással állítja be a RAM-feszültséget 3,3 V-ra. Ezt valójában a FABGL projekt példáinak jegyzetei említik, hogy idézzek: megjegyzések a GPIO 2 és 12 -ről - GPIO2: problémát okozhat a programozás során. A GPIO2 -t vagy nem kell csatlakoztatni/lebegni, vagy alacsonyan kell hajtani, hogy beléphessen a soros rendszerbetöltőbe. Normál rendszerindítási módban (GPIO0 magas) a GPIO2 figyelmen kívül marad. - GPIO12: kerülni kell. Kiválasztja a vaku feszültségét. Használatához tiltsa le a GPIO12 észlelési beállításokat a következővel: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V WARN !! Jó az ESP32-hez 3,3 V feszültséggel (ESP-WROOM-32). Ez TÖKÉLTETI az ESP32 -t, ha a vaku nem 3.3 V -os MEGJEGYZÉS: cserélje ki az „/dev/cu. SLAB_USBtoUART” fájlt a soros portjára.

Ez azt is megjegyzi, hogy a GPIO12 -et kerülni kell, ezt senki nem mondta el a VGA32 ESP kártya gyártójának!

Javítva: kipróbáltam a vaku feszültségét úgy, hogy felülírja a GPIO12 használatát, és megerősíthetem a vga32 ESP -n, hogy működik! A probléma megoldódott, nincs több probléma az SD -kártyával. Arra kérem Önt, hogy ellenőrizze, kétszer ellenőrizze és alaposan gondolja át a TÉGLY létrehozását, ha úgy dönt, hogy megpróbálja azt is. Nem akciónak ajánlom, de nekem bevált.

Ajánlott: