Tabla de contenido:
- Suministros
- Paso 1: agregar el software a su computadora de compilación
- Paso 2: agregar sus herramientas a la ruta de Windows
- Paso 3: Prueba de Tasm
- Paso 4: Encuentre la dirección de su reloj en tiempo real
- Paso 5: agregue la BIOS a una nueva imagen de disco
- Paso 6: Inicie en su nueva imagen de disco
Video: Z80 MBC2 - Volver a compilar la BIOS y el cargador de QP / M: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Si, como yo, se encuentra en una posición en la que necesita volver a compilar la BIOS de QP / M para su MBC2, entonces así es como lo hace.
Documenté el proceso de cómo recompilar la versión existente. Depende de usted realizar cambios en los archivos reales de Bios, si es necesario. Solo hice cambios para poder mantener mi instalación de QP / M en línea con la versión de CP / M 2.2 Bios que estoy usando (estos cambios no se muestran solo el proceso de cómo hacerlo)
La primera parte del proceso es casi idéntica a la CP / M 2.2 Bios, por lo que si ya tiene su computadora de compilación configurada, no dude en omitir esa parte.
La principal diferencia es que QP / M tiene que cargarse desde la primera pista del disco de arranque, no un archivo.bin como CP / M 2.2, que se describe a continuación.
Suministros
Una máquina con Windows para ejecutar el compilador. Usé una máquina virtual de Windows XP que se ejecuta en un KVM, porque es muy pequeña y nunca se conectará a Internet. Pero funciona perfectamente en Windows 10.
El compilador TASM 3.2 z80, busque esto en Google, debería terminar en
Una copia del archivo zip SD de la página de inicio de z80-mbc2, en el momento de escribir este artículo era
CPMTools para Windows de https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip esta es una versión de 32 bits pero funciona bien en sistemas de 64 bits.
Paso 1: agregar el software a su computadora de compilación
Una vez que tenga su máquina Windows en funcionamiento, copie o descargue los archivos mencionados en la sección "necesitará" más arriba.
Cree un directorio de trabajo en su máquina, le sugiero (para evitar escribir mucho y errores tipográficos) que cree un directorio en la unidad C, por ejemplo, c: / z80mbc. Le recomiendo encarecidamente que evite los espacios en los nombres, si es posible, y las rutas de directorio largas. Mantenlo simple.
Cree una carpeta dentro de este directorio para que entren los archivos TASM, c: / z80mbc / tasm
Cree una carpeta para la imagen de la tarjeta SD, c: / z90mbc / SD
Haga clic derecho en cada uno de los archivos y extraiga el contenido a los directorios que creó anteriormente. Entonces tasm.zip se extrae en c: / z80mbc / tasm y el archivo zip asustado en c: / z80mbc / SD
Para facilitar algunos de los siguientes pasos, también puede descomprimir cpmtool32.zip en otro directorio, por ejemplo, c: / z80mbc / cpmtools.
Paso 2: agregar sus herramientas a la ruta de Windows
Dependiendo de su versión de Windows, realice una de las siguientes acciones
Windows 10
Abra el menú de propiedades haciendo clic con el botón derecho en el elemento "Esta PC" de una ventana del explorador.
Haga clic en "Configuración avanzada del sistema", se abrirá una ventana llamada "Propiedades del sistema" (también puede acceder a las propiedades del sistema de otras formas, pero yo no uso mucho las ventanas, ¡así que esta es mi manera!)
Haga clic en "Variables de entorno"
Windows XP
Haga clic en el botón de inicio, haga clic con el botón derecho en "mi computadora", luego puede hacer clic en propiedades para obtener "propiedades del sistema".
Haga clic en la pestaña Avanzado
Haga clic en "Variables de entorno"
Cuando tenga la ventana de Variables de entorno en la pantalla, debe hacer dos cosas;
Agregar una nueva variable
En la parte superior de las ventanas, debajo de "variables de usuario para …"
Haga clic en Nuevo
Para el tipo de nombre en TASMTABS
Para el tipo de valor en c: / z80mbc / tasm
Modificar la variable PATH
En la parte inferior de la ventana, debajo de "Variables del sistema"
elija (resalte) Ruta, luego haga clic en Editar
Al final del contenido existente, agregue; c: / z80mbc / tasm; c: / z80mbc / cpmtools
(¡No olvide el punto y coma al principio!)
Ahora debe reiniciar la computadora para que estas adiciones surtan efecto.
Paso 3: Prueba de Tasm
Para probar podemos compilar una copia exacta del BIOS QP / M existente, tenemos que hacer un poco más de preparación. Los archivos de este directorio son:
BIOS QPM271 - S150918.asm: el archivo principal del BIOS, es muy probable que este sea el archivo que modificará.
QPM271_ColdLoader - S160918.asm: este es el cargador QP / M, lee las primeras pistas de la imagen del disco en la memoria. En un sistema CP / m más tradicional, esto se denominaría bootstrap y estaría en EEPROM o ROM. No debería necesitar modificar este archivo, ya está compilado y en la imagen de la tarjeta SD como QPMLDR. BIN
SYSGENQ - S140918.asm: este programa se utiliza junto con el instalador de QP / M, de nuevo, normalmente no necesitará modificarlo, ya existe en la imagen del disco de arranque listo para usar. Básicamente, lee y escribe las pistas utilizadas por el cargador en frío anterior.
Antes de probar nuestra instalación de TASM, necesita un archivo más, cpm22_Z80MBC2.asm, no está en este directorio por defecto ya que es el mismo archivo que se usa para cpm 2.2. Necesitamos este archivo para proporcionar el CBIOS / CCP original para el arranque inicial de QP / M. Puede copiar este archivo desde el directorio CPM_22_Custom_BIOS.
Utilice el explorador de Windows para copiarlo o desde un símbolo del sistema (CMD)
cd c: / z80mbc / sd / src / QPM_271_Custom_BIOS
copiar.. / CPM_22_Custom_BIOS / cpm22_Z80MBC2.asm
Ahora necesita cambiar este archivo para incluir el BIOS QP / M, abra el archivo con el bloc de notas:
buscar "QPM" (CTRL-F, o editar menú y buscar) Ver imagen de arriba
cambiar el archivo de:
;-----------------------------------------------------------------------
; Z80-MBC2; ---------------------------------------------- -------------------------; #incluya "BIOS QPM271 - S150918.asm"; CBIOS incluido para el Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; CBIOS incluido para el Z80-MBC2
Para:
;-----------------------------------------------------------------------
; Z80-MBC2; ---------------------------------------------- ------------------------- #include "BIOS QPM271 - S150918.asm"; CBIOS incluido para el Z80-MBC2; #include "BIOS CPM22 - S030818-R140319.asm"; CBIOS incluido para el Z80-MBC2
También debe verificar el valor de iLoadMode en el archivo cpm22_Z80MBC2.asm copiado, alrededor de la línea 40:
;-----------------------------------------------------------------------
; Z80-MBC2; ---------------------------------------------- ------------------------- iLoadMode.equ 0; Establecer en 1 para el modo iLoad (para pruebas); establecer en 0 para la generación de imágenes de la pista 0; establecido en 2 para la generación de archivos binarios cpm22.bin; --------------------------------------- --------------------------------
Debe estar en 0, este es el valor predeterminado, ¡pero verifique de todos modos!
Una vez hecho esto, guarde el archivo.
ahora puede ejecutar tasm:
tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin
Tenga en cuenta el nombre de archivo de salida diferente, si todo va bien, debería ver una salida como esta:
c: / z80mbc / sd / src / QPM_271_Custom_BIOS> tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin
Ensamblador TASM Z80. Versión 3.2 Septiembre, 2001. Copyright (C) 2001 Squak Valley Software tasm: paso 1 completo. tasm: pase 2 completo. tasm: Número de errores = 0 c: / z80mbc / sd / src / QPM_271_Custom_BIOS>
¡Está listo para realizar los cambios que necesite en el BIOS! expediente.
Paso 4: Encuentre la dirección de su reloj en tiempo real
Antes de instalar la nueva versión del BIOS, parte de la instalación de QP / M necesita conocer la dirección de entrada para las rutinas del reloj en tiempo real. Si no configura esto, las funciones de tiempo en QP / M devolverán "Sin reloj" como mensaje de error.
Para obtener la dirección, edite el archivo LST generado al compilar el archivo qpm22.bin, es decir.
bloc de notas cpm22_Z80MBC2.lst
Busque la etiqueta TIMDAT, Ctrl-f (o buscar) busque TIMDAT, encontrará una sección como esta:
0855+ EC16; ================================================ =========================;
0856+ EC16; TIMDAT; 0857+ EC16; ================================================ =========================; 0858+ EC16; Esta es una rutina específica de QP / M para la interfaz QP / M-to-real-time-clock; 0859+ EC16; para utilizar completamente las funciones de sellado de fecha y hora de QP / M.; 0860+ EC16; La dirección de TIMDAT debe especificarse durante QINSTALL mediante la opción de; 0861+ EC16; el menú de instalación de QDOS (consulte las páginas 26-27 de la Guía de instalación de QP / M); 0862+ EC16;; 0863+ EC16; NOTA: Si el RTC no está presente, IOS dará todos los bytes 0. Este es; 0864+ EC16; "interpretado" por QP / M como "SIN RELOJ".; 0865+ EC16; ================================================ =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK
Anote la dirección HEX de la segunda columna, en este caso EC16. Quite el valor de la línea debajo de los comentarios, justo encima de la instrucción de salto JP USERCLK. Donde dice TIMDAT.
Ahora que tiene el valor, puede salir del archivo y continuar con QP / M intsall
Paso 5: agregue la BIOS a una nueva imagen de disco
En este paso haremos nuestra propia copia del disco de arranque DS1N00. DSK y le agregaremos nuestra propia versión del BIOS lista para completar la instalación de QP / M
Para comenzar, cree una carpeta temporal de la unidad C para mantener sus copias de trabajo. Abra un indicador de CMD y escriba lo siguiente
cd c: / z80mbc
mkdir temp cd temp
A continuación, copie la imagen del disco original del directorio SD
copie c: / z80mbc / sd / DS1N00. DSK.
Obtenga los archivos actuales de la imagen del disco:
cd c: / z80mbc / temp cpmcp -f z80mbc2-d0 DS1N00. DSK 0: * disk0
La secuencia anterior creará otra carpeta temporal dentro del directorio temporal llamado disk0, ellos copiarán todos los archivos existentes de la imagen del disco en el directorio. Use DIR después para asegurarse de tener los archivos.
A continuación, podemos formatear la imagen del disco como un disco nuevo, esta es la única manera fácil de agregar las pistas de arranque a la imagen del disco, sin tener que crear un disco completamente nuevo desde cero. Tenga en cuenta que la opción "-b" utiliza el BIOS que compilamos anteriormente.
mkfs.cpm -f z80mbc2-d0 -b c: / z80mbc / sd / src / QPM_271_Custom_BIOS / qpm22.bin DS1N00. DSK
Ahora que las pistas de arranque están actualizadas, puede volver a agregar los archivos originales a la imagen:
cpmcp -f z80mbc2-d0 DS1N00. DSK disk0 / * 0:
Ahora tiene un disco de arranque, en realidad arrancará CP / M no QP / M en el siguiente paso usamos el instalador QP / M para reemplazar la parte CBIOS del sistema CP / M
Asegúrese de tener una copia de trabajo de su tarjeta SD de arranque, luego copie el archivo DS1N00. DSK que creó en este paso en la carpeta raíz de la tarjeta SD, reemplazará el archivo existente.
Paso 6: Inicie en su nueva imagen de disco
Conecte un terminal en serie al z80mbc2
mantenga presionado el interruptor de usuario, manténgalo presionado, presione y suelte el interruptor de reinicio. Cuando el LED de usuario se apaga y la luz IOS parpadea, suelte el interruptor de usuario.
Ahora debería estar en la pantalla "Boot" en el terminal, así: Z80-MBC2 - A040618
IOS - Subsistema de E / S - S220718-R240620 IOS: Reloj Z80 configurado en 8MHz IOS: Módulo RTC DS3231 encontrado (26/10/20 16:46:45) IOS: Sensor de temperatura RTC DS3231: 20C IOS: Opción GPE encontrada IOS: CP / M Autoexec está APAGADO IOS: Seleccione el modo de arranque o los parámetros del sistema: 0: Sin cambios (3) 1: Básico 2: Cuarto 3: Cargue el sistema operativo desde el conjunto de discos 1 (QP / M 2.71) 4: Autoboot 5: iLoad 6: Cambiar la velocidad del reloj del Z80 (-> 4MHz) 7: Alternar CP / M Autoexec (-> ON) 8: Cambiar el conjunto de discos 1 (QP / M 2.71) 9: Cambiar la fecha / hora de RTC Ingrese su elección>
Use la Opción 8 para cambiar el conjunto de discos a QP / M. Cuando lo seleccione, debe cargar su BIOS QP / M. También recomendaría presionar reiniciar, ya que he visto que la primera carga después de la opción 8 falla varias veces. Como esto:
IOS: Conjunto de discos actual 1 (QP / M 2.71)
IOS: Cargando programa de arranque (QPMLDR. BIN)… Listo IOS: Z80 se está ejecutando desde ahora Z80-MBC2 QP / M 2.71 Cold Loader - S160918 Cargando… terminado Versión personalizada de Z80-MBC2 QP / M 2.71 BIOS - S150918 A>
Tenga en cuenta que agregué la "Versión personalizada" arriba cuando edité el archivo BIOS, solo como una demostración para este paso.
En este punto, en realidad está ejecutando CP / M 2.2 Cbios con el BIOS personalizado para QP / M, por lo que cosas como el comando TIME no funcionan, por ejemplo, si escribe TIME (debe responder con fecha + hora) obtendrá el Respuesta CP / M 2.2 de TIME? - cree que es un comando en el disco y no puede encontrarlo.
Ahora es el momento de instalar el CBIOS de reemplazo de QP / M en la imagen del disco.
Inicie el programa qinstall.com:
A> qinstall
Programa de instalación / configuración de QP / M 2.7 v2.1 QINSTALL usa su programa SYSGEN para instalar QP / M en su disco. Después de configurar su sistema, se le pedirá el nombre de su programa SYSGEN. Esta utilidad debería estar disponible en uno de sus discos. Para que QINSTALL finalice correctamente, la imagen del sistema en el disco y el sistema actualmente en la memoria DEBEN ser idénticos. (Use para cancelar el programa). ¿Desea continuar? (S / N):
Luego responda S para continuar.
A continuación, se le preguntará acerca de la configuración de QCP (¡puede jugar más tarde!) Por ahora, diga N
¿Desea examinar y / o modificar
la configuración predeterminada de QCP? (S / N): N
A continuación, se le preguntará acerca de la configuración de QDOS, presione Y
¿Desea examinar o modificar
la configuración predeterminada de QDOS? (S / N): S
Tendrás un menú como este:
*** Configuración de instalación del sistema QDOS ***
Guarde el carácter obtenido durante el escaneo de la consola. SÍ BIOS admite la tabla de códigos de error BDOS ………. NO Dirección del vector de salto de fecha / hora …………. DESHABILITADO Función de búsqueda de unidad / usuario ……………….. HABILITADO Re-registro automático del disco …………………… HABILITADO Restaurar la configuración inicial Salir de la instalación de QDOS Ingresar la opción:
En este punto, debe ingresar el número HEX del paso 4 anterior (busque la dirección de su reloj en tiempo real)
Presione 2 e ingrese la dirección HEX EC16, si no realizó cambios en la BIOS, en mi caso es EC04 ya que agregué algo de texto, etc.
Ingrese la dirección del vector de fecha / hora en hexadecimal (0 a DESACTIVAR): EC04
Ahora puede salir del menú QDOS y continuar.
La siguiente pantalla muestra:
Ingrese el nombre de su programa SYSGEN y presione RETURN.
(Especifique la unidad si es necesario; no use la extensión. COM): SYSGENQ
Ingrese la versión especial de sysgen, llamada SYSGENQ
Entonces verá:
*** Creando una imagen de 59k QP / M ***
QINSTALL ahora ejecutará A: SYSGENQ. COM. Debe indicarle a A: SYSGENQ. COM que lea las pistas del sistema. Cuando se complete la LECTURA, salga del programa SYSGEN. Aparecerá el mensaje "*** QINSTALL buscando imagen del sistema ***" seguido de más instrucciones. Presione para continuar -O- para abortar -
Presione C para continuar:
SYSGENQ - S140918 - Z80-MBC2
Utilidad similar a CP / M 2.2 SYSGEN Úselo solo para instalar QP / M 2.71 usando QINSTALL. COM ADVERTENCIA: ¡El comando W sobrescribirá la pista del sistema! ¿Leer las pistas del sistema y cargarlas en la RAM o volver a escribirlas en el disco? [R / W]>
La primera vez que vea este mensaje, elija R para leer las pistas del sistema, obtendrá:
Leyendo … hecho
*** QINSTALL buscando la imagen del sistema *** Imagen del sistema encontrada a partir de las 0900H. Instalación de QP / M. Su programa SYSGEN ahora reanudará la ejecución. Debe indicar al programa que ESCRIBA las pistas del sistema. Presione para continuar -O- para abortar -
Nuevamente presione C para continuar:
SYSGENQ - S140918 - Z80-MBC2
Utilidad similar a CP / M 2.2 SYSGEN Úselo solo para instalar QP / M 2.71 usando QINSTALL. COM ADVERTENCIA: ¡El comando W sobrescribirá la pista del sistema! ¿Leer las pistas del sistema y cargarlas en la RAM o volver a escribirlas en el disco? [R / W]>
Esta vez presione W para volver a escribir el nuevo QP / M y BISO en las pistas del disco:
Escribiendo … hecho
A>
Ahora puede presionar reiniciar y reiniciar en su nueva BIOS QP / M. Si ahora escribe HORA en el indicador, se ejecutará la versión completa de QP / M y responderá así:
Z80-MBC2 - A040618
IOS - Subsistema de E / S - S220718-R240620 IOS: Reloj Z80 configurado en 8MHz IOS: Se encontró el módulo RTC DS3231 (26/10/20 17:10:48) IOS: Sensor de temperatura RTC DS3231: 20C IOS: Se encontró la opción GPE IOS: CP / M Autoexec está APAGADO IOS: Conjunto de discos actual 1 (QP / M 2.71) IOS: Cargando programa de arranque (QPMLDR. BIN)… Listo IOS: Z80 se está ejecutando desde ahora Z80-MBC2 QP / M 2.71 Cold Loader - S160918 Cargando… hecho Versión personalizada de Z80-MBC2 QP / M 2.71 BIOS - S150918 A> hora 26-Oct-20 17:10:56 A>
Ya está funcionando con el nuevo BIOS, observe el texto "Versión personalizada" arriba. Probablemente debería leer el resto de la documentación de QP / M en
Aleta
Recomendado:
Z80-MBC2 Programación del Atmega32a: 6 pasos
Z80-MBC2 Programación del Atmega32a: Antes de poder usar el z80-MBC2, después de construirlo, necesita programar el Atmeg32. Estas instrucciones le muestran cómo usar un arduino mini barato como programador para cargar el código
Z80-mbc2 Z80 Code Flash LED de usuario: 3 pasos
Z80-mbc2 Z80 Code Flash User LED: Este es un programa LED de usuario de ejemplo escrito en el ensamblador Z80 para la computadora z80-mbc2. Hice este ejercicio de prueba y revisión para mí, este es mi primer programa Z80 en más de 35 años
Z80 MBC2 - Vuelva a compilar la BIOS de CPM2.2: 4 pasos
Z80 MBC2: vuelva a compilar la BIOS de CPM2.2: si, como yo, se encuentra en una posición en la que necesita volver a compilar la BIOS de CP / M (2.2) para su MBC2, entonces así es como lo hace. En mi caso, quería eliminar el mensaje "WARM BOOT" cada vez que existía un programa o cuando hacía ctrl-c. I a
Orange PI HowTo: compilar la herramienta Sunxi para Windows en Windows: 14 pasos (con imágenes)
Orange PI HowTo: Compilar Sunxi Tool para Windows en Windows: PREQUISITOS: Necesitará una computadora (de escritorio) con Windows. Una conexión a Internet. Una placa PI naranja. La última es opcional, pero estoy seguro de que ya la tienes. De lo contrario, no leerá este instructivo. Cuando compras el Orange PI sin
Compilar MadMAC: 4 pasos
Compilación de MadMAC: instrucciones breves para los paranoicos sobre la compilación de MadMAC