Სარჩევი:

რეტრო CP/M დგას მარტო ემულატორი: 8 ნაბიჯი
რეტრო CP/M დგას მარტო ემულატორი: 8 ნაბიჯი

ვიდეო: რეტრო CP/M დგას მარტო ემულატორი: 8 ნაბიჯი

ვიდეო: რეტრო CP/M დგას მარტო ემულატორი: 8 ნაბიჯი
ვიდეო: POCO X5 PRO - ყველაზე დეტალური მიმოხილვა და ტესტები 2024, ივლისი
Anonim
რეტრო CP/M დგას მარტო ემულატორი
რეტრო CP/M დგას მარტო ემულატორი

ეს პროექტი იყენებს VGA32 ESP v1.4 მოდულს კომბინაციის გასაშვებად ან RunCPM და FabGL, რათა უზრუნველყოს ცალკე კომპიუტერი, რომელიც მუშაობს CP/M 2.2– ის ეკვივალენტურ სისტემაზე. პოპულარულია 1980 -იან წლებში, როგორც ოპერაციული სისტემა მცირე კომპიუტერებისთვის. შეგიძლიათ დაბრუნდეთ დროში და გადახედოთ ძველ პროგრამულ უზრუნველყოფას, როგორიცაა Wordstar, Supercalc, Adventure და Zork.

ეს არის FabGL პროექტის დამოუკიდებელი თავაზიანობა, რომელიც უზრუნველყოფდა პროგრამულ უზრუნველყოფას სტანდარტული VGA მონიტორის და PS/2 კლავიატურის გასაშვებად.

მთავარი ოპერაციული სისტემა არის RunCPM- ის მოდიფიცირებული ვერსია, ის გამოტოვებულია Github– ის ორიგინალური ნაშრომიდან და მე დავამატე FabGL ბიბლიოთეკა, რათა ის გამოვიყენოთ ეკრანზე, სერიული კონსოლის ნაცვლად.

მინდა დიდი მადლობა გადავუხადო ორივე პროექტს. განაგრძეთ კარგი საქმე!

პროგრამული უზრუნველყოფა გამოცდილია აპარატურის მინიმუმ ორ ვერსიაზე. ერთი 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 ასლი

ნაბიჯი 1: დააინსტალირეთ ESP32 მხარდაჭერა Arduino– სთვის (სურვილისამებრ)

დააინსტალირეთ ESP32 მხარდაჭერა Arduino– სთვის (სურვილისამებრ)
დააინსტალირეთ ESP32 მხარდაჭერა Arduino– სთვის (სურვილისამებრ)

თქვენ შეიძლება უკვე გააკეთეთ ეს, თუ გაქვთ ეს ნაბიჯი, შეგიძლიათ გამოტოვოთ.

ეწვიეთ https://github.com/espressif/arduino-esp32 და მიჰყევით ინსტრუქციას დაფების მენეჯერის გამოყენებით დაყენების შესახებ, მაგალითად:

დაყენების ინსტრუქცია Arduino IDE დაფების მენეჯერის გამოყენებით =========================================== ================

სტაბილური გამოშვების ბმული:

დააინსტალირეთ მიმდინარე Arduino IDE 1.8 დონეზე ან უფრო გვიან. მიმდინარე ვერსია არის Arduino ვებსაიტზე.

დაიწყეთ Arduino და გახსენით პარამეტრების ფანჯარა.

შეიყვანეთ ერთი გამოშვების ბმული ზემოთ დამატებითი Board Board Manager მისამართების ველში. თქვენ შეგიძლიათ დაამატოთ მრავალი URL, გამოყავით ისინი მძიმეებით.

გახსენით დაფების მენეჯერი ინსტრუმენტებიდან> დაფის მენიუდან და დააინსტალირეთ esp32 პლატფორმა (და არ დაგავიწყდეთ შეარჩიოთ თქვენი ESP32 დაფა ინსტრუმენტებიდან> დაფის მენიუ ინსტალაციის შემდეგ).

ნაბიჯი 2: დაამატეთ FabGL ბიბლიოთეკა IDE– ში

დაამატეთ FabGL ბიბლიოთეკა IDE- ს
დაამატეთ FabGL ბიბლიოთეკა IDE- ს
დაამატეთ FabGL ბიბლიოთეკა IDE- ს
დაამატეთ FabGL ბიბლიოთეკა IDE- ს

Arduino IDE– ში ცარიელი ესკიზის გამოყენებით, დარწმუნდით, რომ თქვენ შეარჩიეთ თქვენი ESP დაფა ინსტრუმენტების მენიუდან, დაფები. (წერის დროს VGA32 ESP არ იყო ჩამოთვლილი, მე ვირჩევ ზოგად Dev Kit დაფას).

ესკიზის მენიუდან აირჩიეთ ბიბლიოთეკის ჩართვა, შემდეგ ბიბლიოთეკის მენეჯერი.

საძიებო დიალოგში ჩაწერეთ FabGL და დაელოდეთ სანამ გამოჩნდება ქვემოთ მოცემულ სიაში, ახლა დააწკაპუნეთ ღილაკს ინსტალაცია.

დასრულდა

ნაბიჯი 3: დამატებითი SD ბარათის ბიბლიოთეკის დამატება, რომელიც გამოიყენება RunCPM– ის მიერ

დამატებითი SD ბარათის ბიბლიოთეკის დამატება, რომელიც გამოიყენება RunCPM– ის მიერ
დამატებითი SD ბარათის ბიბლიოთეკის დამატება, რომელიც გამოიყენება RunCPM– ის მიერ

ეს თითქმის იგივეა, რაც წინა ნაბიჯი, მაგრამ FabGL- ის ნაცვლად მოძებნეთ SDFat

ესკიზის მენიუდან აირჩიეთ ბიბლიოთეკის ჩართვა, შემდეგ ბიბლიოთეკის მენეჯერი. საძიებო დიალოგში ჩაწერეთ SDFat და დაელოდეთ სანამ გამოჩნდება ქვემოთ მოცემულ სიაში, თქვენ ალბათ მოგიწევთ გადახვევა ქვემოთ.

თქვენ მიიღებთ არჩევანს ორი ვერსიიდან:

1, SdFat ბილ გრეიმანის მიერ

2, SdFat - ადაფრუტის ჩანგალი

ორივე ვცადე, როგორც ჩანს, ორივე კარგად მუშაობს. მაგრამ RunCPM პროექტი გირჩევთ მეორე ვარიანტს "ადაფრუტის ჩანგალი", თუმცა უახლეს შენიშვნებზე ის ახლა ამბობს:

ყველა დაფა ახლა იყენებს SdFat ბიბლიოთეკას, აქედან:

ახლა მე ვირჩევ ამ პროექტის პირველ ვარიანტს.

დასრულდა

ნაბიჯი 4: ჩამოტვირთეთ შეცვლილი RunCPM პროექტი

ჩამოტვირთეთ შეცვლილი RunCPM პროექტი
ჩამოტვირთეთ შეცვლილი RunCPM პროექტი
ჩამოტვირთეთ შეცვლილი RunCPM პროექტი
ჩამოტვირთეთ შეცვლილი RunCPM პროექტი

ეწვიეთ Github საიტს, დააწკაპუნეთ CODE ღილაკზე და გადმოწერეთ როგორც ZIP ფაილი

შეინახეთ ეს ფაილი სადმე (ჩვეულებრივ დირექტორიაში, სახელწოდებით Arduino.

გახსენით ფაილი იმავე ადგილას, ის შექმნის საქაღალდეს სახელწოდებით RunCPM-master

დასრულდა

ნაბიჯი 5: გახსენით და გადახედეთ RunCPM პროგრამას და შეადგინეთ

გახსენით და გადახედეთ RunCPM პროგრამას და შეადგინეთ
გახსენით და გადახედეთ 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 და ა.შ. გაითვალისწინეთ, რომ ისინი დედაქალაქებია.

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 ფაილი დამატებითი ინფორმაციისთვის). სამწუხაროდ, მას არ აქვს "0" საქაღალდეების სიაში, ასე რომ თქვენ ჯერ უნდა გახსნათ დროებითი საქაღალდე, შემდეგ დააკოპიროთ შინაარსი A საქაღალდისთვის A/ 0/ SD ბარათზე.

6, როდესაც თქვენ დაასრულებთ ზემოაღნიშნულ ნაბიჯებს, გექნებათ SD ბარათი ასეთი სტრუქტურით:

F: CCP-DR.60K

/A/0

/1STREAD. ME

/ASM. COM

/…. და ა.შ

/B/0

/C/0

და ა.შ

თუ თქვენ მიიღებთ შეცდომებს იმის შესახებ, რომ თქვენ არ შეგიძლიათ ჩატვირთოთ CCP და ა.შ. როდესაც თქვენ ცდილობთ ჩატვირთვას SD ბარათიდან, ორმაგად შეამოწმეთ გაქვთ თუ არა ყველაფერი სწორი ტემპით!

ამ ეტაპის ოდნავ გასაადვილებლად, მე ავტვირთე ზემოთ მოყვანილი ვერსია, დამატებით 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: პრობლემა SD ბარათთან VGA32 მოდულზე

პრობლემა SD ბარათთან VGA32 მოდულზე
პრობლემა SD ბარათთან VGA32 მოდულზე
პრობლემა SD ბარათთან VGA32 მოდულზე
პრობლემა 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 ოქტომბერი: VGA32 ESP v1.4 იყენებს GPIO12 (MTDI, წაკითხვისას ჩართვა/გადატვირთვა). ეს პინი განსაზღვრავს ძაბვას ოპერატიული მეხსიერებისათვის, შიდა LDO- ს ძაბვას (VDD_SDIO). როდესაც SD ბარათი არსებობს, ის ამაგრებს ამ პინს მაღლა და ESP32 ფიქრობს, რომ ოპერატიული მეხსიერების ძაბვა უნდა იყოს 1.8V, SD ბარათის გარეშე ამ პინს აქვს შიდა ჩამორთმევა RAM ძაბვის დასადგენად 3.3V. ეს ფაქტიურად არის ნახსენები FABGL პროექტზე მოყვანილი მაგალითების შენიშვნებში, ციტირებისას: შენიშვნები GPIO 2 და 12 – ის შესახებ - GPIO2: შეიძლება გამოიწვიოს პრობლემა პროგრამირებაში. GPIO2 ასევე უნდა დარჩეს დაუკავშირებელი/მცურავი, ან ამოძრავებული დაბალი, სერიული ჩამტვირთველის შესასვლელად. ნორმალურ ჩატვირთვის რეჟიმში (მაღალი GPIO0), GPIO2 იგნორირებულია. - GPIO12: თავიდან უნდა იქნას აცილებული. ის ირჩევს ფლეშ ძაბვას. გამოსაყენებლად გამორთეთ GPIO12 გამოვლენის პარამეტრი efuses ერთად: 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 ბარათის შემქმნელისთვის!

დაფიქსირდა: მე შევეცადე Flash Flash- ის ძაბვის დაყენების შესაძლებლობა GPIO12– ის გამოყენების გადასალახად და შემიძლია დავადასტურო ჩემს vga32 ESP– ზე, მუშაობს! პრობლემა მოგვარებულია SD ბარათთან დაკავშირებით. მე გირჩევთ, რომ შეამოწმოთ, გაიმეოროთ და კარგად იფიქროთ აგურის შექმნაზე, თუ თქვენც გადაწყვეტთ მის ცდას. მე არ გირჩევ მას, როგორც მოქმედებას, მაგრამ ჩემთვის ის მუშაობდა.

გირჩევთ: