Bajo un océano de bits, mes XXVI

Por Javier Albizu, 22 Enero, 2020
Se acabó lo que se daba pero, cuando llegamos al ultimo “Bajo un océano de bits”, esto está muy lejos de terminar.

Los retos que empezaron hace dos años van terminando poco a poco y, para no faltar a la tradición, se van solapando a los que les tendrían que sustituir (aunque etos solapamientos no meterán ruido por aquí).

Esta entrada empieza con una mentira en su título, o al menos con una media verdad. Porque, en este mundo en el que vivimos, veintiséis meses no caben en dos años. A pesar de que esto, podría buscarme algún argumento al que agarrarme, porque esto ya dio sus primeros pasitos antes de su inicio oficial.

Mas no importa.
Muy bien, dirá nadie, ¿qué ha dado de sí este último tramo del recorrido?

No gran cosa, la verdad.
El reto finalizaba formalmente el día 5 de este mes, pero eso no ha evitado que continuase con las cosas que tengo a medias (y que otras se quedasen apalancadas).

Tras una larga búsqueda, logré encontrar algunos de los componentes que andaba buscando para modificar mi recreativa. El problema real no fue tanto el encontrarlos (que también), como el dar con alguien que no fuese Amazon o una tienda china donde comprarlos. Al final el ganador ha sido RS-Componentes1 (que seguramente los encargará a china… pero mucho me temo que de ahí no hay manera de escapar cuando tratamos con cualquier tema de electrónica).
Ya que estábamos, también compré un nuevo Arduino para cuando me ponga a hacer cosas con electrónica...

… cosas como el tan ansiado programador de EPROMS2.
En tiempos recientes, y tras conseguir el adaptador para chips de 42 pines, he tratado de hacer algo con el WILLEM… sin erótico resultado. He conseguido leer el contenido de las ROMS del Amiga… pero no tengo claro que la colocación en el zócalo sea la correcta (puedo desplazarlo un pin p’atrás o p’alante que el condenado lo lee… aunque el binario resultante es diferente)
Hasta que tueste esa información en una ROM no seré capaz de saber cuál de las posiciones es correcta. No lo sabré, claro está, hasta que no lo conecte, hasta que no encuentre un manual en el que me deje claro su uso, o hasta que no sea capaz de entender los esquemas de los chips, el WILLEM y sus añadidos.

Muchos puntos suspensivos en este párrafo. Demasiados.

Cosas que hemos comprobado que no van (al menos con lo que tengo ahora mismo):

Con el WILLEM y el adaptador no he podido grabar los chips MX29F1615.
No sé si será porque lo estoy alimentando a través del puerto USB y tiene poca potencia, porque me falta algún jumper por configurar, o porque realmente no se puede (lo más parecido a ese chip que aparece en el software nativo del programador es un MX29F1610… (sí, más puntos suspensivos) que tiene 44 pines… (y dale) pero que 42 de ellos coinciden con los del MX29F1615 y 40 de ellos con el AM27C400.
La cosa es que cuando he tratado de programar ese chip diciéndole que es cualquiera de esos dos modelos (MX29F1610 o AM27C400) el “pograma” me da errores diferentes. Errores que no están documentados en ningún lado (lo que incluye la red de redes)

Por lo que me pareció entender en el artículo que hablaba de un “Borrador UV casero”, si exponía una EPROM al sol durante el suficiente tiempo era posible que esta se borrase (But what counts is intensity× exposure time, says the datasheet). Así que, ni corto ni perezoso, hace unos meses puse el chip que me cargué castigado en el marco de la ventana con la esperanza de que, unos meses después, quedase como una tábula rasa. El experimento falló, pero no sé hasta qué punto es porque entendí mal ese punto, porque la luz no le ha dado en el ángulo correcto, o porque está realmente estropeado.
La cosa es que, cuando lo pincho en el WILLEM, este me dice que no está vacío, pero sí que me muestra que unas partes de él están borradas (valor FF).

Esta semana me tienen que llegar un par de leds UV de 3W con los que trataré de borrarlo de nuevo. También he pedido otro par de AM27C400 que tardarán un poco más en llegar. ¿Quién sabe?. Igual de aquí a un tiempo tengo ROMs con la última versión del Kickstart de Amiga de sobra... o más chips escacharrados.

A partir del curso de Sistemas digitales también me vi obligado a mirar un poco del álgebra de Boole3, un tema que parece que a la de mil igual termina de entrar (sobre todo la parte que corresponde a los XOR, NOR y compañía). A su vez, esto, junto a los vídeos del bueno de Ben Eater me han ayudado a pillar otras cosas.
Cosas como, por ejemplo, el funcionamiento de la memoria volátil. Porque sí, también me dio por mirar cómo funciona la memoria RAM4 y, oye, más o menos hasta me voy haciendo una idea del asunto. También he visto alguna que otra charla de hacking de consolas5 e incluso me parece haber entendido una parte nada despreciable de los conceptos de los que hablan.

Así pues, parece que todo lo previo sí que ha servido para algo.

A su vez, a día de hoy me manejo decentemente con git, entiendo los mensajes de error de un makefile, y, de vez en cuando, compilo desde sus fuentes cosas que antes sólo era capaz de instalar desde repositorios.
Estos días me ha dado por retomar el MAME6 y me lo he compilado a mano. Hasta entonces no me había dado cuenta de la mala bestia en la que se ha convertido este programa (más aún desde que lo juntaron con el MESS).
5,1 gigas de código que a un procesador Ryzen 3 2200G le costó cerca de tres horas compilar (y a un Athlon II X3 455 cerca de siete).

En lo tocante a la parte de software puro, más allá de darle a los vídeos de Fran Gallego7 durante este mes no he hecho mucho más.

Por su parte, dentro de los temas periféricos-que-antes-fueron-principales, esto es, la creación de vídeo-juegos y la animación7… pues tres cuartos de lo mismo. Un poco de GCD, un poco de Dan Root y un poco de New Frame Plus no hacen daño a nadie.

No hacen daño, claro está, salvo que a Dan Root se le ocurra hacer un vídeo hablando de los canales que sigue y te lleve hasta Game Makers Toolkit9.
Miedo me da ponerme con el resto de sus recomendaciones:

- CriticaLink
- Video Game Story Time
- Be Kind Rewind
- Strafefox

Para cerrar uno de los círculos que empezaba allá por los comienzos, parece que el tema de la accesibilidad se va moviendo poco a poco. Porque, más allá de los vídeos que le dedica Game Makers Toolkit, esta semana también han salido un par de cosas relacionadas (la primera de las cuales es amor puro)10

En fin. Para esto han dado los últimos dos años. Espero haber servido para que alguien abra los ojos a todas estas cosas que he descubierto y me han dejado con ganas de más. Espero no ser el único que ha sacado algo de este viaje narrado que continuará en modo silencio.

Enlaces:

1. Comprando componentes
- Conector RJ45 para rack
- Conector USB 3 para rack
- Arduino Mega Atmega

2. Anteriormente en… por aquí
- Nunca a la última 004
- Nunca a la última 009
- Bajo un océano de bits, mes XIX

3. Y un poco de electrónica teórica y práctica
- Álgebra de boole en UNOCOOS
- Connecting an LCD to our computer (Ben Eater)

4. Intentando entender la memoria (RAM)
- Random Access Memory using Logic Gates
- Flip-Flops and the Art of Computer Memory
- Memory and Programmable Logic

5. Hackeando consolas
- 27c3: Console Hacking 2010
- 33c3: Console Hacking 2016

6. MAME y MESS
- MAME
- MESS
- El repo

7. El profe
- C++ : Componentes ECS, Caché y Branch Prediction
- C++ : Por qué separar entidades en componentes en un #ECS
- C++ : Component Storage y Physics Component #ECS
- C++ : Sistemas #ECS de un único componente
- C++ : Formas de asociar entidades y componentes #ECS
- C++ : Referencias cruzadas y Template Types
- C++ : Identificadores automáticos y miembros static inline

8. Los de siempre

GDC
- The Art of Firewatch
- Environment Design as Spatial Cinematography: Theory and Practice
- The Banner Saga Franchise: Making Indie Sound AAA
- Crashlands: Design by Chaos

Dan Root
- How Trico Was Animated
- Are There Benefits to the Absence of Animation?
- The Five Fundamentals of Game Animation: An Introduction

New Frame Plus
- My Favorite Game Animation of 2019

9. Game Makers Toolkit
- Designing for Disability - Mejorando los juegos para personas con problemas de audición
- Designing for Disability - Mejorando los juegos para personas con daltonismo o deficiencia visual
- Designing for Disability - Mejorar los Juegos para Jugadores con Discapacidades Motoras
- Designing for Disability - Making Games Better for Players with Cognitive Disabilities
- ¿Qué hace del "Assist Mode" de Celeste especial?
- ¿Qué tan accesibles fueron los juegos de este año?
- Por qué Celeste es tan satisfactorio de jugar?
- How Return of the Obra Dinn Works
- Shovel Knight and Nailing Nostalgia
- Getting Lost in Axiom Verge
- The Two Types of Random | Game Maker's Toolkit
- Como los jefes de Cuphead te (intentan) matar
- What Mirror's Edge Catalyst Should Have Learned From Burnout Paradise
- El diseño del mundo de Hollow Knight
- El Diseño del Mundo de Dark Souls
- Design Icons - Space Invaders
- Design Icons - Pac-Man
- 5 Amazing Levels from 2017
- How (and Why) Spelunky Makes its Own Levels
- How to Make an Indie Game Trailer
- Can We Make Talking as Much Fun as Shooting?
- How Baba Is You Works
- Lo que podemos aprender de Doom

10. La accesibilidad
- Nuevo mod del Adaptative controller de Microsoft
- Designing Main Menu Screens for Visually Impaired Gamers

El contenido de este campo se mantiene privado y no se mostrará públicamente.

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.