Indholdsfortegnelse:

Z80 MBC2 - Genkompilér QP/M Bios og Loader: 6 trin
Z80 MBC2 - Genkompilér QP/M Bios og Loader: 6 trin

Video: Z80 MBC2 - Genkompilér QP/M Bios og Loader: 6 trin

Video: Z80 MBC2 - Genkompilér QP/M Bios og Loader: 6 trin
Video: Z80-MBC: 4 ICs Z80 homebrew computer. PCB Version with CP/M 2.2 2024, Juli
Anonim
Z80 MBC2 - Genkompilér QP/M Bios og Loader
Z80 MBC2 - Genkompilér QP/M Bios og Loader

Hvis du ligesom mig befinder dig i en position, hvor du har brug for at kompilere QP/M -bios igen til din MBC2 - så er det sådan du gør det.

Jeg dokumenterede processen, hvordan jeg kompilerer den eksisterende version. Det er op til dig at foretage ændringer i de faktiske Bios -filer, hvis du har brug for det. Jeg lavede kun ændringer for at kunne holde min installation af QP/M inline med den version af CP/M 2.2 Bios jeg bruger (disse ændringer vises ikke kun processen med hvordan)

Den første del af processen er næsten identisk med CP/M 2.2 Bios, så hvis du allerede har din build -computer sat op, er du velkommen til at springe over den del.

Den største forskel er, at QP/M skal indlæses fra det første spor på bootdisken - ikke en.bin -fil som CP/M 2.2, beskrevet nedenfor.

Forbrugsvarer

En Windows -maskine til at køre kompilatoren på. Jeg brugte en virtuel windows xp -maskine, der kører på en KVM, fordi den er meget lille og aldrig kommer på internettet. Men det fungerer under Windows 10 helt ok.

TASM 3.2 z80 -kompilatoren, søg efter dette på google, du skulle ende på

En kopi af SD-zip-filen fra z80-mbc2-startsiden, i skrivende stund var den

CPMTools til windows fra https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip dette er en 32bit version, men fungerer ok på 64bit systemer.

Trin 1: Tilføjelse af softwaren til din build -computer

Tilføjelse af softwaren til din build -computer
Tilføjelse af softwaren til din build -computer
Tilføjelse af softwaren til din build -computer
Tilføjelse af softwaren til din build -computer

Når du har fået din Windows -maskine i gang, skal du kopiere eller downloade de filer, der er nævnt i afsnittet "du skal bruge" ovenfor.

Opret et fungerende bibliotek på din maskine, jeg foreslår (for at undgå mange indtastninger og skrivefejl) at du opretter et bibliotek på drev C, for eksempel c: / z80mbc. Jeg anbefaler kraftigt, at du undgår mellemrum i navnene, hvis det er muligt og lange biblioteksstier. Hold det simpelt.

Opret en mappe inde i denne mappe, hvor TASM -filerne kan gå ind, c: / z80mbc / tasm

Opret en mappe, hvor SD -kortbilledet skal gå ind, c: / z90mbc / SD

Højreklik på hver af filerne og udpak indholdet til de mapper, du har oprettet ovenfor. Så tasm.zip ekstraheres til c: / z80mbc / tasm og den skræmte zip -fil til c: / z80mbc / SD

For at gøre nogle af de næste trin lettere kan du også pakke cpmtool32.zip ud til et andet bibliotek, f.eks. C: / z80mbc / cpmtools.

Trin 2: Tilføjelse af dine værktøjer til Windows Path

Tilføjelse af dine værktøjer til Windows Path
Tilføjelse af dine værktøjer til Windows Path
Tilføjelse af dine værktøjer til Windows Path
Tilføjelse af dine værktøjer til Windows Path

Afhængigt af din version af Windows gør du en af følgende

Windows 10

Åbn egenskabsmenuen ved at højreklikke på elementet "Denne pc" fra et explorer -vindue.

Klik på "Avancerede systemindstillinger", dette åbner et vindue kaldet "Systemegenskaber" (Du kan også komme til systemegenskaber på andre måder, men jeg bruger ikke vinduer særlig meget, så det er min måde!)

Klik på "Miljøvariabler"

Windows XP

Klik på startknappen, højreklik på "min computer", så kan du klikke på egenskaber for at få "systemegenskaber".

Klik på fanen Avanceret

Klik på "Miljøvariabler"

Når du har vinduet Miljøvariabler på skærmen, skal du gøre to ting;

Tilføj en ny variabel

I den øverste del af vinduerne under "brugervariabler for …"

Klik på Ny

For Navnetypen i TASMTABS

For værditypen i c: / z80mbc / tasm

Rediger PATH -variablen

I den nederste del af vinduet under "Systemvariabler"

vælg (fremhæv) Sti, og klik derefter på Rediger

I slutningen af det eksisterende indhold tilføjes; c: / z80mbc / tasm; c: / z80mbc / cpmtools

(Glem ikke semikolonet i starten!)

Du skal nu genstarte computeren, før disse tilføjelser træder i kraft.

Trin 3: Testning af Tasm

Test af Tasm
Test af Tasm
Test af Tasm
Test af Tasm
Test af Tasm
Test af Tasm

For at teste, kan vi kompilere en nøjagtig kopi af det eksisterende QP/M BIOS, vi skal lave lidt mere forberedelse. Filerne i dette bibliotek er:

BIOS QPM271 - S150918.asm - Hoved -BIOS -filen, det er sandsynligvis den fil, du vil ændre.

QPM271_ColdLoader - S160918.asm - dette er QP/M -loader, den læser de første spor fra diskbilledet ind i hukommelsen. I et mere traditionelt CP/m -system vil dette blive omtalt som en bootstrap og ville være i EEPROM eller ROM. Du skulle ikke behøve at ændre denne fil, den allerede er kompileret og på SD -kortbilledet som QPMLDR. BIN

SYSGENQ - S140918.asm - Dette program bruges i forbindelse med QP/M -installationsprogrammet, igen behøver du norammly ikke at ændre det, det findes allerede i bootdisk -billedet klar til brug. Det læser og skriver hovedsageligt de spor, der bruges af koldlæsseren ovenfor.

Inden vi tester vores TASM -installation, skal du bruge en fil mere, cpm22_Z80MBC2.asm, den er ikke som standard i denne mappe, da den er den samme fil, der bruges til cpm 2.2. Vi har brug for denne fil for at levere den originale CBIOS/CCP til den første opstart af QP/M. Du kan kopiere denne fil fra CPM_22_Custom_BIOS biblioteket.

Brug enten Windows Explorer til at kopiere det eller fra en kommando (CMD) prompt

cd c: / z80mbc / sd / src / QPM_271_Custom_BIOS

kopi.. / CPM_22_Custom_BIOS / cpm22_Z80MBC2.asm

Du skal nu ændre denne fil for at inkludere QP/M BIOS, åbne filen med notesblok:

søg efter "QPM" (CTRL-F, eller rediger menuen og find) Se billedet ovenfor

ændre filen fra:

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

; Z80-MBC2; ---------------------------------------------- -------------------------; #include "BIOS QPM271-S150918.asm"; Inkluderet CBIOS for Z80-MBC2 #include "BIOS CPM22-S030818-R140319.asm"; Inkluderet CBIOS til Z80-MBC2

Til:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- #include "BIOS QPM271-S150918.asm"; Inkluderet CBIOS for Z80-MBC2; #include "BIOS CPM22-S030818-R140319.asm"; Inkluderet CBIOS til Z80-MBC2

Du bør også kontrollere værdien af iLoadMode i den kopierede cpm22_Z80MBC2.asm -fil, omkring linje 40:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- iLoadMode.equ 0; Indstil til 1 for iLoad -tilstand (til test),; indstillet til 0 for billedgenerering af spor 0; indstillet til 2 for generering af binær fil cpm22.bin; --------------------------------------- --------------------------------

Det skal være på 0, dette er standard - men tjek alligevel!

Når det er gjort, skal du gemme filen.

du kan nu køre tasm:

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

Bemærk det forskellige outputfilnavn, hvis alt går godt, skal du se output som dette:

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

TASM Z80 -samler. Version 3.2 September, 2001. Copyright (C) 2001 Squak Valley Software opgave: pass 1 fuldført. tasm: bestå 2 færdig. tasm: Antal fejl = 0 c: / z80mbc / sd / src / QPM_271_Custom_BIOS>

Du er klar til at foretage de ændringer, du har brug for i BIOS! fil.

Trin 4: Find din adresse i realtid

Inden du installerer den nye version af BIOS, skal en del af QP/M -installationen kende indgangsadressen til realtidsurrutinerne. Hvis du ikke indstiller dette, vil alle funktioner i QP/M returnere "Intet ur" som en fejlmeddelelse.

For at få adressen skal du redigere den LST -fil, der er produceret, når du kompilerer filen qpm22.bin, dvs.

notesblok cpm22_Z80MBC2.lst

Søg efter TIMDAT-etiketten, Ctrl-f (eller find) søg efter TIMDAT, du finder en sektion som denne:

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

0856+ EC16; TIMDAT; 0857+ EC16; ====================================================== ============================; 0858+ EC16; Dette er en QP/M-specifik rutine for QP/M-til-real-time-urgrænsefladen; 0859+ EC16; for fuldt ud at udnytte tid/dato stempling funktioner i QP/M.; 0860+ EC16; Adressen på TIMDAT skal angives under QINSTALL via mulighed for; 0861+ EC16; QDOS installationsmenuen (se side 26-27 i QP/M installationsvejledningen); 0862+ EC16;; 0863+ EC16; BEMÆRK: Hvis RTC ikke er til stede, giver IOS alle 0s bytes. Dette er; 0864+ EC16; "fortolket" af QP/M som et "NO CLOCK".; 0865+ EC16; ====================================================== ============================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Noter den anden kolonne HEX -adresse, i dette tilfælde EC16. Tag værdien af linjen under kommentarerne lige over JP USERCLK -springinstruktionen. Hvor der står TIMDAT.

Nu har du valen, du kan afslutte filen og fortsætte med QP/M intsall

Trin 5: Føj Bios til et nyt diskbillede

I dette trin vil vi lave vores egen kopi af DS1N00. DSK boot -disken og tilføje vores egen version af BIOS til den klar til at fuldføre installationen af QP/M

For at starte med skal du oprette en midlertidig mappe på drev C for at beholde dine arbejdskopier. Åbn en CMD -prompt og indtast følgende

cd c: / z80mbc

mkdir temp cd temp

Kopier derefter det originale diskbillede fra SD -biblioteket

kopi c: / z80mbc / sd / DS1N00. DSK.

Hent de aktuelle filer fra diskbilledet:

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

Ovenstående sekvens vil oprette en anden midlertidig mappe inde i temp -biblioteket kaldet disk0, dem kopierer alle de eksisterende filer fra diskbilledet til biblioteket. Brug DIR efter for at sikre, at du har filerne.

Dernæst kan vi formatere diskbilledet som en ny disk, dette er den eneste nemme måde at tilføje boot -sporene til diskbilledet uden at skulle oprette en helt ny disk fra bunden. Bemærk, at “-b” -indstillingen bruger den BIOS, vi har samlet ovenfor.

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

Nu er boot -sporene opdateret, du kan tilføje de originale filer tilbage til billedet:

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

Du har nu en bootbar disk, den starter faktisk CP/M ikke QP/M i det næste trin, vi bruger QP/M -installationsprogrammet til at erstatte CBIOS -delen af CP/M -systemet

Sørg for, at du har en fungerende kopi af dit opstart -SD -kort, og kopier derefter den DS1N00. DSK -fil, du oprettede i dette trin, til rodmappen på SD -kortet, den erstatter den eksisterende fil.

Trin 6: Start i dit nye diskbillede

Tilslut en seriel terminal til z80mbc2

hold brugerkontakten nede, hold den nede, tryk på og slip nulstillingskontakten. Når bruger -LED'en slukker, og IOS -lampen blinker, slipper du brugerkontakten.

Du skulle nu være på "Boot" -skærmen på terminalen, sådan her: Z80 -MBC2 - A040618

IOS - I/O Subsystem - S220718 -R240620 IOS: Z80 ur sat til 8MHz IOS: Fundet RTC DS3231 Modul (26/10/20 16:46:45) IOS: RTC DS3231 temperatursensor: 20C IOS: Fundet GPE Option IOS: CP/M Autoexec er OFF IOS: Vælg boot -tilstand eller systemparametre: 0: Ingen ændring (3) 1: Basic 2: Forth 3: Load OS from Disk Set 1 (QP/M 2.71) 4: Autoboot 5: iLoad 6: Skift Z80-urhastighed (-> 4MHz) 7: Skift mellem CP/M Autoexec (-> ON) 8: Skift disksæt 1 (QP/M 2.71) 9: Skift RTC-tid/dato Indtast dit valg>

Brug option 8 til at ændre disken til QP/M. Når du vælger den, skal du indlæse din QP/M BIOS. Jeg vil også anbefale at trykke på reset, da jeg har set den første belastning efter valgmulighed 8 fejle flere gange. Sådan her:

IOS: Current Disk Set 1 (QP/M 2.71)

IOS: Indlæser opstartsprogram (QPMLDR. BIN) … Udført IOS: Z80 kører fra nu af Z80 -MBC2 QP/M 2.71 Cold Loader - S160918 Loading… done Custom Version of Z80 -MBC2 QP/M 2.71 BIOS - S150918 A>

Bemærk! Jeg tilføjede "Brugerdefineret version" ovenfor, da jeg redigerede BIOS -filen, bare som en demo for dette trin.

På dette tidspunkt kører du faktisk CP/M 2.2 Cbios med den brugerdefinerede BIOS til QP/M, så ting som TIME -kommandoen ikke virker, for eksempel hvis du skriver TIME (skal svare med dato+tid) får du CP/M 2.2 svar af TIME? - den tror, det er en kommando på disken og kan ikke finde den.

Det er nu tid til at installere QP/M erstatning CBIOS på diskbilledet.

Start programmet qinstall.com:

A> qinstall

QP/M 2.7 Installation/konfigurationsprogram v2.1 QINSTALL bruger dit SYSGEN -program til at installere QP/M på din disk. Når du har konfigureret dit system, bliver du bedt om at angive navnet på dit SYSGEN -program. Dette værktøj skal være tilgængeligt på en af dine diske. For at QINSTALL kan afslutte, SKAL systemimagen på disken og det system, der i øjeblikket er i hukommelsen, være identisk. (Brug til at afbryde programmet.) Vil du fortsætte? (Y/N):

Svar derefter Y for at fortsætte.

Du bliver derefter spurgt om QCP -indstillinger (du kan afspille senere!) Sig nu N

Ønsker du at undersøge og/eller ændre

standard QCP -indstillinger? (Y/N): N

Derefter bliver du spurgt om QDOS -indstillinger, tryk på Y

Ønsker du at undersøge eller ændre

standard QDOS -indstillinger? (Y/N): Y

Du får en menu som denne:

*** Indstillinger for QDOS -systeminstallation ***

Gem tegn, der er opnået under konsolscanning. YES BIOS understøtter BDOS -fejlkodetabel ………. NO Adresse for tid/dato -springvektor …………. Deaktiveret Drev-/brugersøgningsfunktion ……………….. AKTIVERET Automatisk genlogning af disk …………………… AKTIVERET Gendan startindstillinger Afslut QDOS-installation Indtast option:

På dette tidspunkt skal du indtaste HEX -nummeret fra trin 4 ovenfor (find din adresse i realtid)

Tryk på 2, og indtast HEX -adressen EC16, hvis du ikke foretog ændringer i bios, i mit tilfælde er det EC04, da jeg tilføjede noget tekst osv.

Indtast adresse på tid/dato -vektor i hex (0 til Deaktiveret): EC04

Nu kan du forlade QDOS -menuen og fortsætte.

Den næste skærm viser:

Indtast navnet på dit SYSGEN -program, og tryk på RETURN.

(Angiv om nødvendigt drev; brug ikke. COM -udvidelse): SYSGENQ

Indtast den særlige version af sysgen, kaldet SYSGENQ

Du vil derefter se:

*** Oprettelse af 59k QP/M -billede ***

QINSTALL udfører nu A: SYSGENQ. COM. Du skal instruere A: SYSGENQ. COM for at læse systemsporene. Når READ er færdig, skal du afslutte SYSGEN -programmet. Meddelelsen "*** QINSTALL søger efter systembillede ***" vises efterfulgt af yderligere instruktioner. Tryk for at fortsætte -ELLER- for at afbryde -

Tryk på C for at fortsætte:

SYSGENQ - S140918 - Z80 -MBC2

CP/M 2.2 SYSGEN-lignende værktøj Brug kun til at installere QP/M 2.71 ved hjælp af QINSTALL. COM ADVARSEL: W-kommandoen overskriver systemspor! Læse systemspor og indlæse til RAM eller skrive dem tilbage til disk? [R/W]>

Første gang du ser denne besked, vælg R for at læse systemsporene, får du derefter:

Læser… færdig

*** QINSTALL søger efter systembillede *** Systembillede fundet fra 0900H. Installation af QP/M. Dit SYSGEN -program genoptager nu udførelsen. Du skal instruere programmet i at SKRIVE systemsporene. Tryk for at fortsætte -ELLER- for at afbryde -

Tryk igen på C for at fortsætte:

SYSGENQ - S140918 - Z80 -MBC2

CP/M 2.2 SYSGEN-lignende værktøj Brug kun til at installere QP/M 2.71 ved hjælp af QINSTALL. COM ADVARSEL: W-kommandoen overskriver systemspor! Læse systemspor og indlæse til RAM eller skrive dem tilbage til disk? [R/W]>

Denne gang skal du trykke på W for at skrive den nye QP/M og BISO tilbage til disksporene:

Skriver … færdig

A>

Du kan nu trykke på reset og starte tilbage til din nye QP/M bios. Hvis du nu skriver TIME ved prompten, kører den den fulde version af QP/M og reagerer sådan:

Z80 -MBC2 - A040618

IOS - I/O Subsystem - S220718 -R240620 IOS: Z80 ur sat til 8MHz IOS: Fundet RTC DS3231 Modul (26/10/20 17:10:48) IOS: RTC DS3231 temperatursensor: 20C IOS: Fundet GPE Option IOS: CP/M Autoexec er OFF IOS: Current Disk Set 1 (QP/M 2.71) IOS: Loading boot program (QPMLDR. BIN) … Færdig IOS: Z80 kører fra nu af Z80 -MBC2 QP/M 2.71 Cold Loader - S160918 Loading … udført Brugerdefineret version af Z80-MBC2 QP/M 2.71 BIOS-S150918 A> tid 26-okt-20 17:10:56 A>

Hvis du er i gang med det nye BIOS, skal du bemærke teksten "Brugerdefineret version" ovenfor. Du skal nok læse resten af QP/M -dokumentationen på

Fin

Anbefalede: