Talaan ng mga Nilalaman:

Retro CP / M Stand Alone Emulator: 8 Hakbang
Retro CP / M Stand Alone Emulator: 8 Hakbang

Video: Retro CP / M Stand Alone Emulator: 8 Hakbang

Video: Retro CP / M Stand Alone Emulator: 8 Hakbang
Video: CS50 2013 - Week 8, continued 2024, Hulyo
Anonim
Retro CP / M Stand Alone Emulator
Retro CP / M Stand Alone Emulator

Ang proyektong ito ay gumagamit ng module ng VGA32 ESP v1.4 upang magpatakbo ng isang kombinasyon o RunCPM at FabGL upang magbigay ng isang nag-iisa na computer na nagpapatakbo ng isang katumbas na sistema sa CP / M 2.2. Sikat noong 1980's bilang isang operating system para sa maliliit na computer. Maaari kang bumalik sa nakaraan at muling bisitahin ang lumang software tulad ng Wordstar, Supercalc, Adventure at Zork.

Mag-iisa itong kagandahang-loob ng proyekto ng FabGL na nagbigay ng software upang magpatakbo ng isang karaniwang monitor ng VGA at PS / 2 Keyboard.

Ang pangunahing OS ay isang nabagong Bersyon ng RunCPM, na-forked ito mula sa orihinal na gawain sa Github at idinagdag ko ang FabGL library upang paganahin itong magamit sa isang screen sa halip na sa isang serial console.

Gusto ko lamang sabihin ng maraming salamat sa parehong mga proyekto. Ipagpatuloy ang mabuting gawain!

Ang software ay nasubukan sa hindi bababa sa dalawang mga bersyon ng hardware. Isa ang VGA32 ESP v1.4 (tulad ng nabiling handa nang gawin). Pangalawa sa aking lumang bersyon, bumuo ako mula sa isang Wroom ESP32 Module at mga scrap bit mula sa mga lumang computer.

Ang site ng Github sa ibaba ay naglalaman ng mahalagang impormasyon sa mga pag-setup na ito pati na rin ang binagong software na handa nang i-install.

Ang proyektong ito ay tungkol sa pag-install ng software, hindi tungkol sa hardware.

Mga Pantustos:

Isang module ng VGA32 ESP V1.4 (nasubok). Natagpuan sa eBay / aliexpress / amazon atbp

Ang naka-install na Arduino IDE sa isang computer, ipinapalagay ko kung ang iyong pagbabasa nito mayroon ka na nito.

I-install ang suportang suporta ng ESP32 para sa Arduino IDE. https://github.com/espressif/arduino-esp32 Tingnan ang hakbang 1

Ang silid aklatan ng FabGL https://www.fabglib.org/ hindi mo kailangang mag-download ng anupaman, magagawa ito ng arduino IDE para sa amin, tingnan ang hakbang 2.

Mag-download ng isang kopya ng binagong RunCPM mula sa

Hakbang 1: I-install ang Suporta ng ESP32 para sa Arduino (opsyonal)

I-install ang Suporta ng ESP32 para sa Arduino (opsyonal)
I-install ang Suporta ng ESP32 para sa Arduino (opsyonal)

Maaaring nagawa mo na ito, kung mayroon ka maaari mong laktawan ang hakbang na ito.

bisitahin ang https://github.com/espressif/arduino-esp32 at sundin ang mga tagubilin sa pag-install gamit ang boards manager, tulad nito:

Mga tagubilin sa pag-install gamit ang Arduino IDE Boards Manager ================================== ====

Matatag na link ng paglabas:

I-install ang kasalukuyang upstream Arduino IDE sa 1.8 antas o mas bago. Ang kasalukuyang bersyon ay nasa website ng Arduino.

Simulan ang Arduino at buksan ang window ng Mga Kagustuhan.

Ipasok ang isa sa mga link ng paglabas sa itaas sa patlang na Mga URL ng Karagdagang Board Manager. Maaari kang magdagdag ng maraming mga URL, paghiwalayin ang mga ito sa mga kuwit.

Buksan ang Boards Manager mula sa Mga Tool> Menu ng board at i-install ang esp32 platform (at huwag kalimutang piliin ang iyong board ng ESP32 mula sa Mga Tool> Board menu pagkatapos ng pag-install).

Hakbang 2: Pagdaragdag ng FabGL Library sa IDE

Pagdaragdag ng FabGL Library sa IDE
Pagdaragdag ng FabGL Library sa IDE
Pagdaragdag ng FabGL Library sa IDE
Pagdaragdag ng FabGL Library sa IDE

Gamit ang isang blangko na sketch sa Arduino IDE, tiyaking napili mo ang iyong Lupon ng ESP mula sa menu ng Mga Tool, Mga Lupon. (Sa oras ng pagsulat ng VGA32 ESP ay hindi nakalista, pumili ako ng isang generic na Dev Kit board).

Mula sa Sketch menu, piliin ang Isama ang Library, pagkatapos ay piliin ang Library manager.

Sa uri ng dayalogo sa paghahanap na FabGL at hintaying lumitaw ito sa listahan ng bellow, ngayon i-click ang pindutang I-install.

tapos na

Hakbang 3: Pagdaragdag ng Karagdagang SD-card Library na Ginamit ng RunCPM

Pagdaragdag ng Karagdagang SD-card Library na Ginamit ng RunCPM
Pagdaragdag ng Karagdagang SD-card Library na Ginamit ng RunCPM

Ito ay halos kapareho ng nakaraang hakbang ngunit sa halip na maghanap ang FabGL para sa SDFat

Mula sa Sketch menu, piliin ang Isama ang Library, pagkatapos ay piliin ang Library manager. Sa uri ng dayalogo sa paghahanap na SDFat at hintaying lumitaw ito sa listahan sa ibaba, malamang na mag-scroll pababa sa listahan.

Nakuha mo ang pagpipilian ng dalawang bersyon:

1, SdFat ni Bill Greiman

2, SdFat - Adafruit Fork

Sinubukan ko ang pareho, mukhang gumagana silang pareho ok. Ngunit inirekomenda ng proyekto ng RunCPM ang Pangalawang pagpipilian na "Adafruit Fork", subalit sa pinakabagong mga tala na sinasabi nito ngayon:

Ang lahat ng mga board ay gumagamit na ngayon ng SdFat library, mula dito:

Kaya't pipiliin ko muna ang unang pagpipilian para sa proyektong ito.

tapos na

Hakbang 4: I-download ang Modified RunCPM Project

I-download ang Modified RunCPM Project
I-download ang Modified RunCPM Project
I-download ang Modified RunCPM Project
I-download ang Modified RunCPM Project

Bisitahin ang Github Site, I-click ang CODE button at i-download bilang isang ZIP file

I-save ang file na ito sa kung saan (karaniwang sa isang direktoryo na tinatawag na Arduino.

I-unzip ang file sa parehong lokasyon, makagawa ito ng isang folder na tinatawag na RunCPM-master

tapos na

Hakbang 5: Buksan at Suriin ang RunCPM Program at Compile

Buksan at Suriin ang RunCPM Program at Compile
Buksan at Suriin ang RunCPM Program at Compile

Maaari mo na ngayong gamitin ang Arduino IDE File, Buksan ang menu. Mag-navigate sa folder na nai-zip mo sa itaas.

Sa loob ng folder na ito ay isa pang tinatawag na RunCPM. Buksan ang folder.

Sa loob ng folder na iyon ay isang.ino file na tinatawag na RunCPM.ino. Ito ang pangunahing file ng proyekto - buksan ito.

Maaari mo na ngayong tingnan ang proyekto, basahin ang mga komento atbp Gumawa ng mga pagbabago kung kailangan mong tumugma sa iyong bersyon ng VGA32 -ESP. Dapat itong pre-configure para sa V1.4 ng board.

Maaari mo na ngayong i-click ang sumulat at mag-upload, sa pag-aakalang mayroon kang koneksyon sa VGA32 ESP mai-a-upload nito ang emulator sa iyong aparato.

MAHALAGA: Ang VGA32 ay maaaring magkaroon ng isang problema sa SD-card sa puntong ito, kaya huwag itong mai-plug in para malaman. Tingnan ang huling hakbang sa ibaba para sa karagdagang impormasyon.

Hakbang 6: Lumikha ng isang SD-card Ready to Boot Your RunCPM From

Ito ay marahil ang pinaka trick ng mga hakbang. Iminumungkahi kong basahin mo ang README.md ng site ng Github kung paano ito gawin. Narito ang aking listahan ng kung ano ang gagawin:

Ipinapalagay kong mayroon kang isang blangkong SD-card o hindi interesado na panatilihin ang anumang mga file sa isa na mayroon ka, buburahin ito.

1, i-format ang SD-card bilang FAT-32

2, Lumikha ng ilang mga folder na tinatawag na A, B, C D atbp (hanggang sa P ito ang magiging mga disk drive kapag nagpapatakbo ng CP / M). Tandaan na ang mga ito ay mga kapitol.

3, Sa bawat folder na nilikha mo Lumikha ng isa pang folder na pinangalanang 0 (iyon ay isang zero) at opsyonal na 1, 2, 3 atbp (hanggang sa 15) Kung gayon ang mga folder ay Mga Lugar ng Gumagamit sa CP / M na pagtulad. Kailangan mo lamang ang 0 folder upang magsimula.

4, Mula sa iyong na-download na folder ng proyekto sa direktoryo ng arduino, hanapin ang folder na tinatawag na CCP. Naglalaman ito ng iba't ibang mga bersyon ng CP / M Command Console Proccessor. Kopyahin ang tinatawag na CCP-DR.60K sa ugat ng iyong SD Card.

5, Ngayon hanapin ang folder sa direktoryo ng proyekto na tinatawag na DISK, Naglalaman ito ng isang A. ZIP file, kailangan mong i-unzip ang file na ito sa direktoryo na tinatawag na A / 0 / sa iyong SD-card. (tingnan din ang 1streadme file para sa karagdagang impormasyon). Sa kasamaang palad wala itong "0" sa listahan ng folder kaya kailangan mong i-unzip muna sa isang pansamantalang folder, pagkatapos kopyahin ang mga nilalaman para sa A folder sa A / 0 / sa SD card.

6, Kapag nagawa mo na ang mga hakbang sa itaas magkakaroon ka ng isang SD-Card na may istrakturang tulad nito:

F: CCP-DR.60K

/ A / 0

/1STREAD. ME

/ASM. COM

/…. atbp

/ B / 0

/ C / 0

atbp

Kung nakakuha ka ng mga error tungkol sa hindi ma-load ang CCP atbp kapag sinubukan mong mag-boot mula sa SD-Card, i-double check na mayroon ka ng lahat sa tamang bilis!

Sa isang pagtatangka na gawing mas madali ang yugtong ito, na-upload ko ang isang handa nang bersyon ng sa itaas, na may karagdagan na cp / m software dito pati na rin i-download ito mula dito https://github.com/coopzone-dc/RunCPM/blob / master / … at i-unzip lamang ito sa ugat ng isang naka-format na SD-Card. Dapat itong makapagsimula ka pagkatapos ay makakalikha ka ng sarili mo sa paglaon.

Inirerekumenda ko rin na basahin mo ang gabay sa pag-setup sa Github Repo, mayroon itong paglalarawan ng mga folder na kailangan mo.

Hakbang 7: Ikonekta ang isang VGA Monitor at Keyboard

Ikonekta ang isang VGA Monitor at Keyboard
Ikonekta ang isang VGA Monitor at Keyboard

Idiskonekta ang lakas sa VGA32 ESP card.

Ikonekta ang iyong VGA Monitor

Ikonekta ang isang PS / 2 Keyboard Muling ikonekta ang kapangyarihan sa VGA32 ESP card, dapat mong makita ang flash ng mga ilaw ng keyboard at mga 10 segundo mamaya isang larawan ay lilitaw sa screen na may isang CP / M prompt!

Mahalaga: Ang VGA32 ay may problema kapag ginagamit ang SD-card at malambot na pag-reset, iyon ang dahilan kung bakit mahalaga na I-OFF ANG KAPANGYARIHAN bilang unang hakbang sa itaas, Tingnan ang huling hakbang para sa karagdagang impormasyon.

Palayo ka …

Hakbang 8: May problema sa SD-Card sa VGA32 Module

May problema sa SD-Card sa VGA32 Module
May problema sa SD-Card sa VGA32 Module
May problema sa SD-Card sa VGA32 Module
May problema sa SD-Card sa VGA32 Module

Ipinapakita ng larawan sa itaas ang aking pangalawang card ng ESP32 (gawa sa bahay), gumagana ito ng maayos at walang isyu sa ibabang isyu. Kaya alam kong hindi ito isang isyu sa software, mangyaring basahin ang bellow tungkol sa bersyon ng VGA32.

Sa aking module na VG32 ESP (v1.4) ang SD-card ay gumagamit ng GPIO12, Hindi ito inirerekumenda ng Espressif Systems dahil ang pin na ito ay ginagamit sa power up upang makita ang gumaganang boltahe para sa panloob na memorya. Nais ko sanang may nagsabi sa tao na gumawa ng VGA32 card na ito! Marahil ay naiiba ito sa iyo, kaya sana hindi ka magkaroon ng isyung ito.

Ang mga problema ay:

1, Hindi ma-upload ang isang sketch kapag ang card ay naka-plug in.

2, Pagkatapos pindutin ang pindutan ng pag-reset, ito ay naka-lock up hanggang sa maalis ang SD-card. Pagkatapos ay bota ito sa isang error screen na nagsasabing walang SD-Card! Maaari mong ilagay ang card sa at i-reset muli at gagana ito sa pangalawang pagkakataon.

Ang isyu na ito ay maaayos (Ngunit may panganib) tingnan ang README.md sa

o maaari mong palaging gawin ang isang matigas na kapangyarihan off / on upang simulan ang board. Para sa ilang kadahilanan ito ay mukhang maayos. Gayundin kung kailangan mong muling mai-upload ang RunCPM software dapat mo munang alisin ang SD-card.

Ito ay isang katas mula sa README. MD na nagpapaliwanag ng isyu. Ginamit ko ang pag-aayos at gumagana ito ng maayos, NGUNIT dahil sa likas na katangian ang panganib ay nasa iyo, basahin sa…

Gayunpaman, ang mga setting para sa VGA32 ESP ay tila may salungatan sa mga setting ng GPIO para sa SD card.

Gumagana ito ngunit upang i-upload kailangan mong alisin ang SD card at pagkatapos ng isang malambot na pag-reset kailangan mong alisin ang SD card at pagkatapos ay palitan ito kasunod ng isa pang pag-reset. Gumagana ito ng ok mula sa isang power on o hard reset. Kung makakatulong kang ayusin ito mangyaring ipaalam sa akin. UPDATE 11Oct2020: Ang VGA32 ESP v1.4 ay gumagamit ng GPIO12 (MTDI, basahin sa powerup / reset). Tinutukoy ng pin na ito ang boltahe para sa RAM, Boltahe ng Panloob na LDO (VDD_SDIO). Kapag naroroon ang SD card ay hinihila nito ang pin na ito nang mataas at iniisip ng ESP32 na ang boltahe ng RAM ay dapat na 1.8V, nang walang SD card ang pin na ito ay mayroong panloob na pull-down upang maitakda ang boltahe ng RAM sa 3.3V. Talagang nabanggit ito sa mga tala mula sa mga halimbawang ibinigay sa proyekto ng FABGL, upang i-quote: mga tala tungkol sa GPIO 2 at 12 - GPIO2: ay maaaring maging sanhi ng problema sa pagprograma. Ang GPIO2 ay dapat ding iwanang hindi konektado / lumulutang, o hinihimok ng Mababa, upang maipasok ang serial bootloader. Sa normal na mode ng boot (mataas ang GPIO0), hindi pinapansin ang GPIO2. - GPIO12: dapat iwasan. Pinipili nito ang boltahe ng flash. Upang magamit ito huwag paganahin ang mga setting ng detection ng GPIO12 sa: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V WARN !! Mabuti para sa ESP32 na may 3.3V boltahe (ESP-WROOM-32). I-BRICK nito ang iyong ESP32 kung ang flash ay hindi 3.3V TANDAAN1: palitan ang "/dev/cu. SLAB_USBtoUART" gamit ang iyong serial port NOTE2: ang espefuse.py ay maaaring ma-download mula sa

Ito ay karagdagang tala na ang GPIO12 ay dapat na iwasan, isang pitty na walang sinabi sa gumagawa ng VGA32 ESP card!

NAayos: Sinubukan ko ang pagpipilian ng pagtatakda ng boltahe ng flash upang labis na magamit ang GPIO12 at makumpirma sa aking vga32 ESP, Gumagana ito! Ang problema ay naayos nang wala nang mga isyu sa SD Card. Hinihimok ko kayo na suriin, i-double check at pag-isipang mabuti tungkol sa paglikha ng isang BRICK kung magpasya kang subukan din ito. Hindi ko ito inirerekumenda bilang isang aksyon, ngunit para sa akin ito ay gumana.

Inirerekumendang: