Índice:

Z80 MBC2 - Re-compilar QP / M Bios e carregador: 6 etapas
Z80 MBC2 - Re-compilar QP / M Bios e carregador: 6 etapas

Vídeo: Z80 MBC2 - Re-compilar QP / M Bios e carregador: 6 etapas

Vídeo: Z80 MBC2 - Re-compilar QP / M Bios e carregador: 6 etapas
Vídeo: № 178 Еженедельный обзор № 46 – Новые продукты от производителей 2024, Julho
Anonim
Z80 MBC2 - Re-compilar QP / M Bios e carregador
Z80 MBC2 - Re-compilar QP / M Bios e carregador

Se, como eu, você se encontra em uma posição em que precisa recompilar a bios QP / M para seu MBC2 - então é assim que você o faz.

Documentei o processo de como recompilar a versão existente. Depende de você fazer alterações nos arquivos reais da BIOS, se necessário. Eu só fiz alterações para poder manter minha instalação do QP / M em linha com a versão do CP / M 2.2 Bios que estou usando (essas alterações não são mostradas apenas o processo de como)

A primeira parte do processo é quase idêntica ao CP / M 2.2 Bios, então se você já tem seu computador de construção configurado, fique à vontade para pular essa parte.

A principal diferença é que QP / M deve carregar a partir da primeira trilha do disco de boot - não um arquivo.bin como o CP / M 2.2, descrito abaixo.

Suprimentos

Uma máquina Windows para executar o compilador. Usei uma máquina virtual windows xp rodando em um KVM, porque é muito pequeno e nunca vai entrar na internet. Mas funciona no Windows 10 perfeitamente ok.

O compilador TASM 3.2 z80, pesquise no google, você deve terminar em

Uma cópia do arquivo zip SD da página inicial do z80-mbc2, no momento da redação era

CPMTools for windows de https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip esta é uma versão de 32 bits, mas funciona bem em sistemas de 64 bits.

Etapa 1: Adicionando o software ao seu computador de construção

Adicionando o software ao seu computador de construção
Adicionando o software ao seu computador de construção
Adicionando o software ao seu computador de construção
Adicionando o software ao seu computador de construção

Depois de ter sua máquina Windows instalada e funcionando, copie ou baixe os arquivos mencionados na seção “você vai precisar” acima.

Crie um diretório de trabalho em sua máquina, sugiro (para evitar muita digitação e erros de digitação) que você crie um diretório na unidade C, por exemplo c: / z80mbc. Eu recomendo fortemente que você evite espaços nos nomes, se possível, e caminhos de diretório longos. Mantenha simples.

Crie uma pasta dentro deste diretório para os arquivos TASM entrarem, c: / z80mbc / tasm

Crie uma pasta para a imagem do cartão SD para ir, c: / z90mbc / SD

Clique com o botão direito em cada um dos arquivos e extraia o conteúdo para os diretórios que você criou acima. Assim, tasm.zip é extraído para c: / z80mbc / tasm e o arquivo zip assustado para c: / z80mbc / SD

Para tornar algumas das próximas etapas mais fáceis, você também pode descompactar cpmtool32.zip em outro diretório, por exemplo c: / z80mbc / cpmtools.

Etapa 2: Adicionando suas ferramentas ao caminho do Windows

Adicionando suas ferramentas ao caminho do Windows
Adicionando suas ferramentas ao caminho do Windows
Adicionando suas ferramentas ao caminho do Windows
Adicionando suas ferramentas ao caminho do Windows

Dependendo da sua versão do Windows, faça o seguinte

Windows 10

Abra o menu de propriedades clicando com o botão direito do mouse no item “Este PC” em uma janela do explorer.

Clique em “Configurações avançadas do sistema”, isso abrirá uma janela chamada “Propriedades do sistema” (você também pode acessar as propriedades do sistema de outras maneiras, mas eu não uso muito o Windows, então este é o meu caminho!)

Clique em “Variáveis de Ambiente”

Windows XP

Clique no botão Iniciar, clique com o botão direito em “meu computador”, então você pode clicar em propriedades para obter “propriedades do sistema”.

Clique na guia Avançado

Clique em “Variáveis de Ambiente”

Quando você tem a janela Variáveis de Ambiente na tela, você precisa fazer duas coisas;

Adicionar uma nova variável

Na parte superior das janelas, em "variáveis de usuário para …"

Clique em Novo

Para o tipo de nome em TASMTABS

Para o tipo de valor em c: / z80mbc / tasm

Modifique a variável PATH

Na parte inferior da janela, em "Variáveis do sistema"

escolha (destaque) o caminho e clique em Editar

No final do conteúdo existente, adicione; c: / z80mbc / tasm; c: / z80mbc / cpmtools

(Não se esqueça do ponto e vírgula no início!)

Agora você precisa reiniciar o computador para que essas adições tenham efeito.

Etapa 3: Teste de Tasm

Testando Tasm
Testando Tasm
Testando Tasm
Testando Tasm
Testando Tasm
Testando Tasm

Para testar, podemos compilar uma cópia exata do BIOS QP / M existente, precisamos fazer um pouco mais de preparação. Os arquivos neste diretório são:

BIOS QPM271 - S150918.asm - O arquivo BIOS principal, provavelmente o arquivo que você irá alterar.

QPM271_ColdLoader - S160918.asm - este é o carregador QP / M, ele lê as primeiras trilhas da imagem do disco na memória. Em um sistema CP / m mais tradicional, isso seria referido como bootstrap e seria em EEPROM ou ROM. Você não deve precisar modificar este arquivo, ele já está compilado e na imagem do cartão SD como QPMLDR. BIN

SYSGENQ - S140918.asm - Este programa é usado em conjunto com o instalador QP / M, novamente você normalmente não precisará alterá-lo, ele já existe na imagem do disco de inicialização pronto para uso. Essencialmente, ele lê e grava as trilhas usadas pelo carregador frio acima.

Antes de testarmos a instalação do TASM, você precisa de mais um arquivo, cpm22_Z80MBC2.asm, que não está neste diretório por padrão, pois é o mesmo arquivo usado para cpm 2.2. Precisamos desse arquivo para fornecer o CBIOS / CCP original para a inicialização do QP / M. Você pode copiar este arquivo do diretório CPM_22_Custom_BIOS.

Use o Windows Explorer para copiá-lo ou, a partir de um prompt de comando (CMD), faça

cd c: / z80mbc / sd / src / QPM_271_Custom_BIOS

copiar.. / CPM_22_Custom_BIOS / cpm22_Z80MBC2.asm

Agora você precisa alterar este arquivo para incluir o BIOS QP / M, abra o arquivo com o bloco de notas:

procure por "QPM" (CTRL-F, ou menu de edição e encontre) Veja a imagem acima

mude o arquivo de:

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

; Z80-MBC2; ---------------------------------------------- -------------------------; #include "BIOS QPM271 - S150918.asm"; CBIOS incluído para o Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; CBIOS incluído para o Z80-MBC2

Para:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- #include "BIOS QPM271 - S150918.asm"; CBIOS incluído para o Z80-MBC2; #include "BIOS CPM22 - S030818-R140319.asm"; CBIOS incluído para o Z80-MBC2

Você também deve verificar o valor de iLoadMode no arquivo cpm22_Z80MBC2.asm copiado, em torno da linha 40:

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

; Z80-MBC2; ---------------------------------------------- ------------------------- iLoadMode.equ 0; Defina como 1 para o modo iLoad (para teste),; definido como 0 para geração de imagem da trilha 0; definido como 2 para geração de arquivo binário cpm22.bin; --------------------------------------- --------------------------------

Precisa estar em 0, este é o padrão - mas verifique mesmo assim!

Uma vez feito isso, salve o arquivo.

agora você pode executar o tasm:

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

Observe os diferentes nomes de arquivo de saída, se tudo correr bem, você verá uma saída como esta:

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

TASM Z80 Assembler. Versão 3.2 de setembro de 2001. Copyright (C) 2001 Squak Valley Software tasm: passagem 1 completa. tasm: passe 2 completo. tasm: Número de erros = 0 c: / z80mbc / sd / src / QPM_271_Custom_BIOS>

Você está pronto para fazer qualquer alteração necessária na BIOS! Arquivo.

Etapa 4: Encontre o endereço do relógio em tempo real

Antes de instalar a nova versão do BIOS, parte da instalação do QP / M precisa saber o endereço de entrada para as rotinas do relógio em tempo real. Se você não definir esta função, nenhuma função de tempo em QP / M retornará "No Clock" como uma mensagem de erro.

Para obter o endereço, edite o arquivo LST produzido ao compilar o arquivo qpm22.bin, ou seja.

notepad cpm22_Z80MBC2.lst

Procure o rótulo TIMDAT, Ctrl-f (ou localizar) pesquise TIMDAT, você encontrará uma seção como esta:

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

0856+ EC16; TIMDAT; 0857+ EC16; ========================================================== ===========================; 0858+ EC16; Esta é uma rotina específica de QP / M para a interface QP / M-to-real-time-clock; 0859+ EC16; para utilizar totalmente os recursos de carimbo de data / hora do QP / M.; 0860+ EC16; O endereço de TIMDAT deve ser especificado durante QINSTALL via opção de; 0861+ EC16; o menu de instalação do QDOS (consulte as páginas 26-27 do Guia de instalação QP / M); 0862+ EC16;; 0863+ EC16; NOTA: Se o RTC não estiver presente, o IOS fornecerá todos os bytes 0s. Isto é; 0864+ EC16; "interpretado" por QP / M como um "SEM RELÓGIO".; 0865+ EC16; ====================================================== ===========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Anote o endereço HEX da segunda coluna, neste caso EC16. Retire o valor da linha abaixo dos comentários, logo acima da instrução de salto JP USERCLK. Onde diz TIMDAT.

Agora que você tem o valor, pode sair do arquivo e prosseguir com o QP / M intsall

Etapa 5: Adicionar o BIOS a uma nova imagem de disco

Nesta etapa, faremos nossa própria cópia do disco de inicialização DS1N00. DSK e adicionaremos nossa própria versão do BIOS a ele, pronta para concluir a instalação do QP / M

Para começar, faça uma pasta temporária da unidade C para manter suas cópias de trabalho. Abra um prompt CMD e digite o seguinte

cd c: / z80mbc

mkdir temp cd temp

Em seguida, copie a imagem do disco original do diretório SD

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

Obtenha os arquivos atuais da imagem de disco:

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

A seqüência acima criará outra pasta temporária dentro do diretório temporário chamada disk0, eles copiam todos os arquivos existentes da imagem de disco para o diretório. Use DIR depois para certificar-se de que possui os arquivos.

Em seguida, podemos formatar a imagem do disco como um novo disco, esta é a única maneira fácil de adicionar as trilhas de inicialização à imagem do disco, sem ter que criar um novo disco inteiro do zero. Observe que a opção “-b” usa o BIOS que compilamos acima.

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

Agora que as trilhas de inicialização estão atualizadas, você pode adicionar os arquivos originais de volta à imagem:

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

Agora você tem um disco inicializável, ele inicializará o CP / M e não o QP / M. Na próxima etapa, usaremos o instalador QP / M para substituir a parte CBIOS do sistema CP / M

Certifique-se de ter uma cópia de trabalho do cartão SD de inicialização e copie o arquivo DS1N00. DSK criado nesta etapa para a pasta raiz do cartão SD; ele substituirá o arquivo existente.

Etapa 6: inicialize em sua nova imagem de disco

Conecte um terminal serial ao z80mbc2

segure o interruptor do usuário, mantenha-o pressionado, pressione e solte o interruptor de reinicialização. Quando o LED do usuário apagar e a luz do IOS piscar, libere o botão do usuário.

Agora você deve estar na tela "Boot" do terminal, assim: Z80-MBC2 - A040618

IOS - Subsistema de E / S - S220718-R240620 IOS: Relógio Z80 definido em 8 MHz IOS: Módulo RTC DS3231 encontrado (26/10/20 16:46:45) IOS: Sensor de temperatura RTC DS3231: 20C IOS: Opção GPE encontrada IOS: CP / M Autoexec está DESLIGADO IOS: Selecione o modo de inicialização ou parâmetros do sistema: 0: Sem alteração (3) 1: Básico 2: Forth 3: Carregar OS do Conjunto de Disco 1 (QP / M 2.71) 4: Autoboot 5: iLoad 6: Alterar velocidade do relógio Z80 (-> 4 MHz) 7: Alternar CP / M Autoexec (-> LIGADO) 8: Alterar Conjunto de discos 1 (QP / M 2.71) 9: Alterar hora / data RTC Insira sua escolha>

Use a opção 8 para alterar o conjunto de discos para QP / M. Ao selecioná-lo, você deve carregar o BIOS QP / M. Também recomendaria pressionar reset, pois já vi o primeiro carregamento após a opção 8 falhar várias vezes. Assim:

IOS: Conjunto de discos atual 1 (QP / M 2.71)

IOS: Carregando programa de inicialização (QPMLDR. BIN)… Concluído IOS: Z80 está sendo executado a partir de agora Z80-MBC2 QP / M 2.71 Carregador frio - S160918 Carregando… concluído Versão personalizada de Z80-MBC2 QP / M 2.71 BIOS - S150918 A>

Nota Eu adicionei a "Versão personalizada" acima quando editei o arquivo BIOS, apenas como uma demonstração para esta etapa.

Neste ponto, você está realmente executando o CP / M 2.2 Cbios com o BIOS personalizado para QP / M, então coisas como o comando TIME não funcionam, por exemplo, se você digitar TIME (deve responder com data + hora), você obterá o Resposta CP / M 2.2 de TIME? - pensa que é um comando no disco e não consegue encontrá-lo.

Agora é hora de instalar o CBIOS substituto de QP / M na imagem de disco.

Inicie o programa qinstall.com:

A> qinstall

QP / M 2.7 Programa de instalação / configuração v2.1 QINSTALL usa seu programa SYSGEN para instalar QP / M em seu disco. Depois de configurar seu sistema, será solicitado o nome de seu programa SYSGEN. Este utilitário deve estar disponível em um de seus discos. Para que o QINSTALL seja concluído com êxito, a imagem do sistema no disco e o sistema atualmente na memória DEVEM ser idênticos. (Use para abortar o programa.) Deseja continuar? (S / N):

Em seguida, responda Y para continuar.

Em seguida, você será questionado sobre as configurações de QCP (você pode jogar mais tarde!) Por enquanto diga N

Você deseja examinar e / ou modificar

as configurações padrão do QCP? (S / N): N

Em seguida, você será questionado sobre as configurações de QDOS, pressione Y

Você deseja examinar ou modificar

as configurações padrão de QDOS? (S / N): S

Você terá um menu como este:

*** Configurações de instalação do sistema QDOS ***

Salve o caractere obtido durante a varredura do console. SIM O BIOS suporta a tabela de códigos de erro BDOS ………. NÃO Endereço do vetor de salto de hora / data …………. DISABLED Drive / user search feature ……………….. ENABLED Registo automático do disco …………………… ENABLED Restaurar as configurações iniciais Sair da instalação do QDOS Insira a opção:

Neste ponto, você precisa inserir o número HEX da Etapa 4 acima (encontre o endereço do relógio em tempo real)

Pressione 2 e insira o endereço HEX EC16, se você não fez alterações no BIOS, no meu caso é EC04, já que adicionei algum texto etc.

Insira o endereço do vetor hora / data em hexadecimal (0 a DESATIVAR): EC04

Agora você pode sair do menu QDOS e prosseguir.

A próxima tela mostra:

Insira o nome do seu programa SYSGEN e pressione RETURN.

(Especifique a unidade se necessário; não use a extensão. COM): SYSGENQ

Digite a versão especial do sysgen, chamada SYSGENQ

Você verá então:

*** Criando imagem QP / M de 59k ***

QINSTALL agora executará A: SYSGENQ. COM. Você deve instruir A: SYSGENQ. COM para ler as trilhas do sistema. Quando a LEITURA estiver concluída, saia do programa SYSGEN. A mensagem "*** QINSTALL pesquisando imagem do sistema ***" aparecerá seguida de mais instruções. Pressione para continuar -OU- para abortar -

Pressione C para continuar:

SYSGENQ - S140918 - Z80-MBC2

CP / M 2.2 Utilitário semelhante a SYSGEN Use apenas para instalar QP / M 2.71 usando QINSTALL. COM AVISO: o comando W sobrescreverá a trilha do sistema! Ler trilhas do sistema e carregar na RAM ou gravá-las de volta no disco? [R / W]>

Na primeira vez que vir esta mensagem, escolha R para ler as trilhas do sistema, você obterá:

Lendo… pronto

*** QINSTALL procurando por imagem do sistema *** Imagem do sistema encontrada a partir de 0900H. Instalando QP / M. Seu programa SYSGEN irá agora retomar a execução. Você deve instruir o programa a ESCREVER as trilhas do sistema. Pressione para continuar -OU- para abortar -

Novamente pressione C para continuar:

SYSGENQ - S140918 - Z80-MBC2

CP / M 2.2 Utilitário semelhante a SYSGEN Use apenas para instalar QP / M 2.71 usando QINSTALL. COM AVISO: o comando W sobrescreverá a trilha do sistema! Ler trilhas do sistema e carregar na RAM ou gravá-las de volta no disco? [R / W]>

Desta vez, pressione W para gravar o novo QP / M e BISO de volta nas trilhas do disco:

Escrevendo … pronto

A>

Agora você pode pressionar reset e inicializar de volta em sua nova bios QP / M. Se você digitar TIME no prompt, ele executará a versão completa do QP / M e responderá assim:

Z80-MBC2 - A040618

IOS - Subsistema de E / S - S220718-R240620 IOS: Relógio Z80 definido em 8 MHz IOS: Módulo RTC DS3231 encontrado (26/10/20 17:10:48) IOS: Sensor de temperatura RTC DS3231: 20C IOS: Opção GPE encontrada IOS: CP / M Autoexec está DESLIGADO IOS: Conjunto de discos atual 1 (QP / M 2.71) IOS: Carregando programa de inicialização (QPMLDR. BIN)… Concluído IOS: Z80 está sendo executado a partir de agora Z80-MBC2 QP / M 2.71 Carregador frio - S160918 Carregando… concluído Versão personalizada do BIOS Z80-MBC2 QP / M 2.71 - S150918 A> tempo 26-Out-20 17:10:56 A>

Você está instalado e funcionando com o novo BIOS, observe o texto "Versão personalizada" acima. Você provavelmente deve ler o resto da documentação QP / M em

Fin

Recomendado: