A través de este artículo quiero explicar mi experiencia con esta estupenda ampliación de hardware para MSX. Desde mis inicios como usuario de MSX allá hacia el año ´85, tuve el privilegio de tener en casa un MSX1 Philips VG-8020 con unidad de discos externa de 3,5” de simple cara. Uno de mis sueños siempre fue poder utilizar en mi MSX un disco duro, ya que la unidad de discos, que por aquel entonces era un privilegio, tenía de por sí una capacidad muy limitada de memoria: en este caso 354 Kb útiles de almacenamiento en simple cara y doble densidad. Era la mejor opción de almacenamiento en aquellos tiempos para el usuario.
Con un precio de 40.000 pesetas por la unidad de discos Philips (unos 240 € al cambio, y a precio de hace 30 años), y un coste de 11.000 pesetas la caja de 10 disquetes de simple cara y doble densidad (66 €), era una opción casi inalcanzable para un chaval de 12 años, pero por avatares de la vida mi familia pudo hacer el esfuerzo de comprar un Home Computer para el hogar.
Hoy por hoy, y tras la inflación de precios aplicada tras el paso de los años, podremos decir que a precio actual es como si la unidad de discos externa de 3,5” nos hubiera costado 450 €… Toda una inversión pero que ampliaba significativamente las posibilidades de almacenamiento y los tiempos de acceso al mismo.
Esta gran ampliación del sistema ofrecía tiempos de carga y capacidad de almacenamiento fulminantes respecto al estandarizado casete Computone que usaban los ordenadores de 8 bits, por aquellos tiempos: Commodore 64, Spectrum, Amstrad y MSX. Únicamente recuerdo a un amigo que tenía un ordenador con unidad de discos: El Amstrad PCW con unidad de 3,5” integrada en el cuerpo del monitor monocromo de fósforo verde. También ese ordenador estaba económicamente fuera del alcance de la mayoría del público.
Mi unidad de discos se conectaba al MSX mediante un cartucho interface que ocupaba uno de los 2 slots de cartuchos del VG-8020. Contaba con una ROM de disco que incorporaba el MSX Disc Basic 1.0 y el MSX Disk Operating System (MSX DOS) Versión 1.0. Con esto podía manejar la versión home computer del MS-DOS de los PC compatibles para MSX, y acceder de igual manera al disco y a sus ficheros mediante el intérprete MSX-Basic. Realmente era muy útil, tanto para la programación en Basic como para la utilización de aplicaciones tales como editores gráficos en Screen 2 y gestión de ficheros o utilidades en general, además de poder cargar algún juego.
Recuerdo que sobre todo grababa en disco los listados Basic de juegos y programas de las revistas MSX Extra, MSX Magazine (la edición española, que nadie crea que era la posterior MSX Magazine japonesa), Input MSX y MSX Club de programas.
También hacíamos nuestros pinitos salvando backups de los juegos de las revistas de quiosco que incluían casete como Load´n Run, Lenguaje Máquina MSX o MSX Software. En estos, tras un breve cargador de cabecera en Basic, había uno o dos bloques de código máquina en los que nos teníamos que devanar los sesos para calcular las direcciones de memoria para emplazar en la RAM estos bloques de programa (en Código Máquina) y cargarlos sin ejecutarlos en el MSX. Después había que volcar los bloques de memoria en un archivo relocalizable (.rel), o hablando claro, en un bloque en código máquina ejecutable desde el acceso de la unidad de discos. Todo esto, con la ayuda del ensamblador y desensamblador GEN y MON de Hisoft. Y de esta manera, vivimos nuestros inicios de la informática, hasta que un par de años después accedí a un Philips MSX2 VG-8235.
Ya en la era del MSX2 y MSX2+ sobre el año ´90, la tienda LASP de Zaragoza vendía discos duros IDE de 20 Megabytes para MSX. Tuve el privilegio de testear durante unas semanas el disco duro de mi amigo Dani que realmente era una auténtica pasada, tanto por el rápido acceso, como por la descomunal capacidad de almacenamiento que permitía este periférico. Pero el precio era inasequible, y con los estudios y economía familiar preferí invertir una pequeña parte de mis pocos ahorros de las becas de estudio en ampliar mi querido MSX2 VG-8235.
Gracias a Ramón Casillas, Ángel Cortés y a algunos amigos de Barcelona, entré en contacto con Ángel Cullá de Lérida; un usuario que estaba muy puesto en la ampliación y modding de los MSX2. Cuando le mandé mi MSX2 por correo (toda una proeza de la época por el riesgo de enviar tu preciado equipo tan lejos a alguien que no conocías), me lo envió de vuelta a las pocas semanas con una ampliación de memoria interna de 1 Megabyte de RAM, chip de vídeo VDP 9958 de los MSX2+, selector de cristal de cuarzo de arranque dual para la CPU a 3.54 y 7 MHz, 2 unidades de discos de doble cara y doble densidad, y la ROM del sistema del Philips MSX2 NMS 8245 en su interior.
A esto le añadí un ratón Hit Bit de Sony, el FM PAK Stereo adquirido en LASP, y un cartucho Konami SCC puenteado para usarlo como SCC para las conversiones de Konami SCC en disquete del también Malagueño Francisco Martos. Y desde entonces el horizonte MSX se amplió automáticamente.
Los archivadores de disquetes de 3,5” comenzaron a comer espacio en mi cuarto de estudiante… Era la edad dorada del software nipón, y en España se distribuían entre los grupos de usuarios de distintas ciudades cientos de títulos de juegos y aplicaciones, revistas y demos. Algunos de estos juegos ocupando cada uno de ellos hasta 9 disquetes.
Pasaron unos años y con la aparición del MSX Turbo R vendí mi “Experimento ampliado Philips semi MSX2+” para comprar en el año ´94 el MSX Turbo R GT, una maravilla de ordenador que pese a aportar sobre todo recursos y rapidez al sistema, nunca fue el salto cualitativo que los usuarios buscábamos en el estándar. Se quedó realmente a medio camino de culminar adecuadamente al sistema MSX en el mercado, aunque a día de hoy sigue siendo un gran MSX, y por cierto el más alto de la gama.
Bastante más tarde, en el año 2002 y mediante el fanzine gallego Hnostar, que eran también importadores y distribuidores oficiales en España del software y hardware de los Holandeses Sunrise Foundation, compré una de las primeras unidades del cartucho Sunrise Compact Flash ATA-IDE por 120 €. Al fin había un cartucho para MSX que era un auténtico DISCO DURO mediante 2 tarjeteros Compact Flash y con el sistema operativo MSX DOS 2.2. Este cartucho funciona en cualquier MSX con el estándar de ficheros FAT 12 de MSX (y posteriormente una actualización a revisión FAT 16) trabajando con 4096 ficheros, subdirectorios, etc., y admitiendo con emufile.com incluso el driver NEXTOR para administración de imágenes ejecutables de disquete en formato .dsk, además de la utilización del gestor de archivos para FAT16 Multimente y el sistema operativo SymbOS.
En 2 tarjetas de CF de 256 Megabytes, pude archivar la práctica totalidad de mi ingente colección de disquetes MSX, y con programas como loadrom.com u otros, pude ejecutar desde el disco duro ficheros en formato .rom y usar ficheros y programas bajo MSX-Basic y bajo el sistema operativo MSX DOS. Pero loadrom.com y otros programas parecidos no pueden simular adecuadamente la configuración de la paginación de memoria de todos los distintos tipos de archivos .rom; y las ampliaciones de memoria de Leonardo Padial y sus diferentes interfaces, entre ellas la de tarjetas SD, tampoco solucionaban este problema.
Hubo que esperar a que Manuel Pazos desarrollarse su ingeniosa Megaflash ROM SCC, la cual ha pasado por varios estadios y que sin duda se ha convertido en un estandarte de uso para el usuario MSX. Sin esta Megaflash estaríamos aún en la edad de piedra MSXera…
Este cartucho Megaflash ha evolucionado tanto en software como a hardware se refiere, que actualmente se suministra con chip integrado SCC+, segundo chip de sonido PSG, ampliación de memoria integrada de 512 KB de RAM y tarjetero Micro SD con FAT 16. Sin duda un trabajo titánico por parte de Pazos.
Las primeras versiones de la Megaflash ROM sin tarjetero SD ni ampliación de memoria eran la combinación perfecta para utilizar conjuntamente con el cartucho Compact Flash ATA-IDE, ya que mediante la utilización de ambos cartuchos, tenemos el disco duro de la tarjeta de memoria Compact flash, más el cartucho ROM flasheable para incluir roms de juegos en el propio cartucho Megaflash SCC+ de cualquier tamaño, incluso también con un menú multirom configurable a gusto del consumidor. Bajo mi humilde opinión, estas Megaflash SCC+ que no incluyen el tarjetero SD tienen un rango de compatibilidad más alto con ciertos ficheros .rom que en las versiones posteriores de MFR SCC+ SD, en las que ciertas .rom pueden no funcionar tan fácilmente.
Con esta configuración de expansiones para MSX en cartucho, y utilizando los 2 slots de cartucho en el MSX, contamos con las siguientes características:
Flash ROM.
Chip de sonido SCC/SCC+.
Memoria RAM extra 512 Kb.
Disco duro en la tarjeta Micro SD.
Discos duros en tarjetas Compact Flash.
El complemento ideal para aportar a toda esta configuración, que ya de por sí funciona muy bien, sería añadir la ampliación de sonido FM-PAC, o quizás también el Moonsound OPL4. Pero solamente sin el cartucho FM-PAC, estas ampliaciones que os he explicado ya nos ocuparían 2 slots de cartuchos en el MSX, o según el caso incluso 3 slots… Y no tenemos tantos, excepto en poquísimos equipos concretos, o bien si opcionalmente montamos un expansor de slots en el MSX.
Ante este panorama, a principios del 2017 los chicos de Russian Bear Service Crew (RBSC) desarrollaron con la colaboración el usuario Alexey la placa PCB para construir el nuevo cartucho Flash “CARNIVORE 2”. Este cartucho de expansión incluye en una sola unidad:
Chip FM PAC.
Chip SCC+.
Expansión de memoria RAM de 1024 Kb.
Disco duro en formato tarjeta Compact Flash.
Salida Jack de 3,5” para equipo de música/amplificador.
Memoria Flash para menú de juegos integrados en formato .rom, y memoria Flash para carga de imágenes de disco en formato .dsk.
Balance, ajuste y registro en memoria interna de los volúmenes para Key Click, PSG, SCC, FM.
ROM FM PAC traducida al inglés.
Por lo que tenemos todas estas características en un solo cartucho y ocupando un solo slot de cartuchos en nuestro MSX. Este cartucho Flash trabaja con una FPGA Altera Cyclone II, en la que está integrada toda la configuración que he descrito.
Realmente Carnivore 2 es una ampliación recién nacida que tiene grandes posibilidades y un camino muy largo por delante, pero todo hay que decirlo: ahora hay que vestirla, es decir, ir avanzando en sus posibilidades en cuanto a actualizaciones que aprovechen su potencial y mejoren poco a poco las funciones que tiene implementadas y que por el momento están poco más que iniciadas. Aun así, está teniendo un resultado aceptable.
Cuando encendemos el MSX Carnivore 2, nos muestra en pantalla un menú de programas y juegos en formato .rom seleccionable y configurable en algunos puntos como pueden ser el equilibrado de volúmenes de los canales de sonido del MSX (Key click, PSG, FM, SCC) y la salida del Jack estéreo 3,5” del cartucho. Paralelamente a este menú de selección, podemos configurar nuestro Carnivore 2 mediante el programa EMUFILE.COM para que en lugar de este menú de roms, nos ejecute desde su memoria flash, software de disco en formato .dsk ya sean de uno o de varios disquetes. Por ejemplo, podemos cargar perfectamente los 8 discos del juego Illusion City que los arrancará y gestionará tal y como sucede en la Megaflash ROM SCC+.
Es interesante apuntar que trabaja bien con user disks para grabar situaciones y partidas de los juegos. Si no queremos ejecutar software de disco o no queremos usar nuestro menú de roms, hay teclas y comandos que saltan la ejecución del software para acceder directamente al sistema operativo MSX DOS 2, en donde podemos tener un fichero Batch para que inicie un determinado proceso o utilidad, como por ejemplo el práctico gestor de ficheros Multimente.
Desde MSX DOS 2 podemos acceder tanto a la unidad o particiones de nuestra tarjeta Compact Flash, como a la unidad de discos de nuestro MSX. Carnivore 2 tiene incluido NEXTOR y un driver de Sunrise para tratamiento y formateo de nuestra tarjeta Compact Flash, siendo posible estas opciones desde utilidades de MSX DOS y desde un comando Call desde el mismo MSX Basic. En mi caso, he tirado un poco alto y tengo instalada una tarjeta Compact Flash de 8 Gigabytes. El MSX puede trabajar en modo FAT 16 con particiones de hasta 4 Gigabytes, de manera que la he formateado con 2 particiones de 4 Gb, de las que una de ellas es la unidad activa y principal, y la que tengo asignada como disco duro de trabajo.
Uno de los añadidos recientes que un servidor planteó a los servicios de soporte de RSBC fue el selector de frecuencia de 50 o 60 Hz, algo casi indispensable dependiendo del ordenador MSX que estemos utilizando y que nos ofrece, por ejemplo, la posibilidad de poder ejecutar el software a 60 Hz en ordenadores PAL que trabajan por defecto a 50 Hz, o al contrario. Como ejemplo de lo dicho, saborearemos el software japonés como originalmente se ha diseñado y desarrollado. Estos ajustes de audio y de formato de frecuencia, se guardan en una memoria EEPROM que Carnivore 2 tiene instalada en su PCB sin necesidad de estar alimentado internamente con una batería, como suele ser usual en los cartuchos Flash.
Así nos podemos encontrar que en menos de un año de vida Carnivore 2 ya ha tenido numerosas actualizaciones. Estas se pueden instalar mediante 2 procesos:
Si la actualización no es primigenia, sino de algunos ajustes puntuales, podremos descargar directamente desde el repositorio incluido en la página web de RBSC, el fichero de actualización que deberemos grabar en nuestra tarjeta Compact Flash. Sencillamente desde un tarjetero USB de un ordenador PC o MAC, leeremos los archivos perfectamente pese a que hayamos realizado las particiones pertinentes desde el MSX. Una vez realizado este paso, desde el MSX DOS utilizaremos la aplicación C2MAN.COM o C2MAN40.COM para, entre sus diversas opciones, realizar el breve flasheo del nuevo fichero de actualización.
Carnivore 2 es compatible con MSX1, de manera que para los usuarios de la primera generación tendremos que usar la aplicación diseñada para 40 columnas, por eso el detalle de incluir el C2MAN40.COM.
Si en otro caso la actualización es relevante y conlleva un flasheo de gran parte de nuestra FPGA Altera Cyclone II, deberemos de descargar del repositorio RBSC el correspondiente formato de fichero de actualización en formato .POF. Para flashear el cartucho necesitaremos un módulo USB de actualización de Altera, y el software de Altera instalado en nuestro ordenador. Este módulo USB Arduino de Altera no viene de serie con Carnivore 2, pero realmente el coste que tiene es inferior a los 10 €. 8Bist4Ever lo incluye como opcional en su página web a la hora de encargar el pedido, y en todo momento veremos la cantidad exacta que nos cuesta nuestro Carnivore 2, o el pack junto con el módulo Altera USB programmer.
Con Carnivore 2 insertado en el MSX, el programa Quartus II de licencia libre instalado en el PC o MAC, y el adaptador Arduino de Altera (que es el que enlaza el PC con un conector de la PCB de Altera) podremos flashear en 5 minutos el Carnivore 2, para una vez terminado, contar con todas las funciones añadidas en nuestro cartucho.
Hay a disposición de los distribuidores comerciales de Carnivore 2 un tutorial para uso y actualizaciones que es amigable y sencillo, así que por favor que nadie se asuste. Bien es cierto que los proveedores ofrecen estas actualizaciones sin gastos para el usuario, por si no queremos hacerlo nosotros. En España tenemos al menos tres canales mediante los que adquirir Carnivore 2:
Mi experiencia ha sido comprando Carnivore 2 directamente en la web de 8Bits4Ever, a un precio de 109 € con los gastos de envío incluidos. Aparte compré más tarde el programador USB de Altera en una tienda española de ebay por 10 € incluyendo gastos de envío, con el que posteriormente pude realizar las actualizaciones relevantes en Carnivore 2.
La PCB de Carnivore 2 viene integrada en su carcasa, con pegatinas y chip EEPROM incluido. En mi caso, 8Bits4Ever no me entregó el cartucho con el jack de 3,5” soldado en la PCB, ni taladrada la carcasa para la salida del conector del jack, pero tras un poco de ingenio y paciencia lo he dejado perfectamente operativo.
Por la información que tengo, Palibriris salva este inconveniente y lo tendréis directamente para plug & play a un precio de 75 € más gastos de envío. También él da soporte a las actualizaciones informando de todos los procesos a hacer por el usuario, de forma que estaréis al día de cualquier novedad. Gracias a él he podido avanzar en la utilización del Carnivore 2. Aparte de esto, le envié un ordenador MSX2 y me lo ha ampliado a MSX2+. La seriedad que presenta, me ha quedado sobradamente demostrada.
Detalles aparte del hardware, ya toca hablar del uso de Carnivore 2. Cierto es que no tiene una interfaz amigable, más bien un tanto “user hostile” que complica un poco la selección de bancos de memoria para ir añadiendo roms al menú principal mediante la utilidad C2MAN.COM. En este aspecto, la Megaflash ROM SCC+ está mucho más evolucionada, también porque lleva más tiempo y madurez en el mercado. Es un tema que tendrá que progresar y a buen seguro los desarrolladores con el tiempo conseguirán tener una interface GUI adecuada al efecto, y más automatizada. En este punto, tenemos la suerte de contar con la utilidad SofaRun, que se comporta como un perfecto tándem con Carnivore 2, grabando instantáneamente en la Flash Rom cualquier .rom, sea del tamaño que sea, o fichero .dsk, ya sea una compilación de varios discos o no.
No tendremos prácticamente problemas para ejecutar software con SofaRun, hasta que haya actualizaciones más versátiles para grabar juegos en el menú de Carnivore 2.
En el caso de que en un futuro necesitemos por cualquier razón la restauración completa del sistema integrado en el cartucho, su placa PCB viene provista de un micro switch que nos permite la reestructuración de la configuración del chip flash Altera, para volver a aplicar al cartucho todas las características descritas en este artículo.
De esta manera tenéis una idea aproximada de qué es y qué se puede hacer con Carnivore 2. Esto no quita que tengan que venir mejoras sustanciales como:
1. Mejora del audio de salida. Qué duda cabe de que Carnivore 2 suena adecuadamente con la conjunción de los canales de sonido PSG, SCC+, FM más el canal de sonido de ruido o teclado, pero si atendemos cuidadosamente al sonido, sobre todo escuchándolo con auriculares, podemos advertir una cierta bajada en los kilohertzios del muestreo del sonido. En nuestra televisión esta diferencia será casi inapreciable, pero puede ser previsible que el cartucho funcione actualmente así debido a la separación del audio en los 2 canales Left y Right mediante el DAC de sonido, o bien mediante la división de la señal de sonido interno del MSX; aparte de la señal de salida de audio por medio del Jack de 3,5”, por lo que cada señal de sonido no tiene realmente la calidad original que deseamos obtener. Que nadie piense que por todo esto suena mal, sino que de momento no está perfectamente muestreado.
2. Interfaz GUI o de usuario de manejo más intuitivo o sencillo. La utilidad Sofarun nos librará de un trabajo de campo para parametrizar los valores adecuados de paginación en los bloques de memoria; pero es una solución temporal, pienso, hasta que Carnivore utilice una propia aplicación a medida para este cometido. Paciencia, y a ver cómo evolucionan las cosas...
3. Utilización del modo R800. Es decir, aprovechamiento de la velocidad del MSX Turbo R, y la velocidad extra que aporta el Z80B en los ordenadores Panasonic MSX2+.
Como conclusión, decir que pese a la corta vida de esta genial ampliación “Todo en 1” para MSX, estoy contento de que con la utilización de tan solo un slot de cartuchos del MSX y una tarjeta Compact flash para este cartucho, tengamos un sonido decente y completo, memoria RAM de sobra y un genial disco duro para usar cualquier tipo de software, sean archivos .rom, imágenes de disco .dsk, o carpetas con ficheros al uso compatibles con MSX ya sean gráficos, utilidades, juegos o lo que sea. Todo ello contando con NEXTOR, MSX DOS 2.2, ROM FM PAC y drivers incluidos en ROM para todo esto.
Espero que las actualizaciones saquen aún más el potencial de Carnivore 2 para que sea una opción aún más interesante. Agradecer por último la información y colaboración a Xavi Sorinas, Pablibris, Alexey, Julio Gracia y 8Bits4Ever, entre otros.