İçindekiler:
- Gereçler
- Adım 1: Yazılımı Derleme Bilgisayarınıza Ekleme
- Adım 2: Araçlarınızı Windows Yoluna Ekleme
- Adım 3: Tasm'ı Test Etme
- 4. Adım: Gerçek Zamanlı Saat Adresinizi Bulun
- Adım 5: Bios'u Yeni Bir Disk Görüntüsüne Ekleyin
- 6. Adım: Yeni Disk Görüntünüze Önyükleme Yapın
Video: Z80 MBC2 - QP/M Bios ve Yükleyiciyi Yeniden Derleyin: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Eğer benim gibi kendinizi MBC2'niz için QP/M bios'unu yeniden derlemeniz gereken bir konumda bulursanız - o zaman bunu böyle yaparsınız.
Mevcut versiyonun nasıl yeniden derleneceği sürecini belgeledim. Gerekirse gerçek Bios dosyalarında değişiklik yapmak size kalmış. Yalnızca QP/M kurulumumu kullandığım CP/M 2.2 Bios sürümüyle aynı hizada tutabilmek için değişiklikler yaptım (bu değişiklikler yalnızca nasıl yapılacağı gösterilmez)
Sürecin ilk kısmı, CP/M 2.2 Bios ile hemen hemen aynıdır, bu nedenle, yapı bilgisayarınızı zaten kurduysanız, o kısmı atlamaktan çekinmeyin.
Temel fark, QP/M'nin, aşağıda açıklanan CP/M 2.2 gibi bir.bin dosyasından değil, önyükleme diskinin ilk izinden yüklenmesi gerektiğidir.
Gereçler
Derleyiciyi çalıştırmak için bir Windows makinesi. KVM üzerinde çalışan bir windows xp sanal makinesi kullandım çünkü çok küçük ve asla internete girmeyecek. Ama Windows 10 altında mükemmel şekilde çalışıyor.
TASM 3.2 z80 derleyicisi, bunu google'da arayın, sonunda
SD zip dosyasının z80-mbc2 ana sayfasından bir kopyası, yazıldığı sırada
Http://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip adresinden pencereler için CPMTools, bu 32bit bir sürümdür ancak 64bit sistemlerde sorunsuz çalışır.
Adım 1: Yazılımı Derleme Bilgisayarınıza Ekleme
Windows makinenizi çalıştırıp çalıştırdıktan sonra, yukarıdaki “ihtiyacınız olacak” bölümünde belirtilen dosyaları kopyalayın veya indirin.
Makinenizde bir çalışma dizini oluşturun, (birçok yazım ve yazım hatasından kaçınmak için) C sürücüsünde bir dizin oluşturmanızı öneririm, örneğin c:\z80mbc. İsimlerde mümkünse boşluklardan ve uzun dizin yollarından kaçınmanızı şiddetle tavsiye ederim. Basit tutun.
TASM dosyalarının girmesi için bu dizinin içinde bir klasör oluşturun, c:\z80mbc\tasm
SD kart görüntüsünün gireceği bir klasör oluşturun, c:\z90mbc\SD
Dosyaların her birine sağ tıklayın ve içeriği yukarıda oluşturduğunuz dizinlere çıkarın. Böylece tasm.zip, c:\z80mbc\tasm dizinine ve korkmuş zip dosyası c:\z80mbc\SD dizinine çıkarılır.
Sonraki adımlardan bazılarını kolaylaştırmak için cpmtool32.zip dosyasını başka bir dizine de açabilirsiniz, örneğin c:\z80mbc\cpmtools.
Adım 2: Araçlarınızı Windows Yoluna Ekleme
Windows sürümünüze bağlı olarak aşağıdakilerden birini yapın
Windows 10
Bir gezgin penceresinden “Bu PC” öğesine sağ tıklayarak özellikler menüsünü açın.
"Gelişmiş sistem ayarları"na tıklayın, "Sistem Özellikleri" adlı bir pencere açılacaktır (Sistem özelliklerine başka yollarla da ulaşabilirsiniz, ancak pencereleri çok fazla kullanmıyorum, bu yüzden benim yolum bu!)
“Ortam Değişkenleri” üzerine tıklayın
Windows XP
Başlat düğmesine tıklayın, “bilgisayarım” üzerine sağ tıklayın, ardından “sistem özelliklerini” almak için özelliklere tıklayın.
Gelişmiş Sekmesine tıklayın
“Ortam Değişkenleri” üzerine tıklayın
Ortam Değişkenleri penceresi ekrana geldiğinde yapmanız gereken iki şey var;
Yeni bir değişken ekle
Pencerelerin üst kısmında, "… için kullanıcı değişkenleri" altında
Yeni'yi tıklayın
TASMTABS'daki Ad türü için
c:\z80mbc\tasm içindeki Değer türü için
PATH değişkenini değiştirin
Pencerenin alt kısmında, "Sistem Değişkenleri" altında
Yolu seçin (vurgulayın) ve ardından Düzenle'yi tıklayın
Mevcut içeriğin sonuna;c:\z80mbc\tasm;c:\z80mbc\cpmtools ekleyin
(Başlangıçtaki noktalı virgülü unutmayın!)
Bu eklemelerin etkili olması için şimdi bilgisayarı yeniden başlatmanız gerekiyor.
Adım 3: Tasm'ı Test Etme
Test etmek için mevcut QP/M BIOS'un tam bir kopyasını derleyebiliriz, biraz daha hazırlık yapmamız gerekiyor. Bu dizindeki dosyalar şunlardır:
BIOS QPM271 - S150918.asm - Ana BIOS dosyası, bu büyük olasılıkla değiştireceğiniz dosyadır.
QPM271_ColdLoader - S160918.asm - bu QP/M yükleyicidir, disk görüntüsünden ilk parçaları belleğe okur. Daha geleneksel bir CP/m sisteminde buna önyükleme adı verilir ve EEPROM veya ROM'da olur. Zaten derlenmiş olan ve SD kart görüntüsündeki bu dosyayı QPMLDR. BIN olarak değiştirmeniz gerekmez.
SYSGENQ - S140918.asm - Bu program QP/M yükleyici ile birlikte kullanılır, yine normalde onu değiştirmeniz gerekmez, kullanıma hazır önyükleme disk görüntüsünde zaten mevcuttur. Esasen yukarıdaki soğuk yükleyici tarafından kullanılan izleri okur ve yazar.
TASM kurulumumuzu test etmeden önce bir dosyaya daha ihtiyacınız var, cpm22_Z80MBC2.asm, cpm 2.2 için kullanılanla aynı dosya olduğundan varsayılan olarak bu dizinde değildir. QP/M'nin ilk önyüklemesi için orijinal CBIOS/CCP'yi sağlamak için bu dosyaya ihtiyacımız var. Bu dosyayı CPM_22_Custom_BIOS dizininden kopyalayabilirsiniz.
Kopyalamak için Windows Gezgini'ni kullanın veya bir komut (CMD) isteminden yapın
cd c:\z80mbc\sd\src\QPM_271_Custom_BIOS
kopyalayın..\CPM_22_Custom_BIOS\cpm22_Z80MBC2.asm
Şimdi bu dosyayı QP/M BIOS'u içerecek şekilde değiştirmeniz gerekiyor, dosyayı not defteri ile açın:
"QPM" yi arayın (CTRL-F veya menüyü düzenleyin ve bulun) Yukarıdaki resme bakın
dosyayı şuradan değiştirin:
;-----------------------------------------------------------------------
; Z80-MBC2;---------------------------------------------- -------------------------;#include "BIOS QPM271 - S150918.asm"; Z80-MBC2 için dahil edilen CBIOS #include "BIOS CPM22 - S030818-R140319.asm"; Z80-MBC2 için CBIOS dahildir
NS:
;-----------------------------------------------------------------------
; Z80-MBC2;---------------------------------------------- ------------------------- #include "BIOS QPM271 - S150918.asm"; Z80-MBC2 için dahil edilen CBIOS;#include "BIOS CPM22 - S030818-R140319.asm"; Z80-MBC2 için CBIOS dahildir
Kopyalanan cpm22_Z80MBC2.asm dosyasındaki iLoadMode değerini de 40. satır civarında kontrol etmelisiniz:
;-----------------------------------------------------------------------
; Z80-MBC2;---------------------------------------------- ------------------------- iLoadMode.equ 0; iLoad modu için 1'e ayarlayın (test için),; iz 0 görüntü üretimi için 0'a ayarlayın,; cpm22.bin ikili dosya üretimi için 2'ye ayarlayın;--------------------------------------- --------------------------------
0'da olması gerekiyor, bu varsayılan - ama yine de kontrol edin!
Tamamlandığında, dosyayı kaydedin.
şimdi tasm çalıştırabilirsiniz:
tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin
Farklı çıktı dosya adını not edin, her şey yolunda giderse çıktıyı şöyle görmelisiniz:
c:\z80mbc\sd\src\QPM_271_Custom_BIOS>tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin
TASM Z80 Birleştirici. Sürüm 3.2 Eylül 2001. Telif hakkı (C) 2001 Squak Valley Yazılım tasm: 1 geçti tamamlandı. tasm: 2 tamamlandı. tasm: Hata sayısı = 0 c:\z80mbc\sd\src\QPM_271_Custom_BIOS>
BIOS'ta ihtiyacınız olan tüm değişiklikleri yapmaya hazırsınız! dosya.
4. Adım: Gerçek Zamanlı Saat Adresinizi Bulun
BIOS'un yeni sürümünü kurmadan önce, QP/M kurulumunun bir kısmının gerçek zamanlı saat rutinleri için giriş adresini bilmesi gerekir. Bunu herhangi bir zamanda ayarlamazsanız, QP/M'deki işlevler bir hata mesajı olarak "Saat Yok" döndürür.
Adresi almak için, qpm22.bin dosyasını derlerken üretilen LST dosyasını düzenleyin, yani.
not defteri cpm22_Z80MBC2.lst
TIMDAT etiketini arayın, Ctrl-f (veya bul) TIMDAT arayın, şöyle bir bölüm bulacaksınız:
0855+ EC16; ================================================= =========================;
0856+ EC16; TİMDAT; 0857+ EC16; ================================================= =========================; 0858+ EC16; Bu, QP/M-gerçek zamanlı saat arayüzü için QP/M'ye özel bir rutindir; 0859+ EC16; QP/M'nin saat/tarih damgalama özelliklerini tam olarak kullanmak için.; 0860+ EC16; TIMDAT adresi, QINSTALL sırasında aşağıdaki seçenek ile belirtilmelidir; 0861+ EC16; QDOS kurulum menüsü (QP/M Kurulum Kılavuzunun 26-27. sayfalarına bakın); 0862+ EC16;; 0863+ EC16; NOT: RTC yoksa, IOS tüm 0s baytlarını verecektir. Bu; 0864+ EC16; QP/M tarafından "SAAT YOK" olarak "yorumlanır".; 0865+ EC16; ================================================= =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK
İkinci sütun HEX adresini not edin, bu durumda EC16. JP USERCLK atlama komutunun hemen üstündeki yorumların altındaki satırın değerini alın. TIMDAT yazan yerde.
Artık değere sahipsiniz, dosyadan çıkıp QP/M intsall ile devam edebilirsiniz.
Adım 5: Bios'u Yeni Bir Disk Görüntüsüne Ekleyin
Bu adımda, DS1N00. DSK önyükleme diskinin kendi kopyasını oluşturacağız ve QP/M kurulumunu tamamlamaya hazır olarak BIOS'un kendi sürümümüzü ekleyeceğiz.
Çalışma kopyalarınızı içeride tutmak için C sürücüsünün geçici bir klasörünü oluşturmakla başlamak için. Bir CMD istemi açın ve aşağıdakini yazın
cd c:\z80mbc
mkdir sıcaklığı cd sıcaklığı
Ardından orijinal disk görüntüsünü SD dizininden kopyalayın
c:\z80mbc\sd\DS1N00. DSK dosyasını kopyalayın.
Geçerli dosyaları disk görüntüsünden alın:
cd c:\z80mbc\temp cpmcp -f z80mbc2-d0 DS1N00. DSK 0:* disk0
Yukarıdaki sıra, geçici dizinde disk0 adı verilen başka bir geçici klasör oluşturacaktır, bunlar disk görüntüsündeki mevcut tüm dosyaları dizine kopyalar. Dosyalara sahip olduğunuzdan emin olmak için DIR'yi sonra kullanın.
Daha sonra disk görüntüsünü yeni bir disk olarak biçimlendirebiliriz, bu, sıfırdan tamamen yeni bir disk oluşturmak zorunda kalmadan önyükleme parçalarını disk görüntüsüne eklemenin tek kolay yoludur. “-b” seçeneğinin yukarıda derlediğimiz BIOS'u kullandığını unutmayın.
mkfs.cpm -f z80mbc2-d0 -b c:\z80mbc\sd\src\QPM_271_Custom_BIOS\qpm22.bin DS1N00. DSK
Artık önyükleme parçaları güncellendi, orijinal dosyaları görüntüye geri ekleyebilirsiniz:
cpmcp -f z80mbc2-d0 DS1N00. DSK disk0/* 0:
Artık önyüklenebilir bir diskiniz var, aslında bir sonraki adımda QP/M değil CP/M'yi önyükleyecek, CP/M sisteminin CBIOS bölümünü değiştirmek için QP/M yükleyicisini kullanıyoruz
Önyükleme SD kartınızın çalışan bir kopyasına sahip olduğunuzdan emin olun, ardından bu adımda oluşturduğunuz DS1N00. DSK dosyasını SD kartın kök klasörüne kopyalayın, mevcut dosyanın yerini alacaktır.
6. Adım: Yeni Disk Görüntünüze Önyükleme Yapın
z80mbc2'ye bir seri terminal bağlayın
kullanıcı anahtarını basılı tutun, basılı tutun, sıfırlama anahtarına basın ve bırakın. Kullanıcı LED'i söndüğünde ve IOS ışığı yanıp söndüğünde, kullanıcı anahtarını bırakın.
Şimdi terminaldeki "Önyükleme" ekranında şu şekilde olmalısınız: Z80-MBC2 - A040618
IOS - G/Ç Alt Sistemi - S220718-R240620 IOS: 8MHz'de ayarlanmış Z80 saati IOS: Bulunan RTC DS3231 Modülü (26/10/20 16:46:45) IOS: RTC DS3231 sıcaklık sensörü: 20C IOS: GPE Seçeneği Bulunan IOS: CP/M Autoexec KAPALI IOS: Önyükleme modunu veya sistem parametrelerini seçin: 0: Değişiklik yok (3) 1: Temel 2: İleri 3: İşletim Sistemini Disk Seti 1'den yükleyin (QP/M 2.71) 4: Otomatik Önyükleme 5: iLoad 6: Z80 saat hızını değiştirin (->4MHz) 7: CP/M Autoexec'i değiştirin (->AÇIK) 8: Disk Set 1'i değiştirin (QP/M 2.71) 9: RTC saatini/tarihini değiştirin Seçiminizi girin >
Disk setini QP/M olarak değiştirmek için Seçenek 8'i kullanın, Seçtiğinizde QP/M BIOS'unuzu yüklemelisiniz. Seçenek 8'in birkaç kez başarısız olmasından sonra ilk yükü gördüğüm için sıfırlamaya basmanızı da tavsiye ederim. Bunun gibi:
IOS: Geçerli Disk Seti 1 (QP/M 2.71)
IOS: Önyükleme programı yükleniyor (QPMLDR. BIN)… Bitti IOS: Z80 şu andan itibaren çalışıyor Z80-MBC2 QP/M 2.71 Soğuk Yükleyici - S160918 Yükleniyor… tamamlandı Z80-MBC2 QP/M'nin Özel Sürümü 2.71 BIOS - S150918 A>
Not BIOS Dosyasını düzenlediğimde yukarıdaki "Özel Sürüm"ü, bu adım için bir demo olarak ekledim.
Bu noktada aslında QP/M için özel BIOS ile CP/M 2.2 Cbios çalıştırıyorsunuz, bu nedenle TIME komutu gibi şeyler çalışmaz, örneğin TIME yazarsanız (tarih+saat ile yanıt vermeniz gerekir) ZAMAN'ın CP/M 2.2 yanıtı? - diskte bir komut olduğunu düşünüyor ve bulamıyor.
Şimdi, QP/M yedek CBIOS'unu disk görüntüsüne kurmanın zamanı geldi.
qinstall.com programını başlatın:
bir>qinstall
QP/M 2.7 Kurulum/Konfigürasyon Programı v2.1 QINSTALL, QP/M'yi diskinize kurmak için SYSGEN programınızı kullanır. Sisteminizi yapılandırdıktan sonra, SYSGEN programınızın adını girmeniz istenecektir. Bu yardımcı program, disklerinizden birinde mevcut olmalıdır. QINSTALL'ın başarıyla tamamlanması için, diskteki sistem görüntüsü ve şu anda bellekte bulunan sistem aynı OLMALIDIR. (Programı iptal etmek için kullanın.) Devam etmek istiyor musunuz? (E/H):
Ardından devam etmek için Y'yi yanıtlayın.
Şimdilik QCP Ayarları hakkında soru sorulacak (daha sonra oynayabilirsiniz!) Şimdilik N deyin
İncelemek ve/veya değiştirmek istiyor musunuz?
varsayılan QCP ayarları? (E/H):H
Ardından QDOS Ayarları hakkında soru sorulacak, Y tuşuna basın
incelemek veya değiştirmek istiyor musunuz?
varsayılan QDOS ayarları? (E/H): E
Bunun gibi bir menünüz olacak:
*** QDOS Sistem Kurulum ayarları ***
Konsol taraması sırasında elde edilen karakteri kaydedin.. EVET BIOS, BDOS hata kodu tablosunu destekler ………. NO Saat/tarih atlama vektörünün adresi …………. DEVRE DIŞI Sürücü/kullanıcı arama özelliği ……………….. ETKİN Otomatik disk yeniden günlüğü ………………… ETKİN Başlangıç ayarlarını geri yükle QDOS kurulumundan çık Seçenek girin:
Bu noktada, yukarıdaki 4. Adımdaki HEX numarasını girmeniz gerekir (gerçek zamanlı saat adresinizi bulun)
2'ye basın ve bios'ta herhangi bir değişiklik yapmadıysanız, EC16 HEX adresini girin, benim durumumda bazı metinler eklediğimden beri EC04.
Saat/tarih vektörünün adresini hex (0 - DEVRE DIŞI) olarak girin: EC04
Artık QDOS menüsünden çıkıp devam edebilirsiniz.
Bir sonraki ekran şunları gösterir:
SYSGEN programınızın adını girin ve RETURN'e basın.
(Gerekirse sürücüyü belirtin;. COM uzantısını kullanmayın):SYSGENQ
SYSGENQ adlı özel sysgen sürümünü girin
Daha sonra göreceksiniz:
*** 59k QP/M görüntüsü oluşturma ***
QINSTALL şimdi A:SYSGENQ. COM'u yürütecek. A:SYSGENQ. COM'a sistem parçalarını okuması için talimat vermelisiniz. READ tamamlandığında, SYSGEN programından çıkın. "*** QINSTALL sistem görüntüsünü arıyor ***" mesajı ve ardından başka talimatlar görüntülenecektir. Devam etmek için basın -VEYA- iptal etmek için --
Devam etmek için C'ye basın:
SYSGENQ - S140918 - Z80-MBC2
CP/M 2.2 SYSGEN-benzeri Yardımcı Program Yalnızca QP/M 2.71'i QINSTALL. COM kullanarak kurmak için kullanın UYARI: W komutu sistem izinin üzerine yazacaktır! Sistem parçalarını oku ve RAM'e yükle veya diske geri yaz? [R/W] >
Bu mesajı ilk gördüğünüzde sistem parçalarını okumak için R'yi seçin, ardından şunları alacaksınız:
Okuma… bitti
*** QINSTALL sistem görüntüsünü arıyor *** Sistem görüntüsü 0900H'den itibaren bulundu. QP/M'yi yükleme. SYSGEN programınız şimdi yürütmeye devam edecektir. Programa sistem parçalarını YAZMASI talimatını vermelisiniz. Devam etmek için basın -VEYA- iptal etmek için --
Devam etmek için tekrar C'ye basın:
SYSGENQ - S140918 - Z80-MBC2
CP/M 2.2 SYSGEN-benzeri Yardımcı Program Yalnızca QP/M 2.71'i QINSTALL. COM kullanarak kurmak için kullanın UYARI: W komutu sistem izinin üzerine yazacaktır! Sistem parçalarını oku ve RAM'e yükle veya diske geri yaz? [R/W] >
Yeni QP/M ve BISO'yu disk izlerine geri yazmak için bu sefer W düğmesine basın:
Yazma… bitti
bir>
Artık sıfırlamaya basabilir ve yeni QP/M bios'unuza geri yükleyebilirsiniz. Şimdi komut istemine TIME yazarsanız, QP/M'nin tam sürümünü çalıştıracak ve şöyle yanıt verecektir:
Z80-MBC2 - A040618
IOS - G/Ç Alt Sistemi - S220718-R240620 IOS: 8MHz'de ayarlanmış Z80 saati IOS: Bulunan RTC DS3231 Modülü (26/10/20 17:10:48) IOS: RTC DS3231 sıcaklık sensörü: 20C IOS: GPE Seçeneği Bulunan IOS: CP/M Autoexec KAPALI IOS: Geçerli Disk Seti 1 (QP/M 2.71) IOS: Önyükleme programı yükleniyor (QPMLDR. BIN)… Bitti IOS: Z80 şu andan itibaren çalışıyor Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Yükleniyor… done Özel Sürüm Z80-MBC2 QP/M 2.71 BIOS - S150918 A>zaman 26-Ekim-20 17:10:56 A>
Yeni BIOS ile çalışıyor ve çalışıyorsunuz, yukarıdaki "Özel Sürüm" metnine dikkat edin. Muhtemelen QP/M belgelerinin geri kalanını https://www.microcodeconsulting.com/z80/qpm.htm?fbc… adresinde okumalısınız.
yüzgeç
Önerilen:
Z80-MBC2 Atmega32a'yı Programlama: 6 Adım
Z80-MBC2 Atmega32a'yı Programlama: z80-MBC2'yi kullanmadan önce, oluşturduktan sonra Atmeg32'yi programlamanız gerekir. Bu talimat, kodu yüklemek için programcı olarak ucuz bir arduino mini'yi nasıl kullanacağınızı gösterir
Z80-mbc2 Z80 Kodu Flaş Kullanıcı LED'i: 3 Adım
Z80-mbc2 Z80 Code Flash Kullanıcı LED'i: Bu, z80-mbc2 bilgisayarı için Z80 assembler ile yazılmış örnek bir kullanıcı LED programıdır.Bunu benim için bir test ve revizyon çalışması yaptım, bu benim 35 yılı aşkın süredir ilk Z80 programım
Z80 MBC2 - CPM2.2 Bios'u Yeniden Derleyin: 4 Adım
Z80 MBC2 - CPM2.2 Bios'u Yeniden Derleyin: Eğer benim gibi kendinizi MBC2'niz için CP/M bios'unu (2.2) yeniden derlemeniz gereken bir konumda bulursanız - işte böyle yaparsınız. benim durumumda bir program varken veya ctrl-c yaptığınızda “WARM BOOT” mesajını kaldırmak istedim. ben bir
Z80-MBC2 için ESP32/VGA32 Terminalini Kullanma: 7 Adım
Z80-MBC2 için ESP32/VGA32 Terminalini Kullanma: ANSI Terminal yazılımını bir ESP32/VGA32 kartında oluşturma ve kurma.Ardından bunu bir Z80-MBC2 kartına bağlama
Eski LED Noel Süslemelerini Yeniden Karıştırarak Yeniden Kullanmak: 7 Adım
Eski LED Noel Süslemelerini Yeniden Karıştırarak Yeniden Kullanmak: Üç yıl önce bir Pound mağazasından (yani dolar mağazasından) oldukça iğrenç bir Noel dekorasyonu satın aldım. Ezici bir "NOEL"di; yetersiz sayıda pille çalışan LED tarafından aydınlatılan işaret.