Բովանդակություն:
- Քայլ 1: Տեղադրեք ESP32 աջակցությունը Arduino- ի համար (ըստ ցանկության)
- Քայլ 2. FabGL գրադարանի ավելացում IDE- ին
- Քայլ 3. Ավելացնել SDC քարտերի լրացուցիչ գրադարան, որն օգտագործվում է RunCPM- ի կողմից
- Քայլ 4: Ներբեռնեք փոփոխված RunCPM նախագիծը
- Քայլ 5. Բացեք և վերանայեք RunCPM ծրագիրը և կազմեք
- Քայլ 6. Ստեղծեք SD քարտ, որը պատրաստ է գործարկելու ձեր RunCPM- ը
- Քայլ 7: Միացրեք VGA մոնիտորը և ստեղնաշարը
- Քայլ 8. Խնդիր SD- քարտի հետ VGA32 մոդուլում
Video: Retro CP/M Stand Alone Emulator: 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս նախագիծը օգտագործում է VGA32 ESP v1.4 մոդուլը ՝ համակցություն գործարկելու համար, կամ RunCPM և FabGL ՝ առանձին համակարգիչ ՝ CP/M 2.2 համարժեք համակարգով ապահովելու համար: Հանրաճանաչ 1980 -ականներին որպես փոքր համակարգիչների օպերացիոն համակարգ: Կարող եք վերադառնալ ժամանակին և նորից այցելել հին ծրագրակազմ, ինչպիսիք են Wordstar- ը, Supercalc- ը, Adventure- ը և Zork- ը:
Դա FabGL նախագծի ինքնուրույն տրամադրումն է, որը ծրագրային ապահովում էր ստանդարտ VGA մոնիտորի և PS/2 ստեղնաշարի գործարկման համար:
Հիմնական ՕՀ -ն RunCPM- ի փոփոխված տարբերակն է, այն պատճենված է Github- ի սկզբնական աշխատանքից, և ես ավելացրել եմ FabGL գրադարանը `այն սերիական վահանակի փոխարեն էկրանին օգտագործելու համար:
Ես պարզապես կցանկանայի մեծ շնորհակալություն հայտնել երկու նախագծերին: Շարունակեք ձեր աշխատանքը:
Softwareրագիրը փորձարկվել է ապարատային սարքավորման առնվազն երկու տարբերակի վրա: Մեկը VGA32 ESP v1.4 (վաճառվում է պատրաստի վիճակում): Երկրորդ ՝ իմ հին տարբերակը, որը ես կառուցել եմ Wroom ESP32 մոդուլից և բեկորներ հանել հին համակարգիչներից:
Ստորև բերված Github կայքը պարունակում է կարևոր տեղեկություններ այս կարգավորումների, ինչպես նաև փոփոխված պատրաստ տեղադրման ծրագրակազմի մասին:
Այս նախագիծը ծրագրաշարը տեղադրելու մասին է, այլ ոչ թե ապարատային:
Պարագաներ:
VGA32 ESP մոդուլ V1.4 (փորձարկված): Գտնվել է eBay / aliexpress / amazon և այլն
Arduino IDE- ն, որը տեղադրված է համակարգչի վրա, ենթադրում եմ, որ եթե կարդում եք սա, արդեն ունեք այն:
Տեղադրեք ESP32 աջակցության փաթեթը Arduino IDE- ի համար: https://github.com/espressif/arduino-esp32 Տես քայլ 1
FabGL գրադարանը https://www.fabglib.org/ ձեզ ոչինչ պետք չէ ներբեռնելու համար, arduino IDE- ն կարող է դա անել մեզ համար, տես 2 -րդ քայլը:
Ներբեռնեք փոփոխված RunCPM- ի պատճենը https://github.com/coopzone-dc/RunCPM- ից
Քայլ 1: Տեղադրեք ESP32 աջակցությունը Arduino- ի համար (ըստ ցանկության)
Դուք, հավանաբար, արդեն դա արել եք, եթե ունեք, կարող եք բաց թողնել այս քայլը:
այցելեք https://github.com/espressif/arduino-esp32 և հետևեք տախտակների կառավարիչով տեղադրելու հրահանգներին, օրինակ ՝
Տեղադրման հրահանգներ ՝ օգտագործելով Arduino IDE տախտակների կառավարիչ =========================================== ================
Կայուն թողարկման հղում ՝
Տեղադրեք ընթացիկ Arduino IDE- ն 1.8 մակարդակի կամ ավելի ուշ: Ընթացիկ տարբերակը գտնվում է Arduino կայքում:
Գործարկեք Arduino- ն և բացեք «Նախընտրանքներ» պատուհանը:
Մուտքագրեք վերը թողարկման հղումներից մեկը Board Board Manager- ի լրացուցիչ հասցեների դաշտում: Կարող եք ավելացնել բազմաթիվ հասցեներ ՝ դրանք ստորակետերով առանձնացնելով:
Բացեք Տախտակների կառավարիչը Գործիքներ> Տախտակ ընտրացանկից և տեղադրեք esp32 պլատֆորմը (և մի մոռացեք, որ տեղադրելուց հետո ընտրեք ձեր ESP32 տախտակը Գործիքներ> Տախտակի ընտրացանկից):
Քայլ 2. FabGL գրադարանի ավելացում IDE- ին
Օգտագործելով դատարկ ուրվագիծ Arduino IDE- ում, համոզվեք, որ ընտրել եք ձեր ESP խորհուրդը Գործիքների ցանկից ՝ Տախտակներ: (Գրելու պահին VGA32 ESP- ը նշված չէր, ես ընտրում եմ Dev Dev- ի ընդհանուր տախտակ):
Էսքիզների ընտրացանկից ընտրեք Ներառել գրադարանը, այնուհետև գրադարանի կառավարիչ:
Որոնման երկխոսության մեջ մուտքագրեք FabGL և սպասեք, որ այն հայտնվի ստորև նշված ցուցակում, այժմ կտտացրեք Տեղադրեք կոճակին:
ավարտված
Քայլ 3. Ավելացնել SDC քարտերի լրացուցիչ գրադարան, որն օգտագործվում է RunCPM- ի կողմից
Սա գրեթե նույնն է, ինչ նախորդ քայլին, բայց FabGL- ի փոխարեն փնտրեք SDFat
Էսքիզների ընտրացանկից ընտրեք Ներառել գրադարանը, այնուհետև գրադարանի կառավարիչ: Որոնման երկխոսության մեջ մուտքագրեք SDFat և սպասեք, որ այն հայտնվի ստորև նշված ցուցակում, հավանաբար ստիպված կլինեք ոլորել ցուցակը ներքև:
Դուք ստանում եք երկու տարբերակի ընտրություն.
1, SdFat by Bill Greiman
2, SdFat - Adafruit պատառաքաղ
Ես երկուսն էլ փորձել եմ, երկուսն էլ կարծես լավ են աշխատում: Բայց RunCPM նախագիծը խորհուրդ տվեց Երկրորդ տարբերակը ՝ «Adafruit Fork», սակայն վերջին գրառումների վրա այն այժմ ասում է.
Այժմ բոլոր տախտակները օգտագործում են SdFat գրադարանը ՝ այստեղից ՝
Այսպիսով, այժմ ես ընտրում եմ այս նախագծի առաջին տարբերակը:
ավարտված
Քայլ 4: Ներբեռնեք փոփոխված RunCPM նախագիծը
Այցելեք Github կայքը ՝
Կտտացրեք ԿՈԴ կոճակին և ներբեռնեք որպես ZIP ֆայլ
Պահեք այս ֆայլը ինչ -որ տեղ (սովորաբար Arduino անունով գրացուցակում:
Անջատեք ֆայլը նույն վայրում, այն կստեղծի մի թղթապանակ, որը կոչվում է RunCPM-master
ավարտված
Քայլ 5. Բացեք և վերանայեք RunCPM ծրագիրը և կազմեք
Այժմ կարող եք օգտագործել Arduino IDE ֆայլը, բաց ընտրացանկը: Գնացեք դեպի այն պանակը, որը վերևում օգտագործել եք:
Այս թղթապանակի ներսում կա մեկ այլ անուն, որը կոչվում է RunCPM: Բացեք թղթապանակը:
Այդ թղթապանակի ներսում կա.ino ֆայլ, որը կոչվում է RunCPM.ino: Սա ծրագրի հիմնական ֆայլն է `բացեք այն:
Այժմ կարող եք դիտել նախագիծը, կարդալ մեկնաբանությունները և այլն: Փոփոխություններ կատարեք, եթե ձեզ անհրաժեշտ է համապատասխանել ձեր VGA32 -ESP տարբերակին: Այն պետք է նախապես կազմաձևվի տախտակի V1.4 համար:
Այժմ կարող եք սեղմել հավաքել և վերբեռնել ՝ ենթադրելով, որ ունեք VGA32 ESP միացված, այն կբեռնի էմուլյատորը ձեր սարքում:
ԿԱՐԵՎՈՐ. VGA32- ն այս պահին կարող է խնդիր ունենալ SD քարտի հետ, այնպես որ մի իմացեք այն: Լրացուցիչ տեղեկությունների համար տե՛ս ստորև բերված վերջին քայլը:
Քայլ 6. Ստեղծեք SD քարտ, որը պատրաստ է գործարկելու ձեր RunCPM- ը
Սա թերևս քայլերի ամենահնարքն է: Ես առաջարկում եմ կարդալ Github կայքի README.md- ը, թե ինչպես դա անել: Ահա իմ անելիքների ցանկը.
Ենթադրում եմ, որ դուք ունեք դատարկ SD քարտ կամ չեք հետաքրքրվում որևէ ֆայլ պահելով ձեր ունեցածի վրա, դա կջնջի այն:
1, ձևակերպեք SD քարտը որպես FAT-32
2, Ստեղծեք մի քանի պանակ ՝ A, B, C D և այլն (մինչև P դրանք սկավառակի կրիչները կլինեն CP/M- ի գործարկման ժամանակ): Նշենք, որ դրանք մայրաքաղաքներ են:
3, Յուրաքանչյուր թղթապանակում դուք ստեղծում եք Ստեղծեք 0 (այսինքն ՝ զրո) անունով և ընտրովի ՝ 1, 2, 3 և այլն (մինչև 15), այնուհետև պանակները հանդիսանում են CP/M մոդելավորման Օգտվողի տարածքներ: Գործարկման համար անհրաժեշտ է միայն 0 թղթապանակը:
4, arduino գրացուցակում ձեր ներբեռնված ծրագրի թղթապանակից գտեք CCP անունով թղթապանակը: Սա պարունակում է CP/M Command Console Processor- ի տարբեր տարբերակներ: Պատճենեք CCP-DR.60K կոչվողը ձեր SD քարտի արմատին:
5, Այժմ գտեք ծրագրի գրացուցակում DISK անունով թղթապանակը, որը պարունակում է A. ZIP ֆայլ, դուք պետք է այս ֆայլը բացեք ձեր SD- քարտի A/ 0/ անունով գրացուցակում: (լրացուցիչ տեղեկությունների համար տես նաև 1streadme ֆայլը): Unfortunatelyավոք, այն «0» չունի թղթապանակների ցանկում, այնպես որ դուք պետք է նախ բացեք ժամանակավոր թղթապանակը, այնուհետև պատճենեք A թղթապանակի բովանդակությունը A/ 0/ SD քարտում:
6, Երբ դուք կատարեք վերը նշված քայլերը, կունենաք SD քարտ ՝ այսպիսի կառուցվածքով.
F: CCP-DR.60K
/Ա/0
/1STREAD. ME
/ASM. COM
/…. և այլն
/Բ/0
/C/0
և այլն
Եթե սխալներ եք ստանում SD- քարտից բեռնաթափման ժամանակ CCP և այլն բեռնելիս, կրկնակի ստուգեք, որ ամեն ինչ ունեք ճիշտ տեմպով:
Այս փուլը մի փոքր ավելի դյուրին դարձնելու համար ես վերբեռնել եմ վերը նշվածի պատրաստ տարբերակը, որի վրա կա նաև cp/m ծրագրակազմ, ինչպես նաև ներբեռնել այն այստեղից https://github.com/coopzone-dc/RunCPM/blob /master/… և պարզապես բացեք այն ձևաչափված SD- քարտի արմատին: Այն պետք է սկսի ձեզ, իսկ հետո կարող եք ստեղծել ձեր սեփականը:
Ես նաև խորհուրդ եմ տալիս կարդալ Github Repo- ի տեղադրման ուղեցույցը, այն պարունակում է ձեզ անհրաժեշտ պանակների նկարագրություն:
Քայլ 7: Միացրեք VGA մոնիտորը և ստեղնաշարը
Անջատեք հոսանքը VGA32 ESP քարտին:
Միացրեք ձեր VGA մոնիտորը
Միացրեք PS/2 ստեղնաշարը Միացրեք հոսանքը VGA32 ESP քարտին, դուք պետք է տեսնեք, որ ստեղնաշարի լույսերը բռնկվում են, և մոտ 10 վայրկյան անց էկրանին կհայտնվի պատկեր CP/M հուշումով:
Կարևոր. VGA32- ը խնդիր ունի SD քարտի և փափուկ զրոյի օգտագործման ժամանակ, այդ իսկ պատճառով կարևոր է ԻՇԽԱՆՈԹՅՈՆԸ անջատել որպես վերը նշված առաջին քայլ: Լրացուցիչ տեղեկությունների համար տե՛ս վերջին քայլը:
Հեռու գնացիր…
Քայլ 8. Խնդիր SD- քարտի հետ VGA32 մոդուլում
Վերոնշյալ լուսանկարը ցույց է տալիս իմ երկրորդ ESP32 քարտը (տնական պատրաստված), սա լավ է աշխատում և ստորև նշված խնդիրը չունի: Այսպիսով, ես գիտեմ, որ դա ծրագրային ապահովման խնդիր չէ, խնդրում ենք ստորև կարդալ VGA32 տարբերակի մասին:
Իմ VG32 ESP մոդուլում (v1.4) SD քարտը օգտագործում է GPIO12, դա խորհուրդ չի տրվում Espressif Systems- ի կողմից, քանի որ այս քորոցն օգտագործվում է միացման ժամանակ ՝ ներքին հիշողության աշխատանքային լարումը հայտնաբերելու համար: Ես կցանկանայի, որ ինչ -որ մեկը ասեր այն տղային, ով պատրաստել է այս VGA32 քարտը: Հնարավոր է, որ ձեր դեպքում դա տարբեր լինի, ուստի հուսով եմ, որ այս խնդիրը ձեզ մոտ չի լինի:
Խնդիրներն են.
1, Հնարավոր չէ վերբեռնել ուրվագիծը, երբ քարտը միացված է:
2, Վերականգնման կոճակը սեղմելուց հետո այն կողպվում է մինչև SD քարտի հեռացումը: Այնուհետև այն տեղադրվում է սխալի էկրանին ՝ ասելով, որ SD- քարտ չկա: Կարող եք տեղադրել քարտը և նորից զրոյացնել, և այն կաշխատի երկրորդ անգամ:
Այս խնդիրը լուծելի է (Բայց վտանգ ունի) տե՛ս README.md ՝
կամ տախտակը գործարկելու համար միշտ կարող եք անջատել/միացնել ծանր ուժ: Ինչ -ինչ պատճառներով սա կարծես լավ է աշխատում: Բացի այդ, եթե Ձեզ անհրաժեշտ է վերբեռնել RunCPM ծրագրակազմը, ապա նախ պետք է հեռացնեք SD քարտը:
Սա քաղվածք է README. MD- ից, որը բացատրում է խնդիրը: Ես օգտագործել եմ շտկումը և այն լավ է աշխատում, բայց իր բնույթի պատճառով ռիսկը ձերն է, կարդացեք…
Այնուամենայնիվ, VGA32 ESP- ի կարգավորումները, կարծես, կոնֆլիկտ ունեն SD քարտի GPIO կարգավորումների վերաբերյալ:
Այն աշխատում է, բայց վերբեռնելու համար դուք պետք է հեռացնեք SD քարտը, իսկ փափուկ վերագործարկումից հետո պետք է հեռացնեք SD քարտը, այնուհետև այն փոխարինեք, որին հաջորդում է մեկ այլ վերականգնում: Այն լավ է աշխատում միացման կամ կոշտ վերակայման միջոցով: Եթե կարող եք օգնել ուղղել այս խնդիրը, խնդրում եմ ինձ տեղյակ պահեք: ԹԱՐՄԱԵԼ 11 Հոկտեմբեր 2020. VGA32 ESP v1.4- ն օգտագործում է GPIO12 (MTDI, կարդում է սնուցման/վերակայման ժամանակ): Այս քորոցը որոշում է RAM- ի լարումը, ներքին LDO- ի լարումը (VDD_SDIO): SD քարտի առկայության դեպքում այն բարձրացնում է այս կապը, և ESP32- ը կարծում է, որ RAM- ի լարումը պետք է լինի 1.8 Վ, առանց SD քարտի այս պինն ունի ներքին քաշքշուկ ՝ RAM լարումը 3.3 Վ սահմանելու համար: Սա փաստորեն նշվում է FABGL նախագծում ներկայացված օրինակներից ստացված նշումներում `մեջբերումներ անելու համար. GPIO 2 -ի և 12 -ի վերաբերյալ նշումները` GPIO2. Կարող են խնդիրներ առաջացնել ծրագրավորման վրա: GPIO2- ը նույնպես պետք է կամ մնա չկապված/լողացող, կամ քշված ցածր, որպեսզի սերիական բեռնիչ մուտք գործի: Սովորական բեռնման ռեժիմում (բարձր GPIO0) GPIO2- ը անտեսվում է: - GPIO12. Պետք է խուսափել: Այն ընտրում է բռնկման լարումը: Այն օգտագործելու համար անջատեք GPIO12- ի հայտնաբերման կարգավորումը ՝ օգտագործելով python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V WARN !! Լավ է ESP32- ի համար 3.3V լարման հետ (ESP-WROOM-32): Սա կկոտրի ձեր ESP32- ը, եթե բռնկումը 3.3V չէ NOTE1. Փոխարինեք «/dev/cu. SLAB_USBtoUART» - ը ձեր սերիական պորտով NOTE2: espefuse.py- ն կարելի է ներբեռնել https://github.com/espressif/esptool- ից
Սա նաև նշում է, որ GPIO12- ից պետք է խուսափել, ինչ -որ մեկը չի կարող ասել, որ VGA32 ESP քարտի ստեղծողին:
ՍՏԱՎԱ:. Ես փորձել եմ բռնկման լարումը կարգավորելու տարբերակը `GPIO12- ի օգտագործումը գերազանցելու համար և կարող եմ հաստատել իմ vga32 ESP- ի վրա, այն աշխատում է: Խնդիրն այլևս լուծված չէ SD քարտի հետ կապված: Ես կոչ եմ անում ձեզ ստուգել, կրկնակի ստուգել և մանրակրկիտ մտածել BRICK- ի ստեղծման մասին, եթե որոշեք այն նույնպես փորձել: Ես դա խորհուրդ չեմ տալիս որպես գործողություն, բայց ինձ մոտ այն ստացվեց:
Խորհուրդ ենք տալիս:
2 խաղացող Stand-Up Retro Arcade by Micro Center: 20 քայլ
2-խաղացող Stand-Up Retro Arcade by Micro Center. Ձեր տեղական Micro Center- ն այժմ կրում է այն ամենը, ինչ ձեզ հարկավոր է ձեր սեփական Raspberry Pi- ի վրա հիմնված Retro Arcade կաբինետ պատրաստելու համար: Հավաքածուները լիովին կարգավորելի են, ներառում են պահարան, Raspberry Pi, կոճակներ, ջոստիկներ, աուդիո և վիդեո պարագաներ և այլն: Դա
Stand Alone Arduino ATmega328p: 7 քայլ (նկարներով)
Stand Alone Arduino ATmega328p. Ամեն ինչ սկսվեց, երբ ես տեսա ուսանելի " Երկուական խաղ » Keebie81https: //www.instructables.com/id/Binary-Game/ Բայց ես կարծում էի, որ Arduino- ի տախտակի փոխարեն առանձին տարբերակը ավելի լավ կլիներ անվճար
Raspberry Pi Gaming Emulator Հրահանգներ. 7 քայլ
Raspberry Pi Gaming Emulator Հրահանգներ. Բոլորը սիրում են խաղալ: Նույնիսկ երբ մենք լուրջ աշխատանք ենք կատարում: Եվ դա բնական է, քանի որ բոլորը արժանի են հանգստի, հանգստի կամ ազատ ժամանակի: Եվ, իհարկե, մենք դժվար թե կարողանանք մերժել մեր սիրած խաղը խաղալը: Հիշում եմ այն ժամանակը, երբ ինչ -որ տեսակ
GamePi - Handheld Emulator Console: 17 քայլ (նկարներով)
GamePi - Handheld Emulator Console: Ներածություն. Այս հրահանգը նկարագրում է Raspberry Pi 3 սնուցվող ձեռքի էմուլյացիայի վահանակի կառուցվածքը. Ես այն մկրտել եմ GamePi: Կան շատ նման հրահանգներ նման սարքերի համար, բայց իմ ճաշակի համար դրանցից շատերը կամ չափազանց մեծ են, շատ փոքր են, շատ
Raspberry Pi 3: Retro Arcade Emulator: 7 քայլ
Raspberry Pi 3: Retro Arcade Emulator. Սա անելու շարժառիթս այսօրվա աշխարհում տեխնոլոգիական գրագիտության պակասն է: Նույնիսկ համակարգիչների և փոքր սարքերի առատությամբ մարդիկ դեռևս շատ անտեղյակ են ամենօրյա օգտագործման իրերի հիմնական գործառույթների վրա: Կարծում եմ, որ սա