Sisukord:

Retro CP/M eraldiseisev emulaator: 8 sammu
Retro CP/M eraldiseisev emulaator: 8 sammu

Video: Retro CP/M eraldiseisev emulaator: 8 sammu

Video: Retro CP/M eraldiseisev emulaator: 8 sammu
Video: Операционная система CP/M на Altair 8800 2024, Detsember
Anonim
Retro CP/M eraldiseisev emulaator
Retro CP/M eraldiseisev emulaator

See projekt kasutab kombinatsiooni käitamiseks VGA32 ESP v1.4 moodulit või RunCPM ja FabGL, et pakkuda eraldiseisvat arvutit, mis töötab samaväärse süsteemiga CP/M 2.2. 1980ndatel populaarne väikeste arvutite operatsioonisüsteemina. Võite minna ajas tagasi ja vaadata uuesti vana tarkvara, nagu Wordstar, Supercalc, Adventure ja Zork.

See on eraldiseisev viisakus FabGL -projektiga, mis pakkus tarkvara tavalise VGA -monitori ja PS/2 klaviatuuri käitamiseks.

Peamine operatsioonisüsteem on RunCPM -i muudetud versioon, see on Githubi algsest tööst hargnenud ja olen lisanud FabGL -i teegi, et seda saaks kasutada jadakonsooli asemel ekraanil.

Tahaksin öelda suured tänud mõlemale projektile. Jätka samas vaimus!

Tarkvara on testitud vähemalt kahel riistvaraversioonil. Üks VGA32 ESP v1.4 (müügil valmis kujul). Teiseks oma vana versiooni, mille ehitasin Wroom ESP32 moodulist ja vanade arvutite jäägid.

Allpool olev Githubi sait sisaldab olulist teavet nende seadistuste ja muudetud installimisvalmis tarkvara kohta.

See projekt puudutab tarkvara installimist, mitte riistvara.

Tarvikud:

VGA32 ESP moodul V1.4 (testitud). Leitud eBayst / aliexpressist / amazonist jne

Arvutisse installitud Arduino IDE, eeldan, et kui seda loete, on see juba olemas.

Installige ESP32 tugipakett Arduino IDE jaoks. https://github.com/espressif/arduino-esp32 Vt 1. samm

FabGL -i teek https://www.fabglib.org/ ei pea midagi alla laadima, arduino IDE saab seda meie jaoks teha, vt 2. samm.

Laadige muudetud RunCPM-i koopia alla aadressilt

Samm: installige ESP32 tugi Arduino jaoks (valikuline)

Installige ESP32 tugi Arduino jaoks (valikuline)
Installige ESP32 tugi Arduino jaoks (valikuline)

Võib -olla olete seda juba teinud, kui olete seda teinud, võite selle sammu vahele jätta.

külastage aadressi https://github.com/espressif/arduino-esp32 ja järgige plaatide halduri abil installimise juhiseid, näiteks seda:

Paigaldusjuhised Arduino IDE Boards Manageri abil =========================================== ===============

Stabiilse väljalaske link:

Paigaldage praegune ülesvoolu Arduino IDE tasemele 1,8 või uuem. Praegune versioon on Arduino veebisaidil.

Käivitage Arduino ja avage eelistuste aken.

Sisestage üks ülaltoodud väljalaske linkidest väljale Täiendavad juhatusehalduri URL -id. Saate lisada mitu URL -i, eraldades need komadega.

Avage Boards Manager menüüst Tools> Board ja installige esp32 platvorm (ja ärge unustage pärast installimist valida ESP32 plaat menüüst Tools> Board).

2. samm: FabGL -i kogu lisamine IDE -sse

FabGL -i kogu lisamine IDE -sse
FabGL -i kogu lisamine IDE -sse
FabGL -i kogu lisamine IDE -sse
FabGL -i kogu lisamine IDE -sse

Kasutades tühja visandit Arduino IDE -s, veenduge, et olete oma ESP -plaadi valinud menüüst Tööriistad, Lauad. (VGA32 ESP kirjutamise ajal ei olnud loendis, valin üldise Dev Kiti plaadi).

Valige eskiismenüüst Kaasa raamatukogu, seejärel valige teegihaldur.

Tippige otsingudialoogi FabGL ja oodake, kuni see ilmub allolevasse loendisse, klõpsake nüüd nuppu Installi.

valmis

3. samm: RunCPM-i kasutatava täiendava SD-kaardi kogu lisamine

Täiendava SD-kaardi kogu lisamine, mida kasutab RunCPM
Täiendava SD-kaardi kogu lisamine, mida kasutab RunCPM

See on peaaegu sama mis eelmine samm, kuid FabGL asemel otsige SDFat

Valige Sketch menüüst Include Library, seejärel tehke Library manager. Tippige otsingudialoogi SDFat ja oodake, kuni see ilmub allolevasse loendisse, peate tõenäoliselt loendit allapoole kerima.

Saate valida kahe versiooni vahel:

1, SdFat, Bill Greiman

2, SdFat - Adafruit kahvel

Olen proovinud mõlemat, tundub, et mõlemad töötavad hästi. Kuid RunCPM -i projekt soovitas teist võimalust "Adafruit Fork", kuid viimaste märkmete kohaselt ütleb see nüüd:

Kõik tahvlid kasutavad nüüd SdFati raamatukogu siit:

Nii et nüüd valin selle projekti jaoks esimese variandi.

valmis

Samm: laadige alla muudetud RunCPM -i projekt

Laadige alla muudetud RunCPM -i projekt
Laadige alla muudetud RunCPM -i projekt
Laadige alla muudetud RunCPM -i projekt
Laadige alla muudetud RunCPM -i projekt

Külastage Githubi saiti, Klõpsake nuppu KOOD ja laadige alla ZIP -failina

Salvestage see fail kuhugi (tavaliselt kataloogi nimega Arduino.

Pakkige fail samasse kohta lahti ja see loob kausta nimega RunCPM-master

valmis

Samm: avage RunCPM programm ja vaadake see üle ning kompileerige

Avage ja vaadake üle RunCPM programm ja kompileerige
Avage ja vaadake üle RunCPM programm ja kompileerige

Nüüd saate kasutada Arduino IDE -faili, menüüd Ava. Liikuge ülaltoodud kausta.

Selle kausta sees on teine nimega RunCPM. Avage kaust.

Selle kausta sees on.ino fail nimega RunCPM.ino. See on peamine projektifail - avage see.

Nüüd saate projekti vaadata, kommentaare lugeda jne. Kui teil on vaja sobitada oma VGA32 -ESP versiooniga, tehke muudatusi. See peaks olema eelnevalt konfigureeritud plaadi V1.4 jaoks.

Nüüd saate klõpsata käsul Kompileeri ja üles laadida, eeldusel, et teil on ühendatud VGA32 ESP, laadib see emulaatori teie seadmesse üles.

TÄHTIS: VGA32-l võib praegu olla SD-kaardiga probleeme, nii et ärge seda teadmiseks ühendage. Lisateabe saamiseks vaadake allolevat viimast sammu.

6. samm: looge SD-kaart, mis on valmis käivitama oma käivitamise CPM-i

See on võib -olla kõige sammude nipp. Soovitan teil lugeda Githubi saidi README.md, kuidas seda teha. Siin on minu nimekiri, mida teha:

Eeldan, et teil on tühi SD-kaart või te pole huvitatud olemasolevate failide hoidmisest, see kustutab selle.

1, vormindage SD-kaart vormingus FAT-32

2, looge mõned kaustad nimega A, B, C D jne (kuni P on need kettaseadmed CP/M käivitamisel). Pange tähele, et need on pealinnad.

3, Igas loodud kaustas Looge teine kaust nimega 0 (see on null) ja valikuliselt 1, 2, 3 jne (kuni 15). Seejärel on kaustad kasutajapiirkonnad CP/M emulatsioonis. Alustamiseks vajate ainult kausta 0.

4 Leidke arduino kataloogist allalaaditud projekti kaustast kaust nimega CCP. See sisaldab CP/M Command Console Proccessori erinevaid versioone. Kopeerige üks nimega CCP-DR.60K oma SD-kaardi juure.

5, Nüüd leidke kaust projekti kataloogist nimega DISK. See sisaldab A. ZIP-faili, peate selle faili lahti pakkima oma SD-kaardi kataloogi A/ 0/. (lisateabe saamiseks vaadake ka 1. lugemisfaili). Kahjuks pole sellel kaustade loendis "0", nii et peate esmalt ajutise kausta lahti pakkima ja seejärel kopeerima A -kausta sisu SD -kaardile A/ 0/.

6, Kui olete ülaltoodud toimingud teinud, on teil sellise struktuuriga SD-kaart:

F: CCP-DR.60K

/A/0

/1STREAD. ME

/ASM. COM

/…. jne

/B/0

/C/0

jne

Kui saate SD-kaardilt alglaadimisel tõrkeid selle kohta, et CCP-d ei saa laadida jne, kontrollige, kas kõik on õiges tempos!

Püüdes seda etappi natuke lihtsamaks muuta, laadisin üles ülaltoodud valmisversiooni, millele on lisatud ka cp/m tarkvara, ja laadige see siit alla https://github.com/coopzone-dc/RunCPM/blob /master/… ja lihtsalt pakkige see vormindatud SD-kaardi juurest lahti. See peaks alustama, siis saate hiljem ise luua.

Samuti soovitan teil lugeda Github Repo seadistusjuhendit, seal on vajalike kaustade kirjeldus.

Samm: ühendage VGA -monitor ja klaviatuur

Ühendage VGA -monitor ja klaviatuur
Ühendage VGA -monitor ja klaviatuur

Ühendage VGA32 ESP -kaardi toide lahti.

Ühendage oma VGA -monitor

Ühendage PS/2 klaviatuur Ühendage toide uuesti VGA32 ESP kaardiga, peaksite nägema, et klaviatuuri tuled vilguvad ja umbes 10 sekundi pärast ilmub ekraanile pilt koos CP/M viipega!

Tähtis: VGA32-l on probleem SD-kaardi ja pehme lähtestamise kasutamisel, seetõttu on oluline esimese sammuna LÜLITADA VÄLJAKULU, lisateabe saamiseks vaadake viimast sammu.

Eemal sa lähed…

Samm: probleem VGA32 mooduli SD-kaardiga

Probleem SD-kaardiga VGA32 moodulil
Probleem SD-kaardiga VGA32 moodulil
Probleem SD-kaardiga VGA32 moodulil
Probleem SD-kaardiga VGA32 moodulil

Ülaltoodud foto näitab minu teist ESP32 kaarti (kodus valmistatud), see töötab hästi ja sellel pole probleemi allpool. Nii et ma tean, et see pole tarkvara probleem, palun lugege allpool VGA32 versiooni kohta.

Minu VG32 ESP moodulil (v1.4) kasutab SD-kaart GPIO12-d. Seda ei soovita Espressif Systems, kuna seda tihvti kasutatakse sisselülitamisel sisemälu tööpinge tuvastamiseks. Ma soovin, et keegi oleks rääkinud mehele, kes selle VGA32 kaardi teeb! Teie puhul võib see olla teistsugune, nii et loodetavasti pole teil seda probleemi.

Probleemid on järgmised:

1, eskiisi ei saa üles laadida, kui kaart on ühendatud.

2, Pärast lähtestamisnupu vajutamist lukustub see kuni SD-kaardi eemaldamiseni. Seejärel käivitatakse veateade, mis ütleb, et SD-kaarti pole! Saate kaardi sisse panna ja uuesti lähtestada ning see töötab teist korda.

See probleem on parandatav (kuid sellel on oht), vt README.md aadressil

või saate alati plaadi käivitamiseks kõvasti välja/sisse lülitada. Millegipärast tundub, et see töötab hästi. Kui teil on vaja RunCPM tarkvara uuesti üles laadida, peate esmalt SD-kaardi eemaldama.

See on väljavõte README. MD -st, mis selgitab probleemi. Olen parandust kasutanud ja see töötab hästi, AGA selle olemuse tõttu on risk teie, lugege edasi …

Tundub, et VGA32 ESP seaded on SD -kaardi GPIO -seadetega vastuolus.

See töötab, kuid üleslaadimiseks peate SD -kaardi eemaldama ja pärast pehmet lähtestamist peate SD -kaardi eemaldama ja seejärel asendama, millele järgneb uus lähtestamine. See töötab korralikult sisselülitamisel või kõva lähtestamise korral. Kui saate aidata seda parandada, andke mulle sellest teada. UUENDAMINE 11. oktoober 2020: VGA32 ESP v1.4 kasutab GPIO12 (MTDI, loe sisselülitamisel/lähtestamisel). See tihvt määrab RAM -i pinge, sisemise LDO pinge (VDD_SDIO). Kui SD-kaart on olemas, tõmbab see selle tihvti kõrgele ja ESP32 arvab, et RAM-i pinge peaks olema 1,8 V, ilma SD-kaardita on sellel tihvtil sisemine tõmbamine, et seada RAM-i pingeks 3,3 V. Seda on tegelikult mainitud FABGL projekti näidete märkustes, tsiteerides: märkused GPIO 2 ja 12 kohta - GPIO2: võivad programmeerimisel probleeme tekitada. Ka jadalaadimisseadmesse sisenemiseks tuleb GPIO2 jätta ühendamata/ujuvaks või sõita madalale. Tavalises alglaadimisrežiimis (GPIO0 kõrge) GPIO2 ignoreeritakse. - GPIO12: tuleks vältida. See valib välklambi pinge. Selle kasutamiseks keelake GPIO12 tuvastussätete efused järgmiselt: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V WARN !! Hea 3,3 V pingega ESP32 jaoks (ESP-WROOM-32). See katab teie ESP32 MUGIKA, kui välklamp pole 3,3 V MÄRKUS 1: asendage "/dev/cu. SLAB_USBtoUART" jadapordiga MÄRKUS 2: espefuse.py on allalaaditav aadressilt

See märgib veel, et GPIO12 tuleks vältida, jama, mida keegi ei öelnud VGA32 ESP kaardi tegijale!

Fikseeritud: Olen proovinud võimalust seadistada välklambi pinge GPIO12 kasutamisest üle ja võin oma vga32 ESP -s kinnitada, see töötab! Probleem lahendati, SD -kaardiga pole enam probleeme. Kutsun teid üles kontrollima, uuesti kontrollima ja hoolikalt mõtlema BRICKi loomisele, kui otsustate seda ka proovida. Ma ei soovita seda tegevusena, kuid minu jaoks see töötas.

Soovitan: