Sisällysluettelo:
- Vaihe 1: Asenna ESP32 -tuki Arduinolle (valinnainen)
- Vaihe 2: FabGL -kirjaston lisääminen IDE: hen
- Vaihe 3: RunCPM: n käyttämän SD-korttikirjaston lisääminen
- Vaihe 4: Lataa muokattu RunCPM -projekti
- Vaihe 5: Avaa ja tarkista RunCPM -ohjelma ja käännä
- Vaihe 6: Luo SD-kortti, joka on valmis käynnistämään suorittamasi tuhannen näyttökerran hinnan
- Vaihe 7: Yhdistä VGA -näyttö ja näppäimistö
- Vaihe 8: Ongelma SD-kortin kanssa VGA32-moduulissa
Video: Retro CP/M Stand Alone -emulaattori: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Tämä projekti käyttää VGA32 ESP v1.4 -moduulia yhdistelmän suorittamiseen tai RunCPM: ää ja FabGL: ää tarjoamaan erillisen tietokoneen, joka käyttää CP/M 2.2 -järjestelmää vastaavaa järjestelmää. Suosittu 1980 -luvulla pientietokoneiden käyttöjärjestelmänä. Voit palata ajassa taaksepäin ja palata vanhaan ohjelmistoon, kuten Wordstar, Supercalc, Adventure ja Zork.
Se on itsenäinen FabGL -projektin ansiosta, joka tarjosi ohjelmiston tavallisen VGA -näytön ja PS/2 -näppäimistön käyttämiseksi.
Pääkäyttöjärjestelmä on RunCPM: n muokattu versio, se on haarautunut Githubin alkuperäisestä työstä ja olen lisännyt FabGL -kirjaston, jotta sitä voidaan käyttää näytöllä sarjakonsolin sijasta.
Haluan vain kiittää molempia projekteja. Jatka samaan malliin!
Ohjelmisto on testattu vähintään kahdella laitteistoversiolla. Yksi VGA32 ESP v1.4 (myydään valmiina). Toiseksi vanha versio, jonka rakensin Wroom ESP32 -moduulista ja vanhojen tietokoneiden romut.
Alla oleva Github-sivusto sisältää tärkeitä tietoja näistä asetuksista sekä muokatusta asennusvalmisesta ohjelmistosta.
Tämä projekti koskee ohjelmiston asentamista, ei laitteistoa.
Tarvikkeet:
VGA32 ESP -moduuli V1.4 (testattu). Löytyy eBaysta / aliexpressistä / amazonista jne
Arduino IDE on asennettu tietokoneeseen, oletan, että jos luet tämän, sinulla on jo tämä.
Asenna ESP32 -tukipaketti Arduino IDE: lle. https://github.com/espressif/arduino-esp32 Katso vaihe 1
FabGL -kirjastoa https://www.fabglib.org/ sinun ei tarvitse ladata mitään, arduino IDE voi tehdä tämän puolestamme, katso vaihe 2.
Lataa kopio muokatusta RunCPM: stä osoitteesta
Vaihe 1: Asenna ESP32 -tuki Arduinolle (valinnainen)
Olet ehkä jo tehnyt tämän, jos voit, voit ohittaa tämän vaiheen.
käy osoitteessa https://github.com/espressif/arduino-esp32 ja noudata asennusohjeita levynhallinnan avulla seuraavasti:
Asennusohjeet Arduino IDE Boards Managerin avulla ============================================== ===============
Vakaa julkaisulinkki:
Asenna nykyinen ylävirran Arduino IDE 1.8 -tasolle tai uudempaan. Nykyinen versio on Arduinon verkkosivustolla.
Käynnistä Arduino ja avaa Asetukset -ikkuna.
Kirjoita jokin yllä olevista julkaisulinkkeistä Hallituksen ylimääräiset URL -osoitteet -kenttään. Voit lisätä useita URL -osoitteita erottamalla ne pilkuilla.
Avaa Boards Manager Työkalut> Hallitus -valikosta ja asenna esp32 -alusta (äläkä unohda valita ESP32 -korttia kohdasta Työkalut> Hallitus -valikko asennuksen jälkeen).
Vaihe 2: FabGL -kirjaston lisääminen IDE: hen
Varmista tyhjällä luonnoksella Arduino IDE: ssä, että olet valinnut ESP -levyn Työkalut -valikosta, Taulut. (Tätä kirjoitettaessa VGA32 ESP: tä ei ollut luettelossa, valitsen yleisen Dev Kit -levyn).
Valitse Luonnos -valikosta Sisällytä kirjasto ja valitse Kirjastohallinta.
Kirjoita hakuruutuun FabGL ja odota, että se näkyy alla olevassa luettelossa. Napsauta nyt Asenna -painiketta.
valmis
Vaihe 3: RunCPM: n käyttämän SD-korttikirjaston lisääminen
Tämä on melkein sama kuin edellinen vaihe, mutta FabGL: n sijaan etsi SDFat
Valitse Luonnos -valikosta Sisällytä kirjasto ja valitse Kirjastohallinta. Kirjoita hakukentän valintaikkunaan SDFat ja odota, kunnes se näkyy alla olevassa luettelossa. Sinun on luultavasti vieritettävä luetteloa alaspäin.
Voit valita kahdesta versiosta:
1, SdFat, kirjoittanut Bill Greiman
2, SdFat - Adafruit -haarukka
Olen kokeillut molempia, molemmat näyttävät toimivan ok. Mutta RunCPM -projekti suositteli toista vaihtoehtoa "Adafruit Fork", mutta viimeisimmissä muistiinpanoissa se sanoo nyt:
Kaikki levyt käyttävät nyt SdFat -kirjastoa täältä:
Joten nyt valitsen ensimmäisen vaihtoehdon tälle projektille.
valmis
Vaihe 4: Lataa muokattu RunCPM -projekti
Käy Github-sivustolla, Napsauta CODE -painiketta ja lataa ZIP -tiedostona
Tallenna tämä tiedosto jonnekin (yleensä Arduino -nimiseen hakemistoon.
Pura tiedosto samaan paikkaan, se tuottaa kansion nimeltä RunCPM-master
valmis
Vaihe 5: Avaa ja tarkista RunCPM -ohjelma ja käännä
Voit nyt käyttää Arduino IDE -tiedostoa, Avaa -valikkoa. Siirry yllä olevaan kansioon.
Tämän kansion sisällä on toinen nimeltään RunCPM. Avaa kansio.
Tämän kansion sisällä on.ino -tiedosto nimeltä RunCPM.ino. Tämä on tärkein projektitiedosto - avaa se.
Voit nyt tarkastella projektia, lukea kommentteja jne. Tee muutoksia, jos haluat vastata VGA32 -ESP -versiota. Se on esikonfiguroitava levyn versiota V1.4 varten.
Voit nyt napsauttaa Käännä ja lähetä, jos olet liittänyt VGA32 ESP: n, se lähettää emulaattorin laitteellesi.
TÄRKEÄÄ: VGA32: ssa voi olla ongelma SD-kortissa tässä vaiheessa, joten älä kytke sitä pistorasiaan. Katso lisätietoja viimeisestä vaiheesta alla.
Vaihe 6: Luo SD-kortti, joka on valmis käynnistämään suorittamasi tuhannen näyttökerran hinnan
Tämä on ehkä kaikkein temppu vaiheita. Ehdotan, että luet Github -sivuston README.md -tiedoston, kuinka tämä tehdään. Tässä on luetteloni tehtävistä:
Oletan, että sinulla on tyhjä SD-kortti tai et ole kiinnostunut säilyttämään tiedostoja sillä, mikä sinulla on, tämä poistaa sen.
1, alusta SD-kortti muodossa FAT-32
2, Luo joitain kansioita nimeltä A, B, C D jne (P: hen asti nämä ovat levyasemia, kun CP/M on käynnissä). Huomaa, että ne ovat isoja kirjaimia.
3, Jokaisessa luomassasi kansiossa Luo toinen kansio nimeltä 0 (se on nolla) ja valinnaisesti 1, 2, 3 jne. (Enintään 15). Sitten kansiot ovat CP/M -emuloinnin käyttäjäalueita. Tarvitset vain 0 -kansion aloittaaksesi.
4, Etsi ladatusta projektikansiosta arduino -hakemistosta kansio nimeltä CCP. Tämä sisältää useita CP/M Command Console Proccessorin versioita. Kopioi CCP-DR.60K-niminen SD-kortin juurelle.
5, Etsi nyt kansio projektihakemistosta nimeltä DISK. Se sisältää A. ZIP-tiedoston, sinun on purettava tämä tiedosto SD-kortin hakemistoon A/ 0/. (katso myös lisätietoja 1. lukemisen tiedostosta). Valitettavasti siinä ei ole "0" kansioluettelossa, joten sinun on ensin purettava tiedosto väliaikaiseen kansioon ja kopioitava sitten A -kansion sisältö A/ 0/ -kortille.
6, Kun olet tehnyt edellä mainitut vaiheet, sinulla on SD-kortti, jonka rakenne on seuraavanlainen:
F: CCP-DR.60K
/A/0
/1STREAD. ME
/ASM. COM
/…. jne
/B/0
/C/0
jne
Jos saat virheilmoituksen siitä, että et voi ladata CCP: tä jne., Kun yrität käynnistää SD-kortilta, tarkista, että kaikki on oikeassa tahdissa!
Yrittäessäni tehdä tästä vaiheesta hieman helpompaa, olen ladannut yllä olevan version, johon on lisätty cp/m-ohjelmisto, ja lataa se myös täältä https://github.com/coopzone-dc/RunCPM/blob /master/… ja pura se vain alustettuun SD-korttiin. Sen pitäisi päästä alkuun ja voit luoda oman myöhemmin.
Suosittelen myös lukemaan Github Repon asennusoppaan, jossa on kuvaus tarvitsemistasi kansioista.
Vaihe 7: Yhdistä VGA -näyttö ja näppäimistö
Irrota VGA32 ESP -kortin virta.
Liitä VGA -näyttö
Liitä PS/2-näppäimistö Kytke virta uudelleen VGA32 ESP -korttiin. Näet näppäimistön valot vilkkuvan ja noin 10 sekuntia myöhemmin näyttöön tulee kuva, jossa näkyy CP/M-kehote!
Tärkeää: VGA32: ssa on ongelma käytettäessä SD-korttia ja pehmeää nollausta, minkä vuoksi on tärkeää KYTKE VIRTA POIS PÄÄLTÄ ensimmäiseksi vaiheeksi, katso lisätietoja viimeisestä vaiheesta.
Pois sinä…
Vaihe 8: Ongelma SD-kortin kanssa VGA32-moduulissa
Yllä oleva kuva näyttää toisen ESP32 -korttini (kotitekoinen), tämä toimii hyvin eikä siinä ole alla olevaa ongelmaa. Joten tiedän, että se ei ole ohjelmisto -ongelma, lue alla VGA32 -versiosta.
VG32 ESP -moduulini (v1.4) SD-kortti käyttää GPIO12-protokollaa, Espressif Systems ei suosittele tätä, koska tätä nasta käytetään virran kytkemiseen sisäisen muistin käyttöjännitteen havaitsemiseen. Toivon, että joku olisi kertonut kaverille, joka tekee tämän VGA32 -kortin! Se voi olla eri asia kuin sinulla, joten toivottavasti sinulla ei ole tätä ongelmaa.
Ongelmat ovat:
1, Luonnoksen lataaminen ei onnistu, kun kortti on kytketty verkkovirtaan.
2, Palautuspainikkeen painamisen jälkeen se lukittuu, kunnes SD-kortti poistetaan. Sitten se käynnistyy virhenäytölle, jossa ei sanota SD-korttia! Voit laittaa kortin sisään ja nollata sen uudelleen, ja se toimii toisen kerran.
Tämä ongelma on korjattavissa (mutta siihen liittyy riski), katso README.md osoitteessa
tai voit aina kytkeä virran pois/päälle käynnistääksesi levyn. Jostain syystä tämä näyttää toimivan hyvin. Jos sinun on ladattava RunCPM-ohjelmisto uudelleen, poista SD-kortti ensin.
Tämä on ote README. MD -tiedostosta, joka selittää ongelman. Olen käyttänyt korjausta ja se toimii hyvin, MUTTA luonteensa vuoksi riski on sinun, lue…
VGA32 ESP: n asetukset näyttävät kuitenkin olevan ristiriidassa SD -kortin GPIO -asetusten kanssa.
Se toimii, mutta ladataksesi sinun on poistettava SD -kortti ja pehmeän nollauksen jälkeen sinun on poistettava SD -kortti ja vaihdettava se sitten, ja seuraava nollaus. Se toimii hyvin käynnistyksen tai kovan nollauksen jälkeen. Jos voit auttaa korjaamaan tämän, kerro siitä minulle. PÄIVITTÄMINEN 11.10.2020: VGA32 ESP v1.4 käyttää GPIO12 -protokollaa (MTDI, luetaan käynnistyksestä/nollauksesta). Tämä nasta määrittää RAM -muistin jännitteen, sisäisen LDO: n jännitteen (VDD_SDIO). Kun SD-kortti on läsnä, se vetää tämän nastan korkealle ja ESP32: n mielestä RAM-jännitteen tulisi olla 1,8 V, ilman SD-korttia tällä tapilla on sisäinen vedin alas RAM-jännitteen asettamiseksi 3,3 V. Tämä on itse asiassa mainittu FABGL -projektin esimerkkien muistiinpanoissa, lainatakseni: huomautuksia GPIO 2: sta ja 12: sta - GPIO2: voi aiheuttaa ongelmia ohjelmoinnissa. GPIO2 on myös jätettävä kytkemättä/kelluvaksi tai ajettava matalaksi, jotta se pääsee sarjakäynnistyslataimeen. Normaalissa käynnistystilassa (GPIO0 korkea) GPIO2 ohitetaan. - GPIO12: tulisi välttää. Se valitsee salaman jännitteen. Voit käyttää sitä poistamalla GPIO12 -tunnistusasetukset käytöstä seuraavilla tavoilla: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V WARN !! Hyvä ESP32: lle, jossa on 3,3 V: n jännite (ESP-WROOM-32). Tämä murskaa ESP32: n, jos salama ei ole 3.3V HUOMAUTUS 1: vaihda "/dev/cu. SLAB_USBtoUART" sarjaporttiin HUOMAUTUS 2: espefuse.py on ladattavissa osoitteesta
Tämä huomauttaa lisäksi, että GPIO12: tä tulisi välttää, pitsit, joita kukaan ei kertonut VGA32 ESP -kortin valmistajalle!
KORJATTU: Olen kokeillut vaihtoehtoa asettaa salaman jännite GPIO12: n käytön ohi ja voin vahvistaa vga32 ESP: n, se toimii! Ongelma korjattu, ei enää ongelmia SD -kortin kanssa. Kehotan sinua tarkistamaan, tarkistamaan ja harkitsemaan huolellisesti BRICKin luomista, jos päätät kokeilla sitä myös. En suosittele sitä toimenpiteeksi, mutta minulle se toimi.
Suositeltava:
Micro Centerin 2 pelaajan Stand-Up Retro Arcade: 20 vaihetta
Micro Centerin 2 pelaajan Stand-Up Retro Arcade: Paikallisessa Micro Centerissä on nyt kaikki mitä tarvitset oman Raspberry Pi -pohjaisen Retro Arcade -kaapin tekemiseen. Sarjat ovat täysin muokattavissa, ja niihin kuuluvat kaappi, Raspberry Pi, painikkeet, ohjaussauvat, ääni- ja videotarvikkeet ja paljon muuta. Se
Käännä X-box Rock Band -rummut Midi Stand Alone Electronic -rumpuiksi: 4 vaihetta (kuvilla)
Käännä X-box Rock Band -rummut Midi Stand Alone Electronic -rumpuiksi: Olin onnekas saadessani käytetyn x-box-rumpusetin, se on hieman karkeassa muodossa, eikä meloa, mutta ei mitään, jota ei voida korjata. muuta se itsenäiseksi sähkörumpusetiksi. Analogisen arvon lukeminen pietsosensorista ja sen muuttaminen MIDI -commaniksi
Kindle Stand & Holder: 12 vaihetta
Kindle Stand & Holder: Luo pahvipohjainen 3D -sytytyspidike seuraavasti:
Stand Up Laser Cut Plaque: 7 vaihetta
Stand Up Laser Cut Plaque: Minulla oli mahdollisuus lainata CNC -laserleikkuri ja päätin tehdä tämän Iwo jiman muistomerkin ystävälleni. Minulla on ollut paljon kokemusta Coreldrawista, joten tämä projekti oli loistava. Minulla ei ole laserleikkuria, joten olin kiitollinen, että sain käyttää tätä
Vu Meter DJ Stand: 8 vaihetta (kuvilla)
Vu Meter DJ Stand: DJ -teline, joka on luotu osana opiskelijajuhlaa. Siinä on 480 LEDiä (WS2812B), jotka valaisevat 80 PMMA -lohkoa. LEDit syttyvät musiikin mukaan ja muodostavat Vu -mittarin