6 de junio de 2013

Konamiman nos cuenta los entresijos de Nextor, su Sistema Operativo para MSX

Hablamos con Néstor Soriano, más conocido como ‘Konamiman’, un entusiasta del MSX creador de docenas de utilidades y herramientas, estuvo presente en la pasada Mallorca Game con una charla acerca de la historia del fantástico estándar japonés, y aprovechó para presentar sus últimos avances con Nextor, una mejora del sistema operativo MSX-DOS realizado a partir de las fuentes originales del mismo. Pero dejemos que el propio Néstor nos lo cuente en esta entrevista:

Néstor en uno de sus viajes a Japón. Imagen: Flickr

¿Cuándo comenzaste a trabajar en Nextor y cuáles fueron las razones para ello?

Todo empezó en el año 2008. Un miembro de la MSX Association (un grupo de usuarios de MSX japoneses que en aquella época tenía los derechos de la marca MSX) contactó conmigo y me propuso ser uno de los representantes de dicha asociación en Europa. Decliné el ofrecimiento porque ello implicaba dedicar tiempo y dinero (debía asistir a reuniones periódicamente en Holanda) que yo no tenía.

No obstante seguimos estando en contacto durante un tiempo, y un día, durante una sesión de chat, me habló de pasada del "proyecto MSX-DOS 2.50". En este punto hay que aclarar que la última versión de MSX-DOS, el sistema operativo "oficial" del sistema MSX, tenía el número 2.31 y fue lanzada en 1991. Así que le pedí más detalles y me dijo que, en efecto, había un proyecto en marcha para desarrollar una nueva versión, atención, a partir de las fuentes originales. Como desarrollador aficionado al MSX tenía claro que tenía que meterme en ese proyecto fuera como fuera.

Después de insistir mucho y de unos cuantos e-mails intercambiados entre varias personas, conseguí meterme en el proyecto y recibí las fuentes. No obstante, no sé si por un problema de comunicación, o porque el proyecto se canceló, jamás recibí ningún tipo de información sobre las características que se suponía que iba a tener el nuevo SO, ninguna asignación de tareas, ninguna estimación de plazos... nada. Por supuesto, yo no podía quedarme con los brazos cruzados con las fuentes en mi poder, así que decidí hacer mi propio SO añadiendo a MSX-DOS lo que yo pensaba que le estaba faltando. Decidir el nombre fue sencillo: si Linus tenía su Linux, Néstor tendría su Nextor.

Captura de Nextor en un emulador. Imagen: Néstor Soriano

¿Cómo resumirías la utilidad de este sustituto del SO original de MSX?

MSX-DOS era un sistema operativo diseñado para ser usado con disketes, y cuando los aficionados al MSX empezaron a desarrollar controladores de almacenamiento masivo (de disco duro primero, de tarjetas multimedia después), se encontraron con carencias que debieron suplir realizando ingeniería inversa del kernel y desarrollando utilidades propias y diferentes para cada controlador.

Podríamos decir que Nextor tiene dos objetivos principales:

Expandir MSX-DOS añadiendo características que son necesarias cuando se quiere ir más allá de los disketes, evitando a los desarrolladores de hardware tener que hacer este trabajo para cada dispositivo desarrollado. Estos sólo tienen que escribir un driver para enumerarlos dispositivos disponibles y acceder a ellos a bajo nivel (leer y escribir sectores físicos), y Nextor se encarga de la gestión de particiones y de la asignación de dispositivos a letras de unidad(MSX-DOS trabaja con letras de unidad de igual forma que MS-DOS y Windows).

Añadir características útiles para los usuarios, como soporte para el sistema de ficheros FAT16 (MSX-DOS sólo soporta FAT12, con lo cual el tamaño máximo de partición que puede manejar es de 32MB), particionador de dispositivos (el FDISK de toda la vida) o asignador de particiones a letras de unidad. Debo aclarar que el soporte para FAT16 ya estaba implementado en casi su totalidad en las fuentes que recibí, en esa parte yo sólo tuve que hacer algunos retoques.

¡Los más pequeños de la casa también disfrutan con Gradius! Imagen: Néstor Soriano

¿La última beta tiene ya un buen puñado de funciones instauradas... ¿hay algo más que quisieras que Nextor también incorporara?

Por supuesto. Una característica muy solicitada es el soporte para emular disketes. Esta característica, ya implementada en algunos controladores existentes, permite arrancar el ordenador usando ficheros de imagen de disco como si fueran disketes físicos. Esto permite almacenar en un disco duro o tarjeta multimedia juegos antiguos que normalmente no permiten tal cosa, porque no están basados en ficheros (la información está grabada directamente en los sectores del diskete) o porque sólo funcionan en la versión 1 de MSX-DOS, demasiado limitado para usar algo más que disketes.

Además de eso, quiero implementar la posibilidad de cargar dinámicamente drivers de dispositivo (actualmente el driver debe estar en ROM, junto al propio kernel) y un sistema de drivers de sistemas de ficheros (los drivers soportados actualmente simplemente acceden a sectores y es Nextor el que gestiona los ficheros y directorios) que permitiría usar particiones que no sean FAT12 ni FAT16 y controlar otros dispositivos como CD-ROMs o incluso acceder a unidades de red.

¡Esto es 'turismo' y lo demás tonterias! ;) Imagen: Flickr

¿De qué características te sientes más orgulloso y qué es lo que más trabajo te ha costado desarrollar?

De lo más orgulloso que estoy es de haber conseguido una versión lo suficientemente útil y estable como para que se esté distribuyendo ya con un dispositivo de almacenamiento (el MegaFlashRom SCC+ de ManuelPazos) y la gente lo esté usando, aparentemente sin demasiadas quejas:-)

Lo más complicado ha sido conseguir entender el código (es un SO para un sistema antiguo y sencillo, pero un SO al fin y al cabo no es nunca un software trivial) lo suficiente como para poder "meter mano" deforma segura y conseguir implementar nuevas características que además funcionan (¡oh, ah!). El simple hecho de conseguir compilar el código ya fue todo un logro, es un buen puñado de ficheros en ensamblador que tengo que compilar con M80 usando un emulador de CP/M.

¿Es muy difícil hacer que Nextor corra en un MSX original? Básicamente, ¿qué pasos tendríamos que seguir?

Para usar Nextor en un MSX original es necesario o bien un cartucho flash regrabable para usar la versión "standalone" junto a controladores basados en MSX-DOS (en este caso se pierden algunas de las características de Nextor), o bien un dispositivo para el que exista un driver. Actualmente el único dispositivo para el que existe un driver "oficial" es el mencionado MegaFlashRom SCC+ de Manuel Pazos; también tengo desarrollado un driver experimental para el controlador IDE de Sunrise, pero es muy inestable aún.

De todas formas también es posible usar Nextor con un emulador de MSX, y esa es quizá la mejor opción para quien simplemente quiera echar un vistazo. En mi página web hay un tutorial detallado para empezar a usar Nextor, tanto con un MSX real como con un emulador

Nextor también puede instalarse en un MSX original. Imagen: Néstor Soriano

¿Seguirás trabajando en Nextor en el futuro, es un proyecto "vivo"?

Es un proyecto vivo pero ligeramente vago. Por desgracia cada vez tengo menos tiempo libre y no puedo hacer avanzar el proyecto al ritmo que yo quisiera.

¿Qué tal ha sido la respuesta de la comunidad con tu desarrollo?

La respuesta de la comunidad estás siendo a mi parecer bastante buena. El hecho de que se esté vendiendo ya un dispositivo de almacenamiento con Nextor integrado y que yo no haya sido linchado en la plaza del pueblo es una buena señal. :-)

Muchas gracias Néstor por responder a nuestras preguntas y felicidades por el gran trabajo que haces y por tus aportaciones a la escena.

Visita la web de Konamiman para más información, descargar sus herramientas para MSX, etc.

Lee nestra crónica de la pasada Mallorca Game y la entrevista con David Caldés

3 comentarios:

  1. No me lo puedo creer, una entrevista al señor Konamiman y no sale el Twingo por medio xD

    Es un monstruo, ya quisiéramos muchos saber la mitad de lo que sabe él.

    ResponderEliminar
  2. Las fotos en Japón son del año 2001. Ahora no tengo gafas ni pelo. (^_^)

    ResponderEliminar
  3. Hello
    i see u intersting for old game devic
    i like this devic too
    i invite you to visit my site
    http://atari.forumegypt.net/t5-topic
    i have 100 msx device for sell

    ResponderEliminar

¿Es el Spectrum Next la evolución que esperabas del <i>Speccy</i>? Tim Gilberts nos muestra en exclusiva la esperada máquina

Los pasados 27 y 28 de octubre tuvo lugar la Play Expo Blackpool 2018 , un encuentro retro en la ciudad costera británica cerca de Mán...