Nueva actualización del core MSX1 (versión 1.3)

Avatar de Usuario
desUBIKado
Mensajes: 761
Registrado: 05 Ago 2016, 22:33

Nueva actualización del core MSX1 (versión 1.3)

Mensaje por desUBIKado » 24 Mar 2019, 10:59

Fabio Belavenuto, tras muchos meses de intenso desarrollo, nos trae una nueva actualización de su core MSX1 para la placa ZX-Uno.
fbelavenuto.jpg
fbelavenuto.jpg (4.35 KiB) Visto 1909 veces
En esta nueva versión nos encontramos los siguientes cambios:
  • Mezclador separado para la salida de audio
  • Nuevo mezclador de audio con volumen ajustable, vía puertos SWIO. Se han corregido los niveles estándar del mezclador
  • Se añade feedback de la carga por audio
  • Se añade sonido OPLL del proyecto OCM
  • Se añade soporte para que el cargador cargue MSX BIOS y dos roms adicionales de 16 K para tarjetas con más de 512K de RAM.
  • Se añade un teclado español alternativo (gracias a desUBIKado)
  • Se añade un teclado japonés experimental (gracias a tanam (tms9918))
  • Corregido un error de teclado con el nuevo esquema para cargar teclado y cambiadas las tablas ROM.
  • Nueva utilidad MSXCTRL que permite cambiar todos los parámetros del core desde MSX-DOS modificando los valores de unos registros propios del core.
  • Se permite cambiar cambiar todos los parámetros del core mediante llamadas a determinados puertos. Se puede utilizar esta funcionalidad dentro de programas MSX-BASIC.
  • Corregidos errores que impedían que ciertos juegos funcionasen correctamente, por ejemplo, juegos en los que no funcionaba el joystick o bien juegos que al iniciarse es como si estuviese siempre pulsada la tecla ESPACIO.
Es posible encontrar el código fuente de su core en su github.


INSTALACIÓN

El core MSX1FPGA para la placa ZX-Uno se presenta sintetizado de 3 formas distintas para su uso con los distintos modelos de ZX-Uno:
  • Core para los modelos con 512K de memoria: COREX(512).ZX1
  • Core para el modelo ZX-UNO VGA 2M de ManuFerHi y los modelos con 2MB de memoria INTERNA: COREX(VGA2M).ZX1
  • Core para los modelos con 2MB de memoria EXTERNA (con addon de Antonio Villena): COREX(EXT2M).ZX1
Además de instalar el core, se deben instalar en la tarjeta SD de hasta 2 GB, que obligatoriamente debe estar formateada en FAT16, una serie de archivos y directorios:
SD-MSX1FPGA-1.3.png
NOTA: Resubido el fichero el 26.03.2019 01:30
SD-MSX1FPGA-1.3.7z
(6.19 MiB) Descargado 174 veces
Es conveniente eliminar los archivos de una versión anterior antes de instalar los de la nueva, excepto los de la carpeta MSX, que es donde se pueden ir poniendo los juegos y aplicaciones.

Con respecto a la versión “vanilla” de los archivos necesarios que me ha pasado Fabio, yo he realizado los siguientes cambios en la versión que os comparto:
  • La configuración del core en el fichero /MSX1FPGA/config.txt está puesto con salida de video PAL y teclado en español.
  • Se ha añadido a la carpeta UTIL los programas cargadores romload.com y ngload.com
  • Se ha añadido a la carteta UTIL la carpeta sofarun con el programa SofaRun 4.1 que es una aplicación diseñada para ejecutar disquetes (.DSK), casetes (.CAS) y cartuchos (.ROM).
  • El programa MSXCTRL se ha movido de la carpeta raíz a la UTIL para que así pueda ser llamado desde cualquier directorio de la SD
  • La definición del teclado español /MSX1FPGA/SPA.kmp ha sido sustituida por mi definición alternativa

DEFINICIONES DE TECLADOS

En la versión 1.3 se ha modificado la forma de definir la disposición de los símbolos en los teclados (.KMP), por lo que ya no son compatibles las definiciones de versiones anteriores del core.

En la definición alternativa del teclado español que he creado los símbolos de las teclas corresponden con las de un teclado de PC Español, más luego todos los de la versión ASCII de MSX con layout Internacional.

A diferencia del teclado alternativo español usado en la versión 1.2 del core, ahora sí se mantiene la tecla para la Ñ, y hay 2 teclas que realizan la función de la tecla DEAD para sacar distintos tipos de acentos.

MSXCTRL

Esta nueva utilidad es exclusiva del core MSX1FPGA, y aparece por primera vez en la versión 1.3. Permite controlar todas las opciones del core que antes solo eran accesibles a través del fichero de configuración /MSX1FPGA/config.txt o pulsando determinadas teclas.

Ahora con esta utilidad, cuya funcionalidad es muy parecida al zxunocfg del core de Spectrum, es posible cambiar cualquier opción del core al vuelo desde el MSX-DOS, pudiendo además incluirla en un archivo de proceso por lotes como el AUTOEXEC.BAT para tener una configuración predeterminada cada vez que se arranque. Además, es posible usar varios parámetros a la vez.

Ejemplos de su uso:

Tecleando MSXCTRL obtenemos los parámetros que podemos utilizar:

Código: Seleccionar todo

MSXCTRL.COM - Utility to manipulate MSX1FPGA core.
HW ID = 06 - ZX-Uno Board
Version 1.3
Mem config = 82
Has HWDS = FALSE

Use:

MSXCTRL -h -i -r -b -[5|6] -m<0-2> 
        -c<0-1> -d<0-1> -t<0-1>
        [-w<filename> | -l<filename>]
        -k<0-255> -e<0-255> -p<0-255>
        -s<0-255> -o<0-255> -a<0-255>
Tecleando MSXCTRL -h obtenemos la ayuda con la funcionalidad de cada parámetro:

Código: Seleccionar todo

MSXCTRL.COM - Utility to manipulate MSX1FPGA core.
HW ID = 06 - ZX-Uno Board
Version 1.3
Mem config = 82
Has HWDS = FALSE

Use:

MSXCTRL -h -i -r -b -[5|6] -m<0-2> 
        -c<0-1> -d<0-1> -t<0-1>
        [-w<filename> | -l<filename>]
        -k<0-255> -e<0-255> -p<0-255>
        -s<0-255> -o<0-255> -a<0-255>
 -h       Show this help
 -i       Show raw info of reg. values
 -r       Reset registers to default
 -b       Boot the machine
 -5       Enable 50 Hz
 -6       Enable 60 Hz
 -w fn    Write the all registers to
          file <fn>
 -l fn    Load the all registers
          from file <fn>
 -m 0-2   ESCCI Mapper type (0=SCCI,
          1=ASCII8, 2=ASCII16)
 -c 0-1   Scanlines (0=OFF, 1=ON)
 -d 0-1   Scandoubler (0=OFF, 1=ON)
 -t 0-1   Turbo (0=OFF, 1=ON)
 -k 0-255 Keyboard Beep vol. (def=128)
 -e 0-255 EAR feedback volume (def=20)
 -p 0-255 PSG volume (def=240)
 -s 0-255 SCC volume (def=255)
 -o 0-255 OPLL volume (def=255)
 -a 0-255 AUX1 volume (def=255)
Tecleando MSXCTRL -i obtenemos los valores actuales del los registros:

Código: Seleccionar todo

MSXCTRL.COM - Utility to manipulate MSX1FPGA core.
HW ID = 06 - ZX-Uno Board
Version 1.3
Mem config = 82
Has HWDS = FALSE

Reg 0x10 = 0x0F PAL,Scanlines,Scandoubler,Nextor active
Reg 0x11 = 0x00 ESE-RAM mapper SCC-I
Reg 0x12 = 0x01 Turbo ON
Reg 0x20 = 0x80 Beep Volume
Reg 0x21 = 0x14 Ear Volume
Reg 0x22 = 0xF0 PSG Volume
Reg 0x23 = 0xFF SCC Volume
Reg 0x24 = 0xFF OPLL Volume
Reg 0x25 = 0xFF Aux1 Volume
Desde MSX-BASIC se pueden modificar los valores de estos registros si los queremos cambiar en un programa BASIC. Por ejemplo, para activar el modo TURBO se haría con esta serie de OUT:

OUT &H40,40: OUT &H48,&H12: OUT &H49,1

y la forma de desactivarlo sería esta:

OUT &H40,40: OUT &H48,&H12: OUT &H49,0
Última edición por desUBIKado el 26 Mar 2019, 01:47, editado 2 veces en total.

Avatar de Usuario
carmeloco
Mensajes: 747
Registrado: 25 Dic 2015, 12:02

Re: Nueva actualización del core MSX1 (versión 1.3)

Mensaje por carmeloco » 25 Mar 2019, 11:55

Estoy probando este core, y la versión de 2MB internas no me funciona correctamente. La imagen se ve mal, como toda llena de interferencias. He probado a conectarlo por VGA, pero tampoco funciona.
Los cores de 512KB y de 2MB externas si que me funcionan.

Edito: Ya veo que pasa. Con el core de 2MB internas, solo funciona por VGA, no por video compuesto. No se por que antes no me funcionó por VGA, ya que lo he vuelto a probar, y si que va. Está claro que algo hice mal antes.

Avatar de Usuario
desUBIKado
Mensajes: 761
Registrado: 05 Ago 2016, 22:33

Re: Nueva actualización del core MSX1 (versión 1.3)

Mensaje por desUBIKado » 26 Mar 2019, 01:45

AVISO IMPORTANTE: Acabo de volver a subir el fichero SD-MSX1FPGA-1.3.7z con los cores y los archivos para la SD. Muchas gracias a Javi Quílez que me ha avisado de que faltaba la utilidad emufile, y que tampoco funcionaba bien mapdrv desde el MSX-DOS.

He observado que los últimos archivos que me pasó Fabio del Nextor-DOS no eran iguales que los que yo había estado usando. He sustituido los archivos por los que me funcionaban correctamente, y he añadido la versión correcta de mapdrv, y la utilidad emufile que faltaba.

Además, ya de paso, he añadido una serie de utilidades a la carpeta UTIL: cal, calc, ambar, black, green, color, deltree, turbo y key.

Una vez comprobado que todo funciona ya correctamente, vuelvo a empaquetarlo en un archivo comprimido, y lo vuelvo a subir.

Planetah2o
Mensajes: 1
Registrado: 20 Mar 2019, 18:51

Re: Nueva actualización del core MSX1 (versión 1.3)

Mensaje por Planetah2o » 26 Mar 2019, 02:28

Hola, yo también he probado este core, me funciona correctamente con la versión memoria 2megas VGA, lo que solo me funcionan las ROMs simples, osea, ninguna megarom ni ROMs de msx2, tengo una placa ZXUNO 2 megas de Antonio Villena. Es normal que solo funciones solo ROMs simples?

Avatar de Usuario
desUBIKado
Mensajes: 761
Registrado: 05 Ago 2016, 22:33

Re: Nueva actualización del core MSX1 (versión 1.3)

Mensaje por desUBIKado » 26 Mar 2019, 19:43

Planetah2o escribió:Hola, yo también he probado este core, me funciona correctamente con la versión memoria 2megas VGA, lo que solo me funcionan las ROMs simples, osea, ninguna megarom ni ROMs de msx2, tengo una placa ZXUNO 2 megas de Antonio Villena. Es normal que solo funciones solo ROMs simples?
El core es de MSX1, así que juegos de MSX2 o superior no funcionarán. Es posible que algunos de los juegos que lleve la compilación sean de MSX2, y por eso no funcionen (puse los que me pasó Fabio).

Prueba a cargar juegos con el Sofa Run. Para lanzarlo desde MSX-DOS teclea sr y pulsa ENTER. En la carpeta SCC tienes juegos como Nemesis3 o Parodius que cargan sin problemas.

Vanfanel
Mensajes: 275
Registrado: 16 Oct 2016, 15:50

Re: Nueva actualización del core MSX1 (versión 1.3)

Mensaje por Vanfanel » 27 Mar 2019, 01:23

Vaya, estaba yo esperando release "oficial" de esta maravilla de core!! :D

Pero hace meses que llevo intentando hacer funcionar las distintas betas "internas" de Fabio, y no hay manera de que pase del BASIC (la anterior versión sí me iba y arrancaba en MSX-DOS, no se quedaba en el BASIC).
¿A vosotros os arranca en MSX-DOS?
¿Qué core se supone que habría que usar para un ZXUNO GO+? El de VGA2M, ¿verdad?

Avatar de Usuario
desUBIKado
Mensajes: 761
Registrado: 05 Ago 2016, 22:33

Re: Nueva actualización del core MSX1 (versión 1.3)

Mensaje por desUBIKado » 27 Mar 2019, 08:03

Vanfanel escribió:Vaya, estaba yo esperando release "oficial" de esta maravilla de core!! :D

Pero hace meses que llevo intentando hacer funcionar las distintas betas "internas" de Fabio, y no hay manera de que pase del BASIC (la anterior versión sí me iba y arrancaba en MSX-DOS, no se quedaba en el BASIC).
¿A vosotros os arranca en MSX-DOS?
¿Qué core se supone que habría que usar para un ZXUNO GO+? El de VGA2M, ¿verdad?
Sí, para el ZX Go+ usa el core VGA2M si tienes 2 megas de memoria interna. Yo tengo un ZX GO+ con 2MB y me funciona perfectamente. Otra cosa es que tengas el firmware de teclado actualizado para tener todos los atajos del teclado .MSX si quieres disfrutarlo más.

Vanfanel
Mensajes: 275
Registrado: 16 Oct 2016, 15:50

Re: Nueva actualización del core MSX1 (versión 1.3)

Mensaje por Vanfanel » 27 Mar 2019, 11:02

desUBIKado escribió:
Vanfanel escribió:Vaya, estaba yo esperando release "oficial" de esta maravilla de core!! :D

Pero hace meses que llevo intentando hacer funcionar las distintas betas "internas" de Fabio, y no hay manera de que pase del BASIC (la anterior versión sí me iba y arrancaba en MSX-DOS, no se quedaba en el BASIC).
¿A vosotros os arranca en MSX-DOS?
¿Qué core se supone que habría que usar para un ZXUNO GO+? El de VGA2M, ¿verdad?
Sí, para el ZX Go+ usa el core VGA2M si tienes 2 megas de memoria interna. Yo tengo un ZX GO+ con 2MB y me funciona perfectamente. Otra cosa es que tengas el firmware de teclado actualizado para tener todos los atajos del teclado .MSX si quieres disfrutarlo más.
Gracias, DesUBIKado. Estoy probando esa precisamente, y el core arranca y se ve genial, pero arranca al BASIC y no al MSXDOS. ¿Qué SD usas (tamaño, marca? ¿Podrías subir una imágen de tu tarjeta para hacer un DD a una tarjeta mia?

Avatar de Usuario
Uto
Mensajes: 1385
Registrado: 17 Dic 2015, 16:39

Re: Nueva actualización del core MSX1 (versión 1.3)

Mensaje por Uto » 28 Mar 2019, 10:01

desUBIKado escribió:
Vanfanel escribió:Vaya, estaba yo esperando release "oficial" de esta maravilla de core!! :D

Pero hace meses que llevo intentando hacer funcionar las distintas betas "internas" de Fabio, y no hay manera de que pase del BASIC (la anterior versión sí me iba y arrancaba en MSX-DOS, no se quedaba en el BASIC).
¿A vosotros os arranca en MSX-DOS?
¿Qué core se supone que habría que usar para un ZXUNO GO+? El de VGA2M, ¿verdad?
Sí, para el ZX Go+ usa el core VGA2M si tienes 2 megas de memoria interna. Yo tengo un ZX GO+ con 2MB y me funciona perfectamente. Otra cosa es que tengas el firmware de teclado actualizado para tener todos los atajos del teclado .MSX si quieres disfrutarlo más.
Tened en cuenta que hay Go+ con 512K también, o al menos existía la opción, no sé si la eligió alguien.

pascualete
Mensajes: 15
Registrado: 08 Ene 2019, 14:59

Re: Nueva actualización del core MSX1 (versión 1.3)

Mensaje por pascualete » 31 Mar 2019, 16:24

¡Ole tus eggs, fabio! :plasplas:

Responder