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