Sommario:

Z80 MBC2 - Ricompilare QP/M Bios e Loader: 6 passaggi
Z80 MBC2 - Ricompilare QP/M Bios e Loader: 6 passaggi

Video: Z80 MBC2 - Ricompilare QP/M Bios e Loader: 6 passaggi

Video: Z80 MBC2 - Ricompilare QP/M Bios e Loader: 6 passaggi
Video: Сборка и тестирование компьютерного комплекта Z80 MBC2 Retro Z80 2024, Novembre
Anonim
Z80 MBC2 - Ricompila QP/M Bios e Loader
Z80 MBC2 - Ricompila QP/M Bios e Loader

Se, come me, ti trovi in una posizione in cui devi ricompilare il bios QP/M per il tuo MBC2, allora è così che lo fai.

Ho documentato il processo, di come ricompilare la versione esistente. Sta a te apportare modifiche ai file del BIOS effettivi, se necessario. Ho apportato modifiche solo per essere in grado di mantenere la mia installazione di QP/M in linea con la versione di CP/M 2.2 Bios che sto utilizzando (queste modifiche non vengono mostrate solo il processo di come)

La prima parte del processo è quasi identica al BIOS CP/M 2.2, quindi se hai già configurato il tuo computer di build sentiti libero di saltare quella parte.

La differenza principale è che QP/M deve essere caricato dalla prima traccia del disco di avvio, non un file.bin come CP/M 2.2, descritto di seguito.

Forniture

Una macchina Windows su cui eseguire il compilatore. Ho usato una macchina virtuale Windows XP in esecuzione su un KVM, perché è molto piccola e non andrà mai su Internet. Ma funziona perfettamente con Windows 10.

Il compilatore TASM 3.2 z80, cercalo su google, dovresti finire su

Una copia del file zip SD dalla home page di z80-mbc2, al momento della stesura era

CPMTools per Windows da https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip questa è una versione a 32 bit ma funziona bene su sistemi a 64 bit.

Passaggio 1: aggiunta del software al computer di build

Aggiunta del software al computer di build
Aggiunta del software al computer di build
Aggiunta del software al computer di build
Aggiunta del software al computer di build

Una volta installato e funzionante il tuo computer Windows, copia o scarica i file menzionati nella sezione "ti servirà" sopra.

Crea una directory di lavoro sulla tua macchina, suggerisco (per evitare molte digitazioni e errori di battitura) di creare una directory sull'unità C, ad esempio c:\z80mbc. Consiglio vivamente di evitare spazi nei nomi, se possibile e lunghi percorsi di directory. Mantienilo semplice.

Crea una cartella all'interno di questa directory in cui inserire i file TASM, c:\z80mbc\tasm

Crea una cartella in cui inserire l'immagine della scheda SD, c:\z90mbc\SD

Fai clic con il pulsante destro del mouse su ciascuno dei file ed estrai il contenuto nelle directory che hai creato sopra. Quindi tasm.zip viene estratto in c:\z80mbc\tasm e il file zip spaventato in c:\z80mbc\SD

Per semplificare alcuni dei passaggi successivi, puoi anche decomprimere cpmtool32.zip in un'altra directory, ad esempio c:\z80mbc\cpmtools.

Passaggio 2: aggiungere i tuoi strumenti al percorso di Windows

Aggiungere i tuoi strumenti al percorso di Windows
Aggiungere i tuoi strumenti al percorso di Windows
Aggiungere i tuoi strumenti al percorso di Windows
Aggiungere i tuoi strumenti al percorso di Windows

A seconda della versione di Windows, esegui una delle seguenti operazioni

Windows 10

Apri il menu delle proprietà facendo clic con il pulsante destro del mouse sulla voce "Questo PC" da una finestra di Explorer.

Fai clic su "Impostazioni di sistema avanzate", si aprirà una finestra chiamata "Proprietà di sistema" (puoi anche accedere alle proprietà di sistema in altri modi, ma non uso molto Windows quindi questo è il mio modo!)

Fare clic su "Variabili d'ambiente"

Windows XP

Fare clic sul pulsante Start, fare clic con il pulsante destro del mouse su "Risorse del computer", quindi fare clic su Proprietà per ottenere "Proprietà di sistema".

Fare clic sulla scheda Avanzate

Fare clic su "Variabili d'ambiente"

Quando hai la finestra Variabili d'ambiente sullo schermo devi fare due cose;

Aggiungi una nuova variabile

Nella parte superiore delle finestre, sotto "variabili utente per…"

Fare clic su Nuovo

Per il nome digitare in TASMTABS

Per il tipo Valore in c:\z80mbc\tasm

Modifica la variabile PATH

Nella parte inferiore della finestra, sotto "Variabili di sistema"

scegli (evidenzia) Percorso, quindi fai clic su Modifica

Alla fine del contenuto esistente aggiungi;c:\z80mbc\tasm;c:\z80mbc\cpmtools

(Non dimenticare il punto e virgola all'inizio!)

È ora necessario riavviare il computer affinché queste aggiunte abbiano effetto.

Passaggio 3: testare Tasm

Test Tasm
Test Tasm
Test Tasm
Test Tasm
Test Tasm
Test Tasm

Per testare possiamo compilare una copia esatta del BIOS QP/M esistente, dobbiamo fare un po' più di preparazione. I file in questa directory sono:

BIOS QPM271 - S150918.asm - Il file BIOS principale, questo è molto probabilmente il file che modificherai.

QPM271_ColdLoader - S160918.asm - questo è il caricatore QP/M, legge le prime tracce dall'immagine del disco in memoria. In un sistema CP/m più tradizionale questo sarebbe indicato come bootstrap e sarebbe in EEPROM o ROM. Non dovresti aver bisogno di modificare questo file è già compilato e sull'immagine della scheda SD come QPMLDR. BIN

SYSGENQ - S140918.asm - Questo programma viene utilizzato insieme al programma di installazione QP/M, anche in questo caso normalmente non sarà necessario modificarlo, esiste già nell'immagine del disco di avvio pronto per l'uso. Essenzialmente legge e scrive le tracce utilizzate dal caricatore a freddo sopra.

Prima di testare la nostra installazione di TASM è necessario un altro file, cpm22_Z80MBC2.asm, non è in questa directory per impostazione predefinita poiché è lo stesso file utilizzato per cpm 2.2. Abbiamo bisogno di questo file per fornire il CBIOS/CCP originale per l'avvio iniziale di QP/M. È possibile copiare questo file dalla directory CPM_22_Custom_BIOS.

Usa Windows Explorer per copiarlo o da un prompt dei comandi (CMD) fai

cd c:\z80mbc\sd\src\QPM_271_Custom_BIOS

copia..\CPM_22_Custom_BIOS\cpm22_Z80MBC2.asm

Ora è necessario modificare questo file per includere il BIOS QP/M, aprire il file con il blocco note:

cerca "QPM" (CTRL-F, o modifica menu e trova) Vedi immagine sopra

cambia il file da:

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

; Z80-MBC2;------------------------------------------------------------ -------------------------;#include "BIOS QPM271 - S150918.asm"; CBIOS incluso per Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; CBIOS incluso per Z80-MBC2

Per:

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

; Z80-MBC2;------------------------------------------------------------ ------------------------- #include "BIOS QPM271 - S150918.asm"; CBIOS incluso per Z80-MBC2;#include "BIOS CPM22 - S030818-R140319.asm"; CBIOS incluso per Z80-MBC2

Dovresti anche controllare il valore di iLoadMode nel file cpm22_Z80MBC2.asm copiato, intorno alla riga 40:

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

; Z80-MBC2;------------------------------------------------------------ ------------------------- iLoadMode.equ 0; Impostare su 1 per la modalità iLoad (per il test),; impostato a 0 per la generazione dell'immagine della traccia 0,; impostato su 2 per la generazione di file binari cpm22.bin;----------- --------------------------------

Deve essere a 0, questa è l'impostazione predefinita, ma controlla comunque!

Una volta fatto, salva il file.

ora puoi eseguire tasm:

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

Nota il diverso nome del file di output, se tutto va bene dovresti vedere un output come questo:

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

Assemblatore TASM Z80. Versione 3.2 settembre 2001. Copyright (C) 2001 Squak Valley Software tasm: passaggio 1 completo. tasm: passaggio 2 completo. tasm: Numero di errori = 0 c:\z80mbc\sd\src\QPM_271_Custom_BIOS>

Sei pronto per apportare tutte le modifiche necessarie al BIOS! file.

Passaggio 4: trova l'indirizzo dell'orologio in tempo reale

Prima di installare la nuova versione del BIOS, parte dell'installazione QP/M deve conoscere l'indirizzo di ingresso per le routine dell'orologio in tempo reale. Se non lo imposti, qualsiasi funzione temporale in QP/M restituirà "Nessun orologio" come messaggio di errore.

Per ottenere l'indirizzo, modificare il file LST prodotto durante la compilazione del file qpm22.bin, ad es.

blocco note cpm22_Z80MBC2.lst

Cerca l'etichetta TIMDAT, Ctrl-f (o trova) cerca TIMDAT, troverai una sezione come questa:

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

0856+ EC16; TIMDAT; 0857+ EC16; ================================================== =========================; 0858+ EC16; Questa è una routine specifica QP/M per l'interfaccia QP/M-to-real-time-clock; 0859+ EC16; per utilizzare appieno le funzioni di stampa di data e ora di QP/M.; 0860+ EC16; L'indirizzo di TIMDAT deve essere specificato durante QINSTALL tramite l'opzione di; 0861+ EC16; il menu di installazione di QDOS (vedi pagine 26-27 della Guida all'installazione di QP/M); 0862+ EC16;; 0863+ EC16; NOTA: se l'RTC non è presente, IOS fornirà tutti i byte 0. Questo è; 0864+ EC16; "interpretato" da QP/M come un "NO CLOCK".; 0865+ EC16; ================================================== =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Prendere nota dell'indirizzo HEX della seconda colonna, in questo caso EC16. Prendi il valore dalla riga sotto i commenti, appena sopra l'istruzione di salto JP USERCLK. Dove c'è scritto TIMDAT.

Ora che hai il vale, puoi uscire dal file e procedere con l'intsall QP/M

Passaggio 5: aggiungi il BIOS a una nuova immagine del disco

In questo passaggio creeremo la nostra copia del disco di avvio DS1N00. DSK e aggiungeremo la nostra versione del BIOS pronta per completare l'installazione di QP/M

Per iniziare, crea una cartella temporanea dell'unità C in cui conservare le copie di lavoro. Apri un prompt CMD e digita quanto segue

cd c:\z80mbc

mkdir temp cd temp

Quindi copia l'immagine del disco originale dalla directory SD

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

Ottieni i file correnti dall'immagine del disco:

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

La sequenza sopra creerà un'altra cartella temporanea all'interno della directory temporanea chiamata disk0, copiando tutti i file esistenti dall'immagine del disco nella directory. Usa DIR dopo per assicurarti di avere i file.

Successivamente possiamo formattare l'immagine del disco come un nuovo disco, questo è l'unico modo semplice per aggiungere le tracce di avvio all'immagine del disco, senza dover creare un disco completamente nuovo da zero. Nota che l'opzione "-b" utilizza il BIOS che abbiamo compilato sopra.

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

Ora le tracce di avvio sono aggiornate, puoi aggiungere i file originali all'immagine:

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

Ora hai un disco avviabile, avvierà effettivamente CP/M e non QP/M nel passaggio successivo utilizzeremo il programma di installazione QP/M per sostituire la parte CBIOS del sistema CP/M

Assicurati di avere una copia funzionante della tua scheda SD di avvio, quindi copia il file DS1N00. DSK che hai creato in questo passaggio nella cartella principale della scheda SD che sostituirà il file esistente.

Passaggio 6: avviare la nuova immagine del disco

Collega un terminale seriale allo z80mbc2

tenere premuto l'interruttore utente, tenerlo premuto, premere e rilasciare l'interruttore di ripristino. Quando il LED utente si spegne e la luce IOS lampeggia, rilasciare l'interruttore utente.

Ora dovresti essere nella schermata "Boot" sul terminale, in questo modo: Z80-MBC2 - A040618

IOS - Sottosistema I/O - S220718-R240620 IOS: orologio Z80 impostato su 8 MHz IOS: trovato modulo RTC DS3231 (26/10/20 16:46:45) IOS: sensore di temperatura RTC DS3231: 20C IOS: trovato opzione GPE IOS: CP/M Autoexec è OFF IOS: selezionare la modalità di avvio o i parametri di sistema: 0: nessuna modifica (3) 1: base 2: quarto 3: caricamento del sistema operativo dal set di dischi 1 (QP/M 2.71) 4: avvio automatico 5: iLoad 6: Modifica la velocità di clock dello Z80 (->4MHz) 7: Attiva/disattiva CP/M Autoexec (->ON) 8: Cambia il set di dischi 1 (QP/M 2.71) 9: Cambia l'ora/data RTC Inserisci la tua scelta >

Usa l'opzione 8 per cambiare il disco impostato su QP/M. Quando lo selezioni dovresti caricare il tuo BIOS QP/M. Consiglierei anche di premere reset, poiché ho visto il primo caricamento dopo l'opzione 8 fallire più volte. Come questo:

IOS: set di dischi corrente 1 (QP/M 2.71)

IOS: Caricamento del programma di avvio (QPMLDR. BIN)… Fatto IOS: Z80 è in esecuzione da ora Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Caricamento… fatto Versione personalizzata di Z80-MBC2 QP/M 2.71 BIOS - S150918 A>

Nota che ho aggiunto la "Versione personalizzata" sopra quando ho modificato il file del BIOS, proprio come demo per questo passaggio.

A questo punto stai effettivamente eseguendo CP/M 2.2 Cbios con il BIOS personalizzato per QP/M, quindi cose come il comando TIME non funzionano, ad esempio se digiti TIME (dovrebbe rispondere con data+ora) otterrai il Risposta CP/M 2.2 di TIME? - pensa che sia un comando sul disco e non riesce a trovarlo.

È giunto il momento di installare il CBIOS sostitutivo QP/M sull'immagine del disco.

Avvia il programma qinstall.com:

A>qinstall

QP/M 2.7 Programma di installazione/configurazione v2.1 QINSTALL utilizza il programma SYSGEN per installare QP/M sul disco. Dopo aver configurato il sistema, ti verrà richiesto il nome del tuo programma SYSGEN. Questa utility dovrebbe essere disponibile su uno dei tuoi dischi. Affinché QINSTALL venga completato correttamente, l'immagine del sistema su disco e il sistema attualmente in memoria DEVONO essere identici. (Utilizzare per interrompere il programma.) Continuare? (S/N):

Quindi rispondi Y per procedere.

Successivamente ti verrà chiesto delle impostazioni QCP (puoi giocare più tardi!) Per ora dì N

Desideri esaminare e/o modificare

le impostazioni QCP predefinite? (S/N):N

Successivamente ti verranno chieste le impostazioni QDOS, premi Y

Vuoi esaminare o modificare

le impostazioni QDOS predefinite? (S/N): Sì

Avrai un menu come questo:

*** Impostazioni di installazione del sistema QDOS ***

Salva carattere ottenuto durante la scansione della console.. S Il BIOS supporta la tabella dei codici di errore BDOS ………. NO Indirizzo del vettore di salto ora/data …………. DISABILITATO Funzione di ricerca unità/utente ……………….. ABILITATO Rilog automatico del disco …………………… ABILITATO Ripristina impostazioni iniziali Esci dall'installazione QDOS Immettere l'opzione:

A questo punto è necessario inserire il numero esadecimale dal passaggio 4 sopra (trova l'indirizzo dell'orologio in tempo reale)

Premi 2 e inserisci l'indirizzo HEX EC16, se non hai apportato modifiche al bios, nel mio caso è EC04 poiché ho aggiunto del testo ecc.

Immettere l'indirizzo del vettore ora/data in esadecimale (da 0 a DISABILITA): EC04

Ora puoi uscire dal menu QDOS e procedere.

La schermata successiva mostra:

Inserisci il nome del tuo programma SYSGEN e premi INVIO.

(Specificare l'unità se necessario; non utilizzare l'estensione. COM):SYSGENQ

Inserisci la versione speciale di sysgen, chiamata SYSGENQ

Vedrai quindi:

*** Creazione di immagini QP/M 59k ***

QINSTALL ora eseguirà A:SYSGENQ. COM. Devi istruire A:SYSGENQ. COM a leggere le tracce di sistema. Al termine della LETTURA, uscire dal programma SYSGEN. Apparirà il messaggio "***QINSTALL ricerca immagine sistema ***" seguito da ulteriori istruzioni. Premere per continuare -OPPURE- per interrompere --

Premi C per continuare:

SYSGENQ - S140918 - Z80-MBC2

CP/M 2.2 Utilità simile a SYSGEN Utilizzare solo per installare QP/M 2.71 utilizzando QINSTALL. COM ATTENZIONE: il comando W sovrascriverà la traccia di sistema! Leggere le tracce di sistema e caricarle nella RAM o riscriverle su disco? [R/W] >

La prima volta che vedi questo messaggio scegli R per leggere le tracce di sistema, otterrai:

Lettura… fatta

*** QINSTALL ricerca dell'immagine del sistema *** Immagine del sistema trovata a partire dalle 0900H. Installazione di QP/M. Il tuo programma SYSGEN ora riprenderà l'esecuzione. È necessario indicare al programma di SCRIVERE le tracce del sistema. Premere per continuare -OPPURE- per interrompere --

Premi nuovamente C per continuare:

SYSGENQ - S140918 - Z80-MBC2

CP/M 2.2 Utilità simile a SYSGEN Utilizzare solo per installare QP/M 2.71 utilizzando QINSTALL. COM ATTENZIONE: il comando W sovrascriverà la traccia di sistema! Leggere le tracce di sistema e caricarle nella RAM o riscriverle su disco? [R/W] >

Questa volta premi W per riscrivere il nuovo QP/M e BISO sulle tracce del disco:

Scrivo… fatto

A>

Ora puoi premere reset e riavviare il tuo nuovo bios QP/M. Se ora digiti TIME al prompt, verrà eseguita la versione completa di QP/M e risponderà in questo modo:

Z80-MBC2 - A040618

IOS - Sottosistema I/O - S220718-R240620 IOS: orologio Z80 impostato su 8 MHz IOS: trovato modulo RTC DS3231 (26/10/20 17:10:48) IOS: sensore di temperatura RTC DS3231: 20C IOS: trovato opzione GPE IOS: CP/M Autoexec è OFF IOS: Set di dischi corrente 1 (QP/M 2.71) IOS: Caricamento del programma di avvio (QPMLDR. BIN)… Fatto IOS: Z80 è in esecuzione da ora Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Caricamento… fatto Versione personalizzata del BIOS Z80-MBC2 QP/M 2.71 - S150918 A>ora 26-ott-20 17:10:56 A>

Il tuo installato e funzionante con il nuovo BIOS, nota il testo "Versione personalizzata" sopra. Probabilmente dovresti leggere il resto della documentazione QP/M su

Fin

Consigliato: