Un desarrollador de MartyPC ha logrado extraer el microcode del procesador NEC V20 —fabricado por Sharp como segunda fuente— a partir de una fotografía de die de 5,6 gigapíxeles (70478×80672 píxeles) realizada por el especialista InfoSecDJ. El objetivo es construir un núcleo de emulación del V20 con precisión de ciclo, algo que el autor considera esencial para mejorar la compatibilidad de su emulador, cuya versión previa era esencialmente un núcleo de 8088 con instrucciones del V20 añadidas.
La región rectangular situada bajo el centro del die contiene la ROM de microcode: una matriz de 258×116 bits con 29.928 bits en total. Esa cifra es divisible entre 29 —la longitud de palabra de microcode del V20— e implica 1.032 palabras, ocho más de las 1.024 esperadas, una anomalía que el autor deja pendiente de explicación.
Para identificar cada bit, el autor usó MaskRomTool de Travis Goodspeed para definir las posiciones de filas y columnas, pero el umbral por contraste resultó insuficiente debido a la capa metálica brillante. Como alternativa, exportó las posiciones a JSON y escribió un script en Python que recortó recortes cuadrados de 42×42 píxeles alrededor de cada bit, generando un archivo ZIP de 105 MB con miles de pequeños PNG. Con poco más de 1.000 bits clasificados manualmente como 0 o 1, entrenó una red neuronal convolucional con PyTorch en una sola tarde, sin experiencia previa en CNN. El entrenamiento alcanzó una F1 de validación de 0,9891 en pocas épocas y pocos minutos con una GPU compatible con CUDA.
El método se describe como replicable y accesible gracias a frameworks modernos de Python, abriendo la puerta a emulación cycle-exact del V20 y a futuros descifrados de microcode en otros chips mediante técnicas similares de visión por computador.
