Cov txheej txheem:

Retro CP/M Sawv Ib Leeg Emulator: 8 Kauj Ruam
Retro CP/M Sawv Ib Leeg Emulator: 8 Kauj Ruam

Video: Retro CP/M Sawv Ib Leeg Emulator: 8 Kauj Ruam

Video: Retro CP/M Sawv Ib Leeg Emulator: 8 Kauj Ruam
Video: txhob muab kuv hu txiv ntxawm nkauj tawm tshiab npawg lem 2024, Hlis ntuj nqeg
Anonim
Retro CP/M Sawv Ib Leeg Emulator
Retro CP/M Sawv Ib Leeg Emulator

Txoj haujlwm no siv VGA32 ESP v1.4 module los ua ke lossis RunCPM thiab FabGL los muab lub khoos phis tawj nyob ib leeg ua haujlwm sib npaug rau CP/M 2.2. Nrov nyob rau xyoo 1980 los ua kev ua haujlwm rau cov khoos phis tawj me. Koj tuaj yeem rov qab mus rau lub sijhawm thiab rov mus saib software qub xws li Wordstar, Supercalc, Taug txuj kev nyuaj thiab Zork.

Nws yog ib tus neeg siab dawb ntawm FabGL txoj haujlwm uas tau muab cov software los ua tus qauv VGA saib thiab PS/2 Keyboard.

Lub hauv paus tseem ceeb yog hloov kho Version ntawm RunCPM, nws tau raug nkaug los ntawm thawj qhov haujlwm ntawm Github thiab kuv tau ntxiv FabGL lub tsev qiv ntawv los pab kom nws siv tau ntawm lub vijtsam tsis yog ntawm lub tshuab ntaus ntawv.

Kuv tsuas yog xav hais ua tsaug ntau rau ob txoj haujlwm. Khaws txoj haujlwm zoo!

Lub software tau raug sim tsawg kawg yog ob lub khoos phis tawj. Ib qho VGA32 ESP v1.4 (raws li muag tau npaj ua). Qhov thib ob kuv qhov qub, Kuv ua los ntawm Wroom ESP32 Module thiab seem me me los ntawm cov khoos phis tawj qub.

Github qhov chaw hauv qab no muaj cov ntaub ntawv tseem ceeb ntawm cov teeb tsa no nrog rau kev hloov kho npaj-rau-nruab software.

Txoj haujlwm no yog hais txog kev txhim kho software, tsis yog hais txog kho vajtse.

Khoom siv:

VGA32 ESP module V1.4 (kuaj). Pom ntawm eBay / aliexpress / amazon thiab lwm yam

Arduino IDE teeb tsa hauv computer, Kuv xav tias yog koj nyeem qhov no koj twb muaj qhov no lawm.

Nruab ESP32 pob txhawb nqa rau Arduino IDE. https://github.com/espressif/arduino-esp32 Saib cov kauj ruam 1

FabGL lub tsev qiv ntawv https://www.fabglib.org/ koj tsis tas yuav rub dab tsi, arduino IDE tuaj yeem ua qhov no rau peb, saib cov kauj ruam 2.

Rub tawm ib daim qauv ntawm qhov hloov pauv RunCPM los ntawm

Kauj Ruam 1: Nruab ESP32 Txhawb rau Arduino (xaiv tau)

Nruab ESP32 Txhawb rau Arduino (xaiv tau)
Nruab ESP32 Txhawb rau Arduino (xaiv tau)

Koj tuaj yeem ua tiav qhov no, yog tias koj muaj koj tuaj yeem hla cov kauj ruam no.

mus ntsib https://github.com/espressif/arduino-esp32 thiab ua raws cov lus qhia ntawm kev teeb tsa siv tus thawj tswj hwm lub rooj, zoo li no:

Cov lus qhia teeb tsa siv Arduino IDE Tus Thawj Saib Xyuas Haujlwm =========================================== ================ Ua tsaug

Kev tso tawm ruaj khov txuas:

Txhim kho tam sim no ntws Arduino IDE ntawm 1.8 qib lossis tom qab. Qhov tam sim no nyob ntawm Arduino lub vev xaib.

Pib Arduino thiab qhib Qhov Nyiam Qhov rai.

Nkag mus rau ib qho ntawm qhov txuas txuas saum toj no mus rau Tus Thawj Saib Xyuas Haujlwm Ntxiv URLs teb. Koj tuaj yeem ntxiv ntau qhov URL, cais lawv nrog tus lej.

Qhib Tus Thawj Saib Xyuas Haujlwm los ntawm Cov Cuab Yeej> Cov ntawv qhia zaub mov thiab teeb tsa esp32 lub platform (thiab tsis txhob hnov qab xaiv koj li ESP32 pawg thawj coj los ntawm Cov Cuab Yeej> Cov ntawv qhia zaub mov tom qab teeb tsa).

Kauj Ruam 2: Ntxiv FabGL Library rau IDE

Ntxiv FabGL Library rau IDE
Ntxiv FabGL Library rau IDE
Ntxiv FabGL Library rau IDE
Ntxiv FabGL Library rau IDE

Siv cov duab kos dawb hauv Arduino IDE, xyuas kom tseeb tias koj tau xaiv koj li ESP Board los ntawm Cov Cuab Yeej Ntawv Qhia, Boards. (Thaum lub sijhawm sau VGA32 ESP tsis tau teev tseg, kuv xaiv cov Dev Dev generic board).

Los ntawm Sketch cov ntawv qhia zaub mov, xaiv suav nrog Lub Tsev Qiv Ntawv, tom qab ntawd xaiv Tus Thawj Saib Xyuas Tsev Qiv Ntawv.

Hauv kev tshawb fawb sib tham hom FabGL thiab tos kom nws tshwm nyob rau hauv cov npe hauv qab no, tam sim no nyem lub pob Install.

tiav

Kauj Ruam 3: Ntxiv SD-card Library Siv los ntawm RunCPM

Ntxiv SD-card Library Ntxiv Siv los ntawm RunCPM
Ntxiv SD-card Library Ntxiv Siv los ntawm RunCPM

Qhov no yuav luag zoo ib yam li cov kauj ruam dhau los tab sis hloov FabGL tshawb rau SDFat

Los ntawm Sketch cov ntawv qhia zaub mov, xaiv suav nrog Lub Tsev Qiv Ntawv, tom qab ntawd xaiv Tus Thawj Saib Xyuas Tsev Qiv Ntawv. Hauv kev tshawb fawb sib tham hom SDFat thiab tos kom nws tshwm nyob rau hauv cov npe hauv qab no, tej zaum koj yuav tau xaub cov npe.

Koj tau txais qhov kev xaiv ntawm ob version:

1, SdFat los ntawm Bill Greiman

2, SdFat - Adafruit Diav

Kuv tau sim ob qho tib si, nkawd ob leeg zoo li ua haujlwm tau zoo. Tab sis qhov haujlwm RunCPM tau pom zoo qhov kev xaiv thib ob "Adafruit Fork", txawm li cas los xij ntawm cov ntawv sau tseg tam sim no nws hais tias:

Txhua lub rooj tsav xwm tam sim no siv SdFat lub tsev qiv ntawv, los ntawm no:

Yog li tam sim no kuv xaiv thawj qhov kev xaiv rau txoj haujlwm no.

tiav

Kauj Ruam 4: Rub tawm Qhov Hloov Kho RunCPM Project

Rub tawm qhov Hloov Kho RunCPM Project
Rub tawm qhov Hloov Kho RunCPM Project
Rub tawm qhov Hloov Kho RunCPM Project
Rub tawm qhov Hloov Kho RunCPM Project

Mus ntsib Github Qhov Chaw, Nyem rau CODE khawm thiab rub tawm ua ZIP cov ntaub ntawv

Txuag cov ntaub ntawv no qhov chaw (ib txwm nyob hauv cov npe hu ua Arduino.

Unzip cov ntaub ntawv mus rau tib qhov chaw, nws yuav tsim cov nplaub tshev hu ua RunCPM-master

tiav

Kauj Ruam 5: Qhib thiab Txheeb Xyuas Txoj Haujlwm RunCPM thiab Sau

Qhib thiab Txheeb Xyuas Txoj Haujlwm RunCPM thiab Sau
Qhib thiab Txheeb Xyuas Txoj Haujlwm RunCPM thiab Sau

Tam sim no koj tuaj yeem siv Arduino IDE File, Qhib cov ntawv qhia zaub mov. Nkag mus rau daim nplaub tshev uas koj uziped saum toj no.

Sab hauv daim nplaub tshev no yog lwm lub npe hu ua RunCPM. Qhib daim ntawv tais ceev tseg.

Sab hauv cov ntawv ntawd yog.ino cov ntaub ntawv hu ua RunCPM.ino. Nov yog cov ntaub ntawv tseem ceeb ua haujlwm - qhib nws.

Tam sim no koj tuaj yeem pom txoj haujlwm, nyeem cov lus pom zoo thiab hloov pauv yog tias koj xav tau kom haum koj li VGA32 -ESP version. Nws yuav tsum tau teeb tsa ua ntej rau V1.4 ntawm pawg thawj coj.

Tam sim no koj tuaj yeem nyem sau thiab xa tawm, piv txwv tias koj muaj koj VGA32 ESP txuas nrog nws yuav tso tus emulator rau koj lub cuab yeej.

TSEEM CEEB: VGA32 tuaj yeem muaj teeb meem nrog SD-daim npav ntawm qhov no, yog li tsis ntsaws nws kom paub. Saib cov kauj ruam kawg hauv qab no kom paub ntau ntxiv.

Kauj Ruam 6: Tsim daim npav SD npaj rau khau raj Koj Li RunCPM Los Ntawm

Qhov no yog kab tias feem ntau cov lus dag ntawm cov kauj ruam. Kuv qhia koj nyeem README.md ntawm Github qhov chaw yuav ua li cas. Nov yog kuv cov npe yuav ua dab tsi:

Kuv xav tias koj muaj daim npav SD dawb lossis tsis txaus siab khaws cov ntaub ntawv ntawm ib qho uas koj muaj, qhov no yuav tshem tawm nws.

1, format SD-card as FAT-32

2, Tsim qee cov ntawv hu ua A, B, C D thiab lwm yam (txog P cov no yuav yog lub tshuab tsav thaum khiav CP/M). Nco ntsoov lawv yog cov peev.

3, Hauv txhua daim nplaub tshev koj tsim Tsim lwm daim nplaub tshev npe 0 (uas yog xoom) thiab xaiv tau 1, 2, 3 thiab lwm yam (txog 15) Tom qab ntawv cov nplaub tshev yog Cov Neeg Siv Hauv Cheeb Tsam CP/M. Koj tsuas yog xav tau 0 nplaub tshev kom pib tawm.

4, Los ntawm koj cov phiaj xwm phiaj xwm rub tawm hauv cov npe arduino, nrhiav cov npe hu ua CCP. Qhov no muaj ntau yam hloov pauv ntawm CP/M Command Console Proccessor. Luam qhov hu ua CCP-DR.60K rau lub hauv paus ntawm koj daim npav SD.

5, Tam sim no pom daim nplaub tshev hauv cov npe hu ua DISK, Nws muaj cov ntaub ntawv A. ZIP, koj yuav tsum tau unzip cov ntawv no rau hauv cov npe hu ua A/ 0/ ntawm koj daim npav SD. (kuj saib 1streadme cov ntaub ntawv kom paub ntau ntxiv). Hmoov tsis nws tsis muaj "0" hauv daim ntawv teev npe yog li koj yuav tsum tau unzip rau daim nplaub tshev ib ntus ua ntej, tom qab ntawd luam cov ntsiab lus rau A nplaub tshev rau A/ 0/ ntawm SD card.

6, Thaum Koj tau ua cov kauj ruam saum toj no koj yuav muaj SD-Card nrog tus qauv zoo li no:

F: CCP-DR.60K

/UA/0

/1 STREAD. ME

/ASM. COM

/…. lwm yam

/IB/0

/C/0 ib

lwm yam

Yog tias koj tau txais qhov yuam kev txog tsis tuaj yeem thauj CCP thiab lwm yam thaum koj sim khau raj los ntawm SD-Card, xyuas ob zaug koj muaj txhua yam hauv txoj cai!

Hauv kev sim ua kom theem no yooj yim me ntsis, kuv tau tso daim ntawv npaj ua tiav saum toj no, nrog rau ntxiv cp/m software rau nws ib yam thiab rub nws los ntawm no https://github.com/coopzone-dc/RunCPM/blob /master/… thiab tsuas yog unzip nws rau hauv paus ntawm daim ntawv SD-Card. Nws yuav tsum tau koj pib tom qab ntawd koj tuaj yeem tsim koj tus kheej tom qab.

Kuv kuj pom zoo kom koj nyeem cov txheej txheem teeb tsa ntawm Github Repo, nws muaj cov lus piav qhia ntawm cov ntawv koj xav tau.

Kauj Ruam 7: Txuas VGA Monitor thiab Keyboard

Txuas VGA Monitor thiab Keyboard
Txuas VGA Monitor thiab Keyboard

Txuas lub zog mus rau daim npav VGA32 ESP.

Txuas koj lub VGA Monitor

Txuas PS/2 Keyboard Rov txuas lub zog rau daim npav VGA32 ESP, koj yuav tsum pom cov keyboard teeb nyem thiab li 10 vib nas this tom qab daim duab yuav tshwm ntawm lub vijtsam nrog CP/M sai!

Tseem ceeb: VGA32 muaj teeb meem thaum siv daim npav SD thiab rov pib dua, yog vim li cas nws thiaj li tseem ceeb kom QHOV TSEEB POWER OFF ua thawj kauj ruam saum toj no, Saib cov kauj ruam kawg rau cov ntaub ntawv ntxiv.

Koj mus lawm …

Kauj Ruam 8: Teeb Meem Nrog SD-Card ntawm VGA32 Module

Teeb meem Nrog SD-Card ntawm VGA32 Module
Teeb meem Nrog SD-Card ntawm VGA32 Module
Teeb meem Nrog SD-Card ntawm VGA32 Module
Teeb meem Nrog SD-Card ntawm VGA32 Module

Daim duab saum toj no qhia kuv daim npav ESP32 thib ob (ua hauv tsev), qhov no ua haujlwm tau zoo thiab tsis muaj qhov teeb meem hauv qab no. Yog li kuv paub tsis yog teeb meem software, thov nyeem hauv qab no txog VGA32 version.

Ntawm kuv VG32 ESP module (v1.4) daim npav SD siv GPIO12, Qhov no tsis pom zoo los ntawm Espressif Systems vim tus pin no tau siv rau lub zog txhawm rau txhawm rau txheeb xyuas qhov ua haujlwm rau lub cim xeeb sab hauv. Kuv vam tias ib tus neeg tau hais rau tus txiv neej uas ua daim npav VGA32 no! Tej zaum nws txawv ntawm koj li, yog li cia siab tias koj yuav tsis muaj qhov teeb meem no.

Teeb meem yog:

1, Tsis tuaj yeem rub daim duab kos thaum daim npav raug ntsaws.

2, Tom qab nias lub pob pib dua, nws xauv kom txog thaum daim npav SD raug tshem tawm. Tom qab ntawd nws khau raj rau lub vijtsam yuam kev hais tias tsis muaj SD-Card! Koj tuaj yeem tso daim npav nkag thiab rov pib dua thiab nws yuav ua haujlwm zaum ob.

Qhov teeb meem no tuaj yeem kho tau (Tab sis muaj kev pheej hmoo) pom README.md ntawm

lossis koj ib txwm tuaj yeem ua lub zog hnyav tawm/qhib kom pib lub rooj tsavxwm. Vim qee qhov no zoo li ua haujlwm zoo. Tsis tas li yog tias koj xav tau rov rub lub software RunCPM koj yuav tsum tshem daim npav SD ua ntej.

Nov yog qhov rho tawm los ntawm README. MD uas piav qhia qhov teeb meem. Kuv tau siv qhov kev txhim kho thiab nws ua haujlwm tau zoo, TAB SIS vim nws qhov xwm txheej txaus ntshai yog koj li, nyeem ntawm …

Txawm li cas los xij, teeb tsa rau VGA32 ESP zoo li muaj teeb meem ntawm GPIO teeb tsa rau daim npav SD.

Nws ua haujlwm tab sis txhawm rau upload koj yuav tsum tshem daim npav SD thiab tom qab rov pib dua koj yuav tsum tshem daim npav SD thiab tom qab ntawd hloov nws ua raws lwm qhov rov pib dua. Nws ua haujlwm tau zoo los ntawm lub zog qhib lossis rov pib dua. Yog koj tuaj yeem pab kho qhov no thov qhia rau kuv paub. Hloov kho 11 Lub Kaum Hli 2020: VGA32 ESP v1.4 siv GPIO12 (MTDI, nyeem ntawm lub zog/pib dua). Tus pin no txiav txim siab qhov voltage rau RAM, Voltage ntawm Internal LDO (VDD_SDIO). Thaum daim npav SD tam sim no nws rub tus pin no siab thiab ESP32 xav tias RAM qhov hluav taws xob yuav tsum yog 1.8V, yam tsis muaj daim npav SD daim npav no muaj tus rub sab hauv los teeb tsa RAM qhov voltage rau 3.3V. Qhov no tau hais tiag hauv cov ntawv sau los ntawm cov piv txwv muab hauv FABGL txoj haujlwm, kom hais tawm: sau tseg txog GPIO 2 thiab 12 - GPIO2: yuav ua rau muaj teeb meem ntawm kev ua haujlwm. GPIO2 tseem yuav tsum yog sab laug tsis txuas/ntab, lossis tsav Tsawg, txhawm rau nkag mus rau hauv cov khoom bootloader. Hauv ib txwm khau raj hom (GPIO0 siab), GPIO2 tsis quav ntsej. - GPIO12: yuav tsum zam. Nws xaiv flash voltage. Txhawm rau siv nws kaw GPIO12 nrhiav chaw teeb tsa efuses nrog: nab hab sej espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V WARN !! Zoo rau ESP32 nrog 3.3V voltage (ESP-WROOM-32). Qhov no yuav BRICK koj ESP32 yog lub flash tsis yog 3.3V NOTE1: hloov "/dev/cu. SLAB_USBtoUART" nrog koj lub chaw nres nkoj txuas NOTE2: espefuse.py tuaj yeem rub tau los ntawm

Qhov no sau tseg ntxiv tias GPIO12 yuav tsum raug zam, tsis muaj leej twg qhia tus tsim daim VGA32 ESP daim npav!

TSHUAJ: Kuv tau sim qhov kev xaiv teeb tsa hluav taws xob kom dhau qhov kev siv GPIO12 thiab tuaj yeem lees paub ntawm kuv vga32 ESP, nws Ua Haujlwm! Teeb meem kho tsis muaj teeb meem ntxiv nrog SD Card. Kuv yaum koj kom tshuaj xyuas, tshuaj xyuas ob zaug thiab ua tib zoo xav txog kev tsim BRICK yog tias koj txiav txim siab sim nws ib yam. Kuv tsis pom zoo nws ua qhov kev nqis tes ua, tab sis rau kuv nws ua haujlwm.

Pom zoo: