Spisu treści:

Z80 MBC2 - Ponowna kompilacja QP/M Bios i Loader: 6 kroków
Z80 MBC2 - Ponowna kompilacja QP/M Bios i Loader: 6 kroków

Wideo: Z80 MBC2 - Ponowna kompilacja QP/M Bios i Loader: 6 kroków

Wideo: Z80 MBC2 - Ponowna kompilacja QP/M Bios i Loader: 6 kroków
Wideo: hello world! on the z80-mbc2 computer running CP/M 2024, Listopad
Anonim
Z80 MBC2 - Ponowna kompilacja QP/M Bios i Loader
Z80 MBC2 - Ponowna kompilacja QP/M Bios i Loader

Jeśli, tak jak ja, znajdziesz się w sytuacji, w której musisz ponownie skompilować bios QP/M dla swojego MBC2 - to tak to robisz.

Udokumentowałem proces przekompilowania istniejącej wersji. Od Ciebie zależy, czy dokonasz zmian w rzeczywistych plikach Bios, jeśli zajdzie taka potrzeba. Wprowadziłem tylko zmiany, aby móc zachować moją instalację QP/M w zgodzie z wersją Bios CP/M 2.2, której używam (te zmiany nie są pokazane tylko proces, jak to zrobić)

Pierwsza część procesu jest prawie identyczna z Biosem CP/M 2.2, więc jeśli masz już skonfigurowany komputer, możesz pominąć tę część.

Główną różnicą jest to, że QP/M musi być ładowane z pierwszej ścieżki dysku rozruchowego – a nie z pliku.bin, takiego jak CP/M 2.2, opisanego poniżej.

Kieszonkowe dzieci

Maszyna z systemem Windows do uruchomienia kompilatora. Użyłem maszyny wirtualnej z systemem Windows XP działającej na KVM, ponieważ jest bardzo mała i nigdy nie będzie dostępna w Internecie. Ale działa pod Windows 10 idealnie OK.

Kompilator TASM 3.2 z80, szukaj tego w google, powinieneś skończyć na

Kopia pliku zip SD ze strony głównej z80-mbc2, w momencie pisania tego tekstu była to

CPMTools dla Windows z https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip jest to wersja 32-bitowa, ale działa dobrze na systemach 64-bitowych.

Krok 1: Dodawanie oprogramowania do komputera do budowy

Dodawanie oprogramowania do komputera budowlanego
Dodawanie oprogramowania do komputera budowlanego
Dodawanie oprogramowania do komputera budowlanego
Dodawanie oprogramowania do komputera budowlanego

Po uruchomieniu komputera z systemem Windows skopiuj lub pobierz pliki wymienione w sekcji „Będziesz potrzebować” powyżej.

Utwórz katalog roboczy na swoim komputerze, sugeruję (aby uniknąć pisania i literówek) utworzyć katalog na dysku C, na przykład c:\z80mbc. Zdecydowanie zalecam unikanie spacji w nazwach, jeśli to możliwe i długich ścieżek katalogów. Nie komplikuj.

Utwórz folder w tym katalogu, w którym będą umieszczane pliki TASM, c:\z80mbc\tasm

Utwórz folder, w którym ma zostać umieszczony obraz karty SD, c:\z90mbc\SD

Kliknij prawym przyciskiem myszy każdy z plików i wyodrębnij zawartość do utworzonych powyżej katalogów. Tak więc tasm.zip jest wyodrębniany do c:\z80mbc\tasm, a przestraszony plik zip do c:\z80mbc\SD

Aby ułatwić sobie niektóre z kolejnych kroków, możesz również rozpakować cpmtool32.zip do innego katalogu, na przykład c:\z80mbc\cpmtools.

Krok 2: Dodawanie narzędzi do ścieżki systemu Windows

Dodawanie narzędzi do ścieżki systemu Windows
Dodawanie narzędzi do ścieżki systemu Windows
Dodawanie narzędzi do ścieżki systemu Windows
Dodawanie narzędzi do ścieżki systemu Windows

W zależności od wersji systemu Windows wykonaj jedną z następujących czynności

Okna 10

Otwórz menu właściwości, klikając prawym przyciskiem myszy element „Ten komputer” w oknie eksploratora.

Kliknij „Zaawansowane ustawienia systemu”, otworzy się okno o nazwie „Właściwości systemu” (Możesz również uzyskać dostęp do właściwości systemu na inne sposoby, ale nie używam zbyt często okien, więc to jest moja droga!)

Kliknij „Zmienne środowiskowe”

Windows XP

Kliknij przycisk Start, kliknij prawym przyciskiem myszy „mój komputer”, a następnie kliknij właściwości, aby uzyskać „właściwości systemu”.

Kliknij kartę Zaawansowane

Kliknij „Zmienne środowiskowe”

Kiedy masz na ekranie okno zmiennych środowiskowych, musisz zrobić dwie rzeczy;

Dodaj nową zmienną

W górnej części okien, pod „zmiennymi użytkownika dla…”

Kliknij Nowy

Dla nazwy wpisz w TASMTABS

Dla wartości wpisz w c:\z80mbc\tasm

Zmodyfikuj zmienną PATH

W dolnej części okna, pod „Zmienne systemowe”

wybierz (podświetl) Ścieżkę, a następnie kliknij Edytuj

Na końcu istniejącej treści dodaj;c:\z80mbc\tasm;c:\z80mbc\cpmtools

(Nie zapomnij o średniku na początku!)

Musisz teraz ponownie uruchomić komputer, aby te dodatki zaczęły obowiązywać.

Krok 3: Testowanie Tasm

Testowanie Tasmu
Testowanie Tasmu
Testowanie Tasmu
Testowanie Tasmu
Testowanie Tasmu
Testowanie Tasmu

Aby przetestować, że możemy skompilować dokładną kopię istniejącego BIOS-u QP/M, musimy zrobić trochę więcej przygotowań. Pliki w tym katalogu to:

BIOS QPM271 - S150918.asm - Główny plik BIOS, najprawdopodobniej plik, który będziesz modyfikować.

QPM271_ColdLoader - S160918.asm - jest to loader QP/M, wczytuje pierwsze ścieżki z obrazu dysku do pamięci. W bardziej tradycyjnym systemie CP/m byłoby to określane jako bootstrap i znajdowałoby się w pamięci EEPROM lub ROM. Nie powinieneś potrzebować modyfikować tego pliku, ponieważ jest już skompilowany i na obrazie karty SD jako QPMLDR. BIN

SYSGENQ - S140918.asm - Ten program jest używany w połączeniu z instalatorem QP/M, ponownie nie musisz go zmieniać, już istnieje w obrazie dysku rozruchowego gotowy do użycia. Zasadniczo odczytuje i zapisuje ślady używane przez ładowarkę na zimno powyżej.

Zanim przetestujemy naszą instalację TASM, potrzebujesz jeszcze jednego pliku, cpm22_Z80MBC2.asm, domyślnie nie ma go w tym katalogu, ponieważ jest to ten sam plik, który jest używany w cpm 2.2. Potrzebujemy tego pliku, aby dostarczyć oryginalny CBIOS/CCP do początkowego rozruchu QP/M. Możesz skopiować ten plik z katalogu CPM_22_Custom_BIOS.

Użyj Eksploratora Windows, aby go skopiować, lub z wiersza polecenia (CMD) do

cd c:\z80mbc\sd\src\QPM_271_Custom_BIOS

kopiuj..\CPM_22_Custom_BIOS\cpm22_Z80MBC2.asm

Teraz musisz zmienić ten plik, aby zawierał BIOS QP/M, otwórz plik za pomocą notatnika:

wyszukaj "QPM" (CTRL-F lub menu edycji i znajdź) Zobacz powyższy obrazek

zmień plik z:

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

; Z80-MBC2;------------------------------------------------------------ -------------------------;#zawiera "BIOS QPM271 - S150918.asm"; Dołączone CBIOS dla Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; Dołączone CBIOS dla Z80-MBC2

Do:

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

; Z80-MBC2;------------------------------------------------------------ ------------------------- #include "BIOS QPM271 - S150918.asm"; Zawiera CBIOS dla Z80-MBC2;#zawiera "BIOS CPM22 - S030818-R140319.asm"; Dołączone CBIOS dla Z80-MBC2

Należy również sprawdzić wartość iLoadMode w skopiowanym pliku cpm22_Z80MBC2.asm, w okolicach linii 40:

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

; Z80-MBC2;------------------------------------------------------------ ------------------------- iLoadMode.equ 0; Ustaw na 1 dla trybu iLoad (do testowania),; ustawione na 0 dla generowania obrazu ścieżki 0,; ustawione na 2 dla generowania plików binarnych przez cpm22.bin;------------------------------------------ --------------------------------

Musi być na 0, to jest wartość domyślna - ale i tak sprawdź!

Po zakończeniu zapisz plik.

możesz teraz uruchomić tasm:

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

Zwróć uwagę na inną nazwę pliku wyjściowego, jeśli wszystko pójdzie dobrze, powinieneś zobaczyć dane wyjściowe w następujący sposób:

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

Monter TASM Z80. Wersja 3.2 wrzesień 2001. Copyright (C) 2001 Squak Valley Software Tasm: ukończone 1 zaliczenie. tasm: przejście 2 kompletne. tasm: Liczba błędów = 0 c:\z80mbc\sd\src\QPM_271_Custom_BIOS>

Jesteś gotowy na wprowadzenie wszelkich potrzebnych zmian w BIOS-ie! plik.

Krok 4: Znajdź swój adres zegara czasu rzeczywistego

Przed zainstalowaniem nowej wersji systemu BIOS część instalacji QP/M musi znać adres wejściowy dla procedur zegara czasu rzeczywistego. Jeśli nie ustawisz tego, wszystkie funkcje czasowe w QP/M zwrócą "Brak zegara" jako komunikat o błędzie.

Aby uzyskać adres, edytuj plik LST utworzony podczas kompilacji pliku qpm22.bin, tj.

notatnik cpm22_Z80MBC2.lst

Wyszukaj etykietę TIMDAT, Ctrl-f (lub znajdź) wyszukaj TIMDAT, znajdziesz sekcję podobną do tej:

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

0856+ EC16; TIMDAT; 0857+ EC16; =========================================================== =========================; 0858+ EC16; Jest to m.in. procedura specyficzna dla QP/M dla interfejsu QP/M-do-zegaru czasu rzeczywistego; 0859+ EC16; aby w pełni wykorzystać funkcje znakowania czasem/datą QP/M.; 0860+ EC16; Adres TIMDAT musi być określony podczas QINSTALL za pomocą opcji; 0861+ EC16; menu instalacji QDOS (patrz strony 26-27 Instrukcji instalacji QP/M); 0862+ EC16;; 0863+ EC16; UWAGA: Jeśli RTC nie jest obecny, IOS poda wszystkie zera bajtów. To jest; 0864+ EC16; „zinterpretowany” przez QP/M jako „BRAK ZEGARA”.; 0865+ EC16; =========================================================== =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Zanotuj adres szesnastkowy drugiej kolumny, w tym przypadku EC16. Usuń wartość z wiersza pod komentarzami, tuż nad instrukcją skoku JP USERCLK. Gdzie jest napisane TIMDAT.

Teraz masz vale, możesz wyjść z pliku i kontynuować QP/M intsall

Krok 5: Dodaj Bios do nowego obrazu dysku

W tym kroku utworzymy własną kopię dysku startowego DS1N00. DSK i dodamy do niego własną wersję BIOS-u, gotową do ukończenia instalacji QP/M

Na początek utwórz folder tymczasowy na dysku C, aby zachować kopie robocze. Otwórz monit CMD i wpisz następujące polecenie

cd c:\z80mbc

mkdir temp cd temp

Następnie skopiuj oryginalny obraz dysku z katalogu SD

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

Pobierz bieżące pliki z obrazu dysku:

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

Powyższa sekwencja utworzy kolejny folder tymczasowy w katalogu tymczasowym o nazwie disk0, skopiują wszystkie istniejące pliki z obrazu dysku do katalogu. Użyj DIR po, aby upewnić się, że masz pliki.

Następnie możemy sformatować obraz dysku jako nowy dysk, jest to jedyny łatwy sposób na dodanie ścieżek rozruchowych do obrazu dysku, bez konieczności tworzenia całego nowego dysku od zera. Zauważ, że opcja „-b” używa systemu BIOS, który skompilowaliśmy powyżej.

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

Teraz ścieżki rozruchowe są zaktualizowane, możesz dodać oryginalne pliki z powrotem do obrazu:

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

Masz teraz dysk startowy, faktycznie uruchomi on CP/M, a nie QP/M, w następnym kroku używamy instalatora QP/M, aby zastąpić część CBIOS systemu CP/M

Upewnij się, że masz kopię roboczą startowej karty SD, a następnie skopiuj plik DS1N00. DSK utworzony w tym kroku do folderu głównego karty SD, który zastąpi istniejący plik.

Krok 6: Uruchom na nowym obrazie dysku

Podłącz terminal szeregowy do z80mbc2

przytrzymaj przełącznik użytkownika, przytrzymaj go, naciśnij i zwolnij przycisk resetowania. Gdy dioda LED użytkownika zgaśnie, a lampka IOS zacznie migać, zwolnij przełącznik użytkownika.

Powinieneś teraz być na ekranie "Boot" na terminalu, tak: Z80-MBC2 - A040618

IOS - podsystem we/wy - S220718-R240620 IOS: zegar Z80 ustawiony na 8 MHz IOS: znaleziono moduł RTC DS3231 (26/10/20 16:46:45) IOS: czujnik temperatury RTC DS3231: 20C IOS: znaleziono opcję GPE IOS: CP/M Autoexec jest WYŁĄCZONY IOS: Wybierz tryb rozruchu lub parametry systemu: 0: Bez zmian (3) 1: Basic 2: Forth 3: Załaduj system operacyjny z zestawu dysków 1 (QP/M 2.71) 4: Autoboot 5: iLoad 6: Zmień częstotliwość zegara Z80 (->4MHz) 7: Przełącz CP/M Autoexec (->ON) 8: Zmień zestaw dysków 1 (QP/M 2.71) 9: Zmień czas/datę RTC Wprowadź swój wybór >

Użyj Opcji 8, aby zmienić zestaw dysków na QP/M. Po wybraniu należy załadować BIOS QP/M. Polecam również naciśnięcie resetu, ponieważ kilka razy widziałem pierwsze ładowanie po awarii opcji 8. Lubię to:

IOS: aktualny zestaw dysków 1 (QP/M 2.71)

IOS: Ładowanie programu startowego (QPMLDR. BIN)… Gotowe IOS: Z80 działa od teraz Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Ładowanie… gotowe Niestandardowa wersja Z80-MBC2 QP/M 2.71 BIOS - S150918 A>

Uwaga Dodałem powyższą „Wersję niestandardową” podczas edytowania pliku BIOS, jako demonstrację tego kroku.

W tym momencie faktycznie używasz CP/M 2.2 Cbios z niestandardowym BIOS-em dla QP/M, więc takie rzeczy jak polecenie TIME nie działają, na przykład jeśli wpiszesz TIME (powinien odpowiedzieć data+czas), otrzymasz CP/M 2.2 odpowiedź CZAS? - myśli, że to polecenie na dysku i nie może go znaleźć.

Nadszedł czas, aby zainstalować na obrazie dysku zastępczy system CBIOS QP/M.

Uruchom program qinstall.com:

A>qinstalacja

QP/M 2.7 Program instalacyjny/konfiguracyjny v2.1 QINSTALL używa programu SYSGEN do zainstalowania QP/M na dysku. Po skonfigurowaniu systemu zostaniesz poproszony o podanie nazwy programu SYSGEN. To narzędzie powinno być dostępne na jednym z twoich dysków. Aby QINSTALL zakończył się pomyślnie, obraz systemu na dysku i system aktualnie w pamięci MUSZĄ być identyczne. (Użyj, aby przerwać program.) Czy chcesz kontynuować? (T/N):

Następnie odpowiedz Y, aby kontynuować.

Następnie zostaniesz zapytany o ustawienia QCP (możesz zagrać później!), na razie powiedz N

Czy chcesz zbadać i/lub zmodyfikować?

domyślne ustawienia QCP? (T/N):Nie

Następnie zostaniesz zapytany o ustawienia QDOS, naciśnij Y

Czy chcesz zbadać lub zmodyfikować?

domyślne ustawienia QDOS? (T/N): Tak

Będziesz mieć takie menu:

*** Ustawienia instalacji systemu QDOS ***

Zapisz znak uzyskany podczas skanowania konsoli.. TAK BIOS obsługuje tabelę kodów błędów BDOS ………. NIE Adres wektora skoku czasu/daty …………. WYŁĄCZONE Funkcja wyszukiwania dysku/użytkownika ……………….. WŁĄCZONE Automatyczne ponowne rejestrowanie dysku ……………………… WŁĄCZONE Przywróć ustawienia początkowe Zakończ instalację QDOS Wprowadź opcję:

W tym momencie musisz wprowadzić numer HEX z kroku 4 powyżej (znajdź swój adres zegara czasu rzeczywistego)

Wciskamy 2 i wpisujemy szesnastkowy adres EC16, jeśli nie robiłeś żadnych zmian w biosie to w moim przypadku jest to EC04 bo dodałem jakiś tekst itp.

Wpisz adres wektora czasu/daty w hex (0 do DISABLE): EC04

Teraz możesz wyjść z menu QDOS i kontynuować.

Następny ekran pokazuje:

Wprowadź nazwę swojego programu SYSGEN i naciśnij RETURN.

(W razie potrzeby określ napęd; nie używaj rozszerzenia. COM):SYSGENQ

Wprowadź specjalną wersję sysgen o nazwie SYSGENQ

Zobaczysz wtedy:

*** Tworzenie obrazu 59 tys. QP/M ***

QINSTALL wykona teraz A:SYSGENQ. COM. Musisz poinstruować A:SYSGENQ. COM, aby odczytał ścieżki systemowe. Po zakończeniu READ wyjdź z programu SYSGEN. Pojawi się komunikat „*** QINSTALL szuka obrazu systemu ***”, a następnie dalsze instrukcje. Naciśnij, aby kontynuować -LUB-, aby przerwać --

Naciśnij C, aby kontynuować:

SYSGENQ-S140918-Z80-MBC2

CP/M 2.2 SYSGEN-like Utility Używaj tylko do instalacji QP/M 2.71 przy użyciu QINSTALL. COM OSTRZEŻENIE: Polecenie W nadpisze ścieżkę systemową! Czytać ścieżki systemowe i ładować do pamięci RAM lub zapisywać je z powrotem na dysku? [R/W] >

Gdy zobaczysz ten komunikat po raz pierwszy, wybierz R, aby odczytać ścieżki systemowe, otrzymasz:

Czytanie… gotowe

*** QINSTALL szuka obrazu systemu *** Obraz systemu odnaleziony o godzinie 09:00. Instalowanie QP/M. Twój program SYSGEN wznowi działanie. Musisz poinstruować program, aby ZAPISAŁ ścieżki systemowe. Naciśnij, aby kontynuować -LUB-, aby przerwać --

Ponownie naciśnij C, aby kontynuować:

SYSGENQ-S140918-Z80-MBC2

CP/M 2.2 SYSGEN-like Utility Używaj tylko do instalacji QP/M 2.71 przy użyciu QINSTALL. COM OSTRZEŻENIE: Polecenie W nadpisze ścieżkę systemową! Czytać ścieżki systemowe i ładować do pamięci RAM lub zapisywać je z powrotem na dysku? [R/W] >

Tym razem naciśnij W, aby zapisać nowe QP/M i BISO z powrotem na ścieżkach dysku:

Pisanie… gotowe

A>

Możesz teraz nacisnąć reset i ponownie uruchomić system z nowym biosem QP/M. Jeśli teraz wpiszesz TIME w wierszu polecenia, uruchomi się pełna wersja QP/M i zareaguje w ten sposób:

Z80-MBC2 - A040618

IOS - podsystem we/wy - S220718-R240620 IOS: zegar Z80 ustawiony na 8 MHz IOS: znaleziono moduł RTC DS3231 (26/10/20 17:10:48) IOS: czujnik temperatury RTC DS3231: 20C IOS: znaleziono opcję GPE IOS: CP/M Autoexec jest WYŁĄCZONY IOS: Bieżący zestaw dysków 1 (QP/M 2.71) IOS: Ładowanie programu startowego (QPMLDR. BIN)… Gotowe IOS: Z80 działa od teraz Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Ładowanie… wykonane Niestandardowa wersja Z80-MBC2 QP/M 2.71 BIOS - S150918 A>czas 26-Oct-20 17:10:56 A>

Jesteś gotowy do pracy z nowym systemem BIOS, zwróć uwagę na tekst „Wersja niestandardowa” powyżej. Powinieneś prawdopodobnie przeczytać resztę dokumentacji QP/M na

Płetwa

Zalecana: