Inhaltsverzeichnis:

Z80 MBC2 - QP/M Bios und Loader neu kompilieren - Gunook
Z80 MBC2 - QP/M Bios und Loader neu kompilieren - Gunook

Video: Z80 MBC2 - QP/M Bios und Loader neu kompilieren - Gunook

Video: Z80 MBC2 - QP/M Bios und Loader neu kompilieren - Gunook
Video: Сборка и тестирование компьютерного комплекта Z80 MBC2 Retro Z80 2024, Juli
Anonim
Z80 MBC2 - QP/M Bios und Loader neu kompilieren
Z80 MBC2 - QP/M Bios und Loader neu kompilieren

Wenn Sie sich wie ich in einer Situation befinden, in der Sie das QP/M-Bios für Ihren MBC2 neu kompilieren müssen, dann gehen Sie so vor.

Ich habe den Prozess dokumentiert, wie man die vorhandene Version neu kompiliert. Es liegt an Ihnen, bei Bedarf Änderungen an den tatsächlichen Bios-Dateien vorzunehmen. Ich habe nur Änderungen vorgenommen, um meine Installation von QP/M in Einklang mit der von mir verwendeten Version von CP/M 2.2 Bios zu halten (diese Änderungen werden nicht nur gezeigt, wie es geht)

Der erste Teil des Prozesses ist fast identisch mit dem CP/M 2.2 Bios. Wenn Sie also Ihren Build-Computer bereits eingerichtet haben, können Sie diesen Teil gerne überspringen.

Der Hauptunterschied besteht darin, dass QP/M vom ersten Track der Bootdiskette geladen werden muss – nicht von einer.bin-Datei wie CP/M 2.2, die unten beschrieben wird.

Lieferungen

Ein Windows-Rechner, auf dem der Compiler ausgeführt wird. Ich habe eine virtuelle Windows XP-Maschine verwendet, die auf einem KVM läuft, weil sie sehr klein ist und nie ins Internet gehen wird. Aber es funktioniert unter Windows 10 vollkommen ok.

Der TASM 3.2 z80 Compiler, suchen Sie diesen bei Google, Sie sollten bei https://www.ticalc.org/archives/files/fileinfo/25 landen…

Eine Kopie der SD-Zip-Datei von der z80-mbc2-Homepage, zum Zeitpunkt des Schreibens war sie

CPMTools für Windows von https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip Dies ist eine 32-Bit-Version, funktioniert aber auf 64-Bit-Systemen.

Schritt 1: Hinzufügen der Software zu Ihrem Build-Computer

Hinzufügen der Software zu Ihrem Build-Computer
Hinzufügen der Software zu Ihrem Build-Computer
Hinzufügen der Software zu Ihrem Build-Computer
Hinzufügen der Software zu Ihrem Build-Computer

Sobald Sie Ihren Windows-Rechner zum Laufen gebracht haben, kopieren oder laden Sie die im Abschnitt „Sie benötigen“oben genannten Dateien herunter.

Erstellen Sie ein Arbeitsverzeichnis auf Ihrem Computer, ich schlage vor (um viele Tipp- und Tippfehler zu vermeiden), erstellen Sie ein Verzeichnis auf Laufwerk C, zum Beispiel c:\z80mbc. Ich empfehle dringend, nach Möglichkeit Leerzeichen in den Namen und lange Verzeichnispfade zu vermeiden. Halte es einfach.

Erstellen Sie in diesem Verzeichnis einen Ordner, in den die TASM-Dateien gehen sollen, c:\z80mbc\tasm

Erstellen Sie einen Ordner für das SD-Karten-Image, c:\z90mbc\SD

Klicken Sie mit der rechten Maustaste auf jede der Dateien und extrahieren Sie den Inhalt in die oben erstellten Verzeichnisse. Also wird tasm.zip nach c:\z80mbc\tasm extrahiert und die Angst-Zip-Datei nach c:\z80mbc\SD

Um einige der nächsten Schritte zu erleichtern, können Sie cpmtool32.zip auch in ein anderes Verzeichnis entpacken, zum Beispiel c:\z80mbc\cpmtools.

Schritt 2: Hinzufügen Ihrer Tools zum Windows-Pfad

Hinzufügen Ihrer Tools zum Windows-Pfad
Hinzufügen Ihrer Tools zum Windows-Pfad
Hinzufügen Ihrer Tools zum Windows-Pfad
Hinzufügen Ihrer Tools zum Windows-Pfad

Führen Sie je nach Windows-Version einen der folgenden Schritte aus:

Windows 10

Öffnen Sie das Eigenschaftenmenü, indem Sie in einem Explorer-Fenster mit der rechten Maustaste auf den Eintrag „Dieser PC“klicken.

Klicken Sie auf "Erweiterte Systemeinstellungen", dies öffnet ein Fenster namens "Systemeigenschaften" (Sie können auch auf andere Weise zu den Systemeigenschaften gelangen, aber ich benutze Windows nicht sehr oft, also ist dies mein Weg!)

Klicken Sie auf „Umgebungsvariablen“

Windows XP

Klicken Sie auf die Startschaltfläche, klicken Sie mit der rechten Maustaste auf "Mein Computer", dann können Sie auf Eigenschaften klicken, um "Systemeigenschaften" zu erhalten.

Klicken Sie auf die Registerkarte Erweitert

Klicken Sie auf „Umgebungsvariablen“

Wenn Sie das Fenster Umgebungsvariablen auf dem Bildschirm haben, müssen Sie zwei Dinge tun;

Fügen Sie eine neue Variable hinzu

Im oberen Teil der Fenster unter "Benutzervariablen für …"

Klicken Sie auf Neu

Geben Sie für den Namen TASMTABS. ein

Für den Werttyp in c:\z80mbc\tasm

Ändern Sie die PATH-Variable

Im unteren Teil des Fensters unter "Systemvariablen"

wähle (markiere) Pfad und klicke dann auf Bearbeiten

Fügen Sie am Ende des vorhandenen Inhalts;c:\z80mbc\tasm;c:\z80mbc\cpmtools. hinzu

(Vergesst das Semikolon am Anfang nicht!)

Sie müssen den Computer jetzt neu starten, damit diese Ergänzungen wirksam werden.

Schritt 3: Tasm testen

Tasm testen
Tasm testen
Tasm testen
Tasm testen
Tasm testen
Tasm testen

Zum Testen können wir eine exakte Kopie des vorhandenen QP/M-BIOS erstellen, wir müssen uns aber noch etwas vorbereiten. Die Dateien in diesem Verzeichnis sind:

BIOS QPM271 - S150918.asm - Die Haupt-BIOS-Datei. Dies ist höchstwahrscheinlich die Datei, die Sie ändern werden.

QPM271_ColdLoader - S160918.asm - Dies ist der QP/M-Loader, er liest die ersten Spuren aus dem Disk-Image in den Speicher. In einem traditionelleren CP/m-System wird dies als Bootstrap bezeichnet und befindet sich im EEPROM oder ROM. Sie sollten diese Datei nicht ändern müssen, sie ist bereits kompiliert und befindet sich auf dem SD-Karten-Image als QPMLDR. BIN

SYSGENQ - S140918.asm - Dieses Programm wird in Verbindung mit dem QP/M-Installationsprogramm verwendet. Auch hier müssen Sie es normalerweise nicht ändern, es ist bereits im Boot-Disk-Image einsatzbereit. Es liest und schreibt im Wesentlichen die Spuren, die vom obigen Cold Loader verwendet werden.

Bevor wir unsere TASM-Installation testen, benötigen Sie eine weitere Datei, cpm22_Z80MBC2.asm, die sich standardmäßig nicht in diesem Verzeichnis befindet, da es sich um dieselbe Datei handelt, die für cpm 2.2 verwendet wird. Wir benötigen diese Datei, um das ursprüngliche CBIOS/CCP für den ersten Start von QP/M bereitzustellen. Sie können diese Datei aus dem Verzeichnis CPM_22_Custom_BIOS kopieren.

Verwenden Sie entweder den Windows-Explorer, um es zu kopieren, oder führen Sie eine Eingabeaufforderung (CMD) aus

cd c:\z80mbc\sd\src\QPM_271_Custom_BIOS

kopieren Sie..\CPM_22_Custom_BIOS\cpm22_Z80MBC2.asm

Sie müssen diese Datei nun ändern, um das QP/M-BIOS einzubinden, öffnen Sie die Datei mit Notepad:

Suche nach "QPM" (STRG-F, oder Menü bearbeiten und suchen) Siehe Bild oben

Ändern Sie die Datei von:

;-----------------------------------------------------------------------

; Z80-MBC2;---------------------------------------------------------- -------------------------;#include "BIOS QPM271 - S150918.asm"; Enthaltenes CBIOS für den Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; Inklusive CBIOS für das Z80-MBC2

Zu:

;-----------------------------------------------------------------------

; Z80-MBC2;---------------------------------------------------------- ------------------------- #include "BIOS QPM271 - S150918.asm"; Enthaltenes CBIOS für das Z80-MBC2;#include "BIOS CPM22 - S030818-R140319.asm"; Inklusive CBIOS für das Z80-MBC2

Sie sollten auch den Wert von iLoadMode in der kopierten Datei cpm22_Z80MBC2.asm in Zeile 40 überprüfen:

;-----------------------------------------------------------------------

; Z80-MBC2;---------------------------------------------------------- ---------------------------------- iLoadMode.equ 0; Für iLoad-Modus auf 1 setzen (zum Testen),; auf 0 setzen für die Bilderzeugung von Spur 0,; für cpm22.bin-Binärdateigenerierung auf 2 setzen;-------------------------------------------------- --------------------------------

Es muss 0 sein, dies ist die Standardeinstellung - aber überprüfen Sie es trotzdem!

Wenn Sie fertig sind, speichern Sie die Datei.

Sie können jetzt tasm ausführen:

tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin

Beachten Sie den unterschiedlichen Ausgabedateinamen, wenn alles gut geht, sollten Sie die Ausgabe wie folgt sehen:

c:\z80mbc\sd\src\QPM_271_Custom_BIOS>tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin

TASM Z80 Assembler. Version 3.2 September 2001. Copyright (C) 2001 Squak Valley Software tasm: Durchgang 1 abgeschlossen. tasm: Pass 2 abgeschlossen. tasm: Anzahl Fehler = 0 c:\z80mbc\sd\src\QPM_271_Custom_BIOS>

Sie sind bereit, alle erforderlichen Änderungen am BIOS vorzunehmen! Datei.

Schritt 4: Finden Sie Ihre Echtzeituhradresse

Bevor Sie die neue Version des BIOS installieren, muss ein Teil der QP/M-Installation die Eingangsadresse für die Echtzeituhr-Routinen kennen. Wenn Sie dies nicht einstellen, geben alle Zeitfunktionen in QP/M als Fehlermeldung "Keine Uhr" zurück.

Um die Adresse zu erhalten, bearbeiten Sie die beim Kompilieren der Datei qpm22.bin erzeugte LST-Datei, dh.

Notizblock cpm22_Z80MBC2.lst

Suchen Sie nach dem TIMDAT-Label, Strg-f (oder suchen) nach TIMDAT suchen, Sie finden einen Abschnitt wie diesen:

0855+ EC16; ================================================ =========================;

0856+ EC16; TIMDAT; 0857+ EC16; ================================================ =========================; 0858+ EC16; Dies ist eine QP/M-spezifische Routine für die QP/M-zu-Echtzeituhr-Schnittstelle; 0859+ EC16; um die Zeit-/Datumsstempelfunktionen von QP/M vollständig zu nutzen.; 0860+ EC16; Die Adresse von TIMDAT muss während QINSTALL über die Option von; 0861+ EC16; das QDOS-Installationsmenü (siehe Seiten 26-27 des QP/M-Installationshandbuchs); 0862+ EC16;; 0863+ EC16; HINWEIS: Wenn die RTC nicht vorhanden ist, gibt IOS alle 0s-Bytes aus. Das ist; 0864+ EC16; "interpretiert" von QP/M als "NO CLOCK".; 0865+ EC16; ================================================ =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Notieren Sie sich die zweite Spalte HEX-Adresse, in diesem Fall EC16. Nehmen Sie den Wert aus der Zeile unter den Kommentaren, direkt über dem Sprungbefehl JP USERCLK. Wo steht TIMDAT.

Jetzt haben Sie den Wert, Sie können die Datei verlassen und mit dem QP/M-Intsall fortfahren

Schritt 5: Bios zu einem neuen Disk-Image hinzufügen

In diesem Schritt erstellen wir unsere eigene Kopie der DS1N00. DSK-Bootdiskette und fügen unsere eigene BIOS-Version hinzu, um die Installation von QP/M. abzuschließen

Erstellen Sie zunächst einen temporären Ordner von Laufwerk C, in dem Ihre Arbeitskopien aufbewahrt werden. Öffnen Sie eine CMD-Eingabeaufforderung und geben Sie Folgendes ein

cd c:\z80mbc

mkdir temp cd temp

Als nächstes kopieren Sie das Original-Disk-Image aus dem SD-Verzeichnis

c:\z80mbc\sd\DS1N00. DSK kopieren.

Holen Sie sich die aktuellen Dateien aus dem Disk-Image:

cd c:\z80mbc\temp cpmcp -f z80mbc2-d0 DS1N00. DSK 0:* disk0

Die obige Sequenz erstellt einen weiteren temporären Ordner im temporären Verzeichnis namens disk0. Sie kopieren alle vorhandenen Dateien aus dem Disk-Image in das Verzeichnis. Verwenden Sie DIR nach, um sicherzustellen, dass Sie die Dateien haben.

Als nächstes können wir das Disk-Image als neue Disk formatieren. Dies ist die einzige einfache Möglichkeit, die Boot-Tracks zum Disk-Image hinzuzufügen, ohne eine ganz neue Disk von Grund auf neu erstellen zu müssen. Beachten Sie, dass die Option „-b“das oben kompilierte BIOS verwendet.

mkfs.cpm -f z80mbc2-d0 -b c:\z80mbc\sd\src\QPM_271_Custom_BIOS\qpm22.bin DS1N00. DSK

Jetzt sind die Boottracks aktualisiert, Sie können die Originaldateien wieder zum Image hinzufügen:

cpmcp -f z80mbc2-d0 DS1N00. DSK disk0/* 0:

Sie haben jetzt eine bootfähige Festplatte, die tatsächlich CP/M und nicht QP/M bootet. Im nächsten Schritt verwenden wir das QP/M-Installationsprogramm, um den CBIOS-Teil des CP/M-Systems zu ersetzen

Stellen Sie sicher, dass Sie über eine Arbeitskopie Ihrer Boot-SD-Karte verfügen, und kopieren Sie dann die in diesem Schritt erstellte Datei DS1N00. DSK in den Stammordner der SD-Karte, die die vorhandene Datei ersetzt.

Schritt 6: Booten Sie in Ihr neues Disk-Image

Verbinden Sie ein serielles Terminal mit dem z80mbc2

Halten Sie den Benutzerschalter gedrückt, halten Sie ihn gedrückt, drücken Sie den Reset-Schalter und lassen Sie ihn los. Wenn die Benutzer-LED erlischt und das IOS-Licht blinkt, lassen Sie den Benutzerschalter los.

Sie sollten sich jetzt auf dem "Boot"-Bildschirm des Terminals befinden, etwa wie folgt: Z80-MBC2 - A040618

IOS – E/A-Subsystem – S220718-R240620 IOS: Z80-Takt auf 8 MHz eingestellt IOS: RTC DS3231-Modul gefunden (26/10/20 16:46:45) IOS: RTC DS3231-Temperatursensor: 20C IOS: GPE-Option gefunden IOS: CP/M Autoexec ist AUS IOS: Bootmodus oder Systemparameter auswählen: 0: Keine Änderung (3) 1: Basic 2: Forth 3: OS von Disk Set 1 laden (QP/M 2.71) 4: Autoboot 5: iLoad 6: Z80 Taktrate ändern (->4MHz) 7: CP/M Autoexec umschalten (->ON) 8: Disk Set 1 ändern (QP/M 2.71) 9: RTC Zeit/Datum ändern Geben Sie Ihre Wahl ein >

Verwenden Sie Option 8, um das Laufwerk auf QP/M zu ändern. Wenn Sie es auswählen, sollten Sie Ihr QP/M-BIOS laden. Ich würde auch empfehlen, Reset zu drücken, da ich gesehen habe, wie der erste Ladevorgang nach Option 8 mehrmals fehlgeschlagen ist. So was:

IOS: Aktueller Festplattensatz 1 (QP/M 2.71)

IOS: Bootprogramm laden (QPMLDR. BIN)… Fertig IOS: Z80 läuft ab sofort Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Laden… fertig Benutzerdefinierte Version von Z80-MBC2 QP/M 2.71 BIOS - S150918 A>

Beachten Sie, dass ich die "Benutzerdefinierte Version" oben hinzugefügt habe, als ich die BIOS-Datei bearbeitet habe, nur als Demo für diesen Schritt.

An diesem Punkt führen Sie CP/M 2.2 Cbios tatsächlich mit dem benutzerdefinierten BIOS für QP/M aus, so dass Dinge wie der TIME-Befehl nicht funktionieren, zum Beispiel wenn Sie TIME eingeben (sollte mit Datum + Uhrzeit antworten), erhalten Sie die CP/M 2.2 Antwort von TIME? - es denkt, dass es sich um einen Befehl auf der Festplatte handelt und kann ihn nicht finden.

Jetzt ist es an der Zeit, das QP/M-Ersatz-CBIOS auf dem Disk-Image zu installieren.

Starten Sie das Programm qinstall.com:

A>qinstall

QP/M 2.7 Installations-/Konfigurationsprogramm v2.1 QINSTALL verwendet Ihr SYSGEN-Programm, um QP/M auf Ihrer Festplatte zu installieren. Nach der Konfiguration Ihres Systems werden Sie nach dem Namen Ihres SYSGEN-Programms gefragt. Dieses Dienstprogramm sollte auf einer Ihrer Festplatten verfügbar sein. Damit QINSTALL erfolgreich abgeschlossen werden kann, MÜSSEN das Systemabbild auf der Festplatte und das derzeit im Speicher befindliche System identisch sein. (Mit das Programm abbrechen.) Möchten Sie fortfahren? (J/N):

Antworten Sie dann mit Y, um fortzufahren.

Als nächstes werden Sie nach den QCP-Einstellungen gefragt (Sie können später spielen!) Sagen Sie vorerst N

Möchten Sie prüfen und/oder ändern

die Standard-QCP-Einstellungen? (J/N): Nein

Als nächstes werden Sie nach den QDOS-Einstellungen gefragt, drücken Sie Y

Möchten Sie prüfen oder ändern

die Standard-QDOS-Einstellungen? (J/N): Ja

Sie haben ein Menü wie dieses:

*** QDOS-Systeminstallationseinstellungen ***

Beim Konsolenscan erhaltenes Zeichen speichern.. JA BIOS unterstützt BDOS-Fehlercodetabelle ………. NEIN Adresse des Zeit-/Datumssprungvektors …………. DEAKTIVIERT Laufwerk-/Benutzersuchfunktion ……………….. AKTIVIERT Automatische Datenträger-Neuprotokollierung …………………… AKTIVIERT Initialeinstellungen wiederherstellen QDOS-Installation beenden Option eingeben:

An dieser Stelle müssen Sie die HEX-Nummer aus Schritt 4 oben eingeben (finden Sie Ihre Echtzeituhradresse).

Drücken Sie 2 und geben Sie die HEX-Adresse EC16 ein, wenn Sie keine Änderungen am Bios vorgenommen haben, in meinem Fall ist es EC04, da ich etwas Text usw. hinzugefügt habe.

Geben Sie die Adresse des Zeit-/Datumsvektors in Hex (0 bis DISABLE) ein: EC04

Jetzt können Sie das QDOS-Menü verlassen und fortfahren.

Der nächste Bildschirm zeigt:

Geben Sie den Namen Ihres SYSGEN-Programms ein und drücken Sie RETURN.

(ggf. Laufwerk angeben;. COM-Erweiterung nicht verwenden):SYSGENQ

Geben Sie die spezielle Version von sysgen ein, genannt SYSGENQ

Sie sehen dann:

*** 59k QP/M-Image erstellen ***

QINSTALL führt nun A:SYSGENQ. COM aus. Sie müssen A:SYSGENQ. COM anweisen, die Systemtracks zu lesen. Wenn der READ abgeschlossen ist, beenden Sie das SYSGEN-Programm. Es erscheint die Meldung "*** QINSTALL sucht nach Systemabbild ***" gefolgt von weiteren Anweisungen. Drücken Sie zum Fortfahren -ODER- zum Abbrechen --

Drücken Sie C, um fortzufahren:

SYSGENQ - S140918 - Z80-MBC2

CP/M 2.2 SYSGEN-ähnliches Dienstprogramm Wird nur verwendet, um QP/M 2.71 mit QINSTALL. COM zu installieren WARNUNG: Der W-Befehl überschreibt die Systemspur! Systemspuren lesen und in den RAM laden oder zurück auf die Festplatte schreiben? [R/W] >

Wenn Sie diese Meldung zum ersten Mal sehen, wählen Sie R, um die Systemtracks zu lesen, dann erhalten Sie:

Lesen… fertig

*** QINSTALL sucht nach Systemabbild *** Systemabbild gefunden ab 09.00 Uhr. QP/M installieren. Ihr SYSGEN-Programm wird nun die Ausführung fortsetzen. Sie müssen das Programm anweisen, die Systemspuren zu SCHREIBEN. Drücken Sie zum Fortfahren -ODER- zum Abbrechen --

Drücken Sie erneut C, um fortzufahren:

SYSGENQ - S140918 - Z80-MBC2

CP/M 2.2 SYSGEN-ähnliches Dienstprogramm Wird nur verwendet, um QP/M 2.71 mit QINSTALL. COM zu installieren WARNUNG: Der W-Befehl überschreibt die Systemspur! Systemspuren lesen und in den RAM laden oder zurück auf die Festplatte schreiben? [R/W] >

Drücken Sie dieses Mal W, um die neuen QP/M und BISO zurück auf die Disk-Tracks zu schreiben:

Schreiben… fertig

A>

Sie können jetzt auf Reset drücken und wieder in Ihr neues QP/M-BIOS booten. Wenn Sie nun TIME an der Eingabeaufforderung eingeben, wird die Vollversion von QP/M ausgeführt und wie folgt reagiert:

Z80-MBC2 - A040618

IOS – E/A-Subsystem – S220718-R240620 IOS: Z80-Takt auf 8 MHz eingestellt IOS: RTC DS3231-Modul gefunden (26/10/20 17:10:48) IOS: RTC DS3231-Temperatursensor: 20C IOS: GPE-Option gefunden IOS: CP/M Autoexec ist AUS IOS: Aktueller Plattensatz 1 (QP/M 2.71) IOS: Bootprogramm wird geladen (QPMLDR. BIN)… Fertig IOS: Z80 läuft ab jetzt Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Loading… done Benutzerdefinierte Version von Z80-MBC2 QP/M 2.71 BIOS - S150918 A>Zeit 26-Okt-20 17:10:56 A>

Wenn Sie mit dem neuen BIOS einsatzbereit sind, beachten Sie den obigen Text "Benutzerdefinierte Version". Sie sollten wahrscheinlich den Rest der QP/M-Dokumentation unter https://www.microcodeconsulting.com/z80/qpm.htm?fbc lesen.

Flosse

Empfohlen: