Taula de continguts:

Z80 MBC2: torneu a compilar bios i carregadors QP / M: 6 passos
Z80 MBC2: torneu a compilar bios i carregadors QP / M: 6 passos

Vídeo: Z80 MBC2: torneu a compilar bios i carregadors QP / M: 6 passos

Vídeo: Z80 MBC2: torneu a compilar bios i carregadors QP / M: 6 passos
Vídeo: Z80-MBC2: Z80 homebrew computer playing Startrek with CP/M 2024, Juliol
Anonim
Z80 MBC2: torneu a compilar bios i carregadors QP / M
Z80 MBC2: torneu a compilar bios i carregadors QP / M

Si, com jo, us trobeu en una posició en què heu de tornar a compilar la biografia QP / M per al vostre MBC2, llavors és com ho feu.

He documentat el procés de recompilació de la versió existent. Depèn de vosaltres fer canvis als fitxers Bios reals, si cal. Només he fet canvis per poder mantenir la meva instal·lació de QP / M en línia amb la versió de CP / M 2.2 Bios que estic utilitzant (aquests canvis no es mostren només el procés de com fer-ho)

La primera part del procés és gairebé idèntica a la CP / M 2.2 Bios, de manera que si ja teniu configurat el vostre equip de compilació, no dubteu a saltar-lo.

La principal diferència és que QP / M ha de carregar-se des de la primera pista del disc d’arrencada, no un fitxer.bin com CP / M 2.2, descrit a continuació.

Subministraments

Una màquina Windows per executar el compilador. Vaig utilitzar una màquina virtual de Windows XP que funcionava en un KVM, perquè és molt petita i no entrarà mai a Internet. Però funciona a Windows 10 perfectament bé.

El compilador TASM 3.2 z80, cerqueu-ho a Google, heu d’acabar a

Una còpia del fitxer zip SD de la pàgina inicial z80-mbc2, en el moment de l’escriptura, era

CPMTools per a Windows des de https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip és una versió de 32 bits, però funciona bé en sistemes de 64 bits.

Pas 1: afegir el programari a l'ordinador de construcció

Addició del programari a l'ordinador de construcció
Addició del programari a l'ordinador de construcció
Addició del programari a l'ordinador de construcció
Addició del programari a l'ordinador de construcció

Un cop tingueu en funcionament la màquina Windows, copieu o descarregueu els fitxers esmentats a la secció "necessitareu" anterior.

Creeu un directori de treball a la vostra màquina, us suggereixo (per evitar moltes escriptures i errors tipogràfics) que creeu un directori a la unitat C, per exemple c: / z80mbc. Us recomano que eviteu espais als noms, si és possible i camins de directori llargs. Fes-ho simple.

Creeu una carpeta dins d’aquest directori per a la inserció dels fitxers TASM, c: / z80mbc / tasm

Creeu una carpeta per a la imatge de la targeta SD, c: / z90mbc / SD

Feu clic amb el botó dret a cadascun dels fitxers i extreu el contingut als directoris que heu creat anteriorment. Així, tasm.zip s’extreu a c: / z80mbc / tasm i el fitxer zip espantat a c: / z80mbc / SD

Per facilitar alguns dels passos següents, també podeu descomprimir cpmtool32.zip a un altre directori, per exemple c: / z80mbc / cpmtools.

Pas 2: afegir les vostres eines al camí de Windows

Afegir les vostres eines al camí de Windows
Afegir les vostres eines al camí de Windows
Afegir les vostres eines al camí de Windows
Afegir les vostres eines al camí de Windows

Segons la vostra versió de Windows, feu una de les accions següents

Windows 10

Obriu el menú de propietats fent clic dret sobre l’element “Aquest ordinador” des d’una finestra de l’explorador.

Feu clic a "Configuració avançada del sistema", s'obrirà una finestra anomenada "Propietats del sistema" (també podeu accedir a les propietats del sistema d'altres maneres, però no faig servir gaire Windows, així que aquest és el meu camí!)

Feu clic a "Variables d'entorn"

Windows XP

Feu clic al botó d'inici, feu clic dret a "el meu ordinador" i, a continuació, podeu fer clic a les propietats per obtenir "propietats del sistema".

Feu clic a la pestanya Avançat

Feu clic a "Variables d'entorn"

Quan tingueu la finestra de variables d'entorn a la pantalla, heu de fer dues coses;

Afegiu una variable nova

A la part superior de les finestres, a "Variables d'usuari per a …"

Feu clic a Nou

Per al tipus de nom a TASMTABS

Per al tipus de valor a c: / z80mbc / tasm

Modifiqueu la variable PATH

A la part inferior de la finestra, a "Variables del sistema"

trieu (ressalteu) Camí i feu clic a Edita

Al final del contingut existent, afegiu; c: / z80mbc / tasm; c: / z80mbc / cpmtools

(No oblideu el punt i coma a l’inici!)

Ara heu de reiniciar l'ordinador perquè aquestes addicions tinguin efecte.

Pas 3: provar Tasm

Provant Tasm
Provant Tasm
Provant Tasm
Provant Tasm
Provant Tasm
Provant Tasm

Per tal de provar podem compilar una còpia exacta de la BIOS QP / M existent, hem de fer una mica més de preparació. Els fitxers d’aquest directori són:

BIOS QPM271 - S150918.asm: el fitxer principal de la BIOS, és probable que sigui el fitxer que modificareu.

QPM271_ColdLoader - S160918.asm: es tracta del carregador QP / M, llegeix les primeres pistes de la imatge del disc a la memòria. En un sistema CP / m més tradicional, es denominaria bootstrap i estaria en EEPROM o ROM. No haureu de modificar aquest fitxer que ja està compilat i a la imatge de la targeta SD com a QPMLDR. BIN

SYSGENQ - S140918.asm - Aquest programa s'utilitza juntament amb l'instal·lador QP / M, de nou tampoc no haureu de canviar-lo, ja existeix a la imatge del disc d'arrencada llesta per al seu ús. Bàsicament, llegeix i escriu les pistes que utilitza el carregador de fred anterior.

Abans de provar la nostra instal·lació de TASM, necessiteu un fitxer més, cpm22_Z80MBC2.asm, per defecte no es troba en aquest directori, ja que és el mateix fitxer que s’utilitzava per al cpm 2.2. Necessitem aquest fitxer per proporcionar el CBIOS / CCP original per a l’arrencada inicial de QP / M. Podeu copiar aquest fitxer al directori CPM_22_Custom_BIOS.

Utilitzeu l'explorador de Windows per copiar-lo o des d'un símbol del sistema (CMD) feu

cd c: / z80mbc / sd / src / QPM_271_Custom_BIOS

copia.. / CPM_22_Custom_BIOS / cpm22_Z80MBC2.asm

Ara heu de canviar aquest fitxer per incloure el BIOS QP / M, obriu el fitxer amb el bloc de notes:

cerqueu "QPM" (CTRL-F, o editeu el menú i cerqueu) Vegeu la imatge superior

canvieu el fitxer de:

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

; Z80-MBC2; ---------------------------------------------- ------------------------; #include "BIOS QPM271 - S150918.asm"; CBIOS inclòs per al Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; CBIOS inclòs per al Z80-MBC2

Per a:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- #include "BIOS QPM271 - S150918.asm"; CBIOS inclòs per al Z80-MBC2; #include "BIOS CPM22 - S030818-R140319.asm"; CBIOS inclòs per al Z80-MBC2

També heu de comprovar el valor d’iLoadMode al fitxer cpm22_Z80MBC2.asm copiat, al voltant de la línia 40:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- iLoadMode.equ 0; Estableix a 1 per al mode iLoad (per provar),; establert a 0 per a la generació d'imatges de la pista 0; definit a 2 per a la generació de fitxers binaris cpm22.bin; --------------------------------------- --------------------------------

Ha de ser a 0, aquest és el valor per defecte, però comproveu-ho igualment.

Un cop fet, deseu el fitxer.

ara podeu executar tasm:

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

Tingueu en compte el nom del fitxer de sortida diferent, si tot va bé, hauríeu de veure la sortida així:

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

Muntador TASM Z80. Versió 3.2 de setembre de 2001. Copyright (C) 2001 Tasm Software Squak Valley: aprovació 1 completa. tasm: passa 2 completat. tasm: Nombre d'errors = 0 c: / z80mbc / sd / src / QPM_271_Custom_BIOS>

Ja esteu a punt per fer els canvis que necessiteu a la BIOS. dossier.

Pas 4: cerqueu l'adreça del rellotge en temps real

Abans d’instal·lar la nova versió del BIOS, una part de la instal·lació de QP / M ha de conèixer l’adreça d’entrada de les rutines del rellotge en temps real. Si no ho configureu en cap moment, les funcions de QP / M tornaran a "Sense rellotge" com a missatge d'error.

Per obtenir l'adreça, editeu el fitxer LST produït quan compileu el fitxer qpm22.bin, és a dir.

bloc de notes cpm22_Z80MBC2.lst

Cerqueu l'etiqueta TIMDAT, Ctrl-f (o trobeu) cerqueu TIMDAT, trobareu una secció com aquesta:

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

0856+ EC16; TIMDAT; 0857+ EC16; =================================================== ==========================; 0858+ EC16; Això és una rutina específica de QP / M per a la interfície de rellotge en temps real de QP / M; 0859+ EC16; per utilitzar al màxim les funcions d’estampació de data i hora de QP / M.; 0860+ EC16; L'adreça de TIMDAT s'ha d'especificar durant QINSTALL mitjançant l'opció de; 0861+ EC16; el menú d'instal·lació de QDOS (vegeu les pàgines 26-27 de la Guia d'instal·lació de QP / M); 0862+ EC16;; 0863+ EC16; NOTA: Si no hi ha RTC, IOS donarà tots els 0 bytes. Això és; 0864+ EC16; "interpretat" per QP / M com a "SENSE RELLOTGE".; 0865+ EC16; =================================================== =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Anoteu la direcció de la segona columna HEX, en aquest cas EC16. Traieu el valor de la línia de sota dels comentaris, just a sobre de la instrucció de salt JP USERCLK. On diu TIMDAT.

Ara teniu la vall, podeu sortir del fitxer i continuar amb el QP / M intsall

Pas 5: afegiu el BIOS a una nova imatge de disc

En aquest pas farem la nostra pròpia còpia del disc d’arrencada DS1N00. DSK i afegirem la nostra pròpia versió del BIOS a punt per completar la instal·lació de QP / M

Per començar, feu una carpeta temporal de la unitat C per conservar les còpies de treball. Obriu una sol·licitud CMD i escriviu el següent

cd c: / z80mbc

mkdir temp cd temp

A continuació, copieu la imatge del disc original del directori SD

còpia c: / z80mbc / sd / DS1N00. DSK.

Obteniu els fitxers actuals de la imatge del disc:

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

La seqüència anterior crearà una altra carpeta temporal dins del directori temporal anomenat disk0, copiaran tots els fitxers existents de la imatge del disc al directori. Utilitzeu DIR després per assegurar-vos que teniu els fitxers.

A continuació, podem formatar la imatge del disc com a disc nou, aquesta és l'única manera fàcil d'afegir les pistes d'arrencada a la imatge del disc, sense haver de crear un disc completament nou des de zero. Tingueu en compte que l'opció "-b" utilitza la BIOS que hem compilat anteriorment.

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

Ara les pistes d’arrencada s’actualitzen i podeu afegir els fitxers originals a la imatge:

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

Ara teniu un disc d’arrencada, realment arrencarà CP / M no QP / M al següent pas que fem servir l’instal·lador QP / M per substituir la part CBIOS del sistema CP / M

Assegureu-vos que teniu una còpia de treball de la vostra targeta SD d’arrencada i, a continuació, copieu el fitxer DS1N00. DSK que creeu en aquest pas a la carpeta arrel de la targeta SD que substituirà el fitxer existent.

Pas 6: inicieu la vostra nova imatge de disc

Connecteu un terminal sèrie al z80mbc2

manteniu premut l'interruptor d'usuari, manteniu-lo premut, premeu i deixeu anar l'interruptor de reinici. Quan el LED de l'usuari s'apaga i el llum de l'IOS parpelleja, deixeu anar l'interruptor de l'usuari.

Ara hauríeu d'estar a la pantalla "Arrencada" del terminal, així: Z80-MBC2 - A040618

IOS - Subsistema d'E / S - S220718-R240620 IOS: rellotge Z80 configurat a 8 MHz IOS: mòdul RTC DS3231 trobat (26/10/20 16:46:45) IOS: sensor de temperatura RTC DS3231: 20C IOS: opció GPE trobada IOS: CP / M Autoexec està DESACTIVAT IOS: Seleccioneu el mode d’arrencada o els paràmetres del sistema: 0: Sense canvis (3) 1: Bàsic 2: Avanç 3: Càrrega del sistema operatiu des del conjunt de discs 1 (QP / M 2.71) 4: Arrencada automàtica 5: iLoad 6: Canvia la velocitat del rellotge Z80 (-> 4 MHz) 7: commuta CP / M Autoexec (-> ACTIVAT) 8: Canvia el conjunt de discs 1 (QP / M 2,71) 9: Canvia la data i l’hora RTC Introduïu la vostra selecció>

Utilitzeu l’opció 8 per canviar el conjunt de discs a QP / M, quan el seleccioneu hauríeu de carregar el BIOS QP / M. També recomanaria prémer reset, ja que he vist la primera càrrega després que l’opció 8 fallés diverses vegades. Com això:

IOS: conjunt de discs actual 1 (QP / M 2.71)

IOS: S'està carregant el programa d'arrencada (QPMLDR. BIN) … Fet IOS: Z80 s'executa a partir d'ara Z80-MBC2 QP / M 2.71 Cold Loader - S160918 S'està carregant … s'ha fet la versió personalitzada del Z80-MBC2 QP / M 2.71 BIOS - S150918 A>

Nota: Vaig afegir la "Versió personalitzada" anterior quan vaig editar el fitxer BIOS, com a demostració d'aquest pas.

En aquest moment realment esteu executant CP / M 2.2 Cbios amb el BIOS personalitzat per a QP / M, de manera que coses com l’ordre TIME no funcionen, per exemple, si escriviu TIME (hauríeu de respondre amb data + hora) obtindreu el Resposta CP / M 2.2 de TIME? - Creu que és una ordre al disc i no la troba.

Ara és hora d’instal·lar el CBIOS de recanvi QP / M a la imatge del disc.

Inicieu el programa qinstall.com:

A> qinstall

QP / M 2.7 Instal·lació / Configuració del programa v2.1 QINSTALL utilitza el programa SYSGEN per instal·lar QP / M al disc. Després de configurar el sistema, se us demanarà el nom del programa SYSGEN. Aquesta utilitat hauria d’estar disponible en un dels vostres discos. Perquè QINSTALL finalitzi amb èxit, la imatge del sistema al disc i el sistema actualment en memòria HAN DE ser idèntics. (Utilitzeu per avortar el programa.) Voleu continuar? (S / N):

A continuació, contesteu Y per continuar.

A continuació, se us preguntarà sobre la configuració de QCP (podeu jugar més endavant!) Per ara, digueu N

Voleu examinar i / o modificar

la configuració QCP per defecte? (S / N): N

A continuació, se us preguntarà sobre la configuració de QDOS, premeu Y

Voleu examinar o modificar?

la configuració predeterminada de QDOS? (S / N): S

Tindreu un menú com aquest:

*** Configuració d'instal·lació del sistema QDOS ***

Deseu el caràcter obtingut durant l'exploració de la consola. SÍ El BIOS admet la taula de codis d'error BDOS ………. NO Adreça del vector de salt d'hora / data …………. DISABILITAT Funció de cerca de la unitat / usuari ……………….. HABILITAT Reinici de sessió automàtic del disc …………………… HABILITAT Restaurar la configuració inicial Surt de la instal·lació de QDOS Introduïu l'opció:

En aquest moment, heu d'introduir el número HEX del pas 4 anterior (cerqueu l'adreça del rellotge en temps real)

Premeu 2 i introduïu l'adreça HEX EC16, si no heu fet cap canvi a la bios, en el meu cas és EC04 ja que he afegit text, etc.

Introduïu l'adreça del vector hora / data en hexadecimal (de 0 a DESACTIVAT): EC04

Ara podeu sortir del menú QDOS i continuar.

La següent pantalla mostra:

Introduïu el nom del programa SYSGEN i premeu RETORN.

(Especifiqueu la unitat si cal; no utilitzeu l'extensió. COM): SYSGENQ

Introduïu la versió especial de sysgen, anomenada SYSGENQ

Aleshores veureu:

*** Creació d'una imatge QP / M de 59 k *** ***

QINSTALL ara executarà A: SYSGENQ. COM. Heu d’indicar a A: SYSGENQ. COM que llegeixi les pistes del sistema. Quan finalitzeu la LECTURA, sortiu del programa SYSGEN. Apareixerà el missatge "*** QINSTALL cerca la imatge del sistema ***" seguit de més instruccions. Premeu per continuar -O- per avortar -

Premeu C per continuar:

SYSGENQ - S140918 - Z80-MBC2

CP / M 2.2 Utilitat similar a SYSGEN Utilitzeu-la només per instal·lar QP / M 2.71 mitjançant QINSTALL. COM AVÍS: l'ordre W sobreescriurà la pista del sistema. Voleu llegir les pistes del sistema i carregar-les a la memòria RAM o escriure-les al disc? [R / W]>

La primera vegada que veieu aquest missatge, trieu R per llegir les pistes del sistema, obtindreu:

Llegir … fet

*** QINSTALL buscant la imatge del sistema *** S'ha trobat la imatge del sistema a partir de les 0900H. Instal·lació de QP / M. El vostre programa SYSGEN reprendrà l'execució. Heu d’indicar al programa que ESCRIVI les pistes del sistema. Premeu per continuar -O- per avortar -

Torneu a prémer C per continuar:

SYSGENQ - S140918 - Z80-MBC2

CP / M 2.2 Utilitat similar a SYSGEN Utilitzeu-la només per instal·lar QP / M 2.71 mitjançant QINSTALL. COM ADVERTÈNCIA: l'ordre W sobreescriurà la pista del sistema. Voleu llegir les pistes del sistema i carregar-les a la memòria RAM o escriure-les al disc? [R / W]>

Aquesta vegada premeu W per escriure el nou QP / M i BISO de nou a les pistes de disc:

Escrivint … fet

A>

Ara podeu prémer reinicialitzar i reiniciar a la vostra nova bios QP / M. Si ara escriviu TIME a la sol·licitud, executarà la versió completa de QP / M i respondrà així:

Z80-MBC2 - A040618

IOS: subsistema d'E / S: S220718-R240620 IOS: rellotge Z80 configurat a 8 MHz IOS: mòdul RTC DS3231 trobat (26/10/20 17:10:48) IOS: sensor de temperatura RTC DS3231: 20C IOS: opció GPE trobada IOS: CP / M Autoexec està DESACTIVAT IOS: conjunt de discs actual 1 (QP / M 2.71) IOS: S'està carregant el programa d'arrencada (QPMLDR. BIN) … Fet IOS: Z80 s'executa a partir d'ara Z80-MBC2 QP / M 2.71 Cold Loader - S160918 Carregant … versió personalitzada de la BIOS Z80-MBC2 QP / M 2.71 - S150918 A> hora 26-oct-20 17:10:56 A>

En funcionament amb la nova BIOS, tingueu en compte el text "Versió personalitzada" anterior. Probablement hauríeu de llegir la resta de documentació QP / M a

Fin

Recomanat: