Sommario:
- Forniture
- Passaggio 1: aggiunta del software al computer di build
- Passaggio 2: aggiungere i tuoi strumenti al percorso di Windows
- Passaggio 3: testare Tasm
- Passaggio 4: trova l'indirizzo dell'orologio in tempo reale
- Passaggio 5: aggiungi il BIOS a una nuova immagine del disco
- Passaggio 6: avviare la nuova immagine del disco
Video: Z80 MBC2 - Ricompilare QP/M Bios e Loader: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
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
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
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
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:
Z80-MBC2 Programmazione dell'Atmega32a: 6 passaggi
Z80-MBC2 Programmazione dell'Atmega32a: prima di poter utilizzare lo z80-MBC2, dopo averlo costruito, è necessario programmare l'Atmeg32. Queste istruzioni mostrano come utilizzare un arduino mini economico come programmatore per caricare il codice
Z80-mbc2 LED utente flash codice Z80: 3 passaggi
Z80-mbc2 Z80 Code Flash User LED: questo è un esempio di programma LED utente scritto nell'assemblatore Z80 per il computer z80-mbc2. Ho fatto questo esercizio di test e revisione per me, questo è il mio primo programma Z80 da oltre 35 anni. Divertiti
Utilizzo del terminale ESP32/VGA32 per Z80-MBC2: 7 passaggi
Utilizzo del terminale ESP32/VGA32 per Z80-MBC2: come creare e installare il software ANSI Terminal su una scheda ESP32/VGA32. Quindi collegarlo a una scheda Z80-MBC2
Un vero computer fatto in casa facile da costruire: Z80-MBC2!: 9 passaggi (con immagini)
Un vero computer fatto in casa facile da costruire: Z80-MBC2!: Se sei curioso di sapere come funziona un computer e interagisce con "cose esterne", oggigiorno ci sono un sacco di schede pronte per giocare come Arduino o Raspberry e molte altre. Ma queste tavole hanno lo stesso "limite"… ciao
Crea un UFD avviabile per il BIOS AMI lampeggiante: 12 passaggi
Crea un UFD avviabile per il BIOS AMI lampeggiante: sia i notebook che i PC desktop richiedono occasionalmente aggiornamenti del BIOS. Quando visiti il sito Web di un fornitore (il PC mfgr o il produttore del BIOS) e scopri un nuovo BIOS con le funzionalità che desideri, o gli aggiornamenti richiedono un nuovo BIOS, è il momento di mettere tutti gli ingre