Entrevista a Jörn Proda, alias “Prodatron”, creador de SymbOS y entusiasta del retro

Todos sabemos que los ordenadores clásicos están experimentando una segunda juventud. Por un lado, el revival ochentero que podemos ver en algunos productos de Netflix y Disney (Stranger Things y Guardianes de la Galaxia) y las estéticas neo retro (presentes en un puñado de juegos de Steam y remakes de consolas bajo Raspberry  como Retron 5 o la Mini NES Clásica) están en todas partes; y por otro lado, todavía pervive una gran comunidad desarrollando hardware y software para estas máquinas de la Edad temprana de la informática. Muchas de ellas están en esta subcultura desde la década de los 80. Y nuestro visitante, Prodatron, es uno de ellos.

Detrás de este alias encontramos un creador digital procedente de Alemania, forjado en la Demoscene y la programación HTML a finales de los 80 y principios de los 90 (un usuario de CPC que fue miembro en los grupos SymbiosiS y Beng!). Poco activo en la Red, alcanza notoriedad en 2006, cuando confecciona un Sist. Operativo completo para varios ordenadores de 8 bits (CPC, PCW, MSX2 y ordenadores Enterprise), disponible gratuítamente en descarga digital. En 2017 lanzó la versión 3.0, y a día de hoy SymbOS es más y más grande con nuevas aplicaciones, videojuegos y otros recursos.

[Distrito Entebras] – Cuando vi este producto mi primera impresión fue algo así: “Es Windows para 8 bits”. Los ordenadores MSX y Amstrad con unidad de diskettes tenían interfaces de línea de comandos MSX-DOS y CP/M, respectivamente (que eran próximos a la primera versión de MSDOS), pero no constituían una interfaz de usuario con iconos y puntero de ratón; por lo menos en el caso de los MSX, no estaban disponibles para occidentales. Has hecho un programa excelente 🙂
[PRODATRON] – ¡Gracias! (risas)  Desde los 80 también soñaba con tener multitarea y un interfaz gráfico de usuario con ventanas superpuestas, etc. para mi Amstrad CPC. En los viejos tiempos hice algunos intentos para conseguir este objetivo, aunque realmente no fue útil. DE_blog_12_2017_dia_23_09Años después descubrí otra vez el CPC, ahora ya como “ordenador retro”. En esa época tenía algunas experiencias relacionadas con desarrollar un proyecto y de como funcionan las cosas. Tenía que pensar algunos asuntos importantes, como programador de tareas preventivo basado en prioridades, partiendo el GUI (Entorno Gráfico de Usuario) en una parte plataforma independiente de alto nivel y unas rápidas rutinas de pantalla de bajo nivel específicas, así como el concepto sobre usar las posibilidades de conmutación de bancos de memoria en el CPC de la mejor manera para varios programas, ejecutándose al mismo tiempo en la memoria extendida. Al final me pareció que todo tenía solución, así que me metí en este proyecto y finalmente fue posible cumplir mi viejo sueño.

[D.E.] – En tu web personal cuentas que formaste parte de SymbiosiS, un grupo de Demosceners. La época dorada de esta actividad fue una inspiración increíble para muchos usuarios/as (aquí yo me incluyo también), fue esencial para definir el término “cibercultura”. Mirando atrás, ¿echas de menos algún aspecto de la subcultura de las Demos para ordenador?
[PRODATRON] – Fue una época magnífica y una experiencia fantástica formar parte de la Demoscene. DE_blog_12_2017_dia_23_08Aprendías a exprimir totalmente tu ordenador – sin importar que fuese de 8 ó 16 bits entonces. Hacías cosas, las cuales probablemente eran imposibles en la imaginación de los desarrolladores originales de la máquina. No me  quiero olvidar de ninguna de estas experiencias, porque me ayudaron a optimizar código y alcanzar una sensación, saber qué es lo óptimo y cómo un ordenador puede hacer algo de la mejor manera.

Por otro lado tampoco quiero olvidar en absoluto mis actividades como programador de Demos. Parece que soy más un desarollador de herramientas. Pero aún sigo siendo un miembro pasivo de esta subcultura uniéndome a las dos “Demo Parties” más grandes de Alemania cada año (Revision en Saarbrücken y Evoke en Colonia). Hoy en día es una generación completamente diferente de hardware, ¡pero aún mola mucho ver las demos 64K!

[D.E.] – Desde su primer lanzamiento (Abril de 2006), la última versión de SymbOS es enorme en cuanto a elementos y añadidos. ¿Es esto es un mero deseo que nació en tu mente como concepto final, o fue un prodcuto largo y planeado que cambió mucho desde los primeros esbozos?
[PRODATRON] – Es una mezcla de ambos. Los conceptos básicos de SymbOS no han cambiado desde 2001. Afortunadamente, nunca fue necesario modificarlos, incluso hoy en día con el nuevo hardware y posbilidades todavía funciona bien. Pero ahora tenemos nuevas características, las cuales no estaban en mi mente desde el principio. Los mejores ejemplos son los ports a otras máquinas Z80 o cosas como los daemons (Procesos que corren en segundo plano) o el escritorio extendido.
DE_blog_12_2017_dia_23_02Los primeros logros de SymbOS  se han definido así: debería ser mucho mejor que GEOS para Commodore 64, debería tener un programador preventivo multitarea como el Workbench de Amiga (“nunca me ha gustado la multitarea cooperativa”), y con apariencia de Windows 95. Después de diseñar los conceptos para todos los componentes de SymbOS, la primera versión funcional real apareció a finales de 2004. En ese momento todavía era pequeña, el Interfaz Gráfico de Usuario podía ejecutarse incluso en un sistema de 64K.
Con la implementación de sistema de archivos FAT12/16/32 y muchas otras características SymbOS fue creciendo y creciendo. Pero hasta hoy día nunca violamos la norma, que sea ejecutable en un sistema Z80 a 128 KB de los 80.
La flexibilidad relativa al consumo de memoria probablemente es una propiedad especial de un producto de 8 bits. La mayoría de las nuevas características se sitúan ahora en módulos externos y aplicaciones de servicios. La configuración mínima aún requiere sobre 80 KB de RAM. Pero una instalación completa con una resolución alta de fondo, múltiples gadgets de escritorio y todos los servicios ejecutándose incluyendo soporte de red, etc. ya requiere 200 KB.

[D.E.] – En los días presentes hay un montón de software de videojuegos caseros para ordenadores obsoletos, pero solamente unas pocas aplicaciones no-lúdicas y Sist. Operativos. ¿Cuál fue tu principal razón para hacer un Sist. Operativo como SymbOS? ¿Te sientes más cómodo cuando estás haciendo aplicaciones que desarrollando videojuegos (como El Señor de los Anillos para CPC)?
[PRODATRON] – Además del hecho de que soy más un programador de herramientas, ¡en cualquier caso es una buena pregunta!
Desde el punto de vista popular un ordenador retro es sólo una máquina para jugar. Esto es cierto en un aspecto: Aún se pueden jugar juegos chulos en estas máquinas, y mucha gente todavía siente la misma diversión que con los juegos modernos. Pero el 99% nunca usaría un ordenador de 8 bits para su trabajo diario.
Y aquí está el asunto que me fascina tanto. Con SymbOS intento convertir una vieja máquina en algo, que parece ser muy similar a los sistemas modernos actuales. Desarrollando nuevas herramientas, que parecen y se comportan como aquellas que he ejecutado para Windows en mi PC es realmente divertido para mí.
DE_blog_12_2017_dia_23_03Otra motivación para SymbOS es el soporte para el nuevo hardware. Como ejemplo ahora tenemos interfaces de Red, decodificadores MP3 e incluso una tarjeta gráfica nueva (por lo menos nueva para CPC). Usarlos con el Sist. Operativo de tarea única es un poco aburrido. Puedes ver una demo para la nueva tarjeta gráfica, o puedes bajar un archivo de Internet, o puedes probar el Reproductor de MP3.
Pero no al mismo tiempo, y entonces el ordenador se bloquea completamente por esta única tarea. En SymbOS puedes usar el nuevo hardware de una manera mucho mejor. Escuchas tu lista de reproducción favorita de MP3 mientras tienes abierto tu programa de chat y compruebas si tus colegas están online. Todo a esta resolución mayor de alta velocidad y con muchos colores. Y si nadie quiere chatear contigo, juegas a Pac-Man o a Columns, mientras bajas y descomprimes aplicaciones nuevas y archivos multimedia en segundo plano, mientras el SysAmp sigue reproduciendo la música.

[D.E.] – En SymbOS podemos ver varios elementos comunes con los productos de Microsoft de los 80 (especialmente entre las versiones 2 y 3.0 de Windows): Administrador de Tareas, Panel de Control, un Terminal DOS, una Barra de Menú,
algunas combinaciones de teclas, etc. Incluso el menú de instalación tiene alguns parecidos con la instalación de Windows XP.
¿Cuál dirías que fue tu principal inspiración excluyendo MS Windows: GEOS para C64, los gestores de archivos japoneses de MSX, o incluso los Interfaces de Usuario para ordenadores de 16 bits como Amiga y Atari ST?

[PRODATRON] – El Workbench de Amiga fue la inspiración nº1 para mí, cuando hace años sólo tenía mi CPC.DE_blog_12_2017_dia_23_04 También me gustaba mucho el diseño similar al Macintosh del GEOS para Commodore 64. Para ser honesto comparado con el Workbench nunca me gustó GEM. Al inicio de los 90 vi el Interfaz Gráfico de usuario Arthur (más tarde Risc OS) del Archimedes, y en mi modesta opinión Microsoft hizo una buena decisión al robar algunas ideas de esta Interfaz Gráfica para su Windows 95 😉 No conocía el MSX en detalle antes de empezar el port.

[D.E.] – SymbOS funciona perfectamente en varias máquinas, incluyendo los ordenadores MSX con añadidos como la Powergraph V9990 y equipos CPC marginales como los ordenadores PCW. Supongo que lo has realizado en Ensamblador, el lenguaje de programación de la vieja escuela (en tu web has escrito que el código total son aproximadamente 119000 líneas).
¿Fue muy difícil portear SymbOS a otras plataformas, o sólo hiciste unos pequeños cambios entre las versiones de Amstrad y MSX? Desde tu punto de vista personal, ¿es el Ensamblador un tipo de acto romántico?
[PRODATRON] – Fijo, SymbOS está escrito 100% en ensamblador Z80. DE_blog_12_2017_dia_23_06El primer port
para MSX requirió alguna tarea previa como volver a clasificar algunos códigos fuentes, planificando que todo lo que se tiene que hacer de forma general para un port, teniendo un nuevo concepto para manejar 16 y 4 colores al mismo tiempo, mejorando algunos interfaces entre los mídulos SymbOS, etc. Ahora es mucho más fácil porque todos los conceptos, elaboraciones y experiencias ya están ahí gracias al primer port. No debería llevar mucho más de 2 semanas tener un nuevo port funcionando de forma rudimentaria en otra plataforma – el port inicial para Enterprise 128 llevó semana y media.
Claro, ¡programar en ensamblador es increíblemente romántico! 😀 Bueno al menos es bueno para mantener tu mente entrenada; te sientes bien, mientras intentas optimizar el tamaño y velocidad de tu código; y siempres recuerdas los orígenes 🙂

[D.E.] – ¿Qué les dirías a los programadores actuales, que usan enormes IDE (Interfaces Gráficos de Desarrollo) constantemente, un montón de DLL´s (librerías de enlace dinámico), y están protegidos por cantidades enormes de documentación online con ejemplos hechos? No temas dañar un poco sus sentimientos 🙂
[PRODATRON] – (Riendo) Es la única manera de sobrevivir hoy en día en el ámbito empresarial. Si tengo que desarrollar una aplicación estoy usando enormes IDE´s, DLL´s y también mucha documentación y ejemplos. Ahora C++ se está convirtiendo en el nuevo lenguaje ensamblador – mucha gente ya no lo usa nunca, ahora es incluso difícil encontrar programadores de C++.
DE_blog_12_2017_dia_23_05Pero empieza a resultar realmente extraño que muchos programadores no saben que es un número Hexadecimal o cómo usar los Bits. Y a veces hay un problema con la optimización de código. Los ordenadores de hoy en día son tan rápidos, que a menudo no te percatas si tu código está completamente sin optimizar. Si está ejecutándose sólo en tu máquina vocal, quizás esté bien, porque eventualmente no hay presión de aprenderlo. Pero si tiene que correr en un ambiente de tiempo crítico como en una granja de servidores, a la cual acceden miles de clientes por segundo, se podría convertir en un problema o ser bastante caro.

[D.E.] – Esta es una pregunta típica: ¿Qué Sist. Operativo actual prefieres (además de SymbOS): Windows, Linux, MAC OS, Android?
[PRODATRON] – Prefiero Windows y Android. Linux es chulo para ejecutar servidores , pero aún me gusta usar PC con Windows en mi casa. No soy gran fan de Apple pero adoro mi Apple Lisa.

[D.E.] – Además del Sist. Operativo original, en tu web hay un montón de aplicaciones, incluyendo reproductores de vídeo y música (¡¡un lector de MP3!!), una calculadora, varios juegos (Snake, Columns, Pacman, El Juego de la Vida); e incluso otros recursos (fuentes, fondos de pantalla). Si cualquier usuario/a quiere desarrollar cualquiera de estos recursos para tu Sist. Operativo, ¿existe algún editor disponible? En la web oficial se habla acerca del SymStudio, pero el enlace está roto.
[PRODATRON] – Tengo buenas noticias, SymStudio ahora se llama Quigs, ¡y pronto estará disponible para el público! Trebmint (el alias bajo el cual se esconde Rob Buckley, otro developer de la comunidad CPCera) actualmente está trabajando en la primera versión. Ahora mismo hay disponible una versión anterior totalmente funcional, la cual usó EdoZ (otro programador de apoyo en el proyecto SymbOS) para crear la mayor parte de los juegos nuevos y aplicaciones de los últimos tres años. Pero hay diferencias en el lenguaje similar a Basic, así que es mejor esperar a la nueva versión.

[D.E.] – ¿Has contemplado la posibilidad de hacer SymbOS en otros idiomas (alemán, castellano, japonés)? ¿Los adaptarías si la comunidad te diese las traducciones completas?
[PRODATRON] – Para soy honesto la verdad es que no lo he planeado. Hoy en día se usaría un archivo de texto adicional o una Base de Datos con ID´s para cada etiqueta o algo así. DE_blog_12_2017_dia_23_07En una máquina Z80 deberías intentar mantener tu código tan pequeño y rápido como sea posible, así que normalmente enlazas directamente los textos en el código. Esto significa que para cada lenguaje también debería ensamblar unas binarias propias del Sistema Operativo completo y para cada aplicación. Ya es difícil manejar todos los ports diferentes de SymbOS y esto incluso debería añadir muchas más variantes. Lo bueno del inglés es: que es comprensible para la mayoría y – desde la perspectiva de un ordenador de 8 bits¡es un lenguaje muy compactado! (risas).

[D.E.] – ¿Has considerado hacer ports de SymbOS a otras máquinas como Spectrum +2, Dragon u ordenadores BBC ?
[PRODATRON] – SymbOS necesita un Z80 y tiene algunos requisitos para las capacidades de conmutación del banco de memoria. DE_blog_12_2017_dia_23_09Desafortunadamente muchas máquinas viejunas no son capaces de ofrecer esto. Hacer un port a ZX Spectrum sería un sueño, pero sin las modificaciones de hardware es imposible para las placas normales. El Spectrum +3 permitiría sólo 128 KB con enormes cambios en el kernel y en las estructuras de memoria. Pero estoy planeando hacer un port al ZX Uno y a Spectrum Next. Y por supuesto aún hay la posibilidad de hacer ports a las otras máquinas Z80 como el Amstrad de rango NC100/200 e incluso al PcW16 con su rápido Z80 a 16 Mhz.

[D.E.] – Es tiempo de finalizar la entrevista. Ahora cerramos el Editor de Texto, escribimos exit en el terminal de comandos y cerramos todos los programas antes de abandonar el Sistema. Te deseamos lo mejor en los años venideros, nuestras máquinas añejas necesitan grandes creadores y programadores como tú.
[PRODATRON] – ¡Muchas gracias por estas preguntas tan interesantes y tus palabras amables! 🙂

· Interview in English available here
· Interview in Hungarian here

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s