|
|||||
|
AMIGA.InFo • Mayo/Junio 1995 • Número 3
Un poco de HistoriaMSX significa MicroSoft eXpanded y nació en 1983. Era un ambicioso proyecto llevado por una gran cantidad de empresas. Prácticamente la totalidad tenían origen Japonés. Consistía en un acuerdo para crear un sistema de ordenadores domésticos de bajo coste, ligeramente diferentes entre sí, pero totalmente compatibles a nivel hardware y software. Entre estas empresas podemos encontrar a Sony, Philips, Yamaha, Mitsubishi, Panasonic, Pioneer, Canon, JVC, Sanyo, Spectravideo y Dragon entre otras. El problema de este proyecto fue que llegó al mercado europeo un poco tarde, ya que estaban muy integrados otros ordenadores como el Specturm y el Commodore 64. A pesar de ello España era en 1988, el segundo país del mundo en ventas de MSX.
En 1985 salieron los MSX 2 que incorporaban un VDP (Procesador de vídeo), enormemente mejorado. Aunque, en prestaciones gráficas se ponían por delante de los demás ordenadores, no tuvieron las ventas esperadas en el mercado europeo debido a que eran más caros y además, eran unos completos desconocidos por la gente a causa de la escasa publicidad. Por esas razones y porque empezaban a dominar el mercado los ordenadores de 16 bits como el Amiga y el Atari, las siguientes generaciones de MSX no salieron de Japón, a excepción de unos pocos importados por pequeñas distribuidoras a precios elevados. estos modelos eran los MSX 2+ que incorporaban el VDP2 con un nuevo modo gráfico, similar al HAM, de 19.268 colores y la posibilidad de crear scroll horizontal por hardware. También, incluían un chip Yamaha de sonido con 9 canales FM: Sólo fabricaron estos nuevos modelos Panasonic, Sony y Sanyo.
Más tarde, aparecieron los Panasonic Turbo-R con un microprocesador de 16 bits a 28.64 MHz, el R800, además de incluir el Z-80 para asegurar la completa compatibilidad con los modelos anteriores, incluyendo también, un canal PCM de 8bits t 256k de RAM. Por último, salió otro modelo Turbo-R con 512k de RAM, MIDI e interfaz gráfico (GUI) en ROM. El MSX fue el primero en usar nuevas tecnologías como las unidades de 3,5", invención de Sony, y tarjetas de memoria del tamaño y grosor de una tarjeta de crédito, utilizadas posteriormente por la consola Master System de SEGA y la PC Engine o Turbo Graft de NEC. En la actualidad, a pesar de que hace varios años que no se fabrican, el país donde hay más movimiento de MSX es Holanda. De allí sale prácticamente todo el software y hardware actual, además de realizar una exposición anual bastante importante. En España podemos encontrar varias agrupaciones, clubs, y BBS. Una de estas agrupaciones es la AAM (Asociación de Amigos del MSX) y una de sus actividades son los encuentros de usuarios que se realizan en Barcelona cada 6 meses (la última fue el 30 de Abril), en estos encuentros se habla del panorama actual de los MSX y se exponen las últimas novedades en hardware y software.
|
||||||||||||||||||||||||||||||||||
Detalle del interior de un MSX. |
El MSX es un ordenador gobernado por un microprocesador Zilog Z80A de 8bits que es una versión mejorada del Intel 8080. Este funcionaba a una velocidad de 3,58 MHz. También contiene un Procesador de Vídeo, (VDP), con una memoria reservada de 16kBytes llamada VRAM. COntenía 32kBytes de ROM, 16k para la BIOS y los 16k restantes para el BASIC.
El PPI (Interfaz Programable de Periféricos) que contiene, es el 8255 de Intel. Éste maneja la memoria, el teclado y la entrada y salida de cassette.
Para reproducir sonidos contiene un chip llamado PSG (Generador de Sonido Programable) que es el AY-3-8910 de General Instruments, con 3 canales FM de 8 octavas más 1 canal de ruido.
Panasonic Turno R. Uno de los últimos modelos de MSX. |
El VDP, el TMS 9918A, tiene dos modos de texto y dos gráficos. El primer modo llamado screen 0 es de 40 columnas por 24 filas con sólo dos colores. Screen 1 es otro modo de texto de 32 x 24 carácteres multicolor. Screen 2 es un modo gráfico de 256 x 192 pixels con 16 colores, 2 por cada byte (8 pixels horizontales). Screen 3 era un modo prácticamente no utilizado, de 64 por 48 bloques de 16 colores. Los tres últimos modos contenían 32 planos de sprites con la limitación de cuatro por línea que podían ser de 8x8 ó 16x16, normales o ampliados. Contiene ranuras para cartuchos como las consolas, donde se pueden colocar desde cartuchos ROM de programas o juegos, ampliaciones de sonido, interfaces MIDI, RS-232C, ampliaciones de 16k a 4Mbytes de RAM, disqueteras de 3,5" o 5,25", controladoras SCSI, digitalizadores de vídeo, escáners de mano, etc.
El MSX2, entre otras cosas, contiene un nuevo VDP, el V9938 compatible con el modelo anterior, que incorpora un modo de texto de 80 columnas, nuevas resoluciones gráficas (256x120, 512x210) de 16 colores de una paleta de 512, un nuevo modo de 256 colores simultáneos y sprites mejorados. Además, tiene una especie de blitter, como el del Amiga, que le permite mover bloques de la memoria de vídeo con operadores lógicos, y posibilidad de crear scroll vertical.
Casi todos venían con 128k RAM y 128k de VRAM, y una disquetera de doble cara. El sistema operativo el MSX DOS es muy similar al MSDOS. Utiliza el mismo formato de discos con lo que podremos leer y escribir ficheros de un compatible y viceversa.
Cuando empecé a escribir este artículo sólo conocía la existencia del MSX Emulator, pero al día siguiente, tuve la suerte de conseguir el fMSX AMIGA v0.4. Podemos ver como, de dos formas muy diferentes, podemos llegar a obtener el mismo resultado: la emulación de un MSX, pero eso sí, con sus pros y sus contras.
Programado por Juan Antonio Gómez Gálvez.
El emulador está programado casi en su totalidad por Juan Antonio menos el PSG que se encargó Sergi Martínez. También han colaborado Antonio J. Pomar (creador del ZXAM Spectrum emulator) ofreciendo datos técnicos sobre las instrucciones secretas del Z-80, Albert Siersema y Ronal Gorter (programadores del MSX Emulator Holandes para compatibles) dando información sobre las disqueteras de MSX, Nestor Soriano "Konami Man" facilitando información sobre el VDP de los MSX2 y MSX2+ y Manuel Hiniesta ofreciendo información técnica del MSX2.
| Imágenes capturadas de algunos juegos ejecutados desde el MSX2 Emulator. | |||
Hay que destacar que esta programado totalmente en assembler a nivel hardware, congelando la multitarea y aprovechando toda la máquina para dar la máxima velocidad al emulador.
Podemos encontrar varias versiones:
MSX Emulator v1.3 64k RAM. Esta versión emula un MSX normal y corriente, pero con la ventaja de que es la más rápida de todas, consiguiendo con algunos programas, en un 1200 sin extras, ir a la misma velocidad que un MSX normal.
MSX Emulator v1.3 256k RAM. Para conseguir 256k ha tenido que reprogramar casi la totalidad del Z-80, y ha perdido velocidad. Este paso era muy necesario para las siguientes versiones que serían de MSX2.
MSX2 Emulator v1.7 a la v1.9. Empieza a emular los modos gráficos del MSX2 y vienen corregidos algunos "bugs" que tenía el Z-80A. Podremos ver imágenes de muchos juegos pero no podremos jugar ya que le falta por emular los sprites, además de otras opciones.
MSX2 Emulator v2.0 Amiga.InFo. La emulación del VDP de los MSX2 está bastante avanzada, emula los sprites, hasta 4Mb de RAM y tiene la opción de emular cuatro canales del SCC en vez del PSG.
Las características principales de éstos son:
El Z-80A está emulado un 98%, dejándose temporalmente los Flags N y Hm el registro SP no puede leer de la ROM y el flag P sólo es emulado con las instrucciones OR, AND y XOR. El registro R no está correctamente emulado. También se ha de tener en cuenta que algún programa puede fallar por algunos bugs que van siendo corregidos a medida que son encontrados.
El VDP está totalmente emulado a excepción del screen 3 y los sprites ampliados. Tiene la ventaja de que puede visualizar 8 sprites en una línea en vez de los 4 que tiene originalmente. En screen 0 los caracteres son de 8*8 en vez de 6*8 como en un MSX original. El VDP de los MSX2 en la versión 2.0, está bastante evolucioando y ya saldrán correctamente algunos juegos gracias a que ha empezado a emular los sprites, y ha perfeccionado y ampliado los comandos y operadores lógicos.
Al PSG le faltan los envolventes que estarán emulados en próximas versiones, según nos ha contado el autor. De todos modos, no se aprecia una gran diferencia, en los programas que los usan.
Emula perfectamente 4 canales del SCC de los 5 que contiene. Aquellos juegos que utilizaban este chip (Sound Chip Creator) incluido en juegos de cartucho de la casa Konami, sonarán de forma muy similar a los originales, a pesar de que le faltan un canal del SCC y los canales del PSG.
Emula el teclado y los puertos del joystick, permitiendo de dos botones, como por ejemplo el pad de Megadrive, que nos será muy útil porque eran utilizados en la mayoría de los juegos, pero en el caso de tener sólo de uno, no será problema ya que hay unas teclas reservadas para utilizarse como segundo botón.
La disquetera será nuestra única vía (de momento) para leer o grabar programas. Está emulada utilizando el mfm.device, ya que, utiliza el mismo formato que las de PC, salvo el bootblock que podremos cambiar desde la ventana de opciones del emulador. Ésta acepta discos de simple o doble cara asegurándonos compatibilidad con nuestros antiguos discos.
Por degracia no podemos hacerlo funcionar en cualquier Amiga .Requiere de unas prestaciones mínimas que no todos los modelos ofrecen.
La configuración mínima que necesitamos para que funcione, es un Amiga con un 68020 y 2 MBytes de RAM. Si tenemos además 1.7 MBytes de Fast RAM la velocidad de emulación será prácticamente la de un MSX, pero para conseguir una emulación perfecta necesitaremos, además, de lo antes mencionado un 68020 a 25MHz o superior.
La versión 1.3 64k, funciona en un ordenador que tenga FAST RAM de 32 bits igual o más rápido, en algunos casos, que un ordenador MSX. Las memorias FAST RAM de PCMCIA no son aptas porque, al ser de 16 bits, ralentizan el emulador, por lo que se recomienda desconectarlas mediante soft o extraerla.
No es necesario tener los chips AGA pero en caso de tenerlos, el emulador utilizará las ventajas que le ofrecen, para emular más rápido el VDP.
A pesar de que no emula al 100x100 un MSX real, la gran mayoría del software de los MSX funciona correctamente. La ventaja de que podamos tener 8 sprites en la misma línea es de agradecer en algunos juegos, pero se convierte en una desventaja en aquellos que utilizaban esta limitación para desaparecer u ocultar algunos sprites. Para emular la disquetera usando el mfm.devcie debe de desconectarlas como disquetera de Amiga, por lo que al salir del emulador nos quedamos sin ella, aunque podremos seguir utilizandola como de PC, por lo que deberemos de reinicializar el ordenador para recuperarla. Por suerte este fallo se verá solventando en futuras versiones.
El emulador es Shareware, para conseguir la versión completa debéis registraros. Además de obtener lo sin ningún tipo de límite, obtendréis gratuitamente, a excepción de los gastos de envío y disco, las futuras versiones del emulador.
Para conseguir la versión Registrada del Emulador o para contactar con el autor escribir a: Juan Antonio Gómez Gálvez.
NOTA ENCANTA: La dirección postal ha sido omitida por tratarse de datos muy antiguos.
Programado por Hans Guijt
Como decía antes, en Holanda es donde hay más actividad de MSX y después de salir varios emuladores para PC, no era de extrañar que sacaran uno para Amiga. Este emulador viene de la versión fMSX UNIX de Marat Fayzullin, que, como indica su nombre, funciona en ordenadores bajo el sistema UNIX, con lo que sólo tienes que compilar el source C en cualquier máquina con este sistema, (en un Amiga por ejemplo), y ejecutar el programa. Hans Guijt cogió el source en C y lo adaptó para que funcionara en Amiga OS y lo compiló con el SAS/C. Luego fue corrigiendo bugs y adaptando algunas funciones a código máquina para acelerarlo, utilizando DEVPAC (también existente en MSX), hasta llegar a la versión actual que es una preview de lo que puede llegar a ser.
El resultado es un emulador de MSX en multitarea. También cabe destacar que la emulación del VDP es diferentes al MSX Emulator, sobre todo a la hora de mostrar sprites ya que esta los hace utilizando bobs, y en el PSG están emulados los tres canales con sus envolventes. Pero le falta emular el canal de ruido.
De momento no emula la disquetera, y las únicas formas de cargar un programa es llamando al emulador desde una shell y colocando seguidamente el nombre del programa., o desde un icono. Una vez ejecutado nos creará una ventana gráfica que será la pantalla del MSX y otra en el Workbench con dos "sliders" donde podremos modificar el refresco de pantalla, y el período de interrupciones.
Modificando estas opciones haremos que el emulador vaya más rápido pero sacrificando los resultados. También encontraremos un gadget "Save config." que creará un icono al programa ejecutado, con los valores de las opciones anteriormente mencionadas, para que podamos ejecutar automáticamente este programa desde el workbench.
En caso de llamarlo sin ningún programa nos saldrá directamente el MSX Basic.
Para funcionar requiere un 68020 y la versión 39 del Kickstart. Para funcionar como un MSX normal necesitará como mínimo una BLIZZARD II con un 68030 a 50MHz o un 68040. El autor nos indica que en las próximas versiones emulará la disquetera utilizando el Crossdos, el VDP de los MSX2 y optimizará el código para que sea más rápido, y también nos indica que, a largo plazo, emulará el SCC y el FM-PAC.
Este emulador tiene la gran ventaja de funcionar en multitarea, pero en un 1200 con un 030 a 28Mhz y ram de 32bits ya mucho más lento que un MSX original, pero ésto no será problema si tenemos un Amiga 4000 con un 68040.
Al emular los sprites con bobs se consigue que se pueda tener los que queramos en la misma línea. Pero tiene la desventaja, como en el MSX Emulator, de que aquellos juegos que utilizaban esta limitación para ocultar sprites, simplemente no los ocultarán, además de que la emulación es más lenta que si usamos sprites convencionales.
En resumen, es un emulador bastante bueno si nos olvidamos de su excesiva lentitud. Necesita urgentemente la emulación de la disquetera para poder utilizar nuestros programas, además de optimiciones para ganar velocidad.
La versión que comentamos es totalmente freeware. Lo podremos encontrar en el CD-ROM Aminet Share 6 y, por supuesto, en Internet.
Con el disco de portada obtendremos una versión shareware para probar el emulador con un tiempo límite de 5 minutos y el joystick desabilitado. Una vez descompactado sobre cualquier soporte de Amiga, encontraremos cuatro ficheros: el Emulador, un dibujo del teclado de Amiga indicando las teclas del MSX, un guide con toda la información referente al emulador y una nota.
Si tenemos un Amiga con un 68040 deberemos ejecutar el comando "cpu nodatacache", ya que el "Data BURST" no deja funcionar correctamente al emulador.
Si accionamos el icono del emulador, nos abrirá una nueva pantalla donde saldrá una ventana de presentación y posteriormente la ventana de opciones.
Podemos dividirla en cuatro partes: La primera contiene las opciones referentes a la disquetera de nuestro Amiga que usaremos como cualquiera de las dos de MSX, con sólo accionar al correspondiente gadget. La opción "Install MSX Boot" sirve para instalar el Bootblock del MSX en un disco con formato en modo PC. El MSX se quedará bloqueado cuando entremos en la emulación con un disco ya metido en la unidad, si no tiene el bootblock de MSX. No pasará esto si lo introducimos cuando estemos en el Basic o en el shell del sistema operativo. en la segunda tenemos opciones generales, como cambiar la ROM de los MSX2 por la de los MSX de primera generación, la cantidad de RAM que queremos que emule de 128k a 4Mb, y por último si queremos que emule el SCC en vez del PSG o viceversa.
En la tercera podremos modificar las interrupciones de refresco de la pantalla para acelerar la emulación, y el tipo de pantalla (WorkBench, PAL, NTSC o MSX Mode). Y la cuarta parte (parte inferior de la ventana) encontramos los gadgets con el "About", "Go!" donde entraremos en el emulador. "Continue" que se encuentra desactivada, y "Exit" para salir del programa. También, encontraremos un slider llamado "Emulation Speed" para ralentizar la emulación en caso de tener un ordenador donde vaya demasiado rápido.
En los menús PULL-DOWN obtendremos más opciones, como activar o desactivar el Multikey, o el puerto del ratón y para conectar un segundo joystick (ya que el ratón puede dar problemas). Esta última esta desactivada. También, tendremos la opción de grabar la configuración del emulador y de la pila del MSX 2 (reloj, datos de la pantalla y password), además del About y Quit. el Multikey solo sirve para el 1200, ya que tiene el problema del teclado donde no podemos pulsar varias teclas a la vez de la misma línea. En aquellos juegos que tenían como truco éso, no podremos sinó activamos esta utilidad que crea un buffer donde almacena lo que escribamos en el teclado. Hay que desconectarlo después de usarlo.
Una vez dentro del emulador la tecla HELP nos servirá para solver al menú principal y la combinación de Ctrl+Alt+Del para hacer un reset y Ctrl+Alt+Help para hacer un hard-reset del MSX (borra toda la RAM del MSX).
Cuando se acaben los 5 minutos de tiempo saldrá la pantalla del menú de opciones, donde podremos entras otra vez en el emulador, sabiendo que la opción "GO!" hace un hard-reset y tendremos que volver a empezar. Cada vez que hagamos un MSX-RESET además, de reinicializar el emulador, el contador de la limitación de tiempo se pondrá a 0. Si tenemos discos con software de MSX o nos los dejan entonces, las instrucciones de carga desde el MSX BASIC son las siguientes:
Para ver un directorio.
FILES FILES"B: FILES"*.BAS"
Para ficheros de BASIC ".BAS", ".ASC2, ".LDR"
Para cargarlos sin ejecutarlo para poder listarlo o modificarlo.
LOAD "nombredelfichero.extension
Para cargarlo y ejecutarlo.
LOAD "A:nombredelfichero.extension",R RUN "nombredelfichero.extension
Para ficheros binarios ".BIN
BLOAD "nombredelfichero.extension",R
NOTA ENCANTA: A petición del autor original, Alberto Orante, esta artículo ha sido completado con parte que no pudo aparecer en la edición impresa y en su lugar. Este artículo quedó cortado por un problema con el fotolito original y fechas de entrega para presentar la revista impresa. Gracias a los avances del diseño web, ahora podéis leer el artículo completo y en el mismo número, sin tener que saltar de una a otra página. En la sección:: Amiga.InFo nº4: Fe de Errata, solo queda una nota similar, a modo recordatorio, en la que contenía parte de éste artículo.
| Envía esta página web a un amigo: Esta opción está desactivada temporalmente, rogamos disculpen las molestias |
|