la serie/

Las familias de cartuchos

La página anterior compara bytes, y por eso sólo ve una rutina compartida si además la ensamblaron en la misma dirección. Aquí cada instrucción se normaliza poniendo a cero sus operandos de dieciséis bits —los que llevan direcciones— y se comparan secuencias de instrucciones. Un tramo largo de instrucciones iguales salvo las direcciones es la misma rutina reensamblada en otro sitio.

La diferencia no es teórica. Super Cobra y Yie Ar Kung-Fu comparten 203 instrucciones, y la comparación por bytes sólo les encontraba 39. Golf y Tennis: 632 instrucciones frente a 256 bytes.

De dónde sale que eso es código

No se traza nada. El listado de cada desensamblado lleva cada instrucción con su dirección delante, así que las direcciones ordenadas son el código, y lo que mide una instrucción es la distancia hasta la siguiente. Cuando esa distancia pasa de cuatro bytes —el máximo del Z80— es que en medio hay datos, y ahí se corta. Se miden 37 cartuchos; los otros 12 se quedan fuera y dicen por qué: las cintas y las MegaROM no declaran un origen único.

Y entonces sí aparecen familias

cartuchosañosla pareja más estrechaquiénes
201983–1986athletic / cabbagepatch · 44,5 % y 40,8 %athletic, billiards, boxing, cabbagepatch, goonies, hyperrally, hypersports1, hypersports2, hypersports3, kingsvalley, knightmare, monkey, mopiranger, pingpong, pippols, roadfighter, skyjaguar, supercobra, yiearkungfu, yiearkungfu2
51984–1985hyperolympic1 / hyperolympic2 · 67,3 % y 63,4 %baseball, golf, hyperolympic1, hyperolympic2, tennis
21983–1983timepilot / frogger · 7,4 % y 14,9 %frogger, timepilot

El reparto no va por año. La familia grande abarca de 1983 a 1986 y la de los cinco deportivos va de 1984 a 1985: se solapan. Tampoco va por número de catálogo.

Sueltos, sin llegar al umbral con nadie: antarctic, gamemaster, mahjong, soccer, twinbee.

Por qué el 5 %, y no otro número

Se une una pareja cuando el código común es al menos ese porcentaje de ambos —el menor de los dos, no la media: que Road Fighter comparta el 10 % de lo suyo con Soccer no dice nada si para Soccer es el 4 %—. Barriendo el umbral se ve que el reparto no es un capricho:

umbralparejastamaños de los grupos
2 %20228 + 2 + 1 + 1
3 %14428 + 2 + 1 + 1
4 %9922 + 5 + 2 + 1 + 1 + 1
5 %6020 + 5 + 2 + 1 + 1 + 1 + 1 + 1
6 %3316 + 5 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
8 %145 + 3 + 2 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
10 %85 + 2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1

El grupo de cinco y el de dos son los mismos del 4 al 8 %, mientras la familia grande se va deshaciendo poco a poco. Eso es lo que distingue una familia de un artefacto del umbral.

Cómo hay que leer esto

Agrupa por código compartido medido, y nada más. Que dos cartuchos caigan en la misma familia no dice que los escribiera el mismo equipo ni que uno saliera del otro: dice que hoy tienen rutinas en común. Y la familia de veinte, unida por un 5 %, es más un vecindario que una familia: dentro hay parejas al 44 % y parejas que apenas se rozan.