la serie/

What they share

Every binary against every other, looking for identical byte runs of 32 or more: 570 of the 1,176 possible pairs share something, and 305 of those share code.

First the code had to be told apart from the drawings

The first thing that comes up when you sort by how many cartridges share a run is forty-six bytes present in twenty-six Konami cartridges… and it is not a routine: it is the typeface. 3E 63 03 0E 03 63 3E draws a 3 and 7C 66 63 63 63 66 7C a D. Konami reused its drawings as much as its code, and a matrix of bytes cannot tell.

Here it can, without guessing: each game's listing already knows which bytes are code, because it carries them as instructions with the address in front. If the run's address shows up that way, it is code; if not, it is data.

The pieces of the framework, and what each repository called them

bytescartridgesdistinct nameswhat they call it
361812LEE_EL_TECLADO, LEE_MANDOS, LEE_TECLADO, L_45E8, lee_el_mando, lee_el_mando_1, lee_el_teclado, lee_las_filas_7_y_8_del_teclado, lee_los_mandos, lee_mando_y_teclado, lee_teclado_1, teclado_del_jugador_1
1611211L_464F, L_4716, L_4766, L_4867, L_4902, L_4A02, L_4A54, L_4B2F, L_4C0C, L_4C45, PINTA_TIRA_BUCLE
170116SUBE_LOGOTIPO, baja_un_paso, barre_la_pantalla, sube_el_logotipo_una_fila, sube_el_rotulo, tarea_0_desplaza_logo
53119ACTUALIZA_CANAL_7D6A, L_52B9, MUSICA_EVENTO_LARGO, NOTA_DE_UN_BYTE, corre_el_canal_nota_larga, lee_una_nota_de_musica, lee_una_nota_larga, manda_de_la_melodia, mandatos_largos
5097L_7BA6, L_9F80, MIRA_LA_OCTAVA, corre_el_canal_barrido, melodia_octava, mira_el_prefijo_de_octava, mira_si_hay_octava_si_no
17495SUBE_LOGOTIPO, baja_un_paso, barre_la_pantalla, sube_el_logotipo_una_fila, sube_el_rotulo

The same controls read —ld a,7 and the BIOS call at 0x0141, which reads one keyboard row— sits byte for byte in eighteen cartridges and goes by twelve different names, because the repositories were written over months with no single place to look. This is that place.

And there is a 161-byte piece across twelve cartridges that ten of them left unnamed (L_4716, L_4766, L_4867…): only Ping Pong named it, as PINTA_TIRA_BUCLE.

What this method cannot see

It compares bytes, so it only finds a shared routine if it was also assembled at the same address: as soon as the memory map changes, the same routine yields different bytes because its addresses differ. That is why a clean split into two frameworks does not fall out of this —at a low threshold every Konami stays connected and at a high one they break into fragments— but a continuum.

One concrete warning: the 65-byte controls read that Athletic Land shares with Antarctic Adventure is in the European and Japanese 1st Antarctic, and not in the 2nd — which is the one its Makefile picks by default and the one this database measures. A finding can depend on which dump you look at.