Cuprins:

Z80 MBC2 - Recompilați QP / M Bios și încărcător: 6 pași
Z80 MBC2 - Recompilați QP / M Bios și încărcător: 6 pași

Video: Z80 MBC2 - Recompilați QP / M Bios și încărcător: 6 pași

Video: Z80 MBC2 - Recompilați QP / M Bios și încărcător: 6 pași
Video: Z80-MBC: 4 ICs Z80 homebrew computer. PCB Version with CP/M 2.2 2024, Noiembrie
Anonim
Z80 MBC2 - Recompilați QP / M Bios și Loader
Z80 MBC2 - Recompilați QP / M Bios și Loader

Dacă, la fel ca mine, vă aflați într-o poziție în care trebuie să recompilați bios-ul QP / M pentru MBC2 - atunci așa procedați.

Am documentat procesul de recompilare a versiunii existente. Depinde de dvs. să faceți modificări la fișierele BIOS reale, dacă este necesar. Am făcut modificări doar pentru a-mi putea păstra instalarea QP / M în linie cu versiunea CP / M 2.2 Bios pe care o folosesc (aceste modificări nu sunt afișate doar procesul de procedură)

Prima parte a procesului este aproape identică cu CP / M 2.2 Bios, deci dacă aveți deja configurat computerul de construire, nu ezitați să treceți peste acea parte.

Principala diferență este că QP / M trebuie să se încarce de la prima pistă a discului de boot - nu un fișier.bin precum CP / M 2.2, descris mai jos.

Provizii

O mașină Windows pentru a rula compilatorul. Am folosit o mașină virtuală Windows XP care rulează pe un KVM, deoarece este foarte mică și nu va intra niciodată pe internet. Dar funcționează sub Windows 10 perfect ok.

Compilatorul TASM 3.2 z80, căutați acest lucru pe google, ar trebui să ajungeți la

O copie a fișierului zip SD de pe pagina de pornire z80-mbc2, la momentul redactării, era

CPMTools pentru Windows de la https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip aceasta este o versiune pe 32 de biți, dar funcționează ok pe sistemele pe 64 de biți.

Pasul 1: Adăugarea software-ului la computerul dvs. de construcție

Adăugarea software-ului la computerul dvs. de construcție
Adăugarea software-ului la computerul dvs. de construcție
Adăugarea software-ului la computerul dvs. de construcție
Adăugarea software-ului la computerul dvs. de construcție

După ce ați pornit automatul Windows, copiați sau descărcați fișierele menționate în secțiunea „veți avea nevoie” de mai sus.

Creați un director de lucru pe mașina dvs., vă sugerez (pentru a evita o mulțime de tastare și greșeli de tipare) să creați un director pe unitatea C, de exemplu c: / z80mbc. Vă recomandăm cu tărie să evitați spațiile din nume, dacă este posibil și căile de directoare lungi. Nu te complica.

Creați un folder în acest director pentru a intra fișierele TASM, c: / z80mbc / tasm

Creați un dosar pentru a intra în imaginea cardului SD, c: / z90mbc / SD

Faceți clic dreapta pe fiecare dintre fișiere și extrageți conținutul în directoarele pe care le-ați creat mai sus. Deci tasm.zip este extras în c: / z80mbc / tasm și fișierul zip speriat în c: / z80mbc / SD

Pentru a ușura câțiva pași următori, puteți despacheta cpmtool32.zip într-un alt director, de exemplu c: / z80mbc / cpmtools.

Pasul 2: Adăugarea instrumentelor dvs. la calea Windows

Adăugarea instrumentelor dvs. la calea Windows
Adăugarea instrumentelor dvs. la calea Windows
Adăugarea instrumentelor dvs. la calea Windows
Adăugarea instrumentelor dvs. la calea Windows

În funcție de versiunea dvs. de Windows, faceți una dintre următoarele

Windows 10

Deschideți meniul de proprietăți făcând clic dreapta pe elementul „Acest computer” dintr-o fereastră de explorare.

Faceți clic pe „Setări avansate de sistem”, aceasta va deschide o fereastră numită „Proprietăți de sistem” (Puteți de asemenea să accesați proprietățile sistemului în alte moduri, dar nu folosesc Windows prea mult, așa este și modul meu!)

Faceți clic pe „Variabile de mediu”

Windows XP

Faceți clic pe butonul Start, faceți clic dreapta pe „computerul meu”, apoi puteți face clic pe proprietăți pentru a obține „proprietăți de sistem”.

Faceți clic pe fila Advanced

Faceți clic pe „Variabile de mediu”

Când aveți fereastra Variabile de mediu pe ecran, trebuie să faceți două lucruri;

Adăugați o nouă variabilă

În partea de sus a ferestrelor, sub „Variabile de utilizator pentru …”

Faceți clic pe Nou

Pentru tipul Name în TASMTABS

Pentru tipul Value în c: / z80mbc / tasm

Modificați variabila PATH

În partea de jos a ferestrei, sub „Variabile de sistem”

alegeți (evidențiați) Calea, apoi faceți clic pe Editare

La sfârșitul conținutului existent adăugați; c: / z80mbc / tasm; c: / z80mbc / cpmtools

(Nu uitați de punct și virgulă la început!)

Acum trebuie să reporniți computerul pentru ca aceste adăugiri să aibă efect.

Pasul 3: Testarea Tasmului

Testarea lui Tasm
Testarea lui Tasm
Testarea lui Tasm
Testarea lui Tasm
Testarea lui Tasm
Testarea lui Tasm

Pentru a testa putem compila o copie exactă a BIOS-ului QP / M existent, trebuie să facem ceva mai multă pregătire. Fișierele din acest director sunt:

BIOS QPM271 - S150918.asm - Fișierul principal BIOS, acesta este cel mai probabil fișierul pe care îl veți modifica.

QPM271_ColdLoader - S160918.asm - acesta este încărcătorul QP / M, citește primele piste de pe imaginea discului în memorie. Într-un sistem CP / m mai tradițional, acest lucru ar fi denumit bootstrap și ar fi în EEPROM sau ROM. Nu trebuie să modificați acest fișier, acesta este deja compilat și pe imaginea cardului SD ca QPMLDR. BIN

SYSGENQ - S140918.asm - Acest program este utilizat împreună cu programul de instalare QP / M, iarăși nu va trebui să-l modificați, acesta există deja în imaginea discului de încărcare gata de utilizare. În esență, citește și scrie piesele folosite de încărcătorul rece de mai sus.

Înainte de a testa instalarea noastră TASM, mai aveți nevoie de un fișier, cpm22_Z80MBC2.asm, nu se află implicit în acest director, deoarece este același fișier folosit pentru cpm 2.2. Avem nevoie de acest fișier pentru a furniza CBIOS / CCP original pentru pornirea inițială a QP / M. Puteți copia acest fișier din directorul CPM_22_Custom_BIOS.

Fie utilizați Windows Explorer pentru a-l copia, fie de la o comandă (CMD) faceți

cd c: / z80mbc / sd / src / QPM_271_Custom_BIOS

copiați.. / CPM_22_Custom_BIOS / cpm22_Z80MBC2.asm

Acum trebuie să modificați acest fișier pentru a include QP / M BIOS, deschideți fișierul cu notepad:

căutați „QPM” (CTRL-F, sau editați meniul și găsiți) Vedeți imaginea de mai sus

schimbați fișierul din:

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

; Z80-MBC2; ---------------------------------------------- ------------------------; #include "BIOS QPM271 - S150918.asm"; CBIOS inclus pentru Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; Inclus CBIOS pentru Z80-MBC2

La:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- #include "BIOS QPM271 - S150918.asm"; CBIOS inclus pentru Z80-MBC2; #include "BIOS CPM22 - S030818-R140319.asm"; Inclus CBIOS pentru Z80-MBC2

De asemenea, ar trebui să verificați valoarea iLoadMode în fișierul cpm22_Z80MBC2.asm copiat, în jurul liniei 40:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- iLoadMode.equ 0; Setați la 1 pentru modul iLoad (pentru testare); setat la 0 pentru generarea imaginii pistei 0; setat la 2 pentru generarea de fișiere binare cpm22.bin; --------------------------------------- --------------------------------

Trebuie să fie la 0, acesta este valoarea implicită - dar verificați oricum!

După ce ați terminat, salvați fișierul.

acum puteți rula tasm:

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

Rețineți numele fișierului de ieșire diferit, dacă totul merge bine, ar trebui să vedeți ieșirea astfel:

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

Asamblator TASM Z80. Versiunea 3.2 septembrie 2001. Copyright (C) 2001 Squak Valley Software tasm: pass 1 complete. tasm: treceți 2 complet. tasm: Număr de erori = 0 c: / z80mbc / sd / src / QPM_271_Custom_BIOS>

Sunteți gata să faceți orice modificări de care aveți nevoie în BIOS! fişier.

Pasul 4: Găsiți adresa de ceas în timp real

Înainte de a instala noua versiune a BIOS-ului, o parte din instalarea QP / M trebuie să cunoască adresa de intrare pentru rutinele ceasului în timp real. Dacă nu setați acest lucru, funcțiile de timp din QP / M vor afișa „Fără ceas” ca mesaj de eroare.

Pentru a obține adresa, editați fișierul LST produs atunci când compilați fișierul qpm22.bin, adică.

notepad cpm22_Z80MBC2.lst

Căutați eticheta TIMDAT, Ctrl-f (sau găsiți) căutați TIMDAT, veți găsi o secțiune ca aceasta:

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

0856+ EC16; TIMDAT; 0857+ EC16; =================================================== ==========================; 0858+ EC16; Aceasta este o rutină specifică QP / M pentru interfața de ceas QP / M-timp real; 0859+ EC16; pentru a utiliza pe deplin caracteristicile de ștampilare a orei / datei QP / M.; 0860+ EC16; Adresa TIMDAT trebuie specificată în timpul QINSTALL prin opțiunea; 0861+ EC16; meniul de instalare QDOS (vezi paginile 26-27 din Ghidul de instalare QP / M); 0862+ EC16;; 0863+ EC16; NOTĂ: Dacă RTC nu este prezent, IOS va da toți 0s octeți. Aceasta este; 0864+ EC16; „interpretat” de QP / M ca „FĂRĂ Ceas”.; 0865+ EC16; =================================================== ==========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Notați adresa celei de-a doua coloane HEX, în acest caz EC16. Scoateți valoarea de pe linia de mai jos de comentarii, chiar deasupra instrucțiunii de salt JP USERCLK. Unde scrie TIMDAT.

Acum aveți valea, puteți ieși din fișier și puteți continua cu QP / M intsall

Pasul 5: Adăugați BIOS-ul la o nouă imagine de disc

În acest pas vom face propria copie a discului de boot DS1N00. DSK și vom adăuga propria versiune a BIOS-ului gata să finalizeze instalarea QP / M

Pentru început, creați un folder temporar al unității C pentru a vă păstra copiile de lucru. Deschideți o solicitare CMD și tastați următoarele

cd c: / z80mbc

mkdir temp cd temp

Apoi copiați imaginea de disc originală din directorul SD

copiați c: / z80mbc / sd / DS1N00. DSK.

Obțineți fișierele curente din imaginea discului:

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

Secvența de mai sus va crea un alt folder temporar în directorul temporar numit disk0, le va copia toate fișierele existente din imaginea discului în director. Utilizați DIR după pentru a vă asigura că aveți fișierele.

Apoi putem formata imaginea discului ca un disc nou, acesta este singurul mod ușor de a adăuga piesele de boot la imaginea discului, fără a fi nevoie să creați un disc complet nou de la zero. Rețineți că opțiunea „-b” folosește BIOS-ul pe care l-am compilat mai sus.

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

Acum piesele de boot sunt actualizate, puteți adăuga fișierele originale înapoi la imagine:

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

Acum aveți un disc bootabil, acesta va porni de fapt CP / M nu QP / M în pasul următor folosim programul de instalare QP / M pentru a înlocui partea CBIOS a sistemului CP / M

Asigurați-vă că aveți o copie de lucru a cardului SD de pornire, apoi copiați fișierul DS1N00. DSK pe care îl creați în acest pas în folderul rădăcină al cardului SD, acesta va înlocui fișierul existent.

Pasul 6: Porniți în noua dvs. imagine de disc

Conectați un terminal serial la z80mbc2

țineți comutatorul de utilizator, țineți-l apăsat, apăsați și eliberați comutatorul de resetare. Când LED-ul utilizatorului se stinge și lumina IOS clipește, eliberați comutatorul utilizatorului.

Ar trebui să vă aflați acum la ecranul „Boot” de pe terminal, astfel: Z80-MBC2 - A040618

IOS - Subsistem I / O - S220718-R240620 IOS: Ceas Z80 setat la 8MHz IOS: Modul RTC DS3231 găsit (26/10/20 16:46:45) IOS: Senzor de temperatură RTC DS3231: 20C IOS: Opțiune GPE găsită IOS: CP / M Autoexec este OFF IOS: Selectați modul de pornire sau parametrii de sistem: 0: Nicio modificare (3) 1: De bază 2: Înainte 3: Încărcați sistemul de operare din setul de discuri 1 (QP / M 2.71) 4: Autoboot 5: iLoad 6: Modificați viteza de ceas Z80 (-> 4 MHz) 7: Comutați CP / M Autoexec (-> PORNIT) 8: Modificați setul de disc 1 (QP / M 2.71) 9: Modificați data / ora RTC Introduceți alegerea>

Utilizați Opțiunea 8 pentru a schimba setul de discuri la QP / M, când îl selectați, trebuie să încărcați BIOS-ul QP / M. Aș recomanda, de asemenea, să apăsați reset, deoarece am văzut prima încărcare după opțiunea 8 eșuând de mai multe ori. Asa:

IOS: Set de discuri curent 1 (QP / M 2.71)

IOS: Încărcarea programului de încărcare (QPMLDR. BIN)… Efectuat IOS: Z80 rulează de acum Z80-MBC2 QP / M 2.71 Cold Loader - S160918 Se încarcă … realizat versiunea personalizată a Z80-MBC2 QP / M 2.71 BIOS - S150918 A>

Notă Am adăugat „Versiunea personalizată” de mai sus când am editat fișierul BIOS, ca o demonstrație pentru acest pas.

În acest moment, rulați de fapt CP / M 2.2 Cbios cu BIOS-ul personalizat pentru QP / M, astfel încât lucruri precum comanda TIME nu funcționează, de exemplu, dacă tastați TIME (ar trebui să răspundă cu data + ora) veți obține Răspuns CP / M 2.2 de TIME? - crede că este o comandă pe disc și nu o poate găsi.

Acum este timpul să instalați QI / M înlocuitor CBIOS pe imaginea discului.

Porniți programul qinstall.com:

A> qinstall

QP / M 2.7 Programul de instalare / configurare v2.1 QINSTALL folosește programul SYSGEN pentru a instala QP / M pe disc. După configurarea sistemului, vi se va solicita numele programului SYSGEN. Acest utilitar ar trebui să fie disponibil pe unul dintre discurile dvs. Pentru ca QINSTALL să se finalizeze cu succes, imaginea sistemului de pe disc și sistemul aflat în prezent în memorie TREBUIE să fie identice. (Folosiți pentru a anula programul.) Doriți să continuați? (DA / N):

Apoi răspundeți la Y pentru a continua.

Veți fi întrebat în continuare despre setările QCP (puteți juca mai târziu!), Deocamdată spuneți N

Doriți să examinați și / sau să modificați

setările implicite QCP? (DA / N): N

Apoi veți fi întrebat despre setările QDOS, apăsați Y

Doriți să examinați sau să modificați

setările implicite QDOS? (Da / N): Da

Veți avea un meniu de genul acesta:

*** Setări de instalare a sistemului QDOS ***

Salvați caracterul obținut în timpul scanării consolei. DA BIOS acceptă tabelul de coduri de eroare BDOS ………. NU Adresa vectorului de salt oră / dată …………. Funcția de căutare a unității / utilizatorului DEZACTIVAT ……………….. ACTIVAT Reînregistrare automată a discului …………………… ACTIVAT Restabiliți setările inițiale Ieșiți din instalarea QDOS Introduceți opțiunea:

În acest moment, trebuie să introduceți numărul HEX de la pasul 4 de mai sus (găsiți adresa de ceas în timp real)

Apăsați 2 și introduceți adresa HEX EC16, dacă nu ați făcut modificări în bios, în cazul meu este EC04, deoarece am adăugat un text etc.

Introduceți adresa vectorului oră / dată în hex (de la 0 la DEZACTIVAT): EC04

Acum puteți ieși din meniul QDOS și continuați.

Următorul ecran afișează:

Introduceți numele programului dvs. SYSGEN și apăsați RETURN.

(Specificați unitatea dacă este necesar; nu utilizați extensia. COM): SYSGENQ

Introduceți versiunea specială a sysgen, numită SYSGENQ

Apoi veți vedea:

*** Crearea imaginii QP / M de 59k ***

QINSTALL va executa acum A: SYSGENQ. COM. Trebuie să-i instruiți lui A: SYSGENQ. COM să citească pistele sistemului. Când CITIREA este finalizată, părăsiți programul SYSGEN. Va apărea mesajul „*** QINSTALL căutând imaginea sistemului ***” urmat de instrucțiuni suplimentare. Apăsați pentru a continua -OR- pentru a întrerupe -

Apăsați C pentru a continua:

SYSGENQ - S140918 - Z80-MBC2

CP / M 2.2 SYSGEN-like Utility Utilizați numai pentru a instala QP / M 2.71 folosind QINSTALL. COM AVERTISMENT: Comanda W va suprascrie pista sistemului! Citiți piesele de sistem și încărcați-le pe RAM sau le scrieți pe disc? [R / W]>

Prima dată când vedeți acest mesaj, alegeți R pentru a citi piesele sistemului, veți primi apoi:

Citind … gata

*** QINSTALL căutarea imaginii sistemului *** Imaginea sistemului a fost găsită începând cu ora 0900H. Instalarea QP / M. Programul dvs. SYSGEN va relua acum execuția. Trebuie să instruiți programul să SCRIE pistele sistemului. Apăsați pentru a continua -OR- pentru a întrerupe -

Apăsați din nou pe C pentru a continua:

SYSGENQ - S140918 - Z80-MBC2

CP / M 2.2 SYSGEN-like Utility Utilizați numai pentru a instala QP / M 2.71 folosind QINSTALL. COM AVERTISMENT: Comanda W va suprascrie pista sistemului! Citiți piesele de sistem și încărcați-le pe RAM sau le scrieți pe disc? [R / W]>

De data aceasta, apăsați W pentru a scrie noul QP / M și BISO înapoi pe piesele de pe disc:

Scrierea … gata

A>

Acum puteți apăsa reset și reporniți în noua bios QP / M. Dacă tastați acum TIME la prompt, va rula versiunea completă a QP / M și va răspunde astfel:

Z80-MBC2 - A040618

IOS - Subsistem I / O - S220718-R240620 IOS: Ceas Z80 setat la 8MHz IOS: Modul RTC DS3231 găsit (26/10/20 17:10:48) IOS: Senzor de temperatură RTC DS3231: 20C IOS: Opțiune GPE găsită IOS: CP / M Autoexec este OPRIT IOS: Set de discuri curent 1 (QP / M 2.71) IOS: Se încarcă programul de încărcare (QPMLDR. BIN) … IOS terminat: Z80 rulează de acum Z80-MBC2 QP / M 2.71 Încărcător rece - S160918 Se încarcă … finalizat Versiunea personalizată a Z80-MBC2 QP / M 2.71 BIOS - S150918 A> ora 26-oct-20 17:10:56 A>

În funcțiune cu noul BIOS, rețineți textul „Versiune personalizată” de mai sus. Probabil că ar trebui să citiți restul documentației QP / M la

Fin

Recomandat: