Inhoudsopgave:

Z80 MBC2 - QP/M Bios en Loader opnieuw compileren - Ajarnpa
Z80 MBC2 - QP/M Bios en Loader opnieuw compileren - Ajarnpa

Video: Z80 MBC2 - QP/M Bios en Loader opnieuw compileren - Ajarnpa

Video: Z80 MBC2 - QP/M Bios en Loader opnieuw compileren - Ajarnpa
Video: Z80-MBC: 4 ICs Z80 homebrew computer. PCB Version with CP/M 2.2 2024, Juli-
Anonim
Z80 MBC2 - QP/M Bios en Loader opnieuw compileren
Z80 MBC2 - QP/M Bios en Loader opnieuw compileren

Als u zich, zoals ik, in een positie bevindt waarin u de QP/M-bios voor uw MBC2 opnieuw moet compileren, dan is dit hoe u het doet.

Ik heb het proces gedocumenteerd van hoe de bestaande versie opnieuw te compileren. Het is aan jou om, indien nodig, wijzigingen aan te brengen in de eigenlijke BIOS-bestanden. Ik heb alleen wijzigingen aangebracht om mijn installatie van QP/M in lijn te houden met de versie van CP/M 2.2 Bios die ik gebruik (deze wijzigingen worden niet alleen getoond hoe het moet)

Het eerste deel van het proces is bijna identiek aan de CP/M 2.2 Bios, dus als je je build-computer al hebt ingesteld, kun je dat deel overslaan.

Het belangrijkste verschil is dat QP/M moet laden vanaf de eerste track van de opstartdiskette - niet een.bin-bestand zoals CP/M 2.2, zoals hieronder beschreven.

Benodigdheden

Een Windows-machine om de compiler op te draaien. Ik heb een virtuele Windows XP-machine gebruikt die op een KVM draait, omdat deze erg klein is en nooit op internet zal gaan. Maar het werkt onder Windows 10 perfect ok.

De TASM 3.2 z80 compiler, zoek hiervoor op google, je zou terecht moeten komen op

Een kopie van het SD-zipbestand van de z80-mbc2-startpagina, op het moment van schrijven was het

CPMTools voor Windows van https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip dit is een 32bit-versie maar werkt goed op 64bit-systemen.

Stap 1: De software toevoegen aan uw bouwcomputer

De software toevoegen aan uw bouwcomputer
De software toevoegen aan uw bouwcomputer
De software toevoegen aan uw bouwcomputer
De software toevoegen aan uw bouwcomputer

Zodra u uw Windows-machine in gebruik hebt genomen, kopieert of downloadt u de bestanden die worden vermeld in het gedeelte 'Wat u nodig heeft' hierboven.

Maak een werkmap op je computer, ik raad aan (om veel typen en typefouten te voorkomen) dat je een map op station C aanmaakt, bijvoorbeeld c:\z80mbc. Ik raad u ten zeerste aan om spaties in de namen te vermijden, indien mogelijk, en lange directorypaden. Hou het simpel.

Maak een map in deze map voor de TASM-bestanden, c:\z80mbc\tasm

Maak een map voor de SD-kaartafbeelding om in te gaan, c:\z90mbc\SD

Klik met de rechtermuisknop op elk van de bestanden en pak de inhoud uit in de mappen die u hierboven hebt gemaakt. Dus tasm.zip wordt uitgepakt naar c:\z80mbc\tasm en het bange zip-bestand naar c:\z80mbc\SD

Om sommige van de volgende stappen gemakkelijker te maken, kunt u cpmtool32.zip ook uitpakken naar een andere map, bijvoorbeeld c:\z80mbc\cpmtools.

Stap 2: Uw hulpprogramma's toevoegen aan het Windows-pad

Uw hulpprogramma's toevoegen aan het Windows-pad
Uw hulpprogramma's toevoegen aan het Windows-pad
Uw hulpprogramma's toevoegen aan het Windows-pad
Uw hulpprogramma's toevoegen aan het Windows-pad

Afhankelijk van uw versie van Windows doet u een van de volgende dingen:

Windows 10

Open het eigenschappenmenu door met de rechtermuisknop op het item "Deze pc" in een verkennervenster te klikken.

Klik op "Geavanceerde systeeminstellingen", dit zal een venster openen met de naam "Systeemeigenschappen" (Je kunt ook op andere manieren naar systeemeigenschappen gaan, maar ik gebruik niet veel vensters, dus dit is mijn manier!)

Klik op "Omgevingsvariabelen"

Windows XP

Klik op de startknop, klik met de rechtermuisknop op "mijn computer", dan kunt u op eigenschappen klikken om "systeemeigenschappen" te krijgen.

Klik op het tabblad Geavanceerd

Klik op "Omgevingsvariabelen"

Als je het venster Omgevingsvariabelen op het scherm hebt staan, moet je twee dingen doen;

Een nieuwe variabele toevoegen

In het bovenste deel van de vensters, onder "gebruikersvariabelen voor …"

Klik op Nieuw

Voor het naamtype in TASMTABS

Typ voor de waarde c:\z80mbc\tasm

Wijzig de PATH-variabele

In het onderste deel van het venster, onder "Systeemvariabelen"

kies (markeer) Pad en klik vervolgens op Bewerken

Voeg aan het einde van de bestaande inhoud;c:\z80mbc\tasm;c:\z80mbc\cpmtools toe

(Vergeet de puntkomma aan het begin niet!)

U moet nu de computer opnieuw opstarten om deze toevoegingen van kracht te laten worden.

Stap 3: Tasm testen

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

Om te testen dat we een exacte kopie van het bestaande QP/M BIOS kunnen compileren, moeten we wat meer voorbereiding doen. De bestanden in deze map zijn:

BIOS QPM271 - S150918.asm - Het belangrijkste BIOS-bestand, dit is hoogstwaarschijnlijk het bestand dat u gaat wijzigen.

QPM271_ColdLoader - S160918.asm - dit is de QP/M-lader, deze leest de eerste tracks van de schijfkopie in het geheugen. In een meer traditioneel CP/m-systeem zou dit een bootstrap worden genoemd en zou het in EEPROM of ROM zijn. U hoeft dit bestand niet te wijzigen, het is al gecompileerd en staat op de SD-kaart als QPMLDR. BIN

SYSGENQ - S140918.asm - Dit programma wordt gebruikt in combinatie met het QP/M-installatieprogramma, opnieuw hoeft u het normaal gesproken niet te wijzigen, het bestaat al in de opstartschijfkopie en is klaar voor gebruik. Het leest en schrijft in wezen de tracks die door de koude lader hierboven worden gebruikt.

Voordat we onze TASM-installatie testen, heb je nog een bestand nodig, cpm22_Z80MBC2.asm, dat standaard niet in deze map staat, omdat het hetzelfde bestand is dat wordt gebruikt voor cpm 2.2. We hebben dit bestand nodig om de originele CBIOS/CCP te leveren voor de eerste opstart van QP/M. U kunt dit bestand kopiëren vanuit de directory CPM_22_Custom_BIOS.

Gebruik Windows Verkenner om het te kopiëren of doe vanaf een opdrachtprompt (CMD)

cd c:\z80mbc\sd\src\QPM_271_Custom_BIOS

kopieer..\CPM_22_Custom_BIOS\cpm22_Z80MBC2.asm

U moet dit bestand nu wijzigen om het QP/M BIOS op te nemen, open het bestand met kladblok:

zoek naar "QPM" (CTRL-F, of bewerk menu en zoek) Zie bovenstaande afbeelding

verander het bestand van:

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

; Z80-MBC2;---------------------------------------------- -------------------------;#include "BIOS QPM271 - S150918.asm"; Inbegrepen CBIOS voor de Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; Inclusief CBIOS voor de Z80-MBC2

Tot:

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

; Z80-MBC2;---------------------------------------------- ------------------------- #include "BIOS QPM271 - S150918.asm"; Inclusief CBIOS voor de Z80-MBC2;#include "BIOS CPM22 - S030818-R140319.asm"; Inclusief CBIOS voor de Z80-MBC2

U moet ook de waarde van iLoadMode in het gekopieerde bestand cpm22_Z80MBC2.asm rond regel 40 controleren:

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

; Z80-MBC2;---------------------------------------------- ------------------------- iLoadMode.equ 0; Stel in op 1 voor iLoad-modus (voor testen),; stel in op 0 voor het genereren van beeld van track 0,; ingesteld op 2 voor het genereren van binaire bestanden cpm22.bin;--------------------------------------- --------------------------------

Het moet op 0 staan, dit is de standaard - maar controleer het toch!

Als u klaar bent, slaat u het bestand op.

je kunt nu tasm uitvoeren:

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

Let op de verschillende naam van het uitvoerbestand, als alles goed gaat, zou u de uitvoer als volgt moeten zien:

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

TASM Z80 monteur. Versie 3.2 September 2001. Copyright (C) 2001 Squak Valley Software tasm: pass 1 voltooid. tasm: pass 2 voltooid. tasm: Aantal fouten = 0 c:\z80mbc\sd\src\QPM_271_Custom_BIOS>

U bent klaar om eventuele wijzigingen in het BIOS aan te brengen! het dossier.

Stap 4: Vind uw realtimeklokadres

Voordat u de nieuwe versie van het BIOS installeert, moet een deel van de QP/M-installatie het invoeradres voor de realtimeklokroutines weten. Als u dit niet instelt, zullen alle tijdfuncties in QP/M "Geen klok" retourneren als een foutmelding.

Om het adres te krijgen, bewerkt u het LST-bestand dat is geproduceerd bij het compileren van het qpm22.bin-bestand, dwz.

kladblok cpm22_Z80MBC2.lst

Zoek naar het TIMDAT-label, Ctrl-f (of zoek) zoek naar TIMDAT, je zult een sectie als deze vinden:

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

0856+ EC16; TIMDAT; 0857+ EC16; ================================================== =========================; 0858+ EC16; Dit is oa een QP/M specifieke routine voor de QP/M-naar-real-time-clock interface; 0859+ EC16; om de tijd-/datumstempelfuncties van QP/M volledig te benutten.; 0860+ EC16; Het adres van TIMDAT moet tijdens QINSTALL worden opgegeven via de optie; 0861+ EC16; het QDOS-installatiemenu (zie pagina's 26-27 van de QP/M Installation Guide); 0862+ EC16;; 0863+ EC16; OPMERKING: Als de RTC niet aanwezig is, geeft IOS alle 0s-bytes. Dit is; 0864+ EC16; "geïnterpreteerd" door QP/M als een "GEEN KLOK".; 0865+ EC16; ================================================== =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Noteer de tweede kolom HEX adres, in dit geval EC16. Haal de waarde van de regel onder de opmerkingen, net boven de JP USERCLK-spronginstructie. Waar staat TIMDAT.

Nu je de vale hebt, kun je het bestand afsluiten en doorgaan met de QP/M intsall

Stap 5: Voeg het BIOS toe aan een nieuwe schijfkopie

In deze stap zullen we onze eigen kopie van de DS1N00. DSK-opstartdiskette maken en onze eigen versie van het BIOS eraan toevoegen, klaar om de installatie van QP/M te voltooien

Maak om te beginnen een tijdelijke map van station C om uw werkkopieën in te bewaren. Open een CMD-prompt en typ het volgende:

cd c:\z80mbc

mkdir temp cd temp

Kopieer vervolgens de originele schijfkopie uit de SD-map

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

Haal de huidige bestanden uit de schijfkopie:

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

De bovenstaande volgorde maakt een andere tijdelijke map aan in de tijdelijke map met de naam disk0, ze kopiëren alle bestaande bestanden van de schijfkopie naar de map. Gebruik DIR erna om er zeker van te zijn dat je de bestanden hebt.

Vervolgens kunnen we de schijfkopie formatteren als een nieuwe schijf, dit is de enige gemakkelijke manier om de opstarttracks aan de schijfkopie toe te voegen, zonder dat je een geheel nieuwe schijf hoeft te maken. Merk op dat de optie "-b" het BIOS gebruikt dat we hierboven hebben gecompileerd.

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

Nu de opstarttracks zijn bijgewerkt, kunt u de originele bestanden weer aan de afbeelding toevoegen:

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

Je hebt nu een opstartbare schijf, deze zal feitelijk CP/M opstarten, niet QP/M. In de volgende stap gebruiken we het QP/M-installatieprogramma om het CBIOS-gedeelte van het CP/M-systeem te vervangen

Zorg ervoor dat u een werkkopie van uw opstart-SD-kaart hebt en kopieer vervolgens het DS1N00. DSK-bestand dat u in deze stap maakt naar de hoofdmap van de SD-kaart. Het zal het bestaande bestand vervangen.

Stap 6: Start uw nieuwe schijfkopie op

Sluit een seriële terminal aan op de z80mbc2

houd de gebruikersschakelaar vast, houd deze vast, druk op de resetschakelaar en laat hem los. Wanneer de gebruikers-LED uitgaat en het IOS-lampje knippert, laat u de gebruikersschakelaar los.

U zou nu in het "Boot" -scherm op de terminal moeten zijn, zoals dit: Z80-MBC2 - A040618

IOS - I/O-subsysteem - S220718-R240620 IOS: Z80-klok ingesteld op 8 MHz IOS: RTC DS3231-module gevonden (26/10/20 16:46:45) IOS: RTC DS3231 temperatuursensor: 20C IOS: GPE-optie gevonden IOS: CP/M Autoexec is UIT IOS: Selecteer opstartmodus of systeemparameters: 0: Geen wijziging (3) 1: Basis 2: Forth 3: Besturingssysteem laden vanaf schijfset 1 (QP/M 2.71) 4: Autoboot 5: iLoad 6: Wijzig Z80 kloksnelheid (->4MHz) 7: Schakel CP/M Autoexec in (->ON) 8: Wijzig Disk Set 1 (QP/M 2.71) 9: Wijzig RTC tijd/datum Voer uw keuze in >

Gebruik optie 8 om de schijfset te wijzigen in QP/M. Als u deze selecteert, moet u uw QP/M BIOS laden. Ik zou ook aanraden om op reset te drukken, omdat ik de eerste lading na optie 8 meerdere keren heb zien mislukken. Zoals dit:

IOS: huidige schijvenset 1 (QP/M 2.71)

IOS: Bezig met laden van opstartprogramma (QPMLDR. BIN)… Gereed IOS: Z80 is vanaf nu actief Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Bezig met laden… voltooid Aangepaste versie van Z80-MBC2 QP/M 2.71 BIOS - S150918 A>

Opmerking Ik heb de "Aangepaste versie" hierboven toegevoegd toen ik het BIOS-bestand bewerkte, alleen als een demo voor deze stap.

Op dit moment draait u eigenlijk CP/M 2.2 Cbios met het aangepaste BIOS voor QP/M, dus dingen als het TIME-commando werken niet, bijvoorbeeld als u TIME typt (zou moeten reageren met datum+tijd), krijgt u de CP/M 2.2 reactie van TIME? - het denkt dat het een commando op de schijf is en kan het niet vinden.

Het is nu tijd om de QP/M vervangende CBIOS op de schijfkopie te installeren.

Start het programma qinstall.com:

A>qinstall

QP/M 2.7 Installatie-/configuratieprogramma v2.1 QINSTALL gebruikt uw SYSGEN-programma om QP/M op uw schijf te installeren. Na het configureren van uw systeem wordt u gevraagd om de naam van uw SYSGEN-programma. Dit hulpprogramma zou beschikbaar moeten zijn op een van uw schijven. Om QINSTALL met succes te laten voltooien, MOETEN de systeemkopie op de schijf en het systeem dat zich momenteel in het geheugen bevindt identiek zijn. (Gebruik om het programma af te breken.) Wilt u doorgaan? (J/N):

Antwoord dan Y om verder te gaan.

Vervolgens wordt u gevraagd naar de QCP-instellingen (u kunt later spelen!) Zeg nu N

Wilt u inzien en/of wijzigen?

de standaard QCP-instellingen? (J/N):Nee

Vervolgens wordt u gevraagd naar QDOS-instellingen, druk op Y

Wilt u inzien of wijzigen?

de standaard QDOS-instellingen? (J/N): Ja

Je krijgt dan een menu zoals dit:

*** Instellingen QDOS-systeeminstallatie ***

Opgeslagen karakter verkregen tijdens consolescan.. JA BIOS ondersteunt BDOS-foutcodetabel ………. NEE Adres van tijd/datum sprongvector …………. UITGESCHAKELD Schijf-/gebruikerszoekfunctie ……………….. INGESCHAKELD Automatisch opnieuw registreren van schijf …………………… INGESCHAKELD Herstel initiële instellingen QDOS-installatie afsluiten Optie invoeren:

Op dit punt moet u het HEX-nummer van stap 4 hierboven invoeren (vind uw realtime klokadres)

Druk op 2 en voer het HEX-adres EC16 in, als je geen wijzigingen hebt aangebracht in de bios, in mijn geval is het EC04 omdat ik wat tekst heb toegevoegd enz.

Voer het adres van de tijd-/datumvector in hex in (0 tot UITGESCHAKELD): EC04

Nu kunt u het QDOS-menu verlaten en doorgaan.

Het volgende scherm toont:

Voer de naam van uw SYSGEN-programma in en druk op RETURN.

(Geef indien nodig een schijf aan; gebruik geen. COM-extensie):SYSGENQ

Voer de speciale versie van sysgen in, genaamd SYSGENQ

U ziet dan:

*** 59k QP/M-afbeelding maken ***

QINSTALL zal nu A:SYSGENQ. COM uitvoeren. U moet A:SYSGENQ. COM instrueren om de systeemsporen te lezen. Wanneer het LEZEN voltooid is, verlaat u het SYSGEN-programma. Het bericht "*** QINSTALL zoekt naar systeemkopie ***" verschijnt, gevolgd door verdere instructies. Druk om door te gaan -OF- om af te breken --

Druk op C om verder te gaan:

SYSGENQ-S140918-Z80-MBC2

CP/M 2.2 SYSGEN-achtig hulpprogramma Alleen gebruiken om QP/M 2.71 te installeren met behulp van QINSTALL. COM WAARSCHUWING: het W-commando zal de systeemtrack overschrijven! Systeemtracks lezen en naar RAM laden of terugschrijven naar schijf? [R/W] >

De eerste keer dat u dit bericht ziet, kiest u R om de systeemsporen te lezen, u krijgt dan:

Lezen… klaar

*** QINSTALL zoekt naar systeemimage *** Systeemimage gevonden vanaf 0900H. QP/M installeren. Uw SYSGEN-programma zal nu de uitvoering hervatten. U moet het programma opdracht geven om de systeemsporen te SCHRIJVEN. Druk om door te gaan -OF- om af te breken --

Druk nogmaals op C om verder te gaan:

SYSGENQ-S140918-Z80-MBC2

CP/M 2.2 SYSGEN-achtig hulpprogramma Alleen gebruiken om QP/M 2.71 te installeren met behulp van QINSTALL. COM WAARSCHUWING: het W-commando zal de systeemtrack overschrijven! Systeemtracks lezen en naar RAM laden of terugschrijven naar schijf? [R/W] >

Druk deze keer op W om de nieuwe QP/M en BISO terug te schrijven naar de disktracks:

Schrijven… klaar

A>

U kunt nu op reset drukken en opnieuw opstarten in uw nieuwe QP/M-bios. Als u nu TIME typt bij de prompt, wordt de volledige versie van QP/M uitgevoerd en reageert het als volgt:

Z80-MBC2 - A040618

IOS - I/O-subsysteem - S220718-R240620 IOS: Z80-klok ingesteld op 8 MHz IOS: RTC DS3231-module gevonden (26/10/20 17:10:48) IOS: RTC DS3231 temperatuursensor: 20C IOS: GPE-optie gevonden IOS: CP/M Autoexec is UIT IOS: Huidige schijvenset 1 (QP/M 2.71) IOS: Opstartprogramma wordt geladen (QPMLDR. BIN)… Gereed IOS: Z80 is vanaf nu actief Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Loading… klaar Aangepaste versie van Z80-MBC2 QP/M 2.71 BIOS - S150918 A>tijd 26-okt-20 17:10:56 A>

U bent aan de slag met het nieuwe BIOS, let op de tekst "Aangepaste versie" hierboven. U zou waarschijnlijk de rest van de QP/M-documentatie moeten lezen op

Vin

Aanbevolen: