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.
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
NOTA: Resubido el fichero el 26.03.2019 01:30
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>
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)
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
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