Core MSX1 (fbelavenuto). CHANGELOG

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

Core MSX1 (fbelavenuto). CHANGELOG

Mensajepor desUBIKado » 05 May 2018, 21:56

MSX1 clonado en FPGA mediante core creado por Fabio Belavenuto, con algunas partes del proyecto One Chip MSX (OCM)


Especificaciones:

  • MSX1
  • Memoria mapeada: 128K (ZX-Uno de 512 KB) o 1024K (ZX-Uno de 2MB)
  • Puede trabajar a 50Hz (PAL) o a 60Hz (NTSC)
  • Utiliza el sistema operativo Nextor-DOS, el cual es una versión ampliada y mejorada del MSX-DOS, con el cual es 100% compatible, unido a un driver para trabajar con tarjetas SD formateadas en FAT16. Permite cargar ficheros .CAS (imágenes de casetes) y .DSK (imágenes de disquetes)
  • Megaram SCC/SCC+ del proyecto OCM de 256K. Permite cargar ficheros .ROM los cuales son volcados de cartuchos.
  • 512K of ESE-SCC (solo ZX-Uno de 2MB)
  • Teclado configurable en varios idiomas: Español, Inglés, Portugués de Brasil y Francés.
  • Salida de video VGA (Scandoubler), RGB 15/31 Khz y CVBS video (video compuesto)
  • Scanlines
  • Modo Turbo (7MHz)
  • Permite la carga de ficheros por audio


Versiones:

Versión 1.2 rev. jepalza (16-Oct-2017)

Cambios:

  • Se escucha el sonido mientras se carga por audio un programa (en la versión de Fabio no se escucha).
  • Sintetizado para ZX-Uno 512K, aunque también funciona en los Zx-Uno de 2M.
Anuncio en el foro
Descarga del core


Versión 1.2 (15-May-2017)

Changes:

  • Added JT51 core (OPM YM2151 clone), thanks to Jose Tejada (jotego)
  • 1MB of Memory Mapper (2MB boars only)
  • 512K of ESE-SCC (2MB boars only)
  • Support for a second joystick
Anuncio en el foro
Descarga del core
Descarga del core para ZX-Uno 2M con 2 entradas de joystick


Versión 1.1 (18-Nov-2016)

Changes:

  • Implemented VDP99x8 Palette system: Register 16 and port #2 (0x9A in MSX)
  • Implemented in Switched I/O ports new makers: 0x08 (Panasoic) turbo register, 0xD4 (OCM) some smart commands
  • ESCCI (Megaram SCC from OCM) is now allocated in slot 2 (Partial support to MGLCOM.COM software)
  • Fixed M1 Wait generator
  • Fixed color index 2 in palette
  • New Loader with new FAT driver (from SMS papilio), saving some space in code.
  • New loader configured to FAT16 partitions only (ID 0x0E is not supported anymore)
  • Implemented Keymap reconfiguration by SWIOPORTS
  • Implemented V99x8 NTSC/PAL register #9 bit 1
  • Implemented Scandoubler (VGA mode) (Print Screen key toggle)
  • Added configuration system: All files should now be in MSX1FPGA directory
  • Added 7MHz turbo (F12 key toggle)
  • New option scanlines into config.txt file and 'Scroll-lock' key toggles.

Note that files should not be root anymore, but rather a specific directory 'MSX1FPGA'. File msx1_sd_files.zip updated.
Turbo can cause screen corruption.
The "config.txt" file contains self-explanation.

Código: Seleccionar todo

11SP01
||||||
|||||+-Scanlines: 1=Enabled, 0=Disabled
||||+--Turbo: 1=Initialize with turbo enabled
|||+---Color System: N=NTSC, P=PAL
||+----Keymap: E=English, B=Brazilian, F=Francese, S=Spanish
|+-----Scandoubler(VGA): 1=Enabled, 0=Disabled
+------Nextor: 1=Enabled, 0=Disabled

Anuncio en el foro
Descarga del core


Versión 1.0 rev2 (06-Nov-2016)

Changes:

  • Fixed sprite bug in Nemesis and Penguin Adventure.
  • Deleted XPC files and added new ROMs in zip.
  • Some others little things.
Anuncio en el foro
Descarga del core Hay cores para el ZX-Uno 4.1 (crowdfunding), y para el prototipo v3.0 (pre-crowdfunding).


Versión 1.0 (31-Oct-2016)

Initial specifications:

  • MSX1 USA, 60Hz vertical frequency.
  • 128K RAM Mapper.
  • 128K Nextor (MSX-DOS2 evolution) ROM with SD driver.
  • 256K of RAM to Megaram SCC/SCC+ from OCM project.
  • Keyboard PT-BR layout (for a while).
  • Simple switched I/O ports (no software yet).
  • Multiple boards, incluing ZX-Uno.
  • CVBS video and RGB 15 KHz only, no scandoubler yet.
Anuncio en el foro
Descarga del core (enlace EXTERNO no vinculado al foro ni la web). Hay 2 cores, uno para el ZX-Uno 4.1 (crowdfunding), y otro para el prototipo v3.0 (pre-crowdfunding).



INSTRUCCIONES DE USO DEL CORE:


Formatear una tarjeta SD en FAT16 (máx 4GB) y descomprimir el fichero 'msx1_sd_files.zip' en el directorio raíz de la tarjeta SD.

NOTA IMPORTANTE 2018.05.12: Al descomprimir el fichero 'msx1_sd_files.zip' se crea la carpeta MSX1FPGA, y dentro de ella se encuentra el fichero SPA.KMP con la definición de las teclas para el teclado español. Esta definición contiene numerosos errores, por ejemplo, las comillas no están en su sitio o bien es imposible conseguir el paréntesis de cierre. Podéis conseguir una definición alternativa del teclado español sin esos errores desde esta entrada



CTRL+ALT+DEL es Soft reset, CTRL+ALT+F12 es Hard reset (reinicia la máquina MSX como si la hubieses apagado) y CTRL+ALT+BACKSPACE resetea el ZX-Uno.

El puerto de joystick está mapeado como JoyMega, y configurado para usar un joypad de SEGA Genesis / Megadrive

Para cargar una ROM en el SCC Megaram se usa el comando ROMLOAD.COM (está en los ficheros de 'msx1_sd_files.zip' ) con '/S' para que comience inmediatamente. Ejemplo: ROMLOAD game.rom /S

Para ir al BASIC desde el MSX-DOS se debe ejecutar el comando BASIC
Para ir al MSX-DOS desde el BASIC se debe ejecutar CALL SYSTEM


Teclas del CORE:

- CTRL+ALT+SUP/Del = Soft Reset del MSX
- CTRL+ALT+F12 = Hard Reset del MSX. Si tienes cargada una rom con esto se descarga.
- CTRL+ALT+BACKSPACE = Resetea el ZX-Uno

- Print Screen / Impr Pant = Alterna modo de video entre VGA y RGB 15 KHz / CVBS video
- Scroll Lock / Bloq. Despl = Alterna a modo con Scanlines o sin ellas.
- F11 = Alterna a modo Turbo o normal.

Y usando el teclado español alternativo:

- Right Alt / Alt Gr = Tecla CODE del MSX
- Left Alt / Alt = Tecla GRAPH del MSX
- Tecla Menú o Page Up / Re Pág = Tecla SELECT del MSX
- Home / Inicio = Tecla HOME del MSX (SHIFT + HOME --> CLS)
- End / Fin = Tecla STOP del MSX
- Ñ o Tecla Windows = Tecla DEAD del MSX


NOTAS:

- En BASIC usar las teclas "CTRL+STOP" para parar la ejecución de un programa. La tecla STOP de MSX está mapeada a la tecla END/Fin del PC.
- Para cambiar el modo de vídeo conmutando entre 50HZ y 60HZ, y de ese modo jugar a velocidad correcta a los juegos PAL, como "Invasion of the Zombie Monsters", a través de la salida VGA, se puede usar el programa "DISPLAY.COM", que está para descargar en este hilo.



CARGA DE PROGRAMAS:

A.- FICHEROS .ROM

Son volcados de programas en cartuchos. Para archivos de 48K o menos, utilizar el programa ODO.COM (hOndonadas De hOstias).

ODO is a ROM loader for MSX1 and up, running MSX-DOS (supports MSX-DOS2 too). It can load and play ROM files up to 48K in RAM. ROMs that execute from page 0 are supported as well.


Podéis descargaros la versión 0.4 desde aquí, y colocar luego el archivo "ODO.COM" en la carpeta "\util" de la tarjeta SD.

Para ficheros .ROM de más de 48K, usar el comando ROMLOAD. Se puede usar de dos formas:

1ª ROMLOAD fichero.ROM /S (el "/S" fuerza a la ejecución del programa), o
2ª fichero /S (el nombre del fichero .ROM sin la extensión)

Si no se pone el /S es necesario realizar un Soft Reset (CTRL+ALT+DEL/Supr) para que se ejecute el programa.
Por defecto el sistema de mapeo de memoria que utiliza es el de Konami. Si se trata de juegos que no son de Konami, como Golvellius o el Abu Simbel Profanation, hay que cambiar el "/S" por "/A" o "/1" - mapper ASCII8 y ASCII16 respectivamente - (se prueba uno u otro hasta encontrar el que funcione). Por ejemplo: ROMLOAD ascii8.rom /A /S

De todas formas, en la carpeta "\util" de la SD hay 2 ficheros: ROMLOAD.TXT con instrucciones de como usar este comando, y ROMLOAD.LST con una lista de juegos y las opciones que hay que usar para que carguen.


B.- FICHEROS .DSK

Para ello hay dos formas, usando el comando EMUFILE o el comando MAPDRV. Supongamos que el disco del programa Cuerpo Humano: Sistema Circulatorio se llama CH-CIRCU.DSK, lo podremos cargar de estas dos formas:

1ª FORMA. EMUFILE

Código: Seleccionar todo

EMUFILE CH-CIRCU.DSK -r 

Este comando crea un fichero NEXT_DSK.DAT en el directorio raíz de la tarjeta SD con el contenido del disquete, y la opción "-r" fuerza un Soft Reset que hará que cuando vuelva a arrancar el Nextor-DOS cargue automáticamente el disquete.

Cada vez que arranquemos el ordenador se ejecutará el disquete, a menos que lo borremos. Para evitarlo, cuando arranque el ordenador debemos tener pulsada la tecla "0" (cero), y eso hará que no se cargue el disquete. En ese momento podemos borrar el archivo con un ERASE NEXT_DSK.DAT o DEL NEXT_DSK.DAT.

Para ver todas las opciones que tiene el comando EMUFILE, ejecutarlo simplemente tecleando su nombre. El comando permite el que se puedan montar varios disquetes a la vez, útil, por ejemplo, para un juego multi-disquete.


2ª FORMA. MAPDRV

Este comando monta el contenido de la imagen de un disquete en una nueva unidad de disco. Por ejemplo:

Código: Seleccionar todo

MAPDRV B: CH-CIRCU.DSK

Ahora podemos ir a la unidad B: y ver los ficheros. Vemos que hay un fichero AUTOEXEC.BAS, el cual podemos ejecutar simplemente con AUTOEXEC, y el programa ya arranca.



Nota importante 2018.05.13: Hay imágenes de disquete que a veces no funcionan, y es posible que un mismo juego tenga varias versiones. Por ejemplo, en esta página veréis hasta 4 versiones en .dsk del juego La Abadía del Crimen. Solo me ha funcionado la etiquetada como "Abadia del Crimen, La (1988)(Opera Soft)(es)[a3]". Una forma sencilla de comprobar si la imagen .dsk tiene algún problema es usar el emulador de MSX on-line WebMSX, configurarlo como MSX 1, europeo o americano, según lo que queráis, y arrastar el fichero .dsk para probarlo. En el caso anterior, ninguna de las otras 3 versiones de La Abadía me funcionaron, y solo la que funcionaba en el WebMSX funcionó también en el ZX-Uno.




C.- FICHEROS .CAS

Son imágenes con el contenido de las cintas de audio. La forma de utilizarlas está muy bien explicado en el artículo Cargar archivos CAS con MegaFlashROM y un MSX-2

Los ficheros LOADCAX y LOADCAXX se encuentran en la carpeta BIN del disquete ROM disk del MegaFlashROM SCC+ SD. Como hemos visto antes, con MAPDRV podemos acceder a su contenido y extraerlos.


D.- FICHEROS .BAS

Son programas en BASIC que podemos grabar en la SD, y también cargarlos para ejecutarlos. Desde dentro del BASIC podremos teclear:

Código: Seleccionar todo

SAVE "A:HOLA.BAS"


para salvar el programa, y con

Código: Seleccionar todo

LOAD "A:HOLA.BAS"

lo recuperamos.

Para saber las diferencias entre CSAVE, BSAVE y SAVE, u otros comandos para almacenar y recuperar la información, se puede consultar este apartado con comandos del Disk BASIC del wiki de msx.org.

Para cargar un fichero .BAS desde el Nextor-DOS, simplemente escribimos su nombre con o sin extensión y pulsamos ENTER.


E.- ENTRADA AUDIO

El core permite la carga de programas por audio. La forma de hacerlo es desde BASIC con los comandos:

Código: Seleccionar todo

RUN”CAS:”

o bien

Código: Seleccionar todo

BLOAD”CAS:”,R

o bien:

Código: Seleccionar todo

LOAD”CAS:”,R


Está perfectamente explicado en el artículo Cómo cargar programas en MSX.

Si se quiere oir el audio de la carga será necesario utilizar la versión del core "1.2 rev. jepalza", ya que las versiones sintetizadas por Fabio no reproducen el sonido de carga, como también ocurría en ciertos MSX reales.

En este entrada del foro de Vintagenarios se pueden encontrar multitud de programas de MSX en formato WAV que se pueden cargar por audio.
Última edición por desUBIKado el 13 May 2018, 13:18, editado 6 veces en total.

Volver a “MSX1”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado