Aunque NEC V20 es compatible con Intel 8088, cuenta con características de microcódigo propias. [GloriousCow] intenta descifrar la ROM de microcódigo de la imagen del chip del procesador para crear una imagen de ROM utilizable con el fin de desarrollar un emulador con precisión de ciclo. Dado que la separación manual de los 29.928 bits de la imagen llevaría mucho tiempo, se recurrió a la automatización. La herramienta MaskRomTool de [Travis Goodspeed] no pudo determinar los bits de forma fiable debido al bajo contraste, pero detectó sus posiciones y generó archivos PNG de 42×42 píxeles para cada bit. A continuación, se entrenó una red neuronal convolucional (CNN) con 1.000 imágenes clasificadas manualmente para separar los bits 0 y 1. Los pocos bits que permanecieron ambiguos se examinaron visualmente. El microcódigo obtenido se está cotejando con la arquitectura interna del V20. El trabajo, aún no terminado, se publica en GitHub. El microcódigo estuvo en el centro de las demandas sobre la compatibilidad de los procesadores entre NEC e Intel.
Por qué es importante
Este trabajo muestra que la compatibilidad con Intel 8088 podría no bastar para explicar todo el comportamiento del NEC V20; revelar el microcódigo propio del procesador busca reflejar correctamente en la emulación no solo el conjunto de instrucciones, sino también el funcionamiento de los ciclos de procesamiento. El uso del procesamiento de imágenes y de una CNN ofrece un ejemplo aplicable a los métodos de ingeniería inversa, al convertir el análisis de grandes cantidades de datos procedentes de imágenes de chips con bajo contraste en un proceso que deja de realizarse manualmente. Sin embargo, dado que el cotejo de la ROM con la arquitectura interna aún no se ha completado, todavía no está claro hasta qué punto los datos obtenidos podrán utilizarse en el emulador. Los resultados también podrían contribuir a comprender las discusiones técnicas y jurídicas históricas en torno a la compatibilidad del V20 con Intel.