Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Tilføjelse af softwaren til din build -computer
- Trin 2: Tilføjelse af dine værktøjer til Windows Path
- Trin 3: Testning af Tasm
- Trin 4: Find din adresse i realtid
- Trin 5: Føj Bios til et nyt diskbillede
- Trin 6: Start i dit nye diskbillede
Video: Z80 MBC2 - Genkompilér QP/M Bios og Loader: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
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
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
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
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:
Z80-MBC2 Programmering af Atmega32a: 6 trin
Z80-MBC2 Programmering af Atmega32a: Før du kan bruge z80-MBC2, skal du programmere Atmeg32 efter at have bygget den. Denne instruktion viser dig, hvordan du bruger en billig arduino mini som programmerer til at uploade koden
Z80-mbc2 Z80 Code Flash User LED: 3 trin
Z80-mbc2 Z80 Code Flash User LED: Dette er et eksempel bruger-LED-program skrevet i Z80-assembler til z80-mbc2-computeren.Jeg lavede dette en test- og revisionsøvelse for mig, dette er mit første Z80-program i over 35 år.Nyd
Brug af ESP32/VGA32-terminal til Z80-MBC2: 7 trin
Brug af ESP32/VGA32-terminal til Z80-MBC2: Sådan opbygges og installeres ANSI Terminal-softwaren på et ESP32/VGA32-kort. Tilslutes derefter til et Z80-MBC2-kort
En nem at bygge rigtig hjemmelavet computer: Z80-MBC2 !: 9 trin (med billeder)
En rigtig hjemmelavet computer, der er let at bygge: Z80-MBC2 !: Hvis du er nysgerrig efter, hvordan en computer fungerer og interagerer med "eksterne ting", er der i dag mange brædder, der er klar til at spille som Arduino eller Raspberry og mange andre. Men disse tavler har alle den samme "grænse" … de hej
Byg en bootbar UFD til blinkende AMI BIOS: 12 trin
Byg en bootbar UFD til blinkende AMI BIOS: Både bærbare og stationære pc'er kræver lejlighedsvis BIOS -opdateringer. Når du besøger en leverandørs websted (enten pc'ens mfgr eller BIOS -maker) og opdager et nyt BIOS med de funktioner, du ønsker, eller opgraderinger kræver et nyt BIOS, er det tid til at lægge alle de nødvendige oplysninger