Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Dodawanie oprogramowania do komputera do budowy
- Krok 2: Dodawanie narzędzi do ścieżki systemu Windows
- Krok 3: Testowanie Tasm
- Krok 4: Znajdź swój adres zegara czasu rzeczywistego
- Krok 5: Dodaj Bios do nowego obrazu dysku
- Krok 6: Uruchom na nowym obrazie dysku
Wideo: Z80 MBC2 - Ponowna kompilacja QP/M Bios i Loader: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
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
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
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
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:
Z80-MBC2 Programowanie Atmega32a: 6 kroków
Z80-MBC2 Programowanie Atmega32a: Zanim będziesz mógł używać z80-MBC2, po zbudowaniu go, musisz zaprogramować Atmeg32. Ta instrukcja pokazuje, jak używać taniego arduino mini jako programatora do przesyłania kodu
Z80-mbc2 Z80 Code Flash LED użytkownika: 3 kroki
Z80-mbc2 Z80 Code Flash User LED: To jest przykładowy program użytkownika LED napisany w asemblerze Z80 dla komputera z80-mbc2
Zasilacz laboratoryjny DIY [kompilacja + testy]: 16 kroków (ze zdjęciami)
Zasilacz laboratoryjny DIY [Build + Tests]: W tym instruktażowym / filmie pokażę, jak możesz stworzyć własny zasilacz laboratoryjny o zmiennej mocy, który może dostarczyć 30 V 6 A 180 W (10 A MAX poniżej limitu mocy). Minimalny limit prądu 250-300mA. Zobaczysz również dokładność, obciążenie, ochronę i
Korzystanie z terminala ESP32/VGA32 dla Z80-MBC2: 7 kroków
Korzystanie z terminala ESP32/VGA32 dla Z80-MBC2: Jak zbudować i zainstalować oprogramowanie terminala ANSI na płycie ESP32/VGA32. Następnie podłączyć je do płyty Z80-MBC2
Łatwy do zbudowania prawdziwy domowy komputer: Z80-MBC2!: 9 kroków (ze zdjęciami)
Łatwy do zbudowania prawdziwy domowy komputer: Z80-MBC2!: Jeśli jesteś ciekawy, jak komputer działa i współdziała z „zewnętrznymi rzeczami”, w dzisiejszych czasach istnieje wiele płyt gotowych do gry, takich jak Arduino czy Raspberry i wiele innych. Ale te tablice mają wszystkie te same „limity”… hi