Innehållsförteckning:

Z80 MBC2 - Kompilera om QP/M Bios och Loader: 6 steg
Z80 MBC2 - Kompilera om QP/M Bios och Loader: 6 steg

Video: Z80 MBC2 - Kompilera om QP/M Bios och Loader: 6 steg

Video: Z80 MBC2 - Kompilera om QP/M Bios och Loader: 6 steg
Video: Z80-MBC: 4 ICs Z80 homebrew computer. PCB Version with CP/M 2.2 2024, Juli
Anonim
Z80 MBC2 - Kompilera om QP/M Bios och Loader igen
Z80 MBC2 - Kompilera om QP/M Bios och Loader igen

Om du, precis som jag, befinner dig i en position där du behöver kompilera om QP/M -bios för din MBC2 - så gör du så.

Jag dokumenterade processen om hur man kompilerar om den befintliga versionen. Det är upp till dig att göra ändringar i de faktiska Bios -filerna, om du behöver. Jag gjorde bara ändringar för att kunna hålla min installation av QP/M i linje med versionen av CP/M 2.2 Bios jag använder (dessa ändringar visas inte bara processen för hur)

Den första delen av processen är nästan identisk med CP/M 2.2 Bios, så om du redan har din byggdator inställd kan du hoppa över den delen.

Den största skillnaden är att QP/M måste laddas från det första spåret på startdisketten - inte en.bin -fil som CP/M 2.2, som beskrivs nedan.

Tillbehör

En Windows -maskin att köra kompilatorn på. Jag använde en virtuell Windows XP -maskin som körs på en KVM, eftersom den är väldigt liten och kommer aldrig att gå på internet. Men det fungerar under Windows 10 helt ok.

TASM 3.2 z80 -kompilatorn, sök efter detta på google, du bör hamna på

En kopia av SD-zip-filen från hemsidan z80-mbc2, i skrivande stund var den

CPMTools för Windows från https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip detta är en 32bit version men fungerar ok på 64bit system.

Steg 1: Lägga till programvaran till din byggdator

Lägga till programvaran till din byggdator
Lägga till programvaran till din byggdator
Lägga till programvaran till din byggdator
Lägga till programvaran till din byggdator

När du har startat din Windows -maskin kan du kopiera eller ladda ner filerna som nämns i avsnittet "du behöver" ovan.

Skapa en fungerande katalog på din maskin, jag föreslår (för att undvika mycket skriv- och skrivfel) att du skapar en katalog på enhet C, till exempel c: / z80mbc. Jag rekommenderar starkt att du undviker blanksteg i namnen, om möjligt och långa katalogvägar. Håll det enkelt.

Skapa en mapp i den här katalogen för TASM -filerna att gå in, c: / z80mbc / tasm

Skapa en mapp för SD -kortbilden för att gå in, c: / z90mbc / SD

Högerklicka på var och en av filerna och extrahera innehållet till de kataloger du skapade ovan. Så tasm.zip extraheras till c: / z80mbc / tasm och den skrämda zip -filen till c: / z80mbc / SD

För att göra några av de följande stegen enklare kan du också packa upp cpmtool32.zip till en annan katalog, till exempel c: / z80mbc / cpmtools.

Steg 2: Lägga till dina verktyg i Windows Path

Lägga till dina verktyg i Windows Path
Lägga till dina verktyg i Windows Path
Lägga till dina verktyg i Windows Path
Lägga till dina verktyg i Windows Path

Beroende på din version av Windows gör du en av följande

Windows 10

Öppna egenskapsmenyn genom att högerklicka på "Den här datorn" från ett utforskarfönster.

Klicka på "Avancerade systeminställningar", detta öppnar ett fönster som heter "Systemegenskaper" (Du kan också komma till systemegenskaper på andra sätt, men jag använder inte Windows så mycket så det här är mitt sätt!)

Klicka på "Miljövariabler"

Windows XP

Klicka på startknappen, högerklicka på "min dator", sedan kan du klicka på egenskaper för att få "systemegenskaper".

Klicka på fliken Avancerat

Klicka på "Miljövariabler"

När du har fönstret Miljövariabler på skärmen måste du göra två saker;

Lägg till en ny variabel

I den övre delen av fönstren, under "användarvariabler för …"

Klicka på Ny

För Namntyp i TASMTABS

För värdetypen i c: / z80mbc / tasm

Ändra PATH -variabeln

I den nedre delen av fönstret, under "Systemvariabler"

välj (markera) Sökväg och klicka sedan på Redigera

I slutet av det befintliga innehållet lägg till; c: / z80mbc / tasm; c: / z80mbc / cpmtools

(Glöm inte semikolon i början!)

Du måste nu starta om datorn för att dessa tillägg ska träda i kraft.

Steg 3: Testa Tasm

Testar Tasm
Testar Tasm
Testar Tasm
Testar Tasm
Testar Tasm
Testar Tasm

För att testa kan vi sammanställa en exakt kopia av det befintliga QP/M BIOS, vi måste göra lite mer förberedelser. Filerna i den här katalogen är:

BIOS QPM271 - S150918.asm - Huvud -BIOS -filen, det är troligtvis filen du kommer att ändra.

QPM271_ColdLoader - S160918.asm - detta är QP/M -laddaren, den läser de första spåren från diskavbildningen till minnet. I ett mer traditionellt CP/m -system kallas detta en bootstrap och finns i EEPROM eller ROM. Du bör inte behöva ändra den här filen som den redan har sammanställts och på SD -kortbilden som QPMLDR. BIN

SYSGENQ - S140918.asm - Det här programmet används tillsammans med QP/M -installationsprogrammet, du behöver inte heller ändra det, det finns redan i startdiskavbilden redo att användas. Den läser och skriver i huvudsak spåren som används av kalllastaren ovan.

Innan vi testar vår TASM -installation behöver du en fil till, cpm22_Z80MBC2.asm, den finns inte i den här katalogen som standard eftersom den är samma fil som används för cpm 2.2. Vi behöver den här filen för att tillhandahålla den ursprungliga CBIOS/CCP för den första starten av QP/M. Du kan kopiera den här filen från katalogen CPM_22_Custom_BIOS.

Antingen använder du Windows Explorer för att kopiera det eller från en kommando (CMD) prompt

cd c: / z80mbc / sd / src / QPM_271_Custom_BIOS

kopiera.. / CPM_22_Custom_BIOS / cpm22_Z80MBC2.asm

Du måste nu ändra den här filen för att inkludera QP/M BIOS, öppna filen med anteckningsblock:

sök efter "QPM" (CTRL-F, eller redigera meny och hitta) Se bilden ovan

ändra filen från:

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

; Z80-MBC2; ---------------------------------------------- -------------------------; #inkludera "BIOS QPM271-S150918.asm"; Inkluderat CBIOS för Z80-MBC2 #include "BIOS CPM22-S030818-R140319.asm"; CBIOS ingår för Z80-MBC2

Till:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- #inkludera "BIOS QPM271-S150918.asm"; Inkluderat CBIOS för Z80-MBC2;#inkludera "BIOS CPM22-S030818-R140319.asm"; CBIOS ingår för Z80-MBC2

Du bör också kontrollera värdet av iLoadMode i den kopierade filen cpm22_Z80MBC2.asm, runt rad 40:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- iLoadMode.equ 0; Ställ in på 1 för iLoad -läge (för testning),; inställd på 0 för bildgenerering av spår 0; inställd på 2 för cpm22.bin generering av binär fil; --------------------------------------- --------------------------------

Det måste vara på 0, detta är standard - men kolla ändå!

När du är klar sparar du filen.

du kan nu köra tasm:

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

Observera det olika filnamnet för utdata, om allt går bra bör du se utdata så här:

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

TASM Z80 Monterare. Version 3.2 september 2001. Copyright (C) 2001 Squak Valley Software tasm: pass 1 klar. tasm: pass 2 klar. tasm: Antal fel = 0 c: / z80mbc / sd / src / QPM_271_Custom_BIOS>

Du är redo att göra alla ändringar du behöver i BIOS! fil.

Steg 4: Hitta din klockadress i realtid

Innan du installerar den nya versionen av BIOS måste en del av QP/M -installationen känna till postadressen för klockrutiner i realtid. Om du inte ställer in detta kommer alla funktioner i QP/M att returnera "Ingen klocka" som ett felmeddelande.

För att få adressen, redigera LST -filen som skapas när du kompilerar filen qpm22.bin, dvs.

anteckningsblock cpm22_Z80MBC2.lst

Sök efter TIMDAT-etiketten, Ctrl-f (eller hitta) sök efter TIMDAT, du hittar ett avsnitt så här:

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

0856+ EC16; TIMDAT; 0857+ EC16; ===================================================== ===========================; 0858+ EC16; Detta är en QP/M-specifik rutin för gränssnittet QP/M-till-realtid. 0859+ EC16; för att fullt ut kunna använda tids-/datumstämplingsfunktionerna i QP/M.; 0860+ EC16; Adressen till TIMDAT måste anges under QINSTALL via alternativet; 0861+ EC16; QDOS installationsmeny (se sidorna 26-27 i QP/M installationsguide); 0862+ EC16;; 0863+ EC16; OBS: Om RTC inte är närvarande ger IOS alla 0s byte. Detta är; 0864+ EC16; "tolkas" av QP/M som en "NO CLOCK".; 0865+ EC16; ===================================================== ===========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Anteckna den andra kolumnens HEX -adress, i detta fall EC16. Ta bort värdet från raden nedanför kommentarerna, precis ovanför JP USERCLK -hoppinstruktionen. Där det står TIMDAT.

Nu har du valen, du kan lämna filen och fortsätta med QP/M -intalsal

Steg 5: Lägg till Bios till en ny diskbild

I det här steget kommer vi att göra vår egen kopia av DS1N00. DSK -startdisketten och lägga till en egen version av BIOS till den redo att slutföra installationen av QP/M

Börja med att skapa en tillfällig mapp på enhet C för att behålla dina arbetskopior. Öppna en CMD -prompt och skriv följande

cd c: / z80mbc

mkdir temp cd temp

Kopiera sedan den ursprungliga diskavbildningen från SD -katalogen

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

Hämta de aktuella filerna från diskavbildningen:

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

Ovanstående sekvens kommer att skapa en annan tillfällig mapp i tempkatalogen som heter disk0, de kopierar alla befintliga filer från diskavbildningen till katalogen. Använd DIR efter för att se till att du har filerna.

Därefter kan vi formatera diskavbildningen som en ny disk, detta är det enda enkla sättet att lägga till startspåren på diskavbildningen, utan att behöva skapa en helt ny disk från grunden. Observera att alternativet "-b" använder BIOS som vi kompilerade ovan.

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

Nu när startspåren är uppdaterade kan du lägga till originalfilerna tillbaka till bilden:

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

Du har nu en startbar disk, den startar faktiskt CP/M inte QP/M i nästa steg använder vi QP/M -installationsprogrammet för att ersätta CBIOS -delen av CP/M -systemet

Se till att du har en fungerande kopia av ditt startade SD -kort och kopiera sedan DS1N00. DSK -filen som du skapade i det här steget till rotmappen på SD -kortet, den ersätter den befintliga filen.

Steg 6: Starta till din nya diskavbildning

Anslut en seriell terminal till z80mbc2

håll användarknappen, håll den intryckt, tryck och släpp återställningsknappen. När användarlampan slocknar och IOS -lampan blinkar släpper du användaromkopplaren.

Du bör nu vara på "Boot" -skärmen på terminalen, så här: Z80 -MBC2 - A040618

IOS - I/O -delsystem - S220718 -R240620 IOS: Z80 -klocka inställd på 8MHz IOS: Hittade RTC DS3231 -modul (26/10/20 16:46:45) IOS: RTC DS3231 temperaturgivare: 20C IOS: Hittade GPE -alternativ IOS: CP/M Autoexec är OFF IOS: Välj startläge eller systemparametrar: 0: Ingen ändring (3) 1: Basic 2: Forth 3: Ladda OS från Disk Set 1 (QP/M 2.71) 4: Autoboot 5: iLoad 6: Ändra klockhastighet Z80 (-> 4MHz) 7: Växla mellan CP/M Autoexec (-> ON) 8: Ändra diskuppsättning 1 (QP/M 2.71) 9: Ändra RTC-tid/datum Ange ditt val>

Använd alternativ 8 för att ändra disken till QP/M. När du väljer den bör du ladda din QP/M BIOS. Jag skulle också rekommendera att trycka på reset, eftersom jag har sett den första laddningen efter att alternativ 8 misslyckats flera gånger. Så här:

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

IOS: Laddar startprogram (QPMLDR. BIN) … Klart IOS: Z80 körs från och med nu Z80 -MBC2 QP/M 2.71 Cold Loader - S160918 Loading … done Custom Version of Z80 -MBC2 QP/M 2.71 BIOS - S150918 A>

Obs! Jag lade till "Anpassad version" ovan när jag redigerade BIOS -filen, precis som en demo för detta steg.

Vid denna tidpunkt kör du faktiskt CP/M 2.2 Cbios med det anpassade BIOS för QP/M, så saker som TIME -kommandot fungerar inte, till exempel om du skriver TIME (ska svara med datum+tid) får du CP/M 2.2 svar av TIME? - det tror att det är ett kommando på disken och kan inte hitta det.

Det är nu dags att installera QP/M -ersättnings -CBIOS på diskavbildningen.

Starta programmet qinstall.com:

A> qinstall

QP/M 2.7 Installation/konfigurationsprogram v2.1 QINSTALL använder ditt SYSGEN -program för att installera QP/M på din disk. När du har konfigurerat ditt system ombeds du ange namnet på ditt SYSGEN -program. Det här verktyget bör finnas tillgängligt på en av dina diskar. För att QINSTALL ska lyckas måste systemavbildningen på disken och systemet som för närvarande finns i minnet vara identisk. (Använd för att avbryta programmet.) Vill du fortsätta? (J/N):

Svara sedan Y för att fortsätta.

Du kommer att bli tillfrågad nästa om QCP -inställningar (du kan spela senare!) Säg nu N

Vill du undersöka och/eller ändra

standard QCP -inställningar? (J/N): N

Därefter kommer du att bli tillfrågad om QDOS -inställningar, tryck på Y

Vill du undersöka eller ändra

standard QDOS -inställningar? (Y/N): Y

Du kommer att ha en meny så här:

*** Inställningar för QDOS -systeminstallation ***

Spara tecken som erhållits under konsolsökning. JA BIOS stöder BDOS -felkodstabell ………. NO Adress för tid/datumhoppvektor …………. AVAKTIVERAD Funktion för enhets-/användarsökning ……………….. AKTIVERAD Automatisk omloggning av disk …………………… AKTIVERAD Återställ initialinställningar Avsluta QDOS-installation Ange alternativ:

Vid denna tidpunkt måste du ange HEX -numret från steg 4 ovan (hitta din klockadress i realtid)

Tryck på 2 och ange HEX -adressen EC16, om du inte gjorde några ändringar i bios, i mitt fall är det EC04 eftersom jag lade till lite text etc.

Ange adress för tid/datumvektor i hex (0 till INAKTIV): EC04

Nu kan du lämna QDOS -menyn och fortsätta.

Nästa skärm visar:

Ange namnet på ditt SYSGEN -program och tryck på RETURN.

(Ange om det behövs enhet; använd inte. COM -tillägg): SYSGENQ

Ange specialversionen av sysgen, kallad SYSGENQ

Du kommer då att se:

*** Skapar 59k QP/M -bild ***

QINSTALL kör nu A: SYSGENQ. COM. Du måste instruera A: SYSGENQ. COM för att läsa systemspåren. När READ är klar, avsluta SYSGEN -programmet. Meddelandet "*** QINSTALL söker efter systembild ***" visas följt av ytterligare instruktioner. Tryck för att fortsätta -ELLER- för att avbryta -

Tryck på C för att fortsätta:

SYSGENQ - S140918 - Z80 -MBC2

CP/M 2.2 SYSGEN-liknande verktyg Använd endast för att installera QP/M 2.71 med QINSTALL. COM VARNING: W-kommandot kommer att skriva över systemspår! Läs systemspår och ladda till RAM eller skriv tillbaka dem till hårddisken? [R/W]>

Första gången du ser det här meddelandet väljer du R för att läsa systemspåren, får du då:

Läser … gjort

*** QINSTALL söker efter systembild *** Systembild hittades från 0900H. Installera QP/M. Ditt SYSGEN -program kommer nu att fortsätta körningen. Du måste instruera programmet att SKRIVA systemspåren. Tryck för att fortsätta -ELLER- för att avbryta -

Tryck igen på C för att fortsätta:

SYSGENQ - S140918 - Z80 -MBC2

CP/M 2.2 SYSGEN-liknande verktyg Använd endast för att installera QP/M 2.71 med QINSTALL. COM VARNING: W-kommandot kommer att skriva över systemspår! Läs systemspår och ladda till RAM eller skriv tillbaka dem till hårddisken? [R/W]>

Den här gången trycker du på W för att skriva den nya QP/M och BISO tillbaka till skivspåren:

Skriver … gjort

A>

Du kan nu trycka på reset och starta tillbaka till din nya QP/M -bios. Om du nu skriver TIME vid prompten körs hela versionen av QP/M och svarar så här:

Z80 -MBC2 - A040618

IOS - I/O -delsystem - S220718 -R240620 IOS: Z80 -klocka inställd på 8MHz IOS: Hittade RTC DS3231 -modul (26/10/20 17:10:48) IOS: RTC DS3231 temperaturgivare: 20C IOS: Hittade GPE -alternativ IOS: CP/M Autoexec är AV IOS: Aktuell diskuppsättning 1 (QP/M 2.71) IOS: Laddar startprogram (QPMLDR. BIN) … Klart IOS: Z80 körs från och med nu Z80 -MBC2 QP/M 2.71 Cold Loader - S160918 Loading … gjort anpassad version av Z80-MBC2 QP/M 2.71 BIOS-S150918 A> tid 26-okt-20 17:10:56 A>

Du är igång med det nya BIOS, notera texten "Anpassad version" ovan. Du bör nog läsa resten av QP/M -dokumentationen på

Fena

Rekommenderad: