Indholdsfortegnelse:

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

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

Video: Retro CP/M Stand Alone Emulator: 8 trin
Video: Building a Standalone Z80 CP/M Computer (part 1) 2024, Juli
Anonim
Retro CP/M stand alone emulator
Retro CP/M stand alone emulator

Dette projekt bruger VGA32 ESP v1.4 -modulet til at køre en kombination eller RunCPM og FabGL til at levere en stand alone -computer, der kører et ækvivalent system til CP/M 2.2. Populær i 1980'erne som et operativsystem til små computere. Du kan gå tilbage i tiden og besøge gammel software som Wordstar, Supercalc, Adventure og Zork.

Det er selvstændigt takket være FabGL -projektet, der leverede softwaren til at køre en standard VGA -skærm og PS/2 -tastatur.

Hoved -operativsystemet er en modificeret version af RunCPM, det er blevet fjernet fra det originale arbejde på Github, og jeg har tilføjet FabGL -biblioteket, så det kan bruges på en skærm i stedet for på en seriel konsol.

Jeg vil bare sige en stor tak til begge projekter. Fortsæt det gode arbejde!

Softwaren er testet på mindst to versioner af hardware. Én VGA32 ESP v1.4 (sælges færdiglavet). For det andet min gamle version, byggede jeg fra et Wroom ESP32 -modul og skrot bits fra gamle computere.

Github-webstedet herunder indeholder vigtig information om disse opsætninger samt den modificerede klar til installation.

Dette projekt handler om installation af softwaren, ikke om hardware.

Tilbehør:

Et VGA32 ESP -modul V1.4 (testet). Fundet på eBay / aliexpress / amazon osv

Arduino IDE installeret på en computer, jeg går ud fra, at hvis du læser dette, har du dette allerede.

Installer ESP32 -supportpakken til Arduino IDE. https://github.com/espressif/arduino-esp32 Se trin 1

FabGL -biblioteket https://www.fabglib.org/ du behøver ikke downloade noget, arduino IDE kan gøre dette for os, se trin 2.

Download en kopi af den ændrede RunCPM fra

Trin 1: Installer ESP32 -understøttelse af Arduino (valgfrit)

Installer ESP32 -understøttelse af Arduino (valgfrit)
Installer ESP32 -understøttelse af Arduino (valgfrit)

Du har måske allerede gjort dette, hvis du har det, kan du springe dette trin over.

besøg https://github.com/espressif/arduino-esp32 og følg instruktionerne om installation ved hjælp af boards manager, sådan her:

Installationsvejledning ved hjælp af Arduino IDE Boards Manager ============================================= =================

Link til stabil udgivelse:

Installer den nuværende opstrøms Arduino IDE på 1.8 -niveau eller senere. Den aktuelle version er på Arduino -webstedet.

Start Arduino, og åbn vinduet Indstillinger.

Indtast et af udgivelseslinkene ovenfor i feltet Yderligere bestyrelseslederadresser. Du kan tilføje flere webadresser og adskille dem med kommaer.

Åbn Boards Manager fra Værktøjer> Board -menu, og installer esp32 -platformen (og glem ikke at vælge dit ESP32 -kort fra Værktøjer> Board -menu efter installationen).

Trin 2: Tilføjelse af FabGL -biblioteket til IDE

Tilføjelse af FabGL -biblioteket til IDE
Tilføjelse af FabGL -biblioteket til IDE
Tilføjelse af FabGL -biblioteket til IDE
Tilføjelse af FabGL -biblioteket til IDE

Brug en tom skitse i Arduino IDE, og sørg for, at du har valgt dit ESP -kort fra menuen Værktøjer, Tavler. (I skrivende stund var VGA32 ESP ikke opført, jeg vælger et generisk Dev Kit -kort).

Vælg Inkluder bibliotek i menuen Skitse, og vælg derefter Bibliotekshåndtering.

Skriv FabGL i søgedialogen, og vent på, at den vises på listen herunder, klik nu på knappen Installer.

færdig

Trin 3: Tilføjelse af yderligere SD-kortbibliotek, der bruges af RunCPM

Tilføjelse af yderligere SD-kortbibliotek, der bruges af RunCPM
Tilføjelse af yderligere SD-kortbibliotek, der bruges af RunCPM

Dette er næsten det samme som det foregående trin, men i stedet for FabGL -søgning efter SDFat

Vælg Inkluder bibliotek i menuen Skitse, og vælg derefter Bibliotekshåndtering. Skriv SDFat i søgedialogen, og vent på, at den skal vises på listen herunder, du bliver sandsynligvis nødt til at rulle ned på listen.

Du får valget mellem to versioner:

1, SdFat af Bill Greiman

2, SdFat - Adafruit Fork

Jeg har prøvet begge dele, de ser ud til at fungere ok. Men RunCPM -projektet anbefalede den anden mulighed "Adafruit Fork", men på de seneste noter står der nu:

Alle tavler bruger nu SdFat -biblioteket, herfra:

Så nu vælger jeg den første mulighed for dette projekt.

færdig

Trin 4: Download det ændrede RunCPM -projekt

Download det ændrede RunCPM -projekt
Download det ændrede RunCPM -projekt
Download det ændrede RunCPM -projekt
Download det ændrede RunCPM -projekt

Besøg Github-webstedet, Klik på knappen KODE, og download som en ZIP -fil

Gem denne fil et eller andet sted (normalt i et bibliotek kaldet Arduino.

Pak filen ud til det samme sted, det vil producere en mappe kaldet RunCPM-master

færdig

Trin 5: Åbn og gennemgå RunCPM -programmet og kompilér

Åbn og gennemgå RunCPM -programmet og kompilér
Åbn og gennemgå RunCPM -programmet og kompilér

Du kan nu bruge menuen Arduino IDE File, Open. Naviger til den mappe, du uzipede ovenfor.

Inde i denne mappe er en anden kaldet RunCPM. Åbn mappen.

Inde i denne mappe er en.ino -fil kaldet RunCPM.ino. Dette er hovedprojektfilen - åbn den.

Du kan nu se projektet, læse kommentarerne osv. Foretag ændringer, hvis du skal matche din version af VGA32 -ESP. Det skal være forudkonfigureret til V1.4 på kortet.

Du kan nu klikke på kompilere og uploade, forudsat at du har din VGA32 ESP tilsluttet, vil den uploade emulatoren til din enhed.

VIGTIGT: VGA32 har kan have et problem med SD-kortet på dette tidspunkt, så tilslut det ikke for at vide det. Se det sidste trin nedenfor for mere information.

Trin 6: Opret et SD-kort, der er klar til at starte din RunCPM fra

Dette er måske det mest trickfulde trin. Jeg foreslår, at du læser README.md på Github -webstedet om, hvordan du gør dette. Her er min liste over, hvad jeg skal gøre:

Jeg går ud fra, at du har et tomt SD-kort eller ikke er interesseret i at gemme nogen filer på den, du har, dette vil slette det.

1, formater SD-kortet som FAT-32

2, Opret nogle mapper kaldet A, B, C D osv. (Op til P vil dette være diskdrevene, når der køres CP/M). Bemærk, at de er hovedstæder.

3, I hver mappe opretter du Opret en anden mappe med navnet 0 (det er et nul) og eventuelt 1, 2, 3 osv. (Op til 15) Derefter er mapper brugerområder i CP/M -emuleringen. Du behøver kun mappen 0 for at starte.

4, Find din mappe kaldet CCP i din downloadede projektmappe i arduino -biblioteket. Denne indeholder forskellige versioner af CP/M Command Console Proccessor. Kopier den, der hedder CCP-DR.60K til roden på dit SD-kort.

5, Find nu mappen i projektmappen kaldet DISK, Den indeholder en A. ZIP-fil, du skal pakke denne fil ud til biblioteket kaldet A/ 0/ på dit SD-kort. (se også 1.readme -filen for mere information). Desværre har den ikke "0" i mappelisten, så du skal først pakke ud til en midlertidig mappe og derefter kopiere indholdet til A -mappen til A/ 0/ på SD -kortet.

6, Når du har udført ovenstående trin, vil du have et SD-kort med en struktur som denne:

F: CCP-DR.60K

/A/0

/1STREAD. ME

/ASM. COM

/…. etc

/B/0

/C/0

etc

Hvis du får fejl om ikke kan indlæse CCP osv., Når du prøver at starte fra SD-kortet, skal du kontrollere, at alt er i det rigtige tempo!

I et forsøg på at gøre dette trin en smule lettere, har jeg uploadet en færdiglavet version af ovenstående, med tilføjelse af cp/m-software på det samt download det herfra https://github.com/coopzone-dc/RunCPM/blob /master/… og pak det bare ud til roden af et formateret SD-kort. Det skulle komme i gang, så kan du oprette dit eget senere.

Jeg anbefaler også, at du læser installationsguiden på Github Repo, den har en beskrivelse af de mapper, du har brug for.

Trin 7: Tilslut en VGA -skærm og et tastatur

Tilslut en VGA -skærm og et tastatur
Tilslut en VGA -skærm og et tastatur

Afbryd strømmen til VGA32 ESP -kortet.

Tilslut din VGA -skærm

Tilslut et PS/2-tastatur Tilslut strømmen til VGA32 ESP-kortet igen. Du skal se tastaturlamperne blinke, og cirka 10 sekunder senere vises et billede på skærmen med en CP/M-prompt!

Vigtigt: VGA32 har et problem, når du bruger SD-kortet og soft reset, derfor er det vigtigt at SLUKKE STRØMMEN som det første trin ovenfor, se sidste trin for yderligere information.

Væk væk…

Trin 8: Problem med SD-kort på VGA32-modul

Problem med SD-kort på VGA32-modul
Problem med SD-kort på VGA32-modul
Problem med SD-kort på VGA32-modul
Problem med SD-kort på VGA32-modul

Billedet ovenfor viser mit andet ESP32 -kort (hjemmelavet), dette fungerer fint og har ikke problemet nedenfor. Så jeg ved, at det ikke er et softwareproblem. Læs venligst nedenfor om VGA32 -versionen.

På mit VG32 ESP-modul (v1.4) bruger SD-kortet GPIO12. Dette anbefales ikke af Espressif Systems, da denne pin bruges til at opdage arbejdsspændingen for den interne hukommelse. Jeg ville ønske, at nogen havde fortalt ham, der lavede dette VGA32 -kort! Det kan være anderledes på din, så forhåbentlig har du ikke dette problem.

Problemerne er:

1, Kunne ikke uploade en skitse, når kortet er tilsluttet.

2, Efter at have trykket på reset-knappen, låses den, indtil SD-kortet fjernes. Derefter starter den til en fejlskærm, der siger, at der ikke er noget SD-kort! Du kan sætte kortet i og nulstille igen, og det virker anden gang.

Dette problem kan rettes (men har en risiko) se README.md på

eller du kan altid slukke/tænde hårdt for at starte tavlen. Af en eller anden grund ser det ud til at fungere fint. Også hvis du skal uploade RunCPM-softwaren igen, skal du først fjerne SD-kortet.

Dette er et uddrag fra README. MD, der forklarer problemet. Jeg har brugt rettelsen, og den fungerer fint, men på grund af dens natur er risikoen din, læs videre …

Indstillingerne for VGA32 ESP ser imidlertid ud til at være i konflikt med GPIO -indstillingerne for SD -kortet.

Det virker, men for at uploade skal du fjerne SD -kortet, og efter en blød nulstilling skal du fjerne SD -kortet og derefter udskifte det efterfulgt af en anden nulstilling. Det fungerer ok fra en tænding eller hård nulstilling. Lad mig vide, hvis du kan hjælpe med at løse dette. UPDATE 11Oct2020: VGA32 ESP v1.4 bruger GPIO12 (MTDI, læs ved opstart/nulstilling). Denne pin bestemmer spændingen for RAM, Voltage of Internal LDO (VDD_SDIO). Når SD-kortet er til stede, trækker den denne pin højt, og ESP32 mener, at RAM-spændingen skal være 1,8V, uden SD-kortet har denne pin intern pull-down for at indstille RAM-spændingen til 3,3V. Dette er faktisk nævnt i noterne fra eksempler på FABGL -projektet for at citere: noter om GPIO 2 og 12 - GPIO2: kan forårsage problemer med programmeringen. GPIO2 skal også enten være tilsluttet/flydende eller køre lavt for at komme ind i den serielle bootloader. I normal opstartstilstand (GPIO0 høj) ignoreres GPIO2. - GPIO12: bør undgås. Det vælger flashspænding. For at bruge det skal du deaktivere GPIO12 -detektionsindstilling efuses med: python espefuse.py --port /dev/cu. SLAB_USBtoUART set_flash_voltage 3.3V ADVARSEL !! God til ESP32 med 3.3V spænding (ESP-WROOM-32). Dette vil BRICK din ESP32, hvis blitzen ikke er 3.3V NOTE1: udskift "/dev/cu. SLAB_USBtoUART" med din serielle port NOTE2: espefuse.py kan downloades fra

Dette bemærker yderligere, at GPIO12 bør undgås, en skam ingen fortalte producenten af VGA32 ESP -kortet!

RET: Jeg har prøvet muligheden for at indstille flashspændingen til at overskride brugen af GPIO12 og kan bekræfte på min vga32 ESP, det virker! Problem løst ikke flere problemer med SD -kortet. Jeg opfordrer dig til at tjekke, dobbelttjekke og tænke grundigt over at oprette en BRICK, hvis du også beslutter dig for at prøve det. Jeg anbefaler det ikke som en handling, men for mig virkede det.

Anbefalede: