Мазмуну:

Ретро CP/M Stand Alone Emulator: 8 кадам
Ретро CP/M Stand Alone Emulator: 8 кадам

Video: Ретро CP/M Stand Alone Emulator: 8 кадам

Video: Ретро CP/M Stand Alone Emulator: 8 кадам
Video: MyZ80 CP/M Emulator running on AmigaOS 4.1 under DOSBox Emulator 2024, Ноябрь
Anonim
Retro CP/M Stand Alone Emulator
Retro CP/M Stand Alone Emulator

Бул долбоор VGA32 ESP v1.4 модулун айкалышта иштетүү үчүн колдонот же RunCPM жана FabGL менен CP/M 2.2ге барабар системаны иштетүүчү жалгыз компьютерди камсыз кылуу үчүн колдонулат. 1980 -жылдары чакан компьютерлер үчүн операциялык система катары популярдуу болгон. Сиз убакытка кайрылып, Wordstar, Supercalc, Adventure жана Zork сыяктуу эски программаларды кайра карап чыгсаңыз болот.

Бул стандарттык VGA мониторун жана PS/2 клавиатурасын иштетүү үчүн программалык камсыздоону берген FabGL долбоорунун өз алдынча сылыктыгы.

Негизги ОС - бул RunCPMдин өзгөртүлгөн версиясы, ал Githubдагы түпнуска иштен ажыратылган жана мен аны сериялык консолго эмес, экранда колдонууга мүмкүнчүлүк берүү үчүн FabGL китепканасын коштум.

Мен эки долбоорго тең чоң рахмат айткым келет. Мындан ары да ийгиликтерди жарата бериңиз!

Программалык камсыздоо кеминде эки версияда сыналган. Бир VGA32 ESP v1.4 (даяр сатылган). Экинчиден, менин эски версиям, мен Wroom ESP32 модулунан жана эски компьютерлерден биттерди курдум.

Төмөндөгү Github сайты бул орнотуулар боюнча маанилүү маалыматты, ошондой эле орнотулган даяр орнотулган программаны камтыйт.

Бул долбоор аппараттык эмес, программалык камсыздоону орнотуу жөнүндө.

Берилиштер:

An VGA32 ESP V1.4 модулу (сыналган). EBay / aliexpress / amazon ж

Компьютерде орнотулган Arduino IDE, эгер сиз муну окуп жатсаңыз, сизде буга чейин бар деп ойлойм.

Arduino IDE үчүн ESP32 колдоо пакетин орнотуңуз. https://github.com/espressif/arduino-esp32 1-кадамды караңыз

FabGL китепканасы https://www.fabglib.org/ эч нерсе жүктөөнүн кереги жок, arduino IDE муну биз үчүн жасай алат, 2 -кадамды караңыз.

Өзгөртүлгөн RunCPMдин көчүрмөсүн https://github.com/coopzone-dc/RunCPM дарегинен жүктөп алыңыз

1 -кадам: Arduino үчүн ESP32 колдоо орнотуу (милдеттүү эмес)

Arduino үчүн ESP32 колдоо орнотуу (милдеттүү эмес)
Arduino үчүн ESP32 колдоо орнотуу (милдеттүү эмес)

Сиз муну эбак эле кылган болушуңуз мүмкүн, эгер сизде бул кадамды өткөрүп жиберсеңиз болот.

github.com/espressif/arduino-esp32 дарегине баш багыңыз жана такта менеджери аркылуу орнотуу боюнча нускамаларды аткарыңыз, мисалы:

Arduino IDE Boards Manager аркылуу орнотуу көрсөтмөлөрү ======================================== ================

Туруктуу чыгаруу шилтемеси:

Учурдагы Arduino IDEди 1.8 деңгээлге же андан кийинки деңгээлге орнотуңуз. Учурдагы версия Arduino веб -сайтында.

Arduino иштетип, Preferences терезесин ачыңыз.

Кошумча Башкаруу Жетекчисинин URL'лери талаасына жогорудагы релиз шилтемелеринин бирин киргизиңиз. Сиз аларды үтүр менен бөлүп, бир нече URL кошо аласыз.

Куралдар> Такта менюсунан Такта менеджерин ачыңыз жана esp32 платформасын орнотуңуз (жана орноткондон кийин Аспаптар> Такта менюсунан ESP32 тактаңызды тандап алууну унутпаңыз).

2 -кадам: FabGL китепканасын IDEге кошуу

FabGL китепканасын IDEге кошуу
FabGL китепканасын IDEге кошуу
FabGL китепканасын IDEге кошуу
FabGL китепканасын IDEге кошуу

Arduino IDEдеги бош эскизди колдонуп, куралдар менюсунан, такталарынан ESP тактаңызды тандаганыңызды текшериңиз. (VGA32 ESP жазылып жатканда тизмеде жок болчу, мен жалпы Dev Kit тактасын тандайм).

Эскиз менюсунан Китепкананы кошууну, андан кийин Китепкана башкаруучусун тандаңыз.

Издөө диалогуна FabGL териңиз жана анын төмөндөгү тизмеде пайда болушун күтүңүз, эми Орнотуу баскычын басыңыз.

бүттү

3-кадам: RunCPM тарабынан колдонулган кошумча SD-карт китепканасын кошуу

RunCPM тарабынан колдонулган кошумча SD-карта китепканасын кошуу
RunCPM тарабынан колдонулган кошумча SD-карта китепканасын кошуу

Бул мурунку кадам менен дээрлик бирдей, бирок FabGLдин ордуна SDFat издейт

Эскиз менюсунан Китепкананы кошууну, андан кийин Китепкана башкаруучусун тандаңыз. Издөө диалогунда SDFat териңиз жана анын төмөндөгү тизмеде пайда болушун күтүңүз, балким тизмени ылдый жылдырышыңыз керек болот.

Сиз эки версияны тандай аласыз:

1, SdFat Билл Грейман тарабынан

2, SdFat - Adafruit Fork

Мен экөөнү тең сынап көрдүм, экөө тең жакшы иштейт окшойт. Бирок RunCPM долбоору "Adafruit Fork" Экинчи вариантын сунуштады, бирок акыркы жазууларда азыр мындай деп жазылган:

Бардык такталар азыр SdFat китепканасын колдонушат, бул жерден:

Ошентип, азыр мен бул долбоордун биринчи вариантын тандап жатам.

бүттү

4 -кадам: Өзгөртүлгөн RunCPM долбоорун жүктөп алыңыз

Өзгөртүлгөн RunCPM долбоорун жүктөп алыңыз
Өзгөртүлгөн RunCPM долбоорун жүктөп алыңыз
Өзгөртүлгөн RunCPM долбоорун жүктөп алыңыз
Өзгөртүлгөн RunCPM долбоорун жүктөп алыңыз

Github сайтына баш багыңыз, CODE баскычын чыкылдатып, ZIP файлы катары жүктөп алыңыз

Бул файлды бир жерге сактаңыз (адатта Arduino деп аталган каталогдо.

Файлды ошол эле жерге ачыңыз, ал RunCPM-master деп аталган папканы чыгарат

бүттү

5 -кадам: RunCPM программасын ачуу жана карап чыгуу жана түзүү

RunCPM программасын ачуу жана карап чыгуу жана түзүү
RunCPM программасын ачуу жана карап чыгуу жана түзүү

Сиз азыр Arduino IDE File, Open менюсун колдоно аласыз. Жогорудагы папкага өтүңүз.

Бул папканын ичинде RunCPM деп аталган дагы бирөө бар. Папканы ачыңыз.

Ал папканын ичинде RunCPM.ino деп аталган.ino файлы бар. Бул долбоордун негизги файлы - аны ачыңыз.

Сиз азыр долбоорду көрө аласыз, комментарийлерди ж.б. окуй аласыз, эгер сиз VGA32 -ESP версияңызга дал келсе, өзгөртүүлөрдү киргизиңиз. Бул коллегиянын V1.4 үчүн алдын ала конфигурацияланган болушу керек.

Сиз азыр VGA32 ESP туташкан деп ойлоп, компиляцияны жана жүктөөнү чыкылдата аласыз, ал эмуляторду түзмөгүңүзгө жүктөйт.

МААНИЛҮҮ: VGA32де SD-картада көйгөй жаралышы мүмкүн, андыктан аны билүү үчүн туташтырбаңыз. Көбүрөөк маалымат алуу үчүн төмөнкү кадамды караңыз.

6-кадам: RunCPMден жүктөөгө даяр SD-картаны түзүңүз

Балким, бул кадамдардын эң айла -амалы. Мен муну кантип кылуу керектиги жөнүндө Github сайтынын README.md окуп чыгууну сунуштайм. Бул жерде менин эмне кыларымдын тизмеси:

Сизде бош SD-карта бар же сизде болгон файлдарды сактоого кызыкдар эмес деп ойлойм, бул аны өчүрөт.

1, SD-картаны FAT-32 деп форматтаңыз

2, A, B, C D ж. Белгилей кетсек, алар борбор шаар.

3, Ар бир папкада сиз 0 деген башка папканы түзүңүз (нөлгө барабар) жана милдеттүү түрдө 1, 2, 3 ж.б. Баштоо үчүн сизге 0 папка гана керек.

4, arduino каталогуна жүктөлгөн долбоор папкасынан CCP деп аталган папканы табыңыз. Бул CP/M Command Console Proccessorдун ар кандай версияларын камтыйт. CCP-DR.60K дегенди SD картаңыздын тамырына көчүрүңүз.

5, Эми DISK деп аталган проект каталогунан папканы табыңыз, анда A. ZIP файлы бар, сиз бул файлды SD-картаңыздагы A/ 0/ деп аталган каталогго ачышыңыз керек. (Көбүрөөк маалымат алуу үчүн 1streadme файлын караңыз). Тилекке каршы, ал папкалардын тизмесинде "0" жок, андыктан адегенде убактылуу папкага ачуу керек, андан кийин A папкасынын мазмунун SD картасындагы A/ 0/ көчүрүү керек.

6, Жогорудагы кадамдарды аткарганыңызда, сизде мындай түзүлүштөгү SD-карта болот:

F: CCP-DR.60K

/A/0

/1STREAD. ME

/ASM. COM

/…. жана башкалар

/B/0

/C/0

жана башкалар

Эгерде сиз SD-картадан жүктөө үчүн аракет кылсаңыз, CCP ж.б. жүктөй албоо жөнүндө ката кетирсеңиз, баары туура темпте экенин текшериңиз!

Бул этапты бир аз жеңилдетүү үчүн мен жогоруда даяр болгон версиясын жүктөдүм, ага cp/m программасын кошуп, ошондой эле бул жерден жүктөп алыңыз https://github.com/coopzone-dc/RunCPM/blob /master/… жана аны форматталган SD-Картанын түбүнө ачыңыз. Бул сизди башташы керек, кийинчерээк өзүңүздү түзө аласыз.

Мен сизге Github Repo боюнча орнотуу көрсөтмөсүн окуп чыгууну сунуштайм, анда сизге керектүү папкалардын сүрөттөлүшү бар.

7 -кадам: VGA мониторун жана клавиатурасын туташтырыңыз

VGA мониторун жана клавиатурасын туташтырыңыз
VGA мониторун жана клавиатурасын туташтырыңыз

VGA32 ESP картасынын кубатын ажыратыңыз.

VGA мониторун туташтырыңыз

PS/2 клавиатурасын туташтыруу Күчтү VGA32 ESP картасына кайра туташтырыңыз, клавиатуранын жарыгы жарк этип турганын көрүңүз жана 10 секунддан кийин экранда CP/M чакыруусу менен сүрөт пайда болот!

Маанилүү: VGA32де SD-картаны колдонууда жана жумшак абалга келтирүүдө көйгөй бар, ошондуктан жогорудагы биринчи кадам катары БИЙЛИКТИ ӨЧҮРҮҮ маанилүү, Көбүрөөк маалымат алуу үчүн акыркы кадамды караңыз.

Кет сен …

8-кадам: VGA32 модулунда SD-карта менен көйгөй

VGA32 модулунда SD-карта менен көйгөй
VGA32 модулунда SD-карта менен көйгөй
VGA32 модулунда SD-карта менен көйгөй
VGA32 модулунда SD-карта менен көйгөй

Жогорудагы сүрөттө менин экинчи ESP32 картам (үйдө жасалган) көрсөтүлгөн, бул жакшы иштейт жана төмөндө маселе жок. Мен программалык камсыздоонун көйгөйү эмес экенин билем, сураныч VGA32 версиясы жөнүндө төмөндө окуңуз.

Менин VG32 ESP модулумда (v1.4) SD-карта GPIO12ди колдонот, Бул Espressif системалары тарабынан сунушталбайт, анткени бул пин ички эс үчүн жумушчу чыңалуусун аныктоо үчүн колдонулат. Мен кимдир бирөө бул VGA32 картасын жасаган жигитке айткым келет! Балким, бул сиздикинен айырмаланат, андыктан сизде бул маселе болбойт деп үмүттөнөбүз.

Көйгөйлөр төмөнкүлөр:

1, карта сайылганда эскизди жүктөө мүмкүн эмес.

2, баштапкы абалга келтирүү баскычын баскандан кийин, SD-карта чыгарылганга чейин кулпуланып турат. Андан кийин ал SD-Card жок деп ката экранына өтөт! Сиз картты салып, кайра баштапкы абалга келтире аласыз, ал экинчи жолу иштейт.

Бул маселени чечүүгө болот (Бирок коркунуч бар) https://github.com/coopzone-dc/RunCPM/blob/master/… README.md караңыз

же тактайды баштоо үчүн сиз ар дайым катуу кубатты өчүрүп/күйгүзө аласыз. Эмнегедир бул жакшы иштейт окшойт. Ошондой эле RunCPM программасын кайра жүктөө керек болсо, адегенде SD-картаны алып салышыңыз керек.

Бул маселени түшүндүргөн README. MDден алынган үзүндү. Мен оңдоону колдондум жана ал жакшы иштейт, бирок табиятынан улам тобокелчилик сизде, окуңуз …

Бирок, VGA32 ESPтин орнотуулары SD карта үчүн GPIO орнотууларында карама -каршылыкка ээ окшойт.

Бул иштейт, бирок жүктөө үчүн сиз SD картаны алып салышыңыз керек жана жумшак абалга келтирилгенден кийин SD картаны алып салышыңыз керек, андан кийин аны алмаштырыңыз. Ал күйгүзүлгөндө же катуу абалга келтирилгенде жакшы иштейт. Эгер сиз муну оңдоого жардам бере алсаңыз, мага кабарлаңыз. UPDATE 11Oct2020: 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 ЭСКЕРТҮҮ !! 3.3V чыңалуудагы ESP32 үчүн жакшы (ESP-WROOM-32). Бул флэш 3.3V NOTE1 болбосо, бул сиздин ESP32 -ге кирпик келтирет: NOTE1: "/dev/cu. SLAB_USBtoUART" дегенди сериялык порт менен алмаштырыңыз NOTE2: espefuse.py https://github.com/espressif/esptool сайтынан жүктөп алса болот

Бул GPIO12ден алыс болуу керектигин белгилейт, эч ким VGA32 ESP картасын чыгаруучуга айткан эмес!

ТУУРАЛУУ: Мен флэш чыңалуусун GPIO12ди колдонууну четтетүү үчүн аракет кылдым жана менин vga32 ESPимде ырастайм, ал иштейт! SD карта менен көйгөйлөр чечилбей калды. Мен сизди текшерүүгө, эки ирет текшерүүгө жана эгер сиз да аракет кылууну чечсеңиз, КИРПИЧ түзүү жөнүндө кылдат ойлонууга чакырам. Мен муну акция катары сунуштаган жокмун, бирок мен үчүн ал иштеди.

Сунушталууда: