Obsah:
- Zásoby
- Krok 1: Přidání softwaru do počítače pro sestavení
- Krok 2: Přidání nástrojů do Windows Path
- Krok 3: Testování Tasm
- Krok 4: Najděte svou adresu hodin v reálném čase
- Krok 5: Přidejte Bios na nový obraz disku
- Krok 6: Zavedení do nového obrazu disku
Video: Z80 MBC2 - Znovu zkompilovat biosy QP/M a zavaděč: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Pokud se stejně jako já ocitnete v pozici, kdy potřebujete znovu zkompilovat QP/M bios pro váš MBC2 - pak to uděláte takto.
Zdokumentoval jsem postup překompilování stávající verze. Je -li to nutné, je na vás, abyste provedli změny ve skutečných souborech Bios. Provedl jsem pouze změny, abych mohl udržet instalaci QP/M v souladu s verzí CP/M 2.2 Bios, kterou používám (tyto změny nejsou uvedeny pouze v postupu)
První část procesu je téměř identická s CP/M 2.2 Bios, takže pokud již máte sestavený počítač, můžete tuto část přeskočit.
Hlavní rozdíl je v tom, že QP/M se musí načíst z první stopy zaváděcího disku - ne.bin soubor jako CP/M 2.2, popsaný níže.
Zásoby
Počítač se systémem Windows, na kterém je kompilátor spuštěn. Použil jsem virtuální stroj Windows xp běžící na KVM, protože je velmi malý a nikdy nepůjde na internet. Ale funguje to pod Windows 10 naprosto v pořádku.
Kompilátor TASM 3.2 z80, hledejte to na Googlu, měli byste skončit na
Kopie souboru SD zip z domovské stránky z80-mbc2, v době psaní tohoto článku to bylo
CPMTools pro Windows od https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip toto je 32bitová verze, ale funguje dobře na 64bitových systémech.
Krok 1: Přidání softwaru do počítače pro sestavení
Jakmile spustíte počítač se systémem Windows, zkopírujte nebo stáhněte soubory uvedené v části „Budete potřebovat“výše.
Vytvořte na svém počítači funkční adresář, navrhuji (abyste se vyhnuli velkému množství psaní a překlepů) vytvořte adresář na jednotce C, například c: / z80mbc. Důrazně doporučuji vyhnout se mezerám v názvech, pokud je to možné, a dlouhým adresářovým cestám. Udržujte to jednoduché.
V tomto adresáři vytvořte složku, do které se budou dostávat soubory TASM, c: / z80mbc / tasm
Vytvořte složku, do které bude vložen obrázek karty SD, c: / z90mbc / SD
Klikněte pravým tlačítkem na každý ze souborů a rozbalte obsah do adresářů, které jste vytvořili výše. Tasm.zip je tedy extrahován do c: / z80mbc / tasm a vyděšený zip soubor do c: / z80mbc / SD
Aby byly některé další kroky snazší, můžete také rozbalit cpmtool32.zip do jiného adresáře, například c: / z80mbc / cpmtools.
Krok 2: Přidání nástrojů do Windows Path
V závislosti na vaší verzi systému Windows proveďte jednu z následujících akcí
Windows 10
Otevřete nabídku vlastností kliknutím pravým tlačítkem na položku „Tento počítač“v okně průzkumníka.
Kliknutím na „Pokročilá nastavení systému“se otevře okno s názvem „Vlastnosti systému“(K vlastnostem systému se můžete dostat i jinými způsoby, ale okna příliš nepoužívám, takže toto je můj způsob!)
Klikněte na „Proměnné prostředí“
Windows XP
Klikněte na tlačítko Start, klikněte pravým tlačítkem na „můj počítač“, poté můžete kliknutím na vlastnosti získat „vlastnosti systému“.
Klikněte na kartu Upřesnit
Klikněte na „Proměnné prostředí“
Když máte na obrazovce okno Proměnné prostředí, musíte udělat dvě věci;
Přidejte novou proměnnou
V horní části oken v části „Uživatelské proměnné pro …“
Klikněte na Nový
Pro typ Název v TASMTABS
Pro typ hodnoty v c: / z80mbc / tasm
Upravte proměnnou PATH
Ve spodní části okna v části „Systémové proměnné“
vyberte (zvýrazněte) cestu a poté klikněte na Upravit
Na konci stávajícího obsahu přidejte; c: / z80mbc / tasm; c: / z80mbc / cpmtools
(Nezapomeňte na začátku středník!)
Nyní se musí restartovat počítač, aby se tyto doplňky projevily.
Krok 3: Testování Tasm
Abychom mohli otestovat, můžeme sestavit přesnou kopii stávajícího systému QP/M BIOS, musíme se trochu více připravit. Soubory v tomto adresáři jsou:
BIOS QPM271 - S150918.asm - Hlavní soubor systému BIOS, toto je pravděpodobně soubor, který budete měnit.
QPM271_ColdLoader - S160918.asm - toto je zavaděč QP/M, který načítá první stopy z obrazu disku do paměti. V tradičnějším systému CP/m by to bylo označováno jako bootstrap a bylo by to v EEPROM nebo ROM. Tento soubor, který je již zkompilován, a na obrázku na kartě SD jako QPMLDR. BIN byste neměli upravovat
SYSGENQ - S140918.asm - Tento program se používá ve spojení s instalačním programem QP/M, opět ho normálně nebudete muset měnit, již existuje v obrazu spouštěcího disku připraven k použití. V podstatě čte a zapisuje stopy používané studeným nakladačem výše.
Než otestujeme naši instalaci TASM, potřebujete ještě jeden soubor, cpm22_Z80MBC2.asm, ve výchozím nastavení není v tomto adresáři, protože je to stejný soubor použitý pro cpm 2.2. Tento soubor potřebujeme k poskytnutí původního CBIOS/CCP pro počáteční spuštění QP/M. Tento soubor můžete zkopírovat z adresáře CPM_22_Custom_BIOS.
Zkopírujte jej buď pomocí Průzkumníka Windows, nebo z příkazového řádku (CMD)
cd c: / z80mbc / sd / src / QPM_271_Custom_BIOS
kopírovat.. / CPM_22_Custom_BIOS / cpm22_Z80MBC2.asm
Nyní musíte tento soubor změnit, aby zahrnoval QP/M BIOS, otevřete soubor pomocí poznámkového bloku:
vyhledejte „QPM“(CTRL-F, nebo upravte nabídku a najděte) Viz výše uvedený obrázek
změnit soubor z:
;-----------------------------------------------------------------------
; Z80-MBC2; ---------------------------------------------- -------------------------; #include "BIOS QPM271-S150918.asm"; Součástí je CBIOS pro Z80-MBC2 #include "BIOS CPM22-S030818-R140319.asm"; Včetně CBIOS pro Z80-MBC2
Na:
;-----------------------------------------------------------------------
; Z80-MBC2; ---------------------------------------------- ------------------------- #include "BIOS QPM271-S150918.asm"; Součástí je CBIOS pro Z80-MBC2; #include "BIOS CPM22-S030818-R140319.asm"; Včetně CBIOS pro Z80-MBC2
Měli byste také zkontrolovat hodnotu iLoadMode ve zkopírovaném souboru cpm22_Z80MBC2.asm, kolem řádku 40:
;-----------------------------------------------------------------------
; Z80-MBC2; ---------------------------------------------- ------------------------- iLoadMode.equ 0; Nastavte na 1 pro režim iLoad (pro testování); nastaveno na 0 pro generování obrazu stopy 0; nastaveno na 2 pro generování binárních souborů cpm22.bin; --------------------------------------- --------------------------------
Musí být na 0, toto je výchozí - ale stejně zkontrolujte!
Až budete hotovi, uložte soubor.
nyní můžete spustit tasm:
tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin
Všimněte si odlišného výstupního názvu souboru, pokud vše půjde dobře, měli byste vidět výstup takto:
c: / z80mbc / sd / src / QPM_271_Custom_BIOS> tasm -b -g3-80 cpm22_Z80MBC2.asm qpm22.bin
Sestavovač TASM Z80. Verze 3.2 Září 2001. Copyright (C) 2001 Squak Valley Software tasm: projít 1 dokončeno. tasm: projít 2 dokončeno. tasm: Počet chyb = 0 c: / z80mbc / sd / src / QPM_271_Custom_BIOS>
Jste připraveni provést v systému BIOS všechny potřebné změny! soubor.
Krok 4: Najděte svou adresu hodin v reálném čase
Před instalací nové verze systému BIOS musí část instalace QP/M znát vstupní adresu pro rutiny hodin reálného času. Pokud toto nenastavíte, funkce času v QP/M vrátí jako chybovou zprávu „No Clock“.
Chcete -li získat adresu, upravte soubor LST vytvořený při kompilaci souboru qpm22.bin, tzn.
poznámkový blok cpm22_Z80MBC2.lst
Vyhledejte štítek TIMDAT, Ctrl-f (nebo najděte) vyhledejte TIMDAT, najdete sekci jako je tato:
0855+ EC16; ======================================================================== ==========================;
0856+ EC16; TIMDAT; 0857+ EC16; ======================================================================== ==========================; 0858+ EC16; Jedná se o rutinu specifickou pro QP/M pro rozhraní hodin QP/M na hodiny v reálném čase; 0859+ EC16; k plnému využití funkcí razítka času/data QP/M.; 0860+ EC16; Adresa TIMDAT musí být zadána během QINSTALL pomocí možnosti; 0861+ EC16; instalační nabídka QDOS (viz strany 26-27 Průvodce instalací QP/M); 0862+ EC16;; 0863+ EC16; POZNÁMKA: Pokud RTC není k dispozici, IOS poskytne všechny 0 s bajtů. Tohle je; 0864+ EC16; „interpretováno“QP/M jako „BEZ HODIN“.; 0865+ EC16; ======================================================================= ===========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK
Poznamenejte si HEX adresu druhého sloupce, v tomto případě EC16. Odeberte hodnotu z řádku pod komentáři, těsně nad skokovou instrukcí JP USERCLK. Kde je napsáno TIMDAT.
Nyní máte vale, můžete opustit soubor a pokračovat v QP/M intsall
Krok 5: Přidejte Bios na nový obraz disku
V tomto kroku vytvoříme vlastní kopii spouštěcího disku DS1N00. DSK a přidáme na něj vlastní verzi systému BIOS připravenou k dokončení instalace QP/M
Nejprve vytvořte dočasnou složku na jednotce C, do které budou uloženy vaše pracovní kopie. Otevřete výzvu CMD a zadejte následující
cd c: / z80mbc
mkdir temp cd temp
Dále zkopírujte původní obraz disku z adresáře SD
zkopírujte c: / z80mbc / sd / DS1N00. DSK.
Získejte aktuální soubory z obrazu disku:
cd c: / z80mbc / temp cpmcp -f z80mbc2 -d0 DS1N00. DSK 0:* disk0
Výše uvedená sekvence vytvoří v dočasném adresáři další dočasnou složku s názvem disk0, která zkopíruje všechny existující soubory z obrazu disku do adresáře. Poté použijte DIR, abyste se ujistili, že máte soubory.
Dále můžeme zformátovat obraz disku jako nový disk, to je jediný snadný způsob, jak přidat spouštěcí stopy do obrazu disku, aniž byste museli vytvářet úplně nový disk od začátku. Možnost „-b“používá systém BIOS, který jsme zkompilovali výše.
mkfs.cpm -f z80mbc2 -d0 -b c: / z80mbc / sd / src / QPM_271_Custom_BIOS / qpm22.bin DS1N00. DSK
Nyní jsou zaváděcí stopy aktualizovány, můžete přidat původní soubory zpět na obrázek:
cpmcp -f z80mbc2 -d0 DS1N00. DSK disk0/* 0:
Nyní máte zaváděcí disk, ve skutečnosti spustí CP/M, nikoli QP/M. V dalším kroku použijeme instalační program QP/M k nahrazení CBIOS části systému CP/M
Ujistěte se, že máte funkční kopii zaváděcí karty SD, poté zkopírujte soubor DS1N00. DSK, který vytvoříte v tomto kroku, do kořenové složky karty SD, která nahradí stávající soubor.
Krok 6: Zavedení do nového obrazu disku
Připojte k z80mbc2 sériový terminál
podržte uživatelský přepínač, podržte jej, stiskněte a uvolněte resetovací spínač. Když uživatelská LED zhasne a kontrolka IOS bliká, uvolněte uživatelský přepínač.
Nyní byste měli být na obrazovce „Boot“na terminálu takto: Z80 -MBC2 - A040618
IOS - I/O subsystém - S220718 -R240620 IOS: Hodiny Z80 nastaveny na 8 MHz IOS: Nalezen modul RTC DS3231 (26/10/20 16:46:45) IOS: Snímač teploty RTC DS3231: 20C IOS: Nalezena možnost GPE IOS: CP/M Autoexec je vypnutý IOS: Vyberte režim spouštění nebo systémové parametry: 0: Beze změny (3) 1: Základní 2: Forth 3: Načíst OS ze sady disků 1 (QP/M 2.71) 4: Autoboot 5: iLoad 6: Změňte rychlost hodin Z80 (-> 4 MHz) 7: Přepněte CP/M Autoexec (-> ZAPNUTO) 8: Změňte sadu disků 1 (QP/M 2,71) 9: Změňte čas/datum RTC Zadejte svou volbu>
Pomocí možnosti 8 změňte sadu disků na QP/M. Když ji vyberete, měli byste načíst svůj QP/M BIOS. Také bych doporučil stisknout reset, protože jsem viděl první načtení po selhání volby 8 několikrát. Takhle:
IOS: Aktuální sada disků 1 (QP/M 2,71)
IOS: Načítání zaváděcího programu (QPMLDR. BIN)… Hotovo IOS: Z80 již běží Z80 -MBC2 QP/M 2.71 Cold Loader - S160918 Načítání… hotovo Vlastní verze Z80 -MBC2 QP/M 2.71 BIOS - S150918 A>
Poznámka: „Vlastní verzi“jsem přidal výše, když jsem upravoval soubor BIOS, jen jako ukázku pro tento krok.
V tomto okamžiku skutečně používáte CP/M 2,2 Cbios s vlastním BIOSem pro QP/M, takže věci jako příkaz TIME nefungují, například pokud zadáte TIME (měl by odpovídat datum+čas), dostanete Odpověď CP/M 2,2 TIME? - myslí si, že je to příkaz na disku, a nemůže ho najít.
Nyní je čas nainstalovat na bitovou kopii disku náhradní CBIOS QP/M.
Spusťte program qinstall.com:
A> q nainstalovat
QP/M 2.7 Instalační/konfigurační program v2.1 QINSTALL používá váš program SYSGEN k instalaci QP/M na váš disk. Po konfiguraci systému budete vyzváni k zadání názvu programu SYSGEN. Tento nástroj by měl být k dispozici na jednom z vašich disků. Aby se QINSTALL úspěšně dokončil, MUSÍ být obraz systému na disku a systém aktuálně v paměti identický. (Použijte k přerušení programu.) Přejete si pokračovat? (A/N):
Poté pokračujte odpovědí Y.
Dále budete dotázáni na nastavení QCP (můžete hrát později!), Prozatím řekněte N
Přejete si prozkoumat a/nebo upravit
výchozí nastavení QCP? (Y/N): N.
Dále budete dotázáni na nastavení QDOS, stiskněte Y
Přejete si prozkoumat nebo upravit
výchozí nastavení QDOS? (A/N): Ano
Budete mít následující nabídku:
*** Nastavení instalace systému QDOS ***
Uložit znak získaný během skenování konzoly.. ANO BIOS podporuje tabulku kódů chyb BDOS ………. NE Adresa vektoru skoku času/data …………. ZAKÁZÁNO Funkce disku/vyhledávání uživatelů ……………….. ZAPNOUT Automatický opětovný záznam disku …………………… ZAPNOUT Obnovit počáteční nastavení Ukončit instalaci QDOS Zadejte možnost:
V tomto okamžiku musíte zadat číslo HEX z kroku 4 výše (najít adresu hodin reálného času)
Stiskněte 2 a zadejte HEX adresu EC16, pokud jste v biosu neprovedli žádné změny, v mém případě je to EC04, protože jsem přidal nějaký text atd.
Zadejte adresu vektoru času/data v hexadecimálním formátu (od 0 do ZAKÁZAT): EC04
Nyní můžete opustit nabídku QDOS a pokračovat.
Na další obrazovce se zobrazí:
Zadejte název svého programu SYSGEN a stiskněte RETURN.
(V případě potřeby zadejte jednotku; nepoužívejte příponu. COM): SYSGENQ
Zadejte speciální verzi sysgen s názvem SYSGENQ
Poté uvidíte:
*** Vytváření 59k QP/M obrázku ***
QINSTALL nyní spustí A: SYSGENQ. COM. Musíte přečíst A: SYSGENQ. COM, aby přečetl systémové stopy. Po dokončení ČTENÍ ukončete program SYSGEN. Zobrazí se zpráva „*** QINSTALL vyhledávání obrazu systému ***“a další pokyny. Pokračujte stisknutím -NEBO -přerušte -
Pokračujte stisknutím C:
SYSGENQ - S140918 - Z80 -MBC2
Nástroj CP/M 2.2 podobný SYSGENU Používejte pouze k instalaci QP/M 2.71 pomocí QINSTALL. COM VAROVÁNÍ: Příkaz W přepíše stopu systému! Číst systémové stopy a načítat do RAM nebo je zapisovat zpět na disk? [R/W]>
Při prvním zobrazení této zprávy zvolte R ke čtení systémových stop, poté získáte:
Čtení … hotovo
*** QINSTALL hledá obraz systému *** Obraz systému byl nalezen od 09:00 hod. Instalace QP/M. Váš program SYSGEN nyní obnoví provádění. Musíte instruovat program, aby ZÁPISOVAL systémové stopy. Pokračujte stisknutím -NEBO -přerušte -
Pokračujte opět stisknutím C:
SYSGENQ - S140918 - Z80 -MBC2
Nástroj CP/M 2.2 podobný SYSGENU Používejte pouze k instalaci QP/M 2.71 pomocí QINSTALL. COM VAROVÁNÍ: Příkaz W přepíše stopu systému! Číst systémové stopy a načítat do RAM nebo je zapisovat zpět na disk? [R/W]>
Tentokrát stiskněte W pro zápis nového QP/M a BISO zpět na stopy disku:
Psaní … hotovo
A>
Nyní můžete stisknout reset a spustit zpět do svého nového biosu QP/M. Pokud nyní na výzvu zadáte TIME, bude spuštěna plná verze QP/M a bude reagovat takto:
Z80 -MBC2 - A040618
IOS - I/O subsystém - S220718 -R240620 IOS: Hodiny Z80 nastaveny na 8 MHz IOS: Nalezen modul RTC DS3231 (26/10/20 17:10:48) IOS: Snímač teploty RTC DS3231: 20C IOS: Nalezena možnost GPE IOS: CP/M Autoexec je VYPNUTÝ IOS: Aktuální sada disků 1 (QP/M 2,71) IOS: Načítání zaváděcího programu (QPMLDR. BIN)… Hotovo IOS: Z80 již běží Z80 -MBC2 QP/M 2,71 Cold Loader - S160918 Načítání… hotová vlastní verze Z80-MBC2 QP/M 2.71 BIOS-S150918 A> čas 26. října 20 17:10:56 A>
Váš nový systém BIOS funguje, všimněte si výše uvedeného textu „Vlastní verze“. Pravděpodobně byste si měli přečíst zbytek dokumentace QP/M na adrese
Ploutev
Doporučuje:
Z80-MBC2 Programování Atmega32a: 6 kroků
Z80-MBC2 Programování Atmega32a: Než budete moci z80-MBC2 používat, po jeho sestavení musíte Atmeg32 naprogramovat. Tyto pokyny vám ukážou, jak použít levné arduino mini jako programátora k nahrání kódu
Flashujte zavaděč Arduino v krocích ATMega328: 4
Flash Arduino Bootloader na ATMega328: Questo tutorial ci permette di caricare il Bootloader nel caso in cui l'ATmega, presente su una bord di nostra creazione, sia vergine; přijít ad esempio nel caso in cui si vuole realizzare la Drivemall
Z80-mbc2 Z80 Code Flash Uživatelská LED: 3 kroky
Z80-mbc2 Z80 Code Flash User LED: Toto je příklad uživatelského LED programu napsaného v assembleru Z80 pro počítač z80-mbc2. Udělal jsem to pro mě testovací a revizní cvičení, toto je můj první program Z80 za více než 35 let. Užijte si to
Takže načtete zavaděč STM32duino do „modré pilulky“Tak co teď ?: 7 kroků
Takže načtete zavaděč STM32duino do „Modré pilulky“… Tak co teď ?: Pokud jste si již přečetli mé instruktáže vysvětlující, jak načíst zavaděč STM32duino nebo jinou podobnou dokumentaci, zkuste načíst ukázkový kód a …. nemusí být nic Stává se vůbec. Problémem je mnoho, ne -li všechny příklady pro „generické“STM32 bude
Zavaděč na ATMEGA328P-PU: 6 kroků
Bootloader na ATMEGA328P-PU: V případě, že chcete načíst bootloader v ATMEGA328P-PU, použijte Arduino Mega 2560. V této sekci nahrajeme bootloader na ATMEGA328P-PU pomocí Arduino Mega 2560