Unas palabras con Mario Villareal, desarrollador del C128

Normalmente cuando hablamos de programadores, desarrolladores, grafistas y empresas siempre se habla del Hemisferio Norte, ya sea EE.UU, Europa, Rusia o Japón, pero en el sur también pasaban cosas, también se desarrollaba y se creaba, a otra escala claro y poco de lo que se hizo allí se comercializó fuera del ámbito local.

En este caso vamos a hablar con Mario Villareal, un desarrollador argentino, cordob√©s, que durante muchos a√Īos hizo brillar nuestros Commodores en Argentina y que tuve el gusto de conocer gracias a un curso de ensamblador para C64 que hice y que √©l era el profesor :)

  • Nombre: Mario D. Villareal
  • Pa√≠s: Argentina
  • Primer sistema: C=128
  • Historia: Desarrollador de C=128

–Cu√©ntanos un poco sobre Mario Villareal, ¿qui√©n eres? ¿a qu√© te dedicas actualmente?

–Me llamo Mario D. Villarreal y me dedico a cultivar todas las cosas de mi inter√©s, y por supuesto entre ellas est√° la computaci√≥n! Soy m√ļsico adem√°s, que es lo que me llev√≥ a los “ordenadores” como dicen por all√°… Quer√≠a desarrollar un programa que listara todos los acordes posibles. Al final del curso, estuve capacitado y pude hacerlo!

–¿Cu√°l fue tu primera experiencia con un ordenador? ¿cu√°l fue tu primer ordenador?

–Mi primer equipo propio fue un Commodore 128, superfull, con dos drives 1571, impresora 1000 y monitor color. Aunque previamente, hab√≠a estudiado programaci√≥n (Basic y Cobol) en las viejas computadoras de la √©poca (NCR no recuerdo ya el modelo) y jugado bastante con la C=64.

Foto Commodore User Group

–¿Puedes recordar el primer juego o aplicaci√≥n que probaste? ¿o lo primero que realmente te impresion√≥ de los ordenadores?

–El primer juego que jugu√© fue uno de m√ļsica: el “Kawasaki”, que exploraba todas las posibilidades sonoras y gr√°ficas de la revolucionaria C=64. Mi amigo (Juan Dutka) tra√≠a personalmente los juegos directamente de EE.UU. as√≠ que estaba en la cresta de la ola con la Commodore!.

https://www.youtube.com/watch?v=9ZBzhO8_FFc https://www.youtube.com/watch?v=1h5QJDDnVE0

–En aquellos tiempos que no exist√≠a internet ¿llegaste a conocer a alguien m√°s que se dedicara al desarrollo para Commodore en Argentina?

–Tuve la suerte de conocer a los mejores cerebros en C√≥rdoba de aquella √©poca; tipos geniales, con conocimientos e ideas innovadoras, por nombrar algunos, el ingeniero Vilchez, Fabricio Geronazzo, Juan Dutka, a un ingenerio electr√≥nico que trabajaba en Prointel, creo que se llamaba Cuevas, Claudio Sileoni, y a un tal Jos√© Zanni :P

–S√© que hiciste muchas cosas con los Commodores, ¡cuenta, cuenta!

–Yo conoc√≠a bien la placa de la C=64; sab√≠a programar los bit de cada chip, y dominaba el assembler. Victor Vilchez, (ingeniero electr√≥nico y gran amigo), me ayudo con sus conocimientos de hard para dise√Īar un cartucho que pudiera paginar una ROM de 32 KB (la mayor era de 64kb pero eran caras y dif√≠ciles de conseguir). Mi idea era que al encender la m√°quina, instant√°neamente tuvi√©ramos un generador de caracteres, con finos scrolles, verticales y horizontales, que se combinaran con el  logo del canal y tuviera un secuenciador programable para emitir avisos a los clientes de los primeros canales de cable (tv).

Fue un √©xito el cartucho y le llam√© “Video secuencer”. El trabajo era artesanal, pero ¡fue redituable!. Muchos canales de cable de C√≥rdoba lo tuvieron y fue para ellos una gran soluci√≥n y para mi una gran satisfacci√≥n.

El "cartucho" lo monté dentro de unas cajitas de plástico pintadas de negro.

La m√ļsica me llev√≥ a conocer a otro ingeniero electr√≥nico, lamentablemente ya fallecido, de una productora local de televisi√≥n (Prointel). En aquella √©poca, dictaba yo un curso de lenguaje de m√°quina y mi amigo era uno de los asistentes.

Material del curso de ensamblador para C64
Material del curso de ensamblador para C64

Era muy raro y caro conseguir una interface MIDI pero hablando sobre el tema, un d√≠a vino con una revista de electr√≥nica que ten√≠a un proyecto para crear una plaqueta midi para la C=64. Mi amigo me ofreci√≥ hacerla para que yo la probara. Dicho y hecho, al tiempo apareci√≥ con la plaqueta! Una enjundia de cables, todo muy de prototipo,  pero, ah√≠ estaba…  ¿y ahora? Hac√≠a falta un teclado MIDI y un soft para programarla!. En aquella √©poca exist√≠a un programa llamado “Dr T.” que conseguimos con mi hermano (tambi√©n m√ļsico) por una cadena de contactos. Claro, el soft  estaba dise√Īado para interfaces MIDI profesionales… No reconoc√≠a la plaqueta… Entonces, hab√≠a que “meterle mano” al c√≥digo para ver si  la experimental plaqueta MIDI funcionar√≠a… Tuve suerte y pude entender el programa y ubicar todas las llamadas que hac√≠a a los puertos. Los cambi√©  y ¡eureka! la plaqueta funcion√≥ como si fuera una Passport! (el gran cartucho MIDI de la √©poca).

Dr. T, software de m√ļsica
Passport, interfaz MIDI

Con esa plaqueta y los teclados de otro gran amigo, terminamos grabando un "Long Play" en 1989, donde la C=64 secuenciaba una bater√≠a electr√≥nica, y 3 teclados. Fue una experiencia incre√≠ble e inolvidable para el estudio de grabaci√≥n. Incluso, la tapa del disco fue una imagen digitalizada tambi√©n por la C=64, gracias tambi√©n a mi amigo Castex… (el de los teclados).

Símbolo del austral

Hice varios proyectos interesantes adem√°s: Por ejemplo un editor de texto, todo en assembler para la C=128 que imprim√≠a en una poderosa impresora Laser Jet plus. Me llev√≥ 10 meses llevarlo a cabo, ya que adem√°s tuve que generar un car√°cter que no exist√≠a en ning√ļn cartucho: el s√≠mbolo monetario argentino del austral!

El soft era algo as√≠ como un peque√Īo Word, con inteligencia para separar el texto con guiones, generar texto en columnas, justificado, etc. – ¡c√≥mo estudi√© gram√°tica para hacer el silabeo perfecto! - Fue por encargo del diario “El Sol” de la provincia de La Rioja. Era el asombro por la velocidad en que procesaba los textos e imprim√≠a en segundos las p√°ginas. Dejaba muy atr√°s a las maquinas de escribir IBM programables con que contaban en aquel entonces. Mi amigo J. D. me provey√≥ de una llave de hardware para evitar la copia. Pero claro, en m√≠ estaba programarla. Gener√© unos interrupts, de modo que si alguien sacaba la llave, el programa no funcionaba. pod√≠an s√≠, hacer las copias de seguridad que quisieran, pero sin la llave, todo era in√ļtil… Claro que si trataban de copiar la llave, era imposible, tanto tratando de leerla como de abrirla f√≠sicamente, porque se destru√≠a.

La llave la inventó Juan Dutka. Yo lo que hice fue la programación de un interrupt que testeaba si estaba la llave. Como el soft corría en ROM, no se podían desviar los vectores para que ignorara el loop de chequeo. Cada 10 milisegundos testeaba el puerto del joystick y si el chip de la llave no decía "hola", el programa se detenía. El conexionado interno estaba todo pegado y conexionado con muy finos alambres de cobre, cualquier intento de fuerza bruta rompía el chip.

Y finalmente, para no aburrir, patentamos un juego de azar. No pod√≠a ser que no hiciera un juego ¿verdad? Se llam√≥ “Truco Mayor” y lo dise√Īamos junto a mi amigo el Ing. Victor Vilchez. Le ense√Ī√© a diagramar y √©l me tra√≠a su estrategia, en cientos de hojas, inmensos diagramas de flujo. Yo los convert√≠a a c√≥digo assembler.

Juego Truco para C64. Lamentablemente no hay im√°genes del juego del entrevistado, sirva esta captura como ejemplo ilustrativo aunque Truco Mayor estaba hecho en modo gr√°fico.

Para este proyecto, ya tuve que quitar todas las ROMs de la C128, no qued√≥ nada m√°s que los chips y los micros (tenia un Z80 adem√°s). Me hac√≠a falta toda la memoria disponible y no hab√≠a lugar para el sistema operativo! ¡Hasta modificamos las conexiones de la placa para mejorarla!. Recuerdo que cuando se fue a patentarla, Victor me llam√≥ desde Buenos Aires, porque le solicitaban que declarara el sistema operativo bajo el cu√°l funcionaba. Yo lanc√© una carcajada y le dije, “Ninguno, no tiene sistema operativo!”. Se trataba del juego “el truco” tradicional en Argentina. Este inclu√≠a mi propia voz digitalizada, que cantaba “Envido”, “Real Envido” y todas las cosas que se cantan en el juego, incluso, ten√≠a m√ļsica a 3 voces, (todo soft m√≠o) y maravillosamente, ante un corte de energ√≠a, salvaba todos los datos. Al volver el suministro el√©ctrico, restauraba el juego en la posici√≥n que hab√≠a quedado, como si nada hubiera pasado. As√≠ fuera que estaban los contadores descargando o no. Esto era important√≠simo. ¡Fue un verdadero desaf√≠o pero sali√≥ muy bien!

Commodore 128 por dentro (foto Museo8bits)

Este juego se ponía en bares, era como "una caja cerrada", con una batería que permitía mantener la energía para que se pueda cerrar el juego guardando esa información, aunque lejos de ser unos minutos, no llegaba al segundo. El lenguaje de máquina es tan rápido que detectaba la caída de tensión y en el tiempo en que se cortaba la energía marcaba el punto de restauración. Durante el juego, se iban grabando indicadores, que servían para la reconstrucción total de la partida.

–¿Funcionaba este juego en un C128 normal o era necesario modificarlo, quitar chips, etc?

–No, no funcionar√≠a en una Commodore 128 normal. Volamos todas las roms y pusimos eproms propias. ¡No hab√≠a lugar para almacenar el programa!. Desapareci√≥ todo el sistema operativo completo. S√≥lo copiamos la rutina de arranque, que activaba primero el Z80 y despu√©s el micro principal 8502, para orientar correctamente los punteros a nuestro programa. Incluso Victor hizo algunos puentes en la placa madre para mejorar la perfomance.

–¿Qu√© herramientas usabas para desarrollar? ¿qu√© lenguaje? ¿c√≥mo era tu forma de trabajo?

–Usaba el lenguaje Assembler y compilaba con el TSDS. Primero, realizaba el diagrama de flujo (cuando era muy complejo) y luego generaba macro c√≥digos en assembler que casi parecia un lenguaje de alto nivel, con la diferencia de la m√°xima eficiencia del lenguaje de m√°quina.

TSDS, Matte editor

Respecto a TSDS, es el Total Software Development System (sistema de desarrollo total de software), era una soft muy completo para Commodore. Yo hice la traducci√≥n al castellano del manual. El paquete inclu√≠a, el macro assembler, para compilar, editor de sprite, etc. Los creadores de esto - seg√ļn internet - fueron Kevin P. Pickell, Brian R. Niessen.

Manual TSDS en castellano
Manual TSDS en castellano
Manual TSDS en castellano
Manual TSDS en castellano

En este enlace cuentan brevemente sobre el TSDS  y desde este otro enlace se puede bajar el soft. Mis softwares importantes los desarroll√© gracias al TSDS.

–¿C√≥mo aprendiste a programar? Sin internet y estando en Argentina ¿c√≥mo se consegu√≠a informaci√≥n, libros...?

–Los libros de Commodore se consegui√°n, incluso los listados de la ROM. Yo me los compr√© a todos, incluso los de las roms de los drivers 1571… Recuerdo que aprend√≠ a generar diskettes con mi propio formato! S√≥lo mis programas pod√≠an leer esos discos! Y claro, ten√≠an m√°s del 50% de capacidad que los comunes, lo cual era muy interesante para soporte de base de datos.

Respecto a estudiar, lo que hoy en d√≠a no se puede bajar de Internet y de ninguna parte, son las GANAS de saber! Para m√≠, era apasionante conocer m√°s y m√°s…

–¿Sigues en contacto con alguien que hayas conocido gracias a tu paso por el mundo del C64?

–Salvo mi amigo Jos√© Zanni, Juan Dutka y Fabricio Geronazzo, nadie m√°s. Pero estos √ļltimos, ya est√°n muy desligados de la Commodore, m√°s que yo…

–¿C√≥mo fue la transici√≥n del Commodore al PC? ¿Conservas algo de aquella √©poca (gr√°ficos, diskettes, dibujos, c√≥digos, cartuchos, etc.)?

–No conservo nada, lamentablemente... S√≥lo un VHS con un demo del "Video Secuencer" y fotos. Recuerdo que sol√≠a visitar a mi amigo Fabricio para que me consiguiera C=64 para mis cartuchos de “video sequencer” y cada vez se hac√≠a m√°s dif√≠cil. Yo era como un dinosaurio, mientras todos estaban ya con las PCs yo segu√≠a con mi querida Commodore. Hab√≠a desarrollado todo un sistema para publicidad, que generaba placas y animaciones, negocio que resultaba lucrativo para los canales de cable, incluso a mediados de 1992, pero finalmente, el tiempo pas√≥…

Prosper√© y fui a trabajar al m√°s importante cable del pa√≠s, el cual, fue comprando poco a poco a todos los peque√Īos cableoperadores a los que yo mismo hab√≠a prove√≠do del “video secuencer” y cuando llegaba a la planta el equipamiento proveniente de las empresas absorbidas, llegaban mis queridas C=64 con su “video secuencer”. Me daba alegr√≠a y nostalgia a la vez… Los t√©cnicos se preguntaban qu√© era eso… y yo les contaba y se quedaban muy sorprendidos… El 1 de abril de 1998 (me record√≥ la fecha mi hijo Joel – un genio de la programaci√≥n -) lleg√≥ nuestra primer PC, que fue la maravillosa MMX con Windows 95 y una Soundblaster 64 – muy significativo el n√ļmero -, de todos modos yo programaba de antes, desde las 286.

–¿Qu√© piensas de la vida que siguen teniendo aquellos equipos?

–Como todo hobby est√° bueno… ¡pero es mejor dejar las cosas en su tiempo!

–¿Te gustar√≠a volver a hacer algo usando un Commodore 64/128?

–Me gusta todo lo moderno, lo mejor de lo que dispongamos, y en aquella √©poca, sin duda que lo fue nuestra inolvidable Commodore… Sigo hoy con la misma filosof√≠a, busco lo mejor y la Commodore 64 ya no lo es!!!

–¡Gracias por responder a todas las preguntas!, si quieres agregar algo m√°s...

–Gracias por hacerme recordar esa hermosa √©poca y casi se me pianta un lagrim√≥n!!! Ya mi hiciste dar nostalgia, y voy a bajarme un emulador...

Publicar un comentario

7 Comentarios

  1. Genial la entrevista y Mario un auténtico crack. En su época era casi aotosuficiente y lo que no tenía se lo hacía. Me quedo con lo de : hoy en día no se puede bajar de Internet y de ninguna parte, son las GANAS de saber!

    ResponderEliminar
    Respuestas
    1. Realmente un auténtico genio y una muy buena persona.

      Lo de "las ganas de saber" es esencial, en estos tiempos de internet y de acceso casi total al conocimiento, es lo √ļnico imprescindible!

      Lo que hubiera dado en aquella época tener acceso a todo lo que se tiene ahora...

      Eliminar
  2. Que estupendo es conocer a gente así, que fueron pioneros en el uso de estas maquinas. Todos tienen geniales anecdotas que contar. Genial entrevista, Pepe!

    ResponderEliminar
    Respuestas
    1. Jrasias amijo Cyto!

      Una pena que Mario no se haya quedado con nada de material :S

      Eliminar
  3. Yo supe estudiar en Oncativo con Claudio Sileoni y era un capo total !!!, no se que fue de el, pero las cosas que hacia en asembler con la C64 eran un espectaculo. Que gratos recuerdos de esa epoca, gracias por esta publicación.!!!
    PD: Si sabes algo de la vida de Claudio comentamelo, Saludos. CRISTIAN.

    ResponderEliminar
    Respuestas
    1. Hola Christian,

      Esa época dejó recuerdos imborrables!!

      Yo compart√≠ departamento en C√≥rdoba con Claudio durante varios a√Īos, mientras estudiabamos, luego yo me fui a Villa Mar√≠a y √©l se qued√≥ en C√≥rdoba, despu√©s el se fue a Brasil y yo a Espa√Īa. De vez en cuando nos comunic√°bamos para hablar de estas cosas, hasta que un d√≠a me escribi√≥ para contarme que estaba internado, lo llam√©, me dijo que estaba con un tratamiento de quimio y adem√°s obviamente seguimos hablando de estas cosas!! :D Yo realmente no tom√© conciencia de que estaba grave, √©l tampoco me lo dijo.
      Cuando lo llamé de nuevo, al mes o dos su mujer me dio la mala noticia de que había muerto... fue un shock y cada vez que me acuerdo o lo cuento como ahora se me hiela la sangre :'(

      Esto fue en 2006 y justamente a finales de agosto.

      Eliminar
  4. Genial entrevista, del juego de truco me acuerdo muy bien!

    ResponderEliminar