Kazalo:
- Korak: Namestite podporo ESP32 za Arduino (neobvezno)
- 2. korak: Dodajanje knjižnice FabGL v IDE
- 3. korak: Dodajanje dodatne knjižnice kartic SD, ki jo uporablja RunCPM
- 4. korak: Prenesite spremenjeni projekt RunCPM
- 5. korak: Odprite in preglejte program RunCPM in prevedite
- 6. korak: Ustvarite kartico SD, s katere lahko zaženete svoj RunCPM
- 7. korak: Povežite monitor VGA in tipkovnico
- 8. korak: Težava s kartico SD na modulu VGA32
Video: Retro CP/M samostojni emulator: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Ta projekt uporablja modul VGA32 ESP v1.4 za izvajanje kombinacije ali RunCPM in FabGL za zagotavljanje samostojnega računalnika z enakovrednim sistemom kot CP/M 2.2. Priljubljen v osemdesetih letih kot operacijski sistem za majhne računalnike. Lahko se vrnete v preteklost in ponovno obiščete staro programsko opremo, kot so Wordstar, Supercalc, Adventure in Zork.
To je samostojen prispevek projekta FabGL, ki je zagotovil programsko opremo za izvajanje standardnega monitorja VGA in tipkovnice PS/2.
Glavni operacijski sistem je spremenjena različica RunCPM -ja, razcepljena je iz prvotnega dela na Githubu in dodala sem knjižnico FabGL, da jo lahko uporabim na zaslonu namesto na serijski konzoli.
Rad bi se zahvalil obema projektima. Nadaljuj z dobrim delom!
Programska oprema je bila preizkušena na vsaj dveh različicah strojne opreme. Eden VGA32 ESP v1.4 (v prodaji že pripravljen). Drugič, moja stara različica, zgrajena sem iz modula Wroom ESP32 in odrezkov iz starih računalnikov.
Spodnje spletno mesto Github vsebuje pomembne informacije o teh nastavitvah in spremenjeni programski opremi, pripravljeni za namestitev.
Ta projekt govori o namestitvi programske opreme, ne o strojni opremi.
Zaloge:
Modul VGA32 ESP V1.4 (preizkušeno). Najdeno na eBay / aliexpress / amazon itd
Arduino IDE, nameščen v računalniku, predvidevam, da če to berete, to že imate.
Namestite paket podpore ESP32 za Arduino IDE. https://github.com/espressif/arduino-esp32 Glej korak 1
V knjižnici FabGL https://www.fabglib.org/ vam ni treba ničesar prenesti, arduino IDE lahko to stori namesto nas, glejte 2. korak.
Prenesite kopijo spremenjenega RunCPM s
Korak: Namestite podporo ESP32 za Arduino (neobvezno)
Morda ste to že storili, če imate, lahko ta korak preskočite.
obiščite https://github.com/espressif/arduino-esp32 in sledite navodilom za namestitev z upraviteljem plošč, na primer:
Navodila za namestitev z uporabo Arduino IDE Boards Manager =========================================== ===============
Povezava do stabilne izdaje:
Namestite trenutni gorvodni Arduino IDE na ravni 1,8 ali novejšo. Trenutna različica je na spletnem mestu Arduino.
Zaženite Arduino in odprite okno Nastavitve.
V polje Dodatni URL -ji upravitelja plošč vnesite eno od zgornjih povezav za izdajo. Dodate lahko več URL -jev in jih ločite z vejicami.
Odprite upravitelja plošč v meniju Orodja> meni plošča in namestite platformo esp32 (po namestitvi ne pozabite izbrati plošče ESP32 v meniju Orodja> meni plošča).
2. korak: Dodajanje knjižnice FabGL v IDE
S prazno skico v Arduino IDE se prepričajte, da ste izbrali svojo ploščo ESP v meniju Orodja, deske. (V času pisanja VGA32 ESP ni bil na seznamu, sem izbral generično ploščo Dev Kit).
V meniju Skica izberite Vključi knjižnico, nato izberite Upravitelj knjižnice.
V iskalnem pogovornem oknu vnesite FabGL in počakajte, da se prikaže na spodnjem seznamu, zdaj kliknite gumb Namesti.
Dokončano
3. korak: Dodajanje dodatne knjižnice kartic SD, ki jo uporablja RunCPM
To je skoraj enako kot prejšnji korak, vendar namesto FabGL poiščite SDFat
V meniju Skica izberite Vključi knjižnico, nato izberite Upravitelj knjižnice. V pogovornem oknu za iskanje vnesite SDFat in počakajte, da se prikaže na spodnjem seznamu, se boste verjetno morali pomakniti po seznamu.
Izbirate lahko med dvema različicama:
1, SdFat, Bill Greiman
2, SdFat - vilice Adafruit
Poskusil sem oboje, obe delujeta v redu. Toda projekt RunCPM je priporočil drugo možnost "Adafruit Fork", vendar na zadnjih opombah zdaj piše:
Vse plošče zdaj uporabljajo knjižnico SdFat, od tukaj:
Zato zdaj izberem prvo možnost za ta projekt.
Dokončano
4. korak: Prenesite spremenjeni projekt RunCPM
Obiščite spletno mesto Github, Kliknite gumb KODA in prenesite kot datoteko ZIP
To datoteko shranite nekam (običajno v imenik z imenom Arduino.
Razpakirajte datoteko na isto mesto, ustvarila bo mapo z imenom RunCPM-master
Dokončano
5. korak: Odprite in preglejte program RunCPM in prevedite
Zdaj lahko uporabite datoteko IDE Arduino, meni Odpri. Pomaknite se do zgornje mape.
V tej mapi je še ena, imenovana RunCPM. Odprite mapo.
Znotraj te mape je datoteka.ino z imenom RunCPM.ino. To je glavna datoteka projekta - odprite jo.
Zdaj si lahko ogledate projekt, preberete komentarje itd. Če želite, da ustreza vaši različici VGA32 -ESP, naredite spremembe. Predhodno mora biti konfiguriran za V1.4 plošče.
Zdaj lahko kliknete »Prevedi in naloži«, če imate priključen VGA32 ESP, bo emulator naložil v vašo napravo.
POMEMBNO: VGA32 ima lahko na tej točki težave s kartico SD, zato je ne vežite. Za več informacij si oglejte zadnji korak spodaj.
6. korak: Ustvarite kartico SD, s katere lahko zaženete svoj RunCPM
To je morda najbolj trik korakov. Predlagam, da preberete README.md spletnega mesta Github o tem, kako to storiti. Tukaj je moj seznam, kaj storiti:
Predvidevam, da imate prazno kartico SD ali da ne želite obdržati datotek na tisti, ki jo imate, jo boste izbrisali.
1, kartico SD formatirajte kot FAT-32
2, Ustvarite nekaj map, imenovanih A, B, C D itd. (Do P bodo to diskovni pogoni pri izvajanju CP/M). Upoštevajte, da so velike.
3, V vsaki mapi, ki jo ustvarite Ustvarite novo mapo z imenom 0 (to je nič) in po izbiri 1, 2, 3 itd (do 15) Nato so mape uporabniška območja v emulaciji CP/M. Za začetek potrebujete samo mapo 0.
4, V preneseni mapi projekta v imeniku arduino poiščite mapo z imenom CCP. Ta vsebuje različne različice naslednika ukazne mize CP/M. Kopirajte tisto, ki se imenuje CCP-DR.60K, v koren SD kartice.
5, Zdaj poiščite mapo v imeniku projekta, imenovano DISK. Vsebuje datoteko A. ZIP, to datoteko morate razpakirati v imenik, imenovan A/ 0/ na vaši kartici SD. (za več informacij glejte tudi datoteko 1streadme). Žal na seznamu map nima "0", zato se morate najprej razpakirati v začasno mapo, nato pa vsebino mape A kopirati v A/ 0/ na kartico SD.
6, Ko boste naredili zgornje korake, boste imeli kartico SD s takšno strukturo:
F: CCP-DR.60K
/A/0
/1STREAD. ME
/ASM. COM
/…. itd
/B/0
/C/0
itd
Če se pri poskusu zagona s kartice SD prikažejo napake o tem, da ni mogoče naložiti CCP itd., Dvakrat preverite, ali je vse v pravilnem tempu!
Da bi olajšali to stopnjo, sem naložil že pripravljeno različico zgoraj, z dodatno programsko opremo cp/m in jo prenesli od tukaj https://github.com/coopzone-dc/RunCPM/blob /master/… in ga preprosto razpakirajte v koren formatirane kartice SD. Moral bi začeti, nato pa si lahko kasneje ustvarite svojega.
Priporočam tudi, da preberete navodila za namestitev na Github Repo, ki vsebuje opis map, ki jih potrebujete.
7. korak: Povežite monitor VGA in tipkovnico
Odklopite napajanje iz kartice VGA32 ESP.
Priključite monitor VGA
Priključite tipkovnico PS/2 Ponovno priključite napajanje na kartico VGA32 ESP, lučke tipkovnice bi morale utripati in približno 10 sekund kasneje se bo na zaslonu pojavila slika s pozivom CP/M!
Pomembno: VGA32 ima težave pri uporabi kartice SD in mehke ponastavitve, zato je pomembno, da IZKLOPI VKLOP kot prvi korak zgoraj, za dodatne informacije glejte zadnji korak.
Pojdi stran…
8. korak: Težava s kartico SD na modulu VGA32
Zgornja fotografija prikazuje mojo drugo kartico ESP32 (domačo izdelavo), ki deluje v redu in spodaj nima težav. Tako da vem, da to ni problem s programsko opremo, preberite spodaj o različici VGA32.
V mojem modulu ESP VG32 (v1.4) kartica SD uporablja GPIO12, tega Espressif Systems ne priporoča, saj se ta pin uporablja za vklop pri zaznavanju delovne napetosti notranjega pomnilnika. Želim si, da bi kdo povedal fantu, ki izdeluje to kartico VGA32! Morda je pri tebi drugače, zato upajmo, da tega problema ne boš imel.
Težave so:
1, skice ni mogoče naložiti, ko je kartica priključena.
2, Ko pritisnete gumb za ponastavitev, se zaklene, dokler ne odstranite kartice SD. Nato se zažene na zaslon z napako, ki pravi, da ni kartice SD! Kartico lahko vstavite in znova ponastavite, drugič pa bo delovala.
To težavo je mogoče odpraviti (vendar obstaja tveganje), glejte README.md na
ali pa za zagon plošče vedno izklopite/vklopite trdi napajalnik. Iz nekega razloga se zdi, da to dobro deluje. Če morate znova naložiti programsko opremo RunCPM, morate najprej odstraniti kartico SD.
To je izvleček iz datoteke README. MD, ki pojasnjuje težavo. Uporabil sem popravek in deluje v redu, ampak zaradi narave je tveganje na vas, preberite dalje …
Vendar se zdi, da so nastavitve za VGA32 ESP v nasprotju z nastavitvami GPIO za kartico SD.
Deluje, toda za nalaganje morate odstraniti kartico SD in po mehki ponastavitvi odstraniti kartico SD in jo nato zamenjati, čemur sledi nova ponastavitev. Deluje v redu od vklopa ali trde ponastavitve. Če lahko pomagate odpraviti to težavo, mi to sporočite. UPDATE 11Oct2020: VGA32 ESP v1.4 uporablja GPIO12 (MTDI, branje ob vklopu/ponastavitvi). Ta pin določa napetost RAM -a, napetost notranjega LDO (VDD_SDIO). Ko je kartica SD prisotna, ta pin močno potegne, ESP32 pa meni, da bi morala biti napetost RAM-a 1,8 V, brez kartice SD ima ta notranji izvlek za nastavitev napetosti RAM na 3,3 V. To je pravzaprav omenjeno v opombah iz primerov projekta FABGL, če citiramo: opombe o GPIO 2 in 12 - GPIO2: lahko povzročijo težave pri programiranju. Če želite vstopiti v serijski zagonski nalagalnik, morate GPIO2 pustiti nepovezanega/lebdečega ali pa nastaviti nizko. V običajnem zagonskem načinu (GPIO0 visok) se GPIO2 ne upošteva. - GPIO12: izogibati se je treba. Izbere napetost bliskavice. Če ga želite uporabiti, onemogočite nastavitev zaznavanja GPIO12 efuses z: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V OPOZORILO !! Primerno za ESP32 z napetostjo 3,3 V (ESP-WROOM-32). S tem boste zamašili vaš ESP32, če bliskavica ni 3,3 V OPOMBA 1: "/dev/cu. SLAB_USBtoUART" zamenjajte s serijskimi vrati. OPOMBA 2: espefuse.py je mogoče prenesti s spletnega mesta
To nadalje ugotavlja, da se je treba izogniti GPIO12, ki ga izdelovalec kartice VGA32 ESP ni povedal!
POPRAVLJENO: Preizkusil sem možnost nastavitve napetosti bliskavice na uporabo GPIO12 in lahko potrdim na svojem vga32 ESP, deluje! Težava s SD kartico ni odpravljena. Vabim vas, da preverite, dvakrat preverite in dobro premislite o ustvarjanju OGLEDE, če se odločite tudi preizkusiti. Tega ne priporočam kot dejanje, ampak zame je delovalo.
Priporočena:
Samostojni ATmega328p (z uporabo notranje ure 8 MHz): 4 koraki
Samostojni ATmega328p (z uporabo notranje takte 8 MHz): ATmega328p je mikrokrmilnik z enim čipom, ki ga je ustvaril Atmel v družini megaAVR (pozneje je Microchip Technology prevzel Atmel leta 2016). Ima 8-bitno procesorsko jedro RISC s spremenjeno arhitekturo Harvard. Ta mikrokrmilnik je možgani Arduina
Naredi sam Samostojni Arduino Uno: 5 korakov
DIY Samostojni Arduino Uno: V tem projektu vam bom povedal, kako lahko naredimo Arduino Uno DIY tako, da ga preprosto postavimo na mizo. To je mogoče iz različnih razlogov, na primer zaradi cenejše cene, majhnosti, zmanjšanja porabe energije itd .. Ta projekt vam bo omogočil, da
Samostojni nosilec za astro fotografijo: 4 koraki (s slikami)
Samostojni nosilec za astro fotografijo: Ta majhen nosilec omogoča svetlobni kameri, da sledi zvezdam, ko se premikajo po nebu. Čas izpostavljenosti v minuti ni problem. Če želite dobiti odlične astro fotografije, lahko zložite več slik. Potrebni materiali: elektromehanski časovniki, majhen stativ, na l
Dodajte gumb za predvajanje/preskok na samostojni pogon CD-ROM: 4 koraki
Dodajte gumb za predvajanje/preskok v samostojni pogon CD-ROM: če želite iz starega pogona CD-ROM narediti predvajalnik CD-jev (oglejte si tukaj), vendar pogon, ki ga imate, nima gumba PLAY/SKIP na sprednji strani ….. Ne obupajte, enega lahko dodate večini pogonov CD, > > > > beri naprej
Samostojni Arduino / ATMega čip na deski: 8 korakov (s slikami)
Samostojni čip Arduino / ATMega na plošči: Če ste podobni meni, sem potem, ko sem dobil svoj Arduino in izvedel končno programiranje na svojem prvem čipu, želel izvleči iz svojega Arduina Duemilanovega in ga postaviti na lastno vezje. To bi tudi sprostilo moj Arduino za prihodnje projekte. Težava