İçindekiler:

Z80 MBC2 - QP/M Bios ve Yükleyiciyi Yeniden Derleyin: 6 Adım
Z80 MBC2 - QP/M Bios ve Yükleyiciyi Yeniden Derleyin: 6 Adım

Video: Z80 MBC2 - QP/M Bios ve Yükleyiciyi Yeniden Derleyin: 6 Adım

Video: Z80 MBC2 - QP/M Bios ve Yükleyiciyi Yeniden Derleyin: 6 Adım
Video: Z80-MBC: 4 ICs Z80 homebrew computer. PCB Version with CP/M 2.2 2024, Temmuz
Anonim
Z80 MBC2 - QP/M Bios ve Loader'ı yeniden derleyin
Z80 MBC2 - QP/M Bios ve Loader'ı yeniden derleyin

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

Yazılımı Yapı Bilgisayarınıza Ekleme
Yazılımı Yapı Bilgisayarınıza Ekleme
Yazılımı Yapı Bilgisayarınıza Ekleme
Yazılımı Yapı 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

Araçlarınızı Windows Yoluna Ekleme
Araçlarınızı Windows Yoluna Ekleme
Araçlarınızı Windows Yoluna Ekleme
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

Tasm'ı test etme
Tasm'ı test etme
Tasm'ı test etme
Tasm'ı test etme
Tasm'ı test etme
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: