Retro CP / M Simama peke yako Emulator: Hatua 8
Retro CP / M Simama peke yako Emulator: Hatua 8
Anonim
Retro CP / M Simama peke yako Emulator
Retro CP / M Simama peke yako Emulator

Mradi huu unatumia moduli ya VGA32 ESP v1.4 kuendesha mchanganyiko au RunCPM na FabGL kutoa kompyuta ya kusimama peke yake inayoendesha mfumo sawa na CP / M 2.2. Maarufu wakati wa miaka ya 1980 kama mfumo wa uendeshaji kwa kompyuta ndogo. Unaweza kurudi kwa wakati na kupitia tena programu ya zamani kama vile Wordstar, Supercalc, Adventure na Zork.

Ni haki ya kibinafsi ya mradi wa FabGL ambao ulitoa programu kuendesha kifuatiliaji cha kawaida cha VGA na Kinanda cha PS / 2.

OS kuu ni Toleo la RunCPM iliyobadilishwa, imefanywa kutoka kwa kazi ya asili ya Github na nimeongeza maktaba ya FabGL kuiwezesha kutumika kwenye skrini badala ya koni ya serial.

Ningependa tu kusema shukrani kubwa kwa miradi yote miwili. Endelea na kazi nzuri!

Programu imejaribiwa kwa angalau matoleo mawili ya vifaa. Moja VGA32 ESP v1.4 (kama imeuzwa tayari). Pili toleo langu la zamani, nilijenga kutoka kwa Moduli ya Wroom ESP32 na vipande chakavu kutoka kwa kompyuta za zamani.

Tovuti ya Github hapa chini ina maelezo muhimu kwenye usanidi huu na programu iliyobadilishwa tayari ya kusanikishwa.

Mradi huu ni juu ya kusanikisha programu, sio juu ya vifaa.

Ugavi:

Moduli ya VGA32 ESP V1.4 (imejaribiwa). Inapatikana kwenye eBay / aliexpress / amazon nk

IDE ya Arduino imewekwa kwenye kompyuta, nadhani ikiwa kusoma kwako hii tayari unayo hii.

Sakinisha kifurushi cha msaada cha ESP32 kwa Arduino IDE. https://github.com/espressif/arduino-esp32 Tazama hatua ya 1

Maktaba ya FabGL https://www.fabglib.org/ hauitaji kupakua chochote, IDE ya arduino inaweza kutufanyia hii, angalia hatua ya 2.

Pakua nakala ya RunCPM iliyobadilishwa kutoka

Hatua ya 1: Sakinisha Usaidizi wa ESP32 kwa Arduino (hiari)

Sakinisha Usaidizi wa ESP32 kwa Arduino (hiari)
Sakinisha Usaidizi wa ESP32 kwa Arduino (hiari)

Labda tayari umefanya hivi, ikiwa unayo unaweza kuruka hatua hii.

tembelea https://github.com/espressif/arduino-esp32 na ufuate maagizo juu ya kusanikisha meneja wa bodi, kama hii:

Maagizo ya ufungaji kwa kutumia Meneja wa Bodi za Arduino IDE ========================================= ===============

Kiungo thabiti cha kutolewa:

Sakinisha mkondo wa sasa wa Arduino IDE katika kiwango cha 1.8 au baadaye. Toleo la sasa liko kwenye wavuti ya Arduino.

Anza Arduino na ufungue dirisha la Mapendeleo.

Ingiza moja ya viungo vya kutolewa hapo juu kwenye uwanja wa URL za Meneja wa Bodi za Ziada. Unaweza kuongeza URL nyingi, ukizitenganisha na koma.

Fungua Meneja wa Bodi kutoka kwa Zana> Menyu ya Bodi na usanidi jukwaa la esp32 (na usisahau kuchagua bodi yako ya ESP32 kutoka kwa Zana> Menyu ya Bodi baada ya usanikishaji).

Hatua ya 2: Kuongeza Maktaba ya FabGL kwa IDE

Kuongeza Maktaba ya FabGL kwa IDE
Kuongeza Maktaba ya FabGL kwa IDE
Kuongeza Maktaba ya FabGL kwa IDE
Kuongeza Maktaba ya FabGL kwa IDE

Kutumia mchoro tupu katika Arduino IDE, hakikisha umechagua Bodi yako ya ESP kutoka kwa menyu ya Zana, Bodi. (Wakati wa kuandika VGA32 ESP haikuorodheshwa, ninachagua bodi ya generic Dev Kit).

Kutoka kwenye menyu ya Mchoro, chagua Jumuisha Maktaba, kisha uchague meneja wa Maktaba.

Katika aina ya mazungumzo ya utaftaji FabGL na subiri ionekane kwenye orodha ya orodha, sasa bonyeza kitufe cha Sakinisha.

kumaliza

Hatua ya 3: Kuongeza Maktaba ya ziada ya kadi ya SD Inayotumiwa na RunCPM

Kuongeza Maktaba ya kadi ya SD ya Ziada Inayotumiwa na RunCPM
Kuongeza Maktaba ya kadi ya SD ya Ziada Inayotumiwa na RunCPM

Hii ni karibu sawa na hatua ya awali lakini badala ya utaftaji wa FabGL wa SDFat

Kutoka kwenye menyu ya Mchoro, chagua Jumuisha Maktaba, kisha uchague meneja wa Maktaba. Katika aina ya mazungumzo ya utaftaji SDFat na subiri ionekane kwenye orodha ya kunung'unika, labda itabidi utembeze chini ya orodha.

Unapata chaguo la matoleo mawili:

1, SdFat na Bill Greiman

2, SdFat - uma wa matunda

Nimejaribu wote wawili, wote wawili wanaonekana kufanya kazi sawa. Lakini mradi wa RunCPM ulipendekeza chaguo la pili "Adafruit Fork", hata hivyo kwenye maelezo ya hivi karibuni sasa inasema:

Bodi zote sasa zinatumia maktaba ya SdFat, kutoka hapa:

Kwa hivyo sasa ninachagua chaguo la kwanza la mradi huu.

kumaliza

Hatua ya 4: Pakua Mradi wa RunCPM uliobadilishwa

Pakua Mradi wa RunCPM uliobadilishwa
Pakua Mradi wa RunCPM uliobadilishwa
Pakua Mradi wa RunCPM uliobadilishwa
Pakua Mradi wa RunCPM uliobadilishwa

Tembelea Tovuti ya Github, Bonyeza kitufe cha CODE na upakue kama faili ya ZIP

Hifadhi faili hii mahali pengine (kawaida kwenye saraka inayoitwa Arduino.

Unzip faili kwenye eneo moja, itatoa folda inayoitwa RunCPM-master

kumaliza

Hatua ya 5: Fungua na Pitia Programu ya RunCPM na Usanidi

Fungua na Pitia Programu ya RunCPM na Usanidi
Fungua na Pitia Programu ya RunCPM na Usanidi

Sasa unaweza kutumia Faili ya Arduino IDE, Fungua menyu. Nenda kwenye folda uliyozungusha hapo juu.

Ndani ya folda hii kuna nyingine inayoitwa RunCPM. Fungua folda.

Ndani ya folda hiyo kuna faili ya.ino inayoitwa RunCPM.ino. Hii ndio faili kuu ya mradi - ifungue.

Sasa unaweza kutazama mradi, soma maoni n.k Fanya mabadiliko ikiwa unahitaji kulinganisha toleo lako la VGA32 -ESP. Inapaswa kusanidiwa mapema kwa V1.4 ya bodi.

Sasa unaweza kubofya kukusanya na kupakia, ukifikiri una VGA32 ESP iliyounganishwa itapakia emulator kwenye kifaa chako.

MUHIMU: VGA32 inaweza kuwa na shida na kadi ya SD wakati huu, kwa hivyo usiiingize kwa kujua. Angalia hatua ya mwisho kupiga habari zaidi.

Hatua ya 6: Unda kadi ya SD Tayari Kuunda RunCPM Yako Kutoka

Hii labda ndio ujanja zaidi wa hatua. Ninapendekeza usome README.md ya tovuti ya Github juu ya jinsi ya kufanya hivyo. Hii ndio orodha yangu ya nini cha kufanya:

Nadhani una kadi tupu ya SD au hauna nia ya kuweka faili zozote ulizonazo, hii itafuta.

1, fomati kadi ya SD kama FAT-32

2, Unda folda zingine zinazoitwa A, B, C D nk (hadi P hizi zitakuwa diski wakati wa kuendesha CP / M). Kumbuka ni miji mikuu.

3, Katika kila folda unayounda Unda folda nyingine inayoitwa 0 (hiyo ni sifuri) na kwa hiari 1, 2, 3 nk (hadi 15) Kisha folda ni Maeneo ya Mtumiaji katika uigaji wa CP / M. Unahitaji tu folda 0 kuanza.

4, Kutoka kwa folda ya mradi uliopakuliwa kwenye saraka ya arduino, pata folda inayoitwa CCP. Hii ina matoleo anuwai ya Mtawala wa CP / M Command Console. Nakili ile inayoitwa CCP-DR.60K kwenye mzizi wa Kadi yako ya SD.

5, Sasa pata folda kwenye saraka ya mradi inayoitwa DISK, Inayo faili ya A. ZIP, unahitaji kufungua faili hii kwa saraka inayoitwa A / 0 / kwenye kadi yako ya SD. (pia angalia faili ya 1 ya kusoma kwa habari zaidi). Kwa bahati mbaya haina "0" katika orodha ya folda kwa hivyo unahitaji kufungua kwenye folda ya muda kwanza, kisha unakili yaliyomo kwenye folda A hadi A / 0 / kwenye kadi ya SD.

6, Unapofanya hatua zilizo hapo juu utakuwa na Kadi ya SD na muundo kama huu:

F: CCP-DR.60K

/ A / 0

/1SOMA. ME

/ ASM. COM

/…. na kadhalika

/ B / 0

/ C / 0

na kadhalika

Ikiwa unapata makosa juu ya haiwezi kupakia CCP nk unapojaribu kuanza kutoka kwa Kadi ya SD, angalia mara mbili una kila kitu kwa kasi inayofaa!

Kwa jaribio la kuifanya hatua hii iwe rahisi, nimepakia toleo tayari juu, na kuongeza programu ya cp / m na pia kuipakua kutoka hapa https://github.com/coopzone-dc/RunCPM/blob / master /… na uifungue tu kwenye mzizi wa SD-Kadi iliyoumbizwa. Inapaswa kukufanya uanze kisha unaweza kuunda yako mwenyewe baadaye.

Ninapendekeza pia usome mwongozo wa usanidi kwenye Github Repo, ina maelezo ya folda unayohitaji.

Hatua ya 7: Unganisha VGA Monitor na Kinanda

Unganisha VGA Monitor na Kinanda
Unganisha VGA Monitor na Kinanda

Tenganisha nguvu kwenye kadi ya VGA32 ESP.

Unganisha Monitor yako ya VGA

Unganisha Kinanda cha PS / 2 Unganisha tena nguvu kwenye kadi ya VGA32 ESP, unapaswa kuona taa za kibodi zikiwaka na karibu sekunde 10 baadaye picha itaonekana kwenye skrini na haraka ya CP / M!

Muhimu: VGA32 ina shida wakati wa kutumia kadi ya SD na kuweka laini laini, ndio sababu ni muhimu KUZIMA NGUVU kama hatua ya kwanza hapo juu, Angalia hatua ya mwisho kwa habari zaidi.

Unakwenda mbali…

Hatua ya 8: Shida na Kadi ya SD kwenye Moduli ya VGA32

Shida na Kadi ya SD kwenye Moduli ya VGA32
Shida na Kadi ya SD kwenye Moduli ya VGA32
Shida na Kadi ya SD kwenye Moduli ya VGA32
Shida na Kadi ya SD kwenye Moduli ya VGA32

Picha hapo juu inaonyesha kadi yangu ya pili ya ESP32 (iliyotengenezwa nyumbani), hii inafanya kazi vizuri na haina shida. Kwa hivyo najua sio suala la programu, tafadhali soma kwa sauti juu ya toleo la VGA32.

Kwenye moduli yangu ya VG32 ESP (v1.4) kadi ya SD hutumia GPIO12, hii haipendekezi na Mifumo ya Espressif kwani pini hii hutumiwa kwa nguvu ili kugundua voltage inayofanya kazi kwa kumbukumbu ya ndani. Natamani mtu angemwambia yule mvulana anayetengeneza kadi hii ya VGA32! Labda ni tofauti na yako, kwa hivyo tunatumai hautakuwa na shida hii.

Shida ni:

1, Imeshindwa kupakia mchoro wakati kadi imechomekwa.

2, Baada ya kubonyeza kitufe cha kuweka upya, inafunga hadi kadi ya SD itolewe. Halafu inaingia kwenye skrini ya makosa ikisema hakuna Kadi ya SD! Unaweza kuweka kadi na kuweka upya tena na itafanya kazi mara ya pili.

Suala hili linaweza kurekebishwa (Lakini lina hatari) angalia README.md kwenye

au unaweza kuzima / kuwasha ngumu kila wakati kuanza bodi. Kwa sababu fulani hii inaonekana kufanya kazi vizuri. Pia ikiwa unahitaji kupakia tena programu ya RunCPM lazima uondoe kadi ya SD kwanza.

Hii ni dondoo kutoka kwa README. MD inayoelezea suala hilo. Nimetumia urekebishaji na inafanya kazi vizuri, LAKINI kwa sababu ya asili hatari ni yako, soma kwenye…

Walakini, mipangilio ya VGA32 ESP inaonekana kuwa na mgongano kwenye mipangilio ya GPIO ya kadi ya SD.

Inafanya kazi lakini kupakia lazima uondoe kadi ya SD na baada ya kuweka upya laini lazima uondoe kadi ya SD na kisha ibadilishe ikifuatiwa na kuweka upya mwingine. Inafanya kazi sawa kutoka kwa kuwasha au kuweka upya ngumu. Ikiwa unaweza kusaidia kurekebisha hii tafadhali nijulishe. Sasisha 11Oct2020: VGA32 ESP v1.4 inatumia GPIO12 (MTDI, soma kwenye nguzo / kuweka upya). Pini hii huamua voltage ya RAM, Voltage ya LDO ya ndani (VDD_SDIO). Wakati kadi ya SD iko inavuta pini hii juu na ESP32 inadhani kuwa voltage ya RAM inapaswa kuwa 1.8V, bila kadi ya SD pini hii ina kuvuta ndani kuweka voltage ya RAM kuwa 3.3V. Hii imetajwa kwenye noti kutoka kwa mifano iliyotolewa kwenye mradi wa FABGL, kunukuu: maelezo kuhusu GPIO 2 na 12 - GPIO2: inaweza kusababisha shida kwenye programu. GPIO2 lazima pia iachwe bila kuunganishwa / kuelea, au isukumwe Chini, ili kuingia bootloader ya serial. Katika hali ya kawaida ya buti (GPIO0 juu), GPIO2 inapuuzwa. - GPIO12: inapaswa kuepukwa. Inachagua voltage ya umeme. Ili kuitumia kulemaza mipangilio ya utambuzi wa GPIO12 na: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V ONYA !! Nzuri kwa ESP32 na voltage 3.3V (ESP-WROOM-32). Hii itakuwa BRICK ESP32 yako ikiwa flash sio 3.3V NOTE1: badilisha "/dev/cu. SLAB_USBtoUART" na bandari yako ya serial NOTE2: espefuse.py inaweza kupakuliwa kutoka

Hii inabainisha zaidi kuwa GPIO12 inapaswa kuepukwa, hakuna mtu aliyemwambia mtengenezaji wa kadi ya VGA32 ESP!

Iliyorekebishwa: Nimejaribu chaguo la kuweka voltage ya umeme ili kudhibiti matumizi ya GPIO12 na ninaweza kudhibitisha kwenye vga32 ESP yangu, inafanya kazi! Shida haikurekebisha tena na Kadi ya SD. Ninakuhimiza uangalie, angalia mara mbili na ufikirie kwa uangalifu juu ya kuunda Tofali ikiwa utaamua kuijaribu pia. Sipendekezi kama hatua, lakini kwangu ilifanya kazi.

Ilipendekeza: