Easter-eggs, records y curiosidades de videojuegos

¿Cómo están programados los fantasmas del Pac-Man? ¿Cuál fue el primer easter-egg de la historia de los videojuegos? Las respuestas a esas preguntas (y muchas más) en esta nota sobre curiosidades del gaming que seguramente no conocías.

***

¿Cómo están programados los fantasmas del Pac-Man?

Llamar a Pac-Man un mero “jueguito” sería una injusticia. Es un ícono cultural, un símbolo de toda una década, así como una entidad que redefinió el panorama del gaming en sí mismo. ¡Y su origen se lo debemos a la pizza!

En 1979, Toru Iwatani, un empleado de Namco de 27 años, estaba mirando una humilde muzzarella cuando se le ocurrió la idea de un videojuego centrado en la comida. ¿Qué lo inspiró? A la pizza le faltaban dos rebanadas y por eso parecía una boca.

El resultado fue Pakkuman, un nombre derivado de la frase japonesa “paku-paku taberu”, un término que se utiliza para describir el sonido que produce una boca cuando se abre ampliamente y luego se vuelve a cerrar en estrecha sucesión. En resumen, exactamente lo que hace el personaje de Pac-Man para comerse sus deliciosos puntos amarillos.

Hasta ese momento, los juegos de arcade más populares (como Asteroids y Space Invaders) estaban dirigidos a niños. Iwatani quiso atraer a un grupo demográfico más amplio, lo que lo llevó a agregar tanto el elemento laberinto al juego, así como los enemigos fantasmas (Blinky, Pinky, Inky y Clyde).

Pero, ¿cómo se mueven los fantasmas en Pac-Man? Parecen recorridos mayoritariamente aleatorios y, sin embargo, no lo son. De hecho, sólo uno de los fantasmas persigue directamente al héroe titular, Blinky (el fantasma rojo), mientras que el resto tienen patrones que dependen de la posición de nuestro protagonista.

De forma muy resumida, podríamos decir que: Blinky (el rojo) simplemente te persigue, Pinky (el rosado) intenta adelantarse y te corta el paso, Inky (el celeste) intenta atraparte entre él Blinky… y Clyde (el naranja) te persigue si estás lejos, pero huye si estás demasiado cerca.

Además de esto, los fantasmas también tienen tres modos posibles en los que pueden estar: modo persecución, modo dispersión y modo asustado (cuando Pac-Man come el power-up). En el modo persecución, los fantasmas se mueven exactamente como se describió anteriormente. Después de unos segundos de juego (la cantidad exacta varía dependiendo del nivel actual), los fantasmas entran en lo que se conoce como Modo Dispersión, donde todos huyen a una esquina diferente del mapa.

Todos estos factores se combinan para hacer que los cuatro fantasmas sean increíblemente difíciles de evitar en los niveles más altos, lo que significa que Pac-Man ofrece un desafío continuo para todos, excepto para los aficionados más hábiles, que pueden explotar la rudimentaria IA de los fantasmas para moverse sin obstáculos no preocupaciones.

¿Cómo funciona la pistola del Duck Hunt?

Si alguna vez jugaste a Duck Hunt (1984) o a cualquiera de los otros juegos de NES (Family Game) que usaban la pistola NES Zapper, quizás te hayas preguntado cómo sabía el juego hacia qué parte del televisor estabas apuntando con el arma cuando apretaste el gatillo. Resulta que el método para lograr esto es increíblemente simple, al igual que el arma en sí.

Esta pistola consta principalmente de un botón (el gatillo) y un fotodiodo (sensor de luz). Cuando apretás el gatillo, esto hace que el juego convierta la pantalla del televisor en un cuadro completamente negro durante un frame de segundo. En este punto, el juego usa el sensor de luz para probar el color negro que está leyendo en tu televisor y así darle un punto de referencia.

En el siguiente frame, el juego hace que el área objetivo se vuelva blanca y el resto permanezca negro. Entonces, si el juego detecta un cambio de negro a blanco en el fotodiodo del arma en esa fracción de segundo, sabrá que estabas apuntando correctamente al objetivo.

Duck Hunt también tiene un modo más difícil con múltiples objetivos en un momento dado. Para ello, se utiliza el mismo tipo de método excepto que se muestran múltiples cuadros de objetivos. Entonces el juego mostrará la pantalla de referencia negra; luego parpadeará uno de los objetivos, dejando el resto de la pantalla en negro; luego parpadea el siguiente objetivo, dejando nuevamente el resto de la pantalla en negro; etcétera.

El juego sabe qué objetivo es alcanzado, si lo hay, en qué fotograma se muestra actualmente cuando se detecta un cambio de luz.

¿Cuál fue el primer easter-egg de la historia de los videojuegos?

Los easter-eggs son pequeños secretos ocultos en los videojuegos, y hoy ya son moneda corriente. Para encontrar el primero de todos tenemos que remontarnos a 1979. Por aquel entonces, el programador Warren Robinett estaba trabajando para Atari en el desarrollo de Adventure.

Atari era todo un monstruo de los videojuegos gracias, en gran parte, a la creatividad de sus desarrolladores que se mantenían en el “anonimato”. En otras palabras: no se les pagaba regalías y trabajan de sol a sol.

Robinnet entendió que no iba a lograr que su empresa lo colocara en los créditos por diseñar el Adventure, pero eso no le impedía “firmar” su obra de arte. Escondió un objeto muy, muy pequeño, del tamaño de un pixel (que se conoce como “The Dot”) en una habitación oculta a la que es absurdamente imposible llegar si no tenés una guía a mano.

Y es que, si hubiese sido más fácil llegar, algún tester de Atari lo habría encontrado en el proceso de revisión. Al llegar a la habitación, el jugador de Adventure accedía a una pantalla que mostraba el texto “Created by Warren Robinnet”.

¡Y éste es el primer Easter Egg de la historia del gaming! Un simpático chascarrillo que logró empoderar al creador y dejar en ridículo a la empresa. El secreto se convirtió en la piedra angular de la búsqueda del huevo de Pascua escondido en la novela Ready Player One (que, por cierto, todo gamer debería leer porque es excelente. Eso sí: eviten Ready Player Two, su innecesaria secuela).

¿Qué tan rápido puede terminarse el Super Mario Bros?

El mítico Super Mario Bros. cumplió 38 años y el speedrunner de origen estadounidense, Niftski, logró un nuevo récord mundial, ya que pudo terminar el videojuego más famoso de la historia en 4 minutos y 54,631 segundos.

De hecho, con el nuevo récord, el tipo logró superarse a sí mismo, porque en 2021 había podido finalizarlo con sólo 0,176 segundos de diferencia.

Rebobinemos un poquito. El speedrun es uno de los aspectos competitivos más fascinantes que presentan los videojuegos. Se trata de terminar el juego lo más rápido posible y, generalmente, en el modo de dificultad máxima. Los speedrunners más entrenados utilizan bugs del juego, glitches o diferentes estrategias para tomar atajos y tardar el menor tiempo posible. Esto requiere una dominación absoluta del juego y una técnica impecable.

En Internet hay miles de sitios web y videos consagrados a estas competiciones, y el ambiente suele ser muy ameno entre la comunidad. Todos se tiran buena onda y consejos para mejorar los tiempos. En el speedrun, cada centésima de segundos cuenta. Por ejemplo, el record mundial para finalizar Pokemon Red/Blue, es de 1 hora y 49 minutos. ¡Y el puesto #50 es 1 hora 58 minutos. ¡Apenas unos pocos minutos de diferencia entre cincuenta posiciones!

El youtuber Summoning Salt es uno de los especialistas en registrar la historia de los records mundiales de speedruns. Su canal, tan informativo como llevadero, tiene un video fantástico explicando cómo fueron evolucionando las técnicas para terminar Super Mario Bros. en cada vez menos tiempo.

¿Cuál fue el primer videojuego de la historia?

Me dejé para el final una de las curiosidades de videojuegos más conocidas… but there´s a twist! La respuesta no es tan sencilla como “el primer videojuego fue el Pong”.

Vayamos por parte. Pong es un videojuego de 1972, el primero lanzado por Atari, y es universalmente considerado como el primero de la historia. Controlás una paleta que va a lo largo de una línea hacia arriba y hacia abajo. Tu oponente tiene otra paleta. Hacés rebotar una pelota cuadrada contra la paleta. Si tu oponente falla, obtenés un punto. Si fallás, tu oponente obtiene un punto. El primero en llegar a 21 puntos, gana. Simple, ¿no?

Ahora: llamar al Pong el “primer videojuegjuego de la historia” sería como llamar al Ford-T el primer automóvil. Sí, fue el primer auto popular y de fácil acceso, pero estuvo lejos de ser el primer vehículo de motor sobre ruedas. El youtuber Ahoy (palabras mayores) tiene un video magistral explicando cuál es, verdaderamente, el primer videojuego. Y la cosa se pone muy filosófica rápidamente.

Antes de Pong, por ejemplo, tuvimos el Magnavox Odyssey, que debutó a principios de 1972 (y había estado en desarrollo desde 1968). Esto sin mencionar que Computer Space también había debutado un año antes. Previo a esa época, se vuelve bastante complicado y aún cuestionado debido a las diferentes opiniones sobre lo que realmente constituye a un videojuego.

¿El primero fue Spacewar (1962), Tennis for Two (1958), OXO (1952), Drafts (también de 1952) o el Cathode Ray Tube Amusement Device (1947)? Es difícil determinarlo.

Lo que sí es cierto, sin embargo, es que Pong es el primer videojuego que se lanza al mercado masivo, a diferencia de intentos anteriores que eran más bien experimentos científicos sobre el poder computacional.

Probablemente fue el primero que se llamó “videojuego” en su época y, por lo tanto, puede presumir de ser el primer videojuego en un sentido semántico, aunque no sea literal.

***

Si les gustó esta nota, recomiendan a sus amigos. Y sino les gustó, se quedan calladitos así otra persona se come el garrón. ¡Recuerden que pueden apoyar a Espacio TEC subscribiéndose al Club Pixel o aportando con un cafecito!

Luciano Sívori

https://viajarleyendo451.blogspot.com/

https://www.instagram.com/viajarleyendo451/

C64 a Fondo – 6502 vs 6510 Parte 7 –VIA interfaz con periféricos

Hola, en esta entrega vamos a estudiar que usan los procesadores para hablar con los periféricos (datasette, disquetera) sin tener que estar constantemente congelados esperando una respuesta de ellos.

¿Por qué necesito algo entre el 6502/6510 y un periférico?

Los procesadores tienen como características ser muy rápidos, estamos hablando de 1 millón de operaciones o ciclos de reloj por segundo en el caso del 6510. Un periférico como el datasette o la disquetera está en el orden de 300 bytes por segundo de transferencia. 

Si el procesador tuviera que esperar cada acceso de información disponible sería toda la computadora extremadamente lenta, por eso ponemos un chip en el medio para que hable con el procesador y los periféricos.

Este chip tiene como función recibir la información que el 6510 le envía, mantenerla y pasarla al periférico y también recibir la información desde el periférico, mantenerla y avisar al procesador que tiene información disponible para él. De esta forma el bus de datos se mantiene libre hasta que el procesador tenga que comunicarse con el VIA.

El VIA – Versatile Interface Adapter

El MOS 6522 conocido también como VIA es un chip que nos permite tener comunicación con dos puertos para periféricos (A y B) que manejen hasta 8 bits de información en el canal de datos cada uno, la misma cantidad que manejan el 6502 y el 6510 en su bus de datos. 

Cada puerto tiene capacidad de mantener la información recibida por el periférico (input latching) y cada bit de los puertos puede ser seleccionado como input o output, lo que permite una comunicación directa y bidireccional entre el procesador y el periférico.

Este chip posee 16 registros internos que permiten entre otras funciones:

  • Seleccionar si los pines del canal de datos son de input o output
  • Almacenar la información que entrega o recibe el procesador de modo de mantener el canal de datos vacío pero la información preservada.
  • Elegir si el VIA puede o no interrumpir al procesador cuando tiene información para entregar.

Pinout del VIA

El VIA posee 40 pines que permiten desde realizar direccionamiento, seleccionar o no el chip, hacer un reset, interrumpir al procesador y comunicarse con los periféricos. Cuando algún puerto tenga como última letra una B larga, en este diagrama significa BARRA, leer como si tuviera una barra encima o sea que el pin es Active Low, se activa cuando el voltaje va a cero (<0,4v en este caso)

VSS y VDD/VCC son los pines de Ground y 5 Volts respectivamente

PA0 a PA7 son pines de datos bidireccionales (input y output) para el primer puerto de periféricos el A, el periférico se comunica con el 6522 por esos pines.

PB0 a PB7 son pines de datos bidireccionales (input y output) para el segundo puerto de periféricos el B, el periférico se comunica con el 6522 por esos pines.

CB1 y CB2 son pines de control del puerto B permitiendo cosas como decidir en base a sus input si interrumpe o no al procesador

CA1 y CA2 son pines de control del puerto A permitiendo cosas como decidir en base a sus input si interrumpe o no al procesador

RS0 a RS3 son pines que permiten seleccionar que registro interno del VIA se accede cuándo el procesador lee o escribe los puertos de datos D0 a D7

RESB puerto de reset, el 6522 necesita de un reset cuando el 6502 es prendido por primera vez o pasar por un reset en este pin recibe la señal. (Active Low).

D0 a D7 en estos pines el procesador 6502/6510 se comunica con el 6522 para leer o escribir datos y acceder a cualquiera de los registros internos del VIA.

PHI2 en este pin se recibe la señal de reloj que es la misma que usa el 6502, al estar diseñado el 6522 para trabajar con estos procesadores todo el timing interno funciona coordinadamente con esta línea de procesadores.

CS1 y CS2B ambos pines son usados para seleccionar al chip (pines de chip enabled) cuando el CS1 es high y el CS2 es low el chip sabe que se están comunicando con él y lee o escribe en el bus de datos respectivamente.

RWB este pin específico se está realizando una lectura (high) o una escritura (low) a los pines D0 a D7.

IRQB este pin cuando está en estado low crea una interrupción al procesador para que este tome información del puerto de periférico que corresponde.

Función de input/output

La función de input output del VIA esta programada a través de los registros internos del chip.

Si queremos usar por ejemplo los puertos del PB0 al PB7 como output para darle información al periférico debemos primero seleccionar el Data Direction Register B. El mismo se selecciona a través de los puertos RS0 a RS3 en este caso poniendo los pines con los valores de 0v o Ground (<0.4 volts) en caso de tener un 0 en la tabla siguiente o 5v en caso de tener un valor 1:

RS3= 0 RS2= 0 RS1= 1 RS0= 0

Esto corresponde con el valor 2 del Register Number (DDR B). Luego de esta selección el procesador debe escribir el valor deseado a través de los pines D0 a D7. Para poner un pin en OUTPUT el valor deberá ser 1 y en INPUT deberá ser cero. Si quisiera poner todos los pines como output el procesador escribirá 1111 1111.

Luego el procesador debe enviar la información que quiere mandar de output al periférico para esto se utiliza el registro Output Register. En nuestro caso usaremos el Output Register B para seleccionarlo en los pines RS3 a RS0 poner los siguientes valores:

RS3= 0 RS2= 0 RS1= 0 RS0= 0

Que corresponden al valor de registro cero. Si quisiera tener como valores de Salida en PB7 a PB0 los valores 10101010 debería escribir estos mismos en el registros enviando esta información por los pines D7 a D0.

Estos puertos soportan input latching, que es una característica por la cual el puerto conserva el valor de input que recibió desde el periférico aunque el mismo no refresque la señal. Los datos se mantienen (aunque cambien los valores en los pines PB0 a PB7) mientras el flag CB1 de interrupción este set y se borran cuando este flag es desactivado. Para controlar si usamos o no input latching o si los pines solo reflejan el valor eléctrico que poseen en el instante usamos el registro C, Peripheral Control Register. Lo mismo aplica para el Port A.

Funciones adicionales

El VIA también provee dos timers y un Shift Register de paralelo a serial / serial a paralelo.

Timers

El Timer 1 es un contador de cuenta regresiva de 16 bits que se carga usando los registros 4 y 5 donde primero se carga la información en dos registros de tipo latch, recordando el chip la misma y luego se pasa la información a los registros del contador. Cuando este llega a cero se produce una interrupción y se pone a ground el pin de IRQB.

El Timer 2 es un contador por intervalo en el cual desde que se carga su valor inicial comienza a contar o puede también contar los pulsos recibidos en el pin PB6 del Puerto B.

Los modos de ambos Timers se setean con el registro B el Auxiliar Control Register.

Shift Register

El shift register es un registro que va a rotar los 8 bits que posee a través del pin CB2 o puede cargarse (input) a través del pin CB1 o también vaciarse (output) a través del mismo pin CB1. Muy útil para hacer conversiones serial/paralelo paralelo/serial.

El timing del shift register puede ser controlado por el Timer 2, el reloj del sistema PHI2 o un reloj externo.

Cómo funciona el de la Commodore 64 el VIA

¿Dónde usaba Commodore al VIA?

Commodore usó el VIA en diferentes productos no así en la Commodore 64 donde uso el CIA o MOS 6526 que revisaremos en un próximo artículo. Podemos ver a continuación los motherboard del VIC 20 y la disquetera 1541 donde sí fue utilizado.

El VIA en funcionamiento

Para ver visualmente como conectar un VIA al 6502 y al 6510 les dejo como siempre un video en detalle de la serie. En este vamos a ver cómo se conectan los pines, que código máquina escribir para comunicarnos con los registros internos y un ejemplo de output utilizando Leds. Todo programado directamente en código máquina.

6522 VIA Versatile Adaptive Interface – 6502 vs 6510 parte 7

Artículos en la serie C64 a Fondo

A continuación les dejo los links a los artículos anteriores de la serie

Introducción

Parte 1 – El módulo de reloj

Parte 2 – Pinout 6510 y 6502

Parte 3 – Codeando a Mano la Primera Instrucción de Código Máquina

Parte 4 – Primer Programa desde EEPROM

Parte 5 – I/O Pins del Procesador

Parte 6 – MOS 6503 Una Rareza

Referencias

A continuación les dejo algunos links donde profundizar el tema

Video de la serie 6502 vs 6510 Parte 7 – El VIA

MOS 6522 Versatile Adaptive Interface VIA – 6502 vs 6510 parte 7

Libros y artículos 

Libro Machine Language for the Commodore 64,128,  y otras Computadoras Commodore Anexo I

MCS6522 VERSATILE INTERFACE ADAPTER

W65C22 (W65C22N and W65C22S) Versatile Interface Adapter (VIA) Datasheet 

Commodore 64 clock using the CIA TOD clock (from “Compute!”) | Retro64 

Referencias de velocidades de transferencias de periféricos:

C64/C128 I/O performances 

Y como siempre la serie de Ben Eater del 6502

Build a 6502 computer | Ben Eater 

Todos los ejemplos de código de los videos los pueden encontrar en:

https://github.com/carlinhocr/6502_vs_6510

Resiliencia y videojuegos

Hoy en día, la mayoría de los videojuegos ofrecen experiencias inmersivas y narrativas que nos permiten sumergirnos en mundos fantásticos y participar del desarrollo de una historia en la que, a diferencia de otros medios como la lectura o las películas, somos los protagonistas: participamos de manera activa en la experiencia de juego. 

La resiliencia en psicología se define como la capacidad de recuperarse y prosperar, aún frente a  situaciones de estrés. Podemos entenderla como la habilidad con la que contamos para tolerar la frustración y las adversidades de la vida.

Cuando nos sumergimos en el mundo de un buen videojuego, estamos habitando de manera activa un medio que nos enfrenta constantemente con desafíos y obstáculos, y que a diferencia de la realidad, es un entorno controlado, seguro, a veces hasta predecible (¡todos sabemos que detrás de una puerta en el Dark Souls probablemente haya un enemigo escondido!).

Los videojuegos ponen a prueba cuánto nos bancamos la frustración de perder, algunos juegos nos obligan a tomar decisiones que impactan directamente en la historia y que tienen consecuencias importantes para el desarrollo de los personajes, otros ponen a prueba nuestra capacidad para resolver problemas y puzzles, nos requieren que practiquemos el uso del pensamiento lógico o de la inteligencia espacial; y, sin lugar a dudas, todos premian la perseverancia. Estos desafíos ayudan a fortalecer la resiliencia: permiten el ejercicio constante de la capacidad para hacer frente, adaptarse y recuperarse frente a situaciones adversas, todo esto en un entorno lúdico y divertido.

Los videojuegos no nos castigan por los errores que cometemos, sino más bien estimulan el aprendizaje a partir de ellos. En el entorno seguro del juego podemos asumir riesgos, probar diferentes acciones, salvar la partida, arriesgarnos y ver el descenlace de una acción. En la vida real, tomar decisiones y asumir riesgos se realiza la mayor de las veces con una carga importante de estrés, en cambio en los videojuegos el fracaso no representa grandes pérdidas: siempre se puede revivir y volver a intentarlo, o cargar una partida anterior y probar otro camino.

Este año realicé una encuesta con el objetivo de explorar experiencias personales y creencias asociadas a los videojuegos en una población de 64 individuos. Acerca de la resiliencia y la tolerancia a la frustración me encontré con un montón de testimonios en primera persona que narraban cómo los videojuegos habían contribuido a transitar las dificultades de la vida. El juego más mencionado en este aspecto fue el Dark Souls, pero también apareció el Zelda: Breath of the Wild y las aventuras gráficas en general. 

Algunas experiencias personales compartidas por los encuestados:

  • Una persona afirmo que el Dark Souls le enseñó “a tolerar mucho más la frustración y que de los errores se aprende”. De la misma franquicia otra persona dijo: “me enseñaron a superar frustraciones y siempre recordar ser constante para lograr mis objetivos”. 
  • Otra experiencia: “Empecé a jugar de grande (28-29), aprendí a tener más paciencia y tolerancia al fracaso, manejo mejor la frustración, busco mejorar siempre. Sufría mucho todas esas cosas con otros hobbies, pero los juegos siempre me incentivan a no darme por vencida. Durante la pandemia BOTW y Animal Crossing me salvaron del corchazo, literalmente”. 
  • Del Hades, una persona compartió: “Al estar lidiando con problemas en mi vida personal le metí +200 horas. Me inspira ver cómo su protagonista es tan perseverante. Cuando lo platiné fue como ganar el mundial para mí”.
  • Las aventuras gráficas también aparecieron cuando consulté por la resiliencia: “Me enseñaron a hablar y a pensar soluciones imprevistas a problemas comunes”. 
  • ¿Y los juegos de plataforma? También: “Tener la paciencia para completar plataformeros difíciles me enseñó resiliencia, paciencia y más. Resolver puzzles me ayuda a pensar de maneras distintas y a reconocer patrones más rápido”.

Del total de los encuestados, casi el 60% estuvo de acuerdo con la afirmación “jugar videojuegos estimula la capacidad para resolver problemas”.

Gráfico de respuestas de formularios. Título de la pregunta: ¿Qué tan de acuerdo estás con la siguiente afirmación? 

“Jugar videojuegos estimula la capacidad para resolver problemas”. Número de respuestas: 64 respuestas.

De esta pequeña investigación surgió también un dato que me sorprendió: un 75% de los encuestados afirmó que un videojuego tuvo un impacto significativo en sus vidas. ¡Es un montón! pero al mismo tiempo confirma algo que los que disfrutamos del mundo de los videojuegos sabemos: todos podemos nombrar por lo menos un videojuego que nos cambió la vida.

El proyecto CEUNS (*)

El inicio de una pequeña gran historia. Fue en 1961 que comenzó el proyecto Ceuns (Computadora Electrónica de la Universidad Nacional del Sur), ideado por el ingeniero Jorge Santos, con el objetivo de construir una computadora realmente operativa para la Universidad Nacional del Sur (UNS), situada en la ciudad de Bahía Blanca, y que pudiera luego ser transferida a la industria nacional.

Durante la década anterior, numerosos centros académicos de varios países se habían planteado proyectos similares para construcción de computadoras. En Argentina surgieron dos: el Ceuns y el Cefiba (Computadora Electrónica de la Facultad de Ingeniería de la Universidad de Buenos Aires).

Pero vayamos un poco más atrás en el tiempo para saber el origen del proyecto. En octubre de 1960 Santos había logrado, por intermedio del rector de la UNS, que la Legislatura de la Provincia de Buenos Aires votara un subsidio destinado a la construcción de una computadora, además del compromiso formal de participación del Departamento de Matemática.

Es que Santos ya venía trabajando en el diseño de su proyecto durante su estadía en la Universidad de Manchester, donde colaboró en el desarrollo del proyecto Atlas (la primera computadora a transistores que produjo la empresa Ferranti). La pretensión de construir una computadora en la remota Bahía Blanca se sostenía en la convicción, compartida por Santos y un grupo innovador de la UBA, de la necesidad de promover la independencia tecnológica como pilar del desarrollo económico y social del país, y en una serie de condiciones favorables, tanto técnicas como académicas y políticas.

El año 1960 fue clave en la introducción de la computación en Argentina. IBM presentó el modelo 305 y poco después instaló una IBM 650 con sistema de discos Ramac en su data center y colocó otra máquina en la empresa Transportes de Buenos Aires. En noviembre llegó la Ferranti Mercury para el Instituto de Cálculo creado en la Facultad de Ciencias Exactas de la UBA. En ese mismo año, Ferrocarriles Argentinos había recibido dos equipos Univac SS-90 con la nueva tecnología de estado sólido.

Fue en la UBA y la UNS, escenarios destacados de la renovación universitaria, donde se promovieron los primeros desarrollos de la computación en Argentina. La construcción en el país de una computadora pequeña de costo limitado parecía un objetivo loable y alcanzable.

Jorge Santos se había graduado en la Facultad de Ingeniería de la UBA, donde había trabajado hasta 1953, cuando su contrato no fue renovado por no estar afiliado al partido gobernante, como le sucedió a otros docentes, entre ellos Manuel Sadosky. Y fue gracias a la influencia intelectual de Sadosky que conoció el nuevo fenómeno de la computación y fomentó su idea de construir una computadora. Sadosky le había dicho a Santos: “tenemos que hacer una máquina; con menos cantidad de válvulas, pero hay que hacerla”.

La experiencia de Santos en Manchester fue posible gracias a la creación del CONICET, presidido por el doctor Bernardo Houssay, en donde una de las primeras actividades fue la de otorgar becas de perfeccionamiento en el exterior a las nuevas camadas de investigadores de las universidades. Santos, que luego de la UBA se había mudado a Bahía Blanca para trabajar en la UNS, fue seleccionado y viajó en agosto de 1959. Su tema de estudio fue “Diseño lógico en computadoras digitales”.

La Universidad de Manchester tenía una alianza con la empresa Ferranti, fabricante de la Mercury, la computadora adquirida por el Instituto de Cálculo de la UBA. Por fortuna, la estadía de Santos coincidió con el diseño de la Atlas, la sucesora de la Mercury, en el cual Santos participó en el equipo desarrollando el algoritmo de división.

Tiempo después, cuando Santos regresó a Bahía Blanca, tenía entre manos un proyecto elaborado y sustentable. Sabía que para concretarlo necesitaría dinero y un equipo de trabajo que incluya programadores, ingenieros y matemáticos. Con la conjunción de tres aspectos favorables (el entusiasmo de la comunidad científica argentina, la existencia de un proyecto sólido y un ambiente político favorable a la inversión tecnológica), la Legislatura provincial votó un subsidio de 100 mil dólares para la concreción material de la Ceuns, que iba a ser desembolsado en cinco cuotas correspondientes a los años programados para la finalización del proyecto. En el presupuesto provincial de 1961 se incluyó la primera cuota de 20 mil dólares.

Todo estaba en marcha. Una breve caracterización de la Ceuns apareció en el Boletín de la Sociedad Argentina de Cálculo, donde se mencionó la construcción de un computador de bajo costo en el que sus códigos de operación y forma operativa estén basados en la Mercury. La Ceuns contaría con una memoria de trabajo, acceso inmediato a núcleos magnéticos de 64 palabras de 36 bits dividida en 4 páginas. Esa memoria sería ampliada con otra, también con acceso inmediato a núcleos magnéticos, de tipo fijo. Los datos e instrucciones serían mantenidos en un tambor magnético de 9000 palabras y desde allí transferidos por páginas a la memoria de trabajo. El programa sería secuencial. La entrada sería por medio de un lector de cinta de papel y la salida por un perforador de cinta o por una máquina de escribir.

Sin embargo, a partir de agosto de 1961 comenzaron las dificultades. El gobierno de la Provincia de Buenos Aires libró una orden de pago por un monto de 1.300.000 pesos moneda nacional, equivalente en ese momento a 15.711 dólares. El pago no se efectuó, al menos no en el corto plazo, y Santos tuvo que solicitar a las autoridades de la UNS un adelanto de 20 mil pesos para no paralizar el proyecto. El adelanto fue otorgado, y el pago estatal finalmente se hizo efectivo, pero fue lo único que se percibió del subsidio.

Más tarde, en marzo de 1962, una crisis política desencadenó la intervención federal a la Provincia de Buenos Aires, e incluso la disolución de su Poder Legislativo. Ese hecho, si bien no implicaba la derogación de lo aprobado anteriormente, hizo que las relaciones de representación política y el marco ideológico que había posibilitado el logro de ese apoyo financiero, se quebraran.

Aunque en octubre de 1962 se pudo inaugurar un componente periférico que servía para paliar la carencia de una computadora en la UNS, para marzo de 1963 el proyecto no infería ningún avance sobre la situación del año anterior. Al no existir el subsidio del Estado, el trabajo continuaba al ritmo de los escasos aportes del CONICET o del presupuesto universitario. El equipo humano se redujo a tres personas con dedicación plena, hasta que durante 1965 el proyecto se fue apagando hasta ser definitivamente clausurado.

De acuerdo con los planes originales, la máquina debía entrar en operación en marzo de 1966 pero, salvo los periféricos inaugurados en 1962, no había más que partes sueltas. Las penurias materiales de las universidades nacionales fueron determinantes de unas demoras de gran magnitud en el plan del proyecto, y a eso se le sumó la discontinuidad en la fabricación de los componentes de hardware que se había decidido utilizar. El atraso y la falta de perspectivas pusieron en cuestión el sentido de continuar el esfuerzo, lo que selló el fracaso del proyecto.

Analizando los motivos de su final, la causa directa fue la aguda falta de recursos humanos y materiales debida, más que nada, a un cambio de las condiciones políticas, una circunstancia que convirtió al proyecto en patrimonio exclusivo de un pequeño grupo de desarrollo, solo constituido por ingenieros electrónicos. Por otra parte, entre su formulación y su abandono se había producido un cambio de foco en el diseño de las computadoras con la incorporación de componentes de software.

Años más tarde, a principios de la década de los 80’s, se constituyó en la UNS un área de docencia e investigación en informática, con protagonistas que no habían experimentado los problemas de los proyectos anteriores, y Ceuns fue ignorada como antecedente en las unidades académicas.

En retrospectiva, el proyecto Ceuns fue uno de los episodios iniciales de la computación en Argentina, ocurrió en la UNS y se intentó la construcción de una computadora con un objetivo que iba más allá del académico. Sucedió justo en un período de transición entre el surgimiento y cierta consolidación de la tecnología.

Como balance, puede señalarse la formación de una tradición en Electrónica en la UNS, la interacción con los matemáticos que dio sustento a la constitución de la actual escuela de docencia e investigación en computación, y los desarrollos pioneros en software “de base” creados en el proyecto.

La historia de la Ceuns, poco conocida y por demás interesante, no deja de ser inspiradora.

(*) el presente artículo está basado en el paper “Fulgor y ocaso de Ceuns. Una apuesta a la tecnología nacional en el sur de Argentina”, autoría de Rául Carnota y Ricardo Rodríguez, y publicado en “Historias de las TIC en América Latina y el Caribe: inicios, desarrollos y rupturas”, capítulo 9, editada por Ariel y Fundación Telefónica (España) en 2015.

El ADN Gamer de Espacio TEC

Les preguntamos al staff de Espacio Tec —y también a los seguidores del Club Pixel— algunas cuestiones relacionadas con videojuegos retro. Las respuestas nos permiten determinar qué tipo de jugadores forman parte de la comunidad, ese ADN GAMER que todos tenemos dentro.

***

Época de truquitos y el Código Konami

Si hay algo que caracterizaba a los videojuegos de los ´80, ´90 y principios de los 2000s fue que era muy difícil conseguir guías o trucos para avanzar cuando nos quedábamos trabados. Muchas veces había que recurrir a revistas especializadas, líneas telefónicas o el consejo de un amigo durante el recreo de la escuela.

Eran épocas donde no sólo podías acordarte de todos los cumpleaños y teléfonos (fijos) de tus amigos y familiares, sino que también te habías aprendido cada uno de los truquitos para tu videojuego favorito.

Nuestra primera pregunta rompehielo fue, justamente, ésa: “Si te pido que me digas un truco, atajo o password de un juego retro, ¿cuál es el primero que se te viene a la mente?”

Mientras que Agustín Copita, Diego Martín Rodriguez y Vladimir Vlek recuerdan trucos de la franquicia de Age of Empires (“trucktrucktruck”, “aegis”, “pepperoni pizza”, etc), Francisco Iturrieta y yo nos acordábamos del “A C Arriba B Arriba B A Abajo” en la pantalla principal del Ultimate Mortal Kombat 3 de Sega Genesis, utilizado para traer todos los menúes secretos. ¡Ahí podías jugar al Galaga de forma cooperativa!

Otros tienen más en la mente los cheatcodes de shooters como el legendario Doom (IDKFA, nos dice Leonardo Valente) y el DNKROZ del Duke Nukem 3D. Cesar Mateos nos explicó que el Golden Axe se rompe completamente con una simple técnica: “Salto, golpe diagonal y esquive diagonal, es inbatible.”

Hay un montón de trucos, sin duda, pero el que seguramente todos más recordamos (por su status de culto dentro de la cultura geek) es el Código Konami: “Arriba, Arriba, Abajo, Abajo, Izquierda, Derecha, Izquierda, Derecha, B, A.”

Aunque el famoso cheat que da 30 vidas en el Contra (1987) fue popularizado en este ingrato videojuego de disparos, en realidad ya existía como un “huevo de pascua” en un shoot-em-up previo: el Gradius de 1986.

Durante las fases de testeo de Gradius, el programador descubrió que era demasiado difícil. Así que se creó este truco para aumentar las vidas y permitirle a los testers llegar a las fases finales del juego. En este link se pueden ver todos los sitios donde el Código Konami funciona actualmente.

Instrucciones para terminar una batalla… con estilo

¿Vieron que se están poniendo de moda los bares de fichines? En Bahía Blanca aún no han llegado, pero Buenos Aires ya tiene varios. Hace unos días estaba de viaje por la Ciudad de la Furia y quedé en uno de estos bares para tomar unas frescas con mi hermano Tomás.

El lugar tenía mesas en el centro y arcades alrededor (Snow Bros, el beat-em-up de los Simpsons, el Daytona USA, etc). Con cada cerveza que pedías, el bar te regalaba dos fichitas para viciar. Mientras esperaba a mi hermano, me tomé una pinta y utilicé una fichita para jugar Mortal Kombat I.

Elegí a Kano y gané la primera ronda. Por supuesto, saltó el cartel de “Finish Him!”. Y, de pronto, no sé cómo, recordé que ATRÁS, ABAJO, ADELANTE PIÑA le arrancaría el corazón a mi oponente. (¿ahora te acordaste, Sole Zeta? Muscle memory, creo que le dicen).

Preguntamos a nuestros encuestados si recordaban algún otro movimiento final de un personaje de la franquicia Mortal Kombat. Fran Iturrieta nos largó la Fatality de Sektor, Pabo Vidal nos dio el gusto con la de Sub-Zero. Yago Couceyro, por otro lado, no recordaba ninguna porque es más del Super Smash Bros (que, ojo, también es un juegazo para repartir palizas).

La guerra de consolas en los ´90

Si hubo un evento que caracterizó a la década de los ´90 —en materia de videojuegos— fue la Guerra de Consolas entre las empresas Sega y Nintendo. Las publicidades de uno embarraban o se burlaban directamente del otro. Ambas consolas buscaban alzarse como la mejor.

La Sega Genesis tenía a un Sonic canchero, veloz, rebelde. Sus juegos eran maduros. El Mortal Kombat tenía sangre. Nintendo, por su lado, apuntaba al público familiar, con Mario a la cabeza y la diversión como leit-motiv.

Hasta el día de hoy, el mundo entero se sigue cuestionando quién ganó realmente la guerra de los 16 bits. Si nos centramos puramente en los números, Nintendo movió 49 millones de consolas SNES durante el ciclo de vida del producto, mientras que Sega vendió 29 millones de Genesis.

Sin embargo, determinar el impacto real de las consolas de cuarta generación es un poquito más complicado. A SEGA le fue muy bien especialmente en América, saliendo en 1989 para competir directamente con la NES (la Family Game para nosotros). La primera oleada de títulos de Genesis rompió records porque había un obvio salto en tecnología.

Las buenas ventas iniciales se sumaron a una campaña famosa donde la Genesis se mostraba como la plataforma “cool”, mientras que la NES (y, por adición, la SNES) era un juguete para niños (“Sega does what Nintendon’t”).

Hay quienes opinan que si Sega no hubiese abandonado la carrera tan pronto (recordemos que se apuró a sacar la Sega Saturn lo antes posible, y no le fue nada bien) las cosas podrían haber sido diferentes.

¿Pero qué opinan los que respondieron nuestra encuesta? En su corazoncito gamer, la guerra de las 16-bits la ganó la morocha de Sega, con un 84% de los votos. Eso sí, al elegir entre Mario o Sonic, la cosa estuvo más repartida. El 55% eligió al erizo azul mientras que el 45% restante prefiere al fontanero de gorra.

Yo quiero ser siempre el mejor…

Hay un juego en el que, secretamente, te considerás mejor que la mayoría. Sí, ese mismo. No lo practicabas demasiado… es un talento natural. En mi caso, me considero mejor que el promedio en el Worms, por mencionar un ejemplo concreto. ¿En qué juegos se destacan nuestros encuestados?

Humberto Möckel eligó el Call of Duty 2 (“Vengan de a uno”, nos dice), Sebastián Rho (coordinador general del espacio) se las trae con el Out-Run y el Dragon´s Lair y Juan Chucair se considera imbatible en el Virtua Striker. Y es que todos queremos ser siempre el mejor, mejor que nadie más… (ya la estás cantando, lo sé…). Y sólo se puede ser el mejor eligiendo al mejor starter en el primer Pokemon (blue/red), ¿no?

De chico tuve la suerte de tener la Gameboy Pocket (la trajimos de Estados Unidos, en un viaje en el año ´98) y, entre los cartuchos adquiridos, habíamos comprado el glorioso Pokemon Blue. Desde aquel momento, mi starter favorito siempre fue y será Squirtle. Sin embargo… me sorprendí al descubrir que no es la opción más popular entre la comunidad de Espacio TEC.

Tanto el staff como los miembros del Club Pixel prefirieron al gran Charmander, que tuvo la delantera con el 27%. 11%, respectivamente, se llevaron Squirtle y Bulbasaur.

Los demás entrevistados respondieron cosas como “qué es eso”, “¿poke ke?” y mi favorita, de Leonardo Valente: “De tin marín, de do pingué”. Por más que me duela en el alma, todo apunta a que Pokemon no forma parte del ADN Gamer de la comunidad de Espacio TEC.

Y el premio al vergoty es para…

De chico ESE juego te encantaba. Lo jugaste por horas y no podías parar. Estabas obsesionado/a. Hoy te diste cuenta de que es directamente una bosta INJUGABLE. Son los famosos vergotys, esas experiencias que te parecían increíbles de chico y, cuando volvés a jugarlos de grande, le encontrás todos los defectos.

Comix Zone, de la Sega Genesis, fue mi elección. Pese a que se sigue viendo del carajo 28 años más tarde, realmente no se pueda jugar debido a sus mecánicas anticuadas. Vladimir Vlek mencionó el Driver (de Playstation 1), Pablo Vidal el clásico vergoty Sokoban y Ludmila Gerstner el Circus Charlie de la NES / Family Game.

Afortunadamente, también hay videojuegos que sí envejecieron súper bien; y suman puntos adicionales si encima vieron la luz en el mismo año que nosotros. Yo soy del 1987. Ese año vimos nacer joyitas como el Contra, Out Run y Arkanoid. Pero yo me quedo con Mega Man I, por todo lo que representó para su género.

En esta pregunta, Pancho Manera sumó Zak McKracken and the Alien Mindbenders (de 1988), uno de los grandes precursores de las aventuras point-and-click que popularizó Lucas Arts. Yago Couceyro no tiene dudas al afirmar que el mejor videojuego del año en que nació, 1991, es el Civilization I. Curiosamente, Agustín Copita y Leonardo Valente también eligieron Civilization como lo mejor de su año de nacimiento.

Por su parte, la periodista de videojuegos Sole Zeta nació en 1985 y no duda en elegir a Super Mario Bros (1985) como su mejor representante. Hugo Iturrieta, miembro del Club Pixel, se decantó por las aventuras de Gordon Freeman en el excelente primer Half-Life (1998).

Al parecer, su vida no volvió a ser la misma luego de conocer Half-Life. Y la de muchos de nosotros tampoco.

Disclaimer: me solicitaron expresamente no comentar los videojuegos favoritos de los años de nacimiento de algunos de nuestro staff de Espacio TEC… porque estaríamos revelando su edad.

Para el final, un poco de romance

Para finalizar la encuesta con un poco de condimento, preguntamos: “si tu pareja fuera un videojuego, ¿cuál sería el ideal para presentarle a tus viejos?”. Las respuestas fueron variaditas porque algunos seleccionaron personajes y otros, directamente, títulos de videojuegos.

Mientras que Pancho Manera (coleccionista retro y uno de los primeros en impulsar la idea de un museo interactivo) llevaría a un asado familiar a ingeniosa Elaine Marley (de la franquicia Monkey Island), el colaborador y ocasional expositor Alejandro Cura fue más básico y se quedó con Lara Croft. Porque, bueno… dos grandes razones, ¿no? (¡las dos pistolas Heckler & Koch USP, che!)

Por su lado, Sebastián Rho estaría feliz de decir: “Papá, Mamá, ella es Daphne. La conocí en el Dragon´s Lair. Tiene una voz un tanto insufrible… pero fue un amor a primera vista”.

¿Y qué título llevaríamos a conocer a nuestros padres? Civilization, una vez más, parece ser uno de los favoritos. Leonardo Valente —miembro del Club Pixel y vecino del espacio, literal— comenta que su elección se basa en que todos queremos lo mejor para los hijos.

Sole Zeta va un poquito más allá con este mismo título de 1991: “Inteligente, elegante, pero sobre todo, bienintencionado”. Agustín Copita (quien colabora ordenando el depósito y enchufando máquinas junto a Vladi y Humbert) acompaña la elección del Civilization con una “es súper friendly y presentable a tus viejos”.

Yago Couceyro (para quien Espacio TEC que se ha convertido en un segundo hogar) también banca a Civilization como la pareja perfecta: “trayectoria, de mi edad, ninguno de la saga salió mal”.

Por último, Lud Gerstner, quien salió segunda en el torneo de Tetris organizado en Espacio TEC, presentaría a sus viejos a Money Idol exchanger porque… tiene plata.

¿Y este humilde servidor? Mi vieja es muy pacata y a mi viejo medio que le resbala todo. Tendría que ir a lo seguro: un plataformero piola de la Family Game (NES) como Duck Tales. Se ve bonito, es infantil, tierno, angelical… pero también tiene su faceta compleja y desafiante.

Conclusión

Esperamos que hayan disfrutado de esta nota desestructurada. ¿Se animan a responder ustedes la encuesta? ¡Juntos podremos ir delineando el ADN Gamer de Espacio TEC!

Les dejamos el link del formulario: https://forms.gle/yUz6C73Tas39xUyT7

C64 a Fondo – 6502 vs 6510 Parte 6 – MOS 6503 Una Rareza 

Hola, en esta entrega vamos a estudiar al Procesador MOS 6503 una verdadera rareza. Se trata de un procesador de la familia del 6502 y del 6510 pero con muchos menos pines (28 en lugar de 40) y la capacidad de direccionar solo 4kb de memoria ram.

Cosas en común con la familia 6500

Este 6503 tiene algunas cosas fundamentales en común con la familia del 6500 sin las cuales cualquier desarrollo en esta plataforma sería muy pero muy difícil.

La primera es el código máquina, este posee las mismas instrucciones a las que ya estamos acostumbrados en nuestros 6502 y 6510, poseyendo también los mismos modos de direccionamiento de memoria.

El timing del mismo está dentro de lo esperado para la familia pudiéndose comunicar con los VIA y CIA si se sincronizan los relojes de estos chips entre sí.

La cantidad de registros y la forma de accederlos se mantienen para toda la familia estos son los familiares A, X e Y, el Status Register y el Stack Pointer, los 5 registros, de 8 bits y el Program Counter de 16 bits.

Tomando en cuenta el análisis de Jim Butterfield – Wikipedia un prócer del lenguaje en código máquina para Commodore el 6503 es sólo un 6502 con menos pines e idéntico funcionamiento.

También posee 8 bits bidireccionales de datos. Todavía podemos encontrar procesadores compatibles como el Synertek 6503

Pin-Out y diferencias

Aquí salta a la vista la diferencia más grande ya que ¡A este chip le han robado unas patitas! Sí, su formato es DIP28 en lugar de los ya tradicionales DIP40 que nos acostumbraron el 6502 y el 6510. ¿Y dónde es que nos faltan esas patitas? Ni más ni menos que en el address bus.

Este posee solo 12 pines (pin AB0 a AB11) en lugar de los tradicionales 16 direccionando solo 2ˆ12 bytes, o sea 4096 bytes o 4 kb para direcciones de memoria.

Aquí hay que tener especial cuidado al armar alguna placa que tenga chips que esperen 15 o 16 bits en su direccionamiento, en las mismas tenemos que asegurarnos que esos pines no queden flotando (no conectados ni a ground ni a 5v). Típicamente en una maqueta de breadboards pueden conectar los pines sobrantes a ground o 5v dependiendo si queremos 0 o 1 para ese bit en particular.

/RES Pin de reset, este pin sirve para realizar un reset del procesador cuando se conecte a 0v. El reset tomará 7 ciclos de reloj y buscará en las posiciones de memoria $0FFC y $0FFD donde está el vector (otra posición de memoria) que posee la primera instrucción a ejecutar. El reset debe ser mantenido en 0v por lo menos durante dos ciclos de reloj para que sea reconocido. Nótese que no usamos las tradicionales $FFFC y $FFFD.

VSS Pin de Ground, este pin se conecta al common ground del diseño.

PHI1 o 01 (OUT) Pin de Salida de Reloj, el mismo es una salida de reloj para conectar a otros dispositivos. El PHI1 es típicamente la señal del PHI2 pero invertida.

/IRQ Pin de interrupción. Al conectar este pin a 0V, si las interrupciones están habilitadas, el procesador guardará el contenido de los registros actuales y buscará en las posiciones de memoria 0FFE y 0FFF donde está el vector (otra posición de memoria) que posee la primera instrucción a ejecutar para atender a esta interrupción. Nótese que no usamos las tradicionales $FFFE y $FFFF.

/NMI Pin de interrupción no enmascarable. Al conectar este pin a 0V el procesador guardará el contenido de los registros actuales y buscará en las posiciones de memoria 0FFA y 0FFB donde está el vector (otra posición de memoria) que posee la primera instrucción a ejecutar para atender a esta interrupción. Este tipo de interrupción es incondicional y siempre será honrada. Nótese que no usamos las tradicionales $FFFA y $FFFB.

VCC Pin de Energía. El procesador típicamente trabaja con +5v ± 5% de sobre o sub fluctuación en el voltaje.

AB0 a AB11 Pines del Bus de Direccionamiento. Son pines bidireccionales que permiten recibir las direcciones de los dispositivos a los cuales comunicarse (memorias, otros chip en la placa, registros de I/O, etc). Al ser un bus de 12 bits direcciona hasta 4096 bytes o desde $0000 hasta $0FFF.

DB0 a DB7 Pines del Bus de datos, Este es un bus bidireccional que permite recibir y escribir datos junto con el bit de R/W a memorias y registros de I/O.

R/W Pin de Lectura/Escritura. Este pin indica si el procesador está realizando una lectura o una escritura. Cuando se encuentra en 1 o en estado High el procesador está realizando una lectura cuando está en 0 o estado Low una escritura.

PHI0 o 00 (IN) Pin de entrada de Reloj, Este pin permite conectar un reloj interno al procesador para sincronizarse con otros dispositivos.

PHI2 o 02 (OUT) Pin de Salida de Reloj, el mismo es una salida de reloj para conectar a otros dispositivos.

Cómo funciona en la Commodore 64

El 6503 no se utilizó en la Commodore 64, ni en ninguna computadora Commodore conocida, fue hecho por MOS Technologies para dar un 6502 con un paquete de 28 pines, lo cual era más barato tanto en espacio de pcb utilizado como en costo del chip.

El 6503 en acción

Bueno aca les dejo un video del 6503 en acción donde vamos a explicar como funciona cada uno de sus pines, programarlo a mano utilizando resistencias con la instrucción de código máquina EA (correspondiente a NOP o no operación) y estudiar que pasa por sus pines y qué direcciones usa al bootear,

6503 una rareza, 6502 vs 6510 Parte 6

Artículos en la serie C64 a Fondo

A continuación les dejo los links a los artículos anteriores de la serie

Introducción

Parte 1 – El módulo de reloj

Parte 2 – Pinout 6510 y 6502

Parte 3 – Codeando a Mano la Primera Instrucción de Código Máquina

Parte 4 – Primer Programa desde EEPROM

Parte 5 – I/O Pins del Procesador

Referencias

A continuación les dejo algunos links donde profundizar el tema:

Video de la serie 6502 vs 6510 Parte 6 – 6503 una rareza:

6503 una rareza, 6502 vs 6510 Parte 6

6503 Datasheet 

W65C02S 8–bit Microprocessor 

MOS Technology MPS6503A

commodore.ca | The New 6500 Processors (CPU) by Jim Butterfield  

Synertek 6503

Y como siempre la serie de Ben Eater del 6502

Build a 6502 computer | Ben Eater 

Todos los ejemplos de código de los videos los pueden encontrar en:

https://github.com/carlinhocr/6502_vs_6510

Entrevista a Christian Mazzatari

Christian Mazzatari es el responsable detrás de Retrogeek Mazzatari, una de las tiendas online más reconocidas del país dedicada la venta de vídeos juegos retro, accesorios y muñecos de colección, pero también es un amante de la retro computación y videojuegos en general, y un fanático y férreo defensor de la marca Atari. En ESPACIO TEC quisimos conocer un poco más acerca del coleccionista y vendedor. Conversamos además del retrogaming en la argentina y del hobby que se convirtió en profesión.

  • En tu página web te definís como “Coleccionista Entusiasta Amante De La Retro Computación y Videojuegos En General.” ¿Es tan así?

Exactamente. Yo empecé con las computadoras como las que tienen Uds. en el museo, Commodore 64, TK-90, Atari 800XL, toda la línea XL…Posteriormente trabajé en una casa de videojuegos muchos años. Donde tomé contacto con las home computers y posteriormente con las primeras consolas de juegos.

  • Profundicemos ahí un poco, ¿Cuál fue tu primer contacto con videojuegos?

Mi primer contacto fue con la Atari Pong. Te acordarás, no traía cartuchos, sólo 6 juegos programados, esa fue mi primera consola. A los pocos meses pasé a la Atari 2600. Posteriormente entré en la programación en BASIC a partir de las primeras computadoras personales.

  • El Christian amante de los videojuegos, fue siempre así o se desarrolló con el tiempo?

Desde siempre, arranqué en 1978, muy chico. Hoy tengo 51 años, imaginate, viví una época dorada, el comienzo acá, los primeros pinball, los primeros fichines, como el gálaga, los salones arcade en los barrios, la explosión en la costa…

El primer juego que jugué en la computadora Atari, fue el enduro, podías jugar de noche, de día, en la nieve, ese juego me marcó a fuego.

Programado por Larry Miller y publicado en 1983, el jugador controla un coche que tiene un día entero para rebasar a otros 200 automóviles (300 a partir del segundo nivel) en una carrera a alta velocidad. Si el jugador falla en pasar la cantidad pedida de automóviles cuando el nuevo día amanece, el juego finaliza.

– ¿Cómo manejabas “el vicio”? ¿Tenías problemas en casa?

Por supuesto, recuerdo que mi vieja me amenazaba con sacarme los tapones de luz, “te voy a cortar la luz” me decía, porque me quedaba hasta las 6, 7 de la mañana, a veces no dormía jeje.

Luego de la 2600 me compraron la Atari 800XL, y ahí me enganché con la programación, durante unos 10, 12 años, que coincidieron con mi trabajo en el local comercial. Me llevaba mucho tiempo, pero como verás, no quedé tan mal jaja.

Atari 800 XL

  • La faceta del coleccionismo, ¿fue una consecuencia natural o te pegó de grande?

Desde el primer momento fui coleccionando, cada computadora que compraba, los juegos, las revistas K64, era comprar y comprar. Quería tener todos los accesorios para cada sistema, todos los periféricos. Las computadoras que usé las tengo todas guardadas.

Siempre estaba atento a las distintas oportunidades. Una vuelta en parque centenario caí con un vendedor que tenía trescientas revistas. En tres meses me empeñe y tengo todas las revistas en mi depósito. Cuando los locales cerraban, aprovechaba para quedarme con el stock remanente. En el depósito tengo 800 diskettes de computadora Atari con todo el banco oficial de juegos que hubo en el país, los copiadores, tengo de todo. Actualmente alquilo un depósito y ahí conservo todo.

  • Vos que sos fanático de Atari, contanos un poco el fenómeno de la marca en Chile

Claro, Atari en Chile pegó muy fuerte, formó lo que era Commodore acá. Atari se va de Argentina, dos socios de acá se van a Chile y forman una empresa allá. Para que te imagines, uno de los socios que hacía programación en assembler, con una Atari 800XL ideó un programa para controlar todos los semáforos de Santiago de Chile. Tuvo muchísimo alcance allá. 

La primera vez que visité Chile fue en el 98, caigo y ya tenía anotadas las direcciones de los locales, fui a recorrer todos los locales que figuraban en las revistas. Algunos lo habían tirado todo, otros ya no comercializaban más.

Caigo en la estación de metro Tobalaba de Santiago, dónde aún existía un local de computación y me presento: Hola, soy argentino coleccionista etc, “lo siento” me dijo la persona que atendía el local,  “acabo de tirar todo el banco de revistas y juegos a la calle hace 2 meses”. Te juro me largue a llorar, cajas y cajas con software y revistas, no había llegado por poco…

  • Imagino que no habrán sido todas derrotas, al haber estado atento desde una época tan temprana, cuando aún no existía la concepción del coleccionismo..

De hecho, en las primeras reuniones, éramos 10 gatos locos, nos juntábamos en una confitería en caballito y llevábamos los cartuchos de Atari, intercambiábamos, vendíamos etc. y la gente nos miraba como bichos raros. Toda la mesa plagada de cosas de computación. Vos imagínate en esa época andar con una remera de Atari, era muy loco, nos reíamos viendo las caras de la gente.

Ahora los precios se han disparado y lo que antes no tenía valor y se tiraba hoy lo ves en los grupos de venta. 25 años atrás ibas por la calle y te encontrabas consolas, home computer en caja.

Recuerdo una vez en una casa de antigüedades, ver al dueño tirar una 128 completa en caja.Entré le pregunté si me la podía llevar, el dueño me pidió que le comprara algo en el kiosko, le compre una caja de cigarrillos y me llevé la Commodore 128 que aún conservo y funciona perfecto.

Otra vez, caminando a las seis de la tarde, vi cómo una casa de computación sacaba una caja de 40 joysticks 125 nuevos, inmediatamente pedí un taxi y los cargue todos y me los lleve.

En una ocasión paso por una juguetería en capital y veo dos cartuchos de Atari Lynx. El dueño me explicó que eso lo importaba 15 años atrás. Entré y le pregunté, me los vendió $ 2,50 cada uno. A los 4 días le caí de vuelta y lo encaré: ¿Tenes más en el depósito? Subí al depósito con el empleado, le bajé 2 cajas. Consolas y cartuchos en caja sin usar. Le compre todo.

  • Vos ya especulabas con lo que iba a pasar a futuro? Eras consciente que en algún momento todo eso tendría valor?

La verdad que no, me movían simplemente las ganas de querer acaparar todo. Era el afán de coleccionar y coleccionar, cosas que veía la compraba.

  • ¿En qué momento pasaste al rubro del negocio? ¿cómo hiciste esa transición?

Yo arranqué a trabajar en una casa de videojuegos Palladium software, acá en Buenos Aires, calle Scalabrini Ortiz en una esquina. El negocio era todo el primer piso y en el segundo daban clases de computación.

En un principio grababa los cassettes en mi casa y se los llevaba. Los dueños eran gente grande. Cuando abrieron una segunda sucursal me ofrecieron trabajar en el local. Salía del colegio y me quedaba en el negocio hasta las 7 de la tarde y los fines de semana también.

Yo atendía a la gente, vendía accesorios, repuestos, tenía mi  Talent MSX y Commodore 128 donde grababa los juegos, la gente miraba el catálogo y elegían.

Los juegos de Spectrum se grababan en MSX, eran los más tediosos, los juegos eran por niveles, a veces salían mal porque los pibes traían cassettes que estaban muy gastados y después no cargaban! Una vez al mes venían las novedades de los juegos, y anunciábamos en la revista segunda mano, toda la gente esperando para llegar con su datasette y grabar los juegos. Los chicos se quedaban horas en el local, vos pensá que cada juego tardaba 5, 7 minutos en grabarse. Y la gente se acumulaba. Terminabas quemado pero feliz, uno lo hacía porque le gustaba. Era otra magia.

Hace unos 17 años empecé a importar cosas para mí de afuera para uso personal, y ahí pensé en traer cosas para vender, arrancó como parte del hobby y ahora es mi actividad principal.

  • La primera vez que te vi, hace unos 10 años, te compré unos repuestos de Nintendo. Me citaste en una esquina de caballito, yo venía del interior, y me sorprendió la atención que me diste, hasta me imprimiste la operación en el acto con una impresora de bolsillo. La gente que está en el mundillo te reconoce esta cualidad..

Soy así. Por ejemplo, la gente me carga pero yo tengo un programa en el celular donde controlo todos los envíos, me nace revisarlo todos los días y contactar a la gente por whatsapp. Será por los años que trabajé con atención al público, conocer la dinámica y saber que la gente valora esos detalles. Para mí la venta termina cuando el producto está en tus manos y me escribís feliz.

  • Una cosa es el hobby y otra es trabajar de eso, ¿Cuáles son los desafíos en tu rubro y cómo los encarás?

Actualmente somos dos personas, mi hijo y yo. Fundamentalmente vendemos online, y luego hay una serie de eventos en el año a los cuales asistimos y tomamos contacto directo con los coleccionistas.

La gente se acostumbró con la pandemia a comprar online, te diría que el 90% de la venta son online. Antes de la pandemia yo juntaba clientes, como me paso con vos, un día de la semana juntaba a todas las personas, 2 o 3 horas en un bar atendiendo gente y entregando cosas.

La pandemia sacó el miedo, la gente compra todo por internet y el e-commerce se levantó mucho. Los eventos entonces los utilizo como una forma de local físico, es el caso por ejemplo de la  Retrostart o Tpc Coleccionismo. La gente reserva sus productos y en esas reuniones se acerca y retira, supliendo así al espacio físico de entrega.

Es una actividad que demanda mucho, como cualquiera que se encara seriamente. La importación es complicada, tenés que ser importador para traer ciertas cosas, te tenés que ir adaptando a las distintas regulaciones. Asimismo, están los eventos, los cuales exigen una preparación previa, preparando el material, catalogando, los precios etc.

Estoy convencido q si haces algo q te gusta, lo sobrellevas. Si lo tomas solo como algo comercial, creo que sería muy difícil sacarlo adelante.

  • Contanos de tu tienda, qué productos tenés que cosas tiene más salida?

Traemos de todo, pero te diría que el  fuerte de nuestra tienda son las herramientas, los accesorios de los videojuegos, que cualquier coleccionista necesita, sobre todo con Nintendo que siempre fue muy celoso para evitar que cualquiera pueda meter mano. Hasta que aparecieron los chinos jeje.

  • Hablando de China y las compras de afuera, cómo convivís con las páginas internacionales que le permiten al consumidor final  importar esta clase de productos?

Mirá, el coleccionista tiene mucha ansiedad, no quiere esperar al paquete 40 o 60 días , quiere el producto ya. Y evalúa que la garantía y la diferencia de costo no justifica esa espera. Todos sabemos que, como particular, a veces las compras se pierden en el limbo. Y la intermediación te evita eso. Así que no es algo que afecte el negocio, se convive perfectamente. 

  • ¿Cómo ves la actualidad del coleccionismo, y qué imaginás para el futuro?

Hoy ya  tenemos tres generaciones de coleccionistas. Mucha gente que arrancó conmigo por familia o trabajo se ha ido, y ahora me encuentro con que muchos de los nuevos interesados y coleccionistas son chicos de 19 años, que no vivieron esa etapa, pero que se entusiasman por igual. Hoy a un chico en un evento le mostrás un game watch y se sorprende, le despierta curiosidad, la tecnología, la historia, y se engancha.

No me puse a pensar nunca a futuro cómo puede seguir esto. No me puse a imaginar el rumbo. Creería que seguirá todo igual. Gente que le pica la curiosidad va a seguir existiendo, la industria del videojuego no va a parar, en todo caso irá mutando y evolucionando.

  • Christian podríamos seguir tres horas más hablando, pero no te quiero robar más tiempo. ¿Tenés alguna reflexión que quieras dejar para el final?

Le diría al coleccionista se preocupe en buscar lo que pueda sin mirar lo que tiene el otro, que tenga una colección personal, y que se sienta orgulloso de eso. Y del otro lado del mostrador, a los vendedores les pediría que se manejen con reglas claras, y al que quiere empezar de este lado del mostrador con malas prácticas que no lo haga, porque nos complica a los que queremos laburar bien, debemos proteger al rubro.

  • Volviendo al comienzo de la charla. Cuál es tu sistema videojuego especial, tuyo y porque?

La Atari 800 XL. La computadora que me transformo la cabeza, al empezar con la programación y todo eso es un amor personal. Horas y horas y horas…

  • Gracias por tu tiempo, espero que la hayas pasado bien en la charla. Ojalá te encontremos pronto en el museo.

Por favor, ya vamos a ir a Bahía Blanca, gracias a vos por la entrevista.

Podés encontrar los productos de Christian en Retrogeek mazzatari en Instagram, Facebook y en su Tienda online.

Reetrogeek Mazzatari (@mazzatari) • Fotos y videos de Instagram

Retrogeek VIDEO GAMES | Facebook

https://retrogeekmazzatari.com.ar/

Los 6 mejores juegos retro para couch-gaming

Es miércoles por la noche y te juntaste con un par de amigos. Pidieron cervezas y un par de pizzas. Tienen una PC con varios emuladores retro o quizás una Nintendo 64 original con una buena cantidad de joysticks. ¿Planazo? ¡Planazo!


Las virtudes del couch-gaming

¡Plot-twist! A diferencia de lo que piensa tu tío Roberto (que cree que todo tiempo pasado fue mejor) ni los videojuegos generan violencia, ni se tratan únicamente de perder el tiempo. De hecho, esconden miles de ventajas disfrazadas detrás del “son sólo jueguitos”.

Pero hoy no venimos a hablar de las ventajas del gaming como propuesta lúdica e intelectual (cómo los juegos afinan las habilidades cognitivas o su comprobado poder antiestrés, por mencionar sólo dos beneficios). Sino que vamos a presentar, específicamente, las virtudes del couch-gaming.

El término “couch-gaming” hace referencia a dos cosas. Primero, al simple hecho de jugar videojuegos desde la comodidad de un sillón. Por eso, el concepto suele ser sinónimo de las consolas: uno y su joystick fundiéndose en un acolchonado sillón frente a un televisor montado en una pared.

Una típica noche de coach-gaming en la Casa Sívori

Sin embargo, también podemos categorizar a ciertos juegos como “couch-games”, siendo aquellos que funcionan mucho mejor cuando se experimentan con uno o más jugadores que se encuentran, físicamente, en un mismo lugar.

Este tipo de juegos suelen promover más la risa y la competencia enérgica. A su vez, son propuestas únicas donde el foco está puesto en la interacción social, antes que en la virtual.

Lamentablemente, el couch-gaming (esto es: los buenos juegos para viciar con amigos desde el sillón) son cada vez más raros hoy en día debido a la popularidad cada vez mayor y la amplia accesibilidad del juego en línea.

Una lan-party con mis hermanos viciando Doom 2, allá por principios de los 2000´s

Afortunadamente: para sacarse la picazón del vicio, todavía existen los videojuegos retro, sean emulados o en su consola original. ¿Cuáles son los mejores juegos retro para couch-gaming? ¡Veamos!


***

Snow Bros (1990)

Para aquellos que buscan un buen desafío competitivo, Snow Bros es un título ideal. Originalmente lanzado para arcades en Japón, allá por 1990, este juego rápidamente llegó a varias consolas. Encontramos su mejor versión en la Sega Genesis, donde existen 20 niveles adicionales.

Snowbros es increíblemente divertido en modo cooperativo. Dos hermanos muñecos de nieve deben eliminar a todos los enemigos de cada nivel para salvar a unas princesas. Esto se consigue arrojándoles nieve –que los transforma en bolas de nieve– y luego haciéndolos rodar por el escenario. Una falopa hermosa.

Mi hijo Benjamín jugando al Snow Bros en Espacio TEC

Es cierto que Snow Bros resulta poco original en comparación con otros títulos anteriores (recuerda al clásico Bubble Bobble y al Ice Climber) pero eso no lo hace menos adictivo. Arranca muy tranqui y pronto se vuelve durísimo… especialmente cuando nos enfrentamos a los jefes finales (que aparecen en cada piso múltiplo de diez).

Puede que hoy un favorito indie sea Cuphead, aquel run-and-gun que es tan tremendamente difícil como magnífico (con mi hermano Tomás le dedicamos 14 sufridas horas para poder darlo vuelta). Pero todavía más horas le metimos al Snow Bros durante nuestra infancia e, incluso, hace no tanto tiempo en algunos bares con fichines de la ciudad porteña.

Probablemente vas a morir mucho en el Snow Bros. Pero se puede encontrar solidaridad al superar obstáculos tan imposibles al lado de un amigo.

Super Bomberman 3 (1995)

Ahora: si lo que buscás es caos puro, también tenés varios opciones de couch-gaming. Ejemplos de títulos más modernos serían algo como Overcooked o la franquicia de Super Smash Bros. Aunque si queremos remontarnos al pasado, no hay con qué darle: es Super Bomberman.

En este caso yo me inclino por las versiones de Bomberman que llegaron a la Super Nintendo. Super Bomberman 3 es el mejor de los cinco disponibles para la SNES y el primero que permitía el juego de a cuatro (de hecho, permite hasta cinco jugadores, pero uno tiene que ser una PC necesariamente).

Super Bomberman 3 para la Super Nintendo

Era genial poder montar una mascota, cada una con una habilidad especial que la volvía única. Su modo aventura es genial, aunque donde realmente brilla es en la cantidad de horas de sillón que permite. De todas las versiones de Bomberman que existen (y sus inevitables copias) la tercera entrega es la más sólida.

Tetris de Tengen (1989)

Tetris es el videojuego más popular del mundo. Eso está claro y no se discute. Es, realmente, uno de esos pocos juegos cuasi universales que conocen hasta las Tías Martas del mundo. A finales de los ochenta y, sobre todo, durante los noventa, la creación de Alexei Pajitnov conquistó al mundo entero.

Se reconocen, oficialmente, más de 50 versiones de Tetris para diferentes consolas… y eso sin mencionar la bestial cantidad de copias y variantes del juego que se crearon (sí, te estoy hablando a vos… “9999 en 1”).

El torneo de Tetris de Tengen en Espacio TEC, 15 de julio 2023

El Tetris de Tengen es, básicamente, un rip-off de la versión original de Nintendo. Aunque, a diferencia de lo que suele ocurrir con las copias, tenía un par de puntos a su favor: gráficamente era muy superior y además tenía un modo multijugador que permitía jugar con otro amigo o enfrentarte a la computadora. Indudablemente: la versión de Tengen es mejor que la de Nintendo.

Contra (1996)

¡Claro que el ingrato Contra, de la Family Game, tenía que estar entre los mejores juegos retro para couch-gaming! Dos jugadores simultáneos en pantalla, modo cooperativo, ametralladoras, jungla, terroríficos aliens… ¿Algo más se puede pedir?

Este es otro videojuego que no precisa introducción porque es un emblema del gaming. No solo se lo recuerda por su excelente jugabilidad y modo de dos jugadores, sino también por la dificultad que presentaba. El Contra no perdonaba ningún error.

El Contra de Family Game / NES

Por otro lado, la introducción de lo que luego se conocería como el “Código Konami” es una estampa de los videojuegos. Aunque el Contra no fue el primero en utilizar las famosas combinaciones de teclas para sacar algún truco (el primero, en realidad, fue el “Gradius”), éste fue el que lo popularizó.

¡Tirabas arriba, arriba, abajo, abajo, izquierda, derecha, izquierda, derecha, B, A y tenías 30 vidas!

Este videojuego es muy frustrante aunque también increíblemente gratificante cuando comenzás a sentir que estás jugando mejor. Las balas de los enemigos son blancas y difíciles de ver. Hay enemigos montados en metralletas que te disparan apenas te ven, los power-ups se te van si morís, hay saltos que requieren de mucha habilidad y hasta aparecen enemigos por detrás. Y, sin embargo, yo no me cansaba de jugarlo con amigos.

Battletoads and Double-Dragon (1993)

Los beat ´em ups son ideales para el couch-gaming. Streets of Rage, Golden Axe o las Tortugas Ninja son todos excelentes candidatos. Yo, sin embargo, me quedo con el Battletoads and Double-Dragon de 1993.

Si bien es originalmente de la NES (o Family Game), su mejor versión es la que encontramos en la morocha de Sega. Se trata de un tremendo videojuego beat ‘em up que presentaba un crossover entre la saga de Battletoads (el juego históricamente más jodido de la historia) y la de Double Dragon.

Battletoads and Double-Dragon para Sega Genesis

Battletoads and Double-Dragon todavía se sostiene hoy en día. Su excelente jugabilidad –que  respeta las características de ambas franquicias– lo convierten en uno de los mejores títulos para jugar con un amigo tirados en el sillón.

Me gustan mucho los diseños de los niveles, que eran todos diferentes. Por ejemplo, el cuarto nivel es una batalla aérea. Algunos son de vista lateral, mientras que otros son de vista isométrica. Infaltable el escenario de las motos, que –por suerte– no es tan imposible como el de Battletoads original.

Mario Bros (1983)

Me dejé para el final el que, para mí, es una bandera del couch-gaming.  Mario Bros es un videojuego de arcade desarrollado y publicado por Nintendo en 1983. Tuvo su versión casera para la NES que es la que más jugué de chico.

La premisa gira en torno a los fontaneros gemelos, Mario y Luigi, que se encuentran en el sistema de alcantarillado de Nueva York. Las alcantarillas son invadidas por oleadas de enemigos, a los que hay que derrotar para conseguir monedas.

Fue la tercera aparición de Mario (antes era “Jumpman” en los primeros Donkey Kong) y también se considera el primer juego en hacer debutar al personaje de Luigi.

Benja jugando Mario Bros en Espacio TEC

Los elementos introducidos en este mítico Mario Bros., como las tuberías, monedas giratorias, tortugas que se pueden voltear sobre sus espaldas y su hermano Luigi, se trasladaron luego al Super Mario Bros. (de 1985) y se terminaron convirtiendo en elementos fundamentales de la franquicia.

En Mario Bros la jugabilidad es tan fluida como cabría esperar de un título de Nintendo, pero la acción puede volverse bastante agitada a medida que avanzás. Acá el modo cooperativo es la experiencia completa y una herramienta clave para ayudarse mutuamente a sobrevivir.

No es ningún secreto que el juego original de Mario está empezando a parecer un poco anticuado. Sin embargo, es difícil ignorar su factor de diversión. Si lográs sumar a un segundo jugador, es probable que estés ante la mejor experiencia couch-gaming que existe.

***

Por supuesto, TODO este vicio hermoso (y mucho más) está disponible en ESPACIO TEC, Thompson 665, Bahía Blanca.

Estos son sólo algunos de los mejores juegos retro para jugar desde el sillón. ¿Cuál otro agregarías a la lista? ¡Contanos!

C64 a Fondo – 6502 vs 6510 Parte 5 – I/O Pins del procesador

Continuamos este estudio comparativo del 6502 vs el 6510 en este caso descubriendo la principal diferencia entre el 6510 y el 6502 los pines de Input/Output que posee el 6510 y no posee el 6502.

Les dejo el link al articulo anterior en la serie, y al final como siempre los links a todos los artículos de la misma.

Parte 4 – Primer Programa desde EEPROM

Qué son los I/O Ports

La I/O ports son 6 puertos/pines/registros que pueden funcionar como Input o como Output en el procesador 6510. 

P0 a P5 Pines de I/O Port. Este procesador en su más marcada diferencia presenta en estos pines 6 conexiones bidireccionales con periféricos como si fuera un pequeño 6522 VIA o un 6526 CIA. 

Cómo se utilizan

Para poder utilizarlos se debe especificar si los vamos a usar como Input o Output. Esto se hace de una forma muy particular. El procesador 6510 a diferencia de todo el resto de la línea 6500 utiliza para sí dos direcciones de memoria que nunca pueden ser parte de la RAM o ROM y son las primeras dos direcciones la $0000 y la $0001.

La dirección $0000 es llamado DATA DIRECTION Register. En este vamos a especificar para cada uno de los seis pines si lo queremos utilizar como Input o como Output. Si el valor es 0 queda como Input y si es 1 queda como output. Si lo vamos utilizar como Input conectarlo con una resistencia a 0 Volts o +5 Volts mientras no se utilice para no tener inputs flotando. Esta especificación se realiza escribiendo un byte a la dirección $0000.

BitPinInput/Output
000/1
110/1
220/1
330/1
440/1
550/1
6No UtilizadoNo Utilizado
7No UtilizadoNo Utilizado

Por ejemplo si quisiéramos habilitar el pin 2 y el 4 como Output y el resto como Inputs deberíamos escribir el número binario %00010100 correspondiente al hexadecimal $18. Podríamos configurar al 6510 con la siguiente instrucción en assembler

lda #%00010100 ; cargamos al acumulador  el número en binario

  ; antecedido por % para indicar que está em binário

; y # para indicar que es un número y no una posición

; de memoria

sta $00 ;guardamos el contenido del acumulador en el 

;registro interno de memoria DATA DIRECTION REGISTER

Si ahora queremos leer la información de los I/O registers necesitamos utilizar otra dirección de memoria la $0001 también llamado de I/O port register.

BitPinInput/Output
000/1
110/1
220/1
330/1
440/1
550/1
6No UtilizadoNo Utilizado
7No UtilizadoNo Utilizado

Podemos cargar los valores de este registro al acumulador con el siguiente comando para leer por ejemplo:

Lda $01 ; lee el I/O port register

Sta $0400 ; escribe el contenido del acumulador en la posición

; de memoria $0400

Para poder escribir en este registro y por consecuencia cambiar el valor de los pines con valor 1 a +5 Volts o High usamos el siguiente programa assembler.

lda #%00111111 ;va a escribir todos los bits del I/O port para que 

;sus pines sean +5 Volts

sta $01 ;escribir el registro

Cómo funciona en la Commodore 64

La Commodore 64 y su procesador 6510 pueden direccionar hasta 65536 direcciones de memoria, los famosos 64KB, pero ¿cuántos kb tenemos en la Commodore?

KbytesFunción
64RAM
8BASIC ROM
8KERNAL ROM
4Character Generator
4I/O (Vic II, SID, CIA 1 y 2, Puerto de Cartucho)

Esto nos da 64+8+8+4+4 = 88Kb para direccionar, lo cual es un problema ya que tendríamos 24Kb que no podrían ser direccionados, ahí entran los I/O Ports para ayudarnos.

Estos cumplen dos funciones: manejar parte del datasette y direccionar esta memoria extra para que puedan caber las 65536 direcciones.

Los puertos en cuanto a su configuración de Input o Output así se encuentran configurados en la Commodore.

BitPinInput/OutputNombre en C64
001 outputLORAM
111 outputHIRAM
221 outputCHAREN
331 outputCassette Write
440 inputCassette Sense
551 outputCassette Motor
6No UtilizadoNo UtilizadoNo Utilizado
7No UtilizadoNo UtilizadoNo Utilizado

Manejo de Memoria

Memorias que se superponen, como vimos anteriormente veamos cómo es que estas memorias se están superponiendo y en qué direcciones.

NombreDireccionesKbytesFunción 1Función 2Función 3
Low Memory$0000-$9FFF40kbRAM
BASIC$A000-$BFFF8kbRAMBASIC ROM
High Memory$C000-$CFFF4kbRAM
I/O$D000-$DFFF4kbRAMI/OCHAR ROM
KERNAL$E000-$FFFF8kbRAMKERNAL ROM

Como se superponen estas memorias se controla principalmente con los I/O ports de P0 a P2.

P0 – Bit 0 del registro $0001, LOW RAM. Si este bit es 0 tenemos acceso a la RAM si es 1 a la BASIC ROM. ¿Cuándo lo apago? ,cuando creo un programa en código máquina con lo que aprovecho 8kb extras de ram.

P1 – Bit 1 del registro $0001, HIGH RAM. Si este bit es 0 tenemos acceso a la RAM si es 1 al KERNAL ROM. ¿Cuándo lo apago? ,cuando creo un programa en código máquina y no necesito ninguna rutina del KERNAL con lo que aprovecho 8kb extras de ram

P2 – Bit 2 del registro $0001, LOW RAM. Si este bit es 0 tenemos acceso a los I/O devices (VIC II, SID, CIA, etc)  si es 1 a la ROM de character generation donde se almacenan los 2 juegos de caracteres de la commodore. Generalmente nunca debemos acceder a la ROM del CHAR GEN ya que el VIC II puede acceder a esta directamente para dibujar los caracteres en pantalla. Un motivo válido para acceder es leerla para copiarla en memoria y modificar el juego de caracteres.

Aquí tenemos otro gráfico que muestra mejor la configuración de los 3 registros y que efectos tendrían en memoria.

A continuación les incluyo un programa en BASIC que les va a permitir apagar momentáneamente el basic y el kernel escribir y leer en la RAM oculta y volver a activar el basic y el kernel sacado del libro PEEKS & POKES para Commodore 64.

Para leer la RAM escondida usar:

PRINT USR(ADDRESS).

Para escribir haciendo un POKE usar:

SYS 715,ADDRESS,BYTE

Y este es el programa en código máquina con su loader en basic:

10 DATA 165,20,72,165,21,72,32,247,183,120,165,141,252,133

20 DATA 1,160,0,177,20,168,165,1,9,3,133,1,88,104,133,21

30 DATA 104,133,20,76,162,179,32,253,174,32,138,173,32,247

40 DATA 183,32,253,174,32,158,183,165,1,41,252,133,1,138

50 DATA 160,0,145,20,165,1,9,3,133,1,96

60 FOR 1=678 TO 747: READ A: POKE I, A: NEXT I

70 POKE 785,166:POKE 786,2

Manejo de Datasette

El datasette es manejado por 3 puertos del 6510 y la CIA. Los I/O Ports P3 a P5 están conectados a las funciones de CASSETTE Write, CASSETTE Sense, y CASSETTE Motor.

P3 – Bit 3 del registro $0001, Cassette Write. Este puerto es el que se utiliza cuando vamos a grabar información al cassette enviando pulsos con la información a grabar a través de este pin.

P4 – Bit 4 del registro $0001, Cassette Sense. Este puerto mide si alguna tecla fue presionada en el datasette. Cuando vemos el famoso mensaje “PRESS PLAY ON TAPE” el procesador está esperando que presionemos la tecla play en el datasette. Al presionar esta tecla y como el puerto es un input se lee un 0 Volts y el datasette sabe que una tecla fue presionada. Como podemos presionar 3 teclas en el datasette (play, rewind, forward) y sólo tenemos una línea de Casette Sense se produce el efecto curioso de que si presionamos rewind o forward la Commodore piensa que presionamos play y trata de cargar el programa de casette.

P5 – Bit 5 del registro $0001, Cassette Motor. Este puerto activa el motor del datasette cuando se presiona una tecla en el datasette, si alguna vez hicieron la prueba de presionar el botón de play y nada funciona si no está conectado a la Commodore no es sólo por una falta de power sino por que la tecla play no hace nada sólo el pin P5 activa el motor del datasette. 

Si estudiamos el circuito exacto conectado a este puerto vemos que en realidad el procesador no prende el motor si no que activa un transistor que switchea 9 Volts para que estos sí vayan al conector del datasette y alimenten el motor

Para completar la discusión del datasette nos falta sólo el puerto de cassette read pero este está conectado al puerto /flag de la CIA1 y está fuera del contexto de los puerto I/O del 6510 y será analizado en un próximo artículo.

Estudiando los I/O Ports visualmente

Para poder estudiar visualmente cómo se conectan y funcionan los I/O ports del 6510 les dejo este video que complementa al artículo.

6502 vs 6510 IO Ports / Processor Ports – Parte 5

Artículos en la serie C64 a Fondo

A continuación les dejo los links a los artículos anteriores de la serie

Introducción

Parte 1 – El módulo de reloj

Parte 2 – Pinout 6510 y 6502

Parte 3 – Codeando a Mano la Primera Instrucción de Código Máquina

Parte 4 – Primer Programa desde EEPROM

Referencias

A continuación les dejo algunos links donde profundizar el tema:

VIDEOS

Video de la serie 6502 vs 6510 Parte 5 – IO Ports / Processor Ports

6502 vs 6510 IO Ports / Processor Ports – Parte 5

Aquí tiene acceso a toda la serie:

6502 vs 6510 estudio detallado y comparación 

PAPERS

The 6510 Processor Port | C64 OS 

6510 MICROPROCESSOR WITH I/O 

Mapping the Commodore 64 & 64C : Leemon, Sheldon : Free Download, Borrow, and Streaming : Internet Archive 

Peeks & pokes for the Commodore-64 : Liesert, H. J. (Hans Joachim), 1961- : Free Download, Borrow, and Streaming : Internet Archive 

Y como siempre la serie de Ben Eater del 6502

Build a 6502 computer | Ben Eater 

Todos los ejemplos de código de los videos los pueden encontrar en:

https://github.com/carlinhocr/6502_vs_6510

Psicología y gaming: ¿por qué amamos los videojuegos retro?

Hay toda una explicación psicológica detrás de nuestro afecto por los videojuegos retro, y tiene que ver solo en parte con la nostalgia por el pasado.

Recuerdos en 16 bits

Cerrá los ojos. Bueno, no, no los cierres todavía. En todo caso, primero terminá de leer este párrafo. Tratá de recordar algunas imágenes de tu infancia. ¿Qué ves? A lo mejor algunos picaditos con los chicos del barrio o jugar a las escondidas. ¿Habrá por ahí bloques, soldaditos, tazos? ¿Juntabas figuritas en algún álbum, al ritmo de “late, late, late… ¡NOLA!”.

Yo recuerdo todo eso. Pero en mi memoria resuena más fuertemente la imagen de la morocha de Sega (la Genesis de 16 bits), mi habitación y una tarde de puro vicio con mis hermanos.

Le doy a los videojuegos desde que tengo uso de la memoria. Primero fue en la vieja PC de escritorio XT-386 con un disco de 10 mb de almacenamiento y 512 kb de memoria. Cuando la máquina arrancaba, parecía una turbina. El disco sonaba con un “tac, tac, tac, tac, tac” y la pantalla tenía una muy limitada gama de colores con MS-DOS corriendo de fondo (¡ni siquiera un Windows 3.11!).

El clásico Sonic the Hedgehog (1991) de Sega Genesis

En aquella computadora jugábamos al primer Doom, al F-15 o al hermoso Stunts, entre otras reliquias del abandonware. Luego pasamos a la Family Game (como todo buen argento). Una gloriosa Navidad de finales de los noventa, Papá Noel se la jugó con una ostentosa Sega Genesis con varios títulos que pronto se volverían clásicos.

Todavía me acuerdo de la música con la que inicia el Sonic 3, terminar aquel engorroso segundo nivel de El Rey Leon o el A-C-ARRIBA-B-ARRIBA-B-A-ABAJO del Ultimate Mortal Kombat 3. Épocas gloriosas, sin apuros ni deudas con el banco. Sin las responsabilidades de ser padre, docente o esposo.

La infancia era eso. Una comidita rica de la abuela, unos pesitos para el kiosco de la escuela o los dibujos animados del sábado por la mañana. Y, en el medio, aparecían los videojuegos como un alimento más reconfortante que cualquier plato de fideos con tuco.

La psicología de la nostalgia

Aquello que fue novedoso en los ´80 y ´90 hoy es considerado “retrogaming”. Y se siente bien.

Retrogaming en Espacio TEC

Te alegra volver a percibirte como un niño. Como adultos, tenemos todas estas responsabilidades y ansiedades, y si es posible encontrar una manera de olvidarte de eso (aunque sea por un ratito) dale que va.

La psicología se ha encargado de estudiar por qué nos fascina, de grandes, volver a jugar aquellas joyas del pasado. Jugar videojuegos antiguos —o, al menos, diseñados para parecer retro— transporta al jugador, remontándolo a épocas más sencillas donde jugar era divertido.

Desde el punto de vista filosófico, el concepto de la nostalgia parece obvio. Ves un juego al que le metías cuando eras niño y, automáticamente, tu cerebro evoca recuerdos felices. Ser niño y abrir ese nuevo juego pixel-art o consola en Navidad era, para muchos chicos, el epítome de la felicidad.

Para mí fue la Sega Genesis, para otros habrá sido la Super Nintendo o la primera Playstation.

Benjamín y yo viciando las consolas retro de Espacio TEC.

Pero, abramos el telón: ¿por qué tu cerebro quiere jugar a ese juego viejo, exactamente? Los videojuegos retro tienen un doble atractivo: propiedades intrínsecas y extrínsecas que explican su popularidad. Por un lado, los aspectos intrínsecos tienen que ver con la jugabilidad clásica que la convierte en una experiencia atemporal, como el ajedrez.

Luego tenemos los aspectos extrínsecos del juego, donde se asocia con experiencias pasadas positivas, en términos de personas y lugares, lo que lo convierte en un desencadenante de emociones positivas. Una combinación de ambos factores es lo que está impulsando el renovado interés en el género retro.

Videojuegos retro para grandes y chicos

La búsqueda de una respuesta emocional

Esto es un gran ejemplo de lo que sucede cuando el sistema de memoria y el sistema de recompensa del cerebro trabajan juntos. Gravitamos hacia los videojuegos retro porque buscamos un desencadenante conocido para una respuesta emocional positiva. Los varios estudios han confirmado que los videojuegos activan las vías de recompensa (los centros de placer) del cerebro.

En la actualidad existen museos en todo el mundo (guiño guiño) dedicados a capturar la historia y experiencias de los primeros años de los videojuegos. Son lugares de encuentro tanto para niños como adultos; aunque -seamos honestos- los más grandes muchas veces van solitos.

Luego de haber sobrevivido a una pandemia mundial (y el posterior aumento en síntomas de ansiedad y depresión) no es de extrañar que muchos encontremos consuelo en los juegos más antiguos y de aspecto retro.

“Every journey begins with a choice”

Hay cierta mística en el gaming de la vieja escuela. Ya saben… no tener más de tres vidas, un sistema de puntuaciones numérico y una dificultad endemoniada que enseña paciencia y determinación.

Cada quien tendrá sus formas de hallar la felicidad. Para varios de nosotros, se presenta en forma de estos videojuegos retro. Un bienvenido respiro de un mundo caótico, experiencias lúdicas más simples (no necesariamente más fáciles) que son capaces de perforar el corazón e infundir una alegría tan rara como perfecta.

Luciano Sívori

Podés seguirme por en Instagram y en Facebook. Tengo este blog de vicios personales.

“It’s dangerous to go alone! Take this.”