Slap es un parcheador de ROM multiplataforma, de código abierto y línea de comandos, creado por nyuutsu ante la ausencia de una herramienta CLI en Linux que se ajustara a sus necesidades para preparar cartuchos mediante FXPak. Admite veinte formatos de parche —IPS, IPS32, UPS, BPS, EBP, PPF3, NINJA2, VCDIFF, entre otros— y ofrece seis verbos: aplicar, crear, deshacer, convertir entre formatos, explicar el contenido de un parche y mostrar sus metadatos.
Su desarrollo combina Haskell y Rust para que funcione también en el navegador. Una de sus características más cuidadas es la gestión de errores: asume lo mínimo sobre el parche, detecta archivos malformados y describe con precisión qué falla y dónde, con un sistema estructurado de advertencias, errores y observaciones. Para ello, los autores tuvieron que delimitar qué es válido y qué no en cada formato, una tarea sutil en especificaciones como IPS, EBP, NINJA2 o PPF3, que dejan zonas grises sobre cómo interpretar instrucciones ambiguas.
En la creación de parches la herramienta es conservadora —solo emite instrucciones que cualquier parcheador podría aplicar—, pero al aplicarlos intenta cubrir todo el rango expresivo de cada formato. También aborda el problema de la codificación de texto en los metadatos: genera UTF-8 y, al leerlos, muestra los puntos de código no imprimibles como escapes y sustituye las secuencias no decodificables por U+FFFD con una advertencia contextual.
La página incluye además tablas comparativas de rendimiento frente a herramientas de referencia (flips, sips, goUps) en pares de ROM de 4 MiB (GBC), 16 MiB (GBA), 64 MiB (N64) y 520 MiB (imagen de disco), con tiempos de creación y aplicación medidos como mediana de ejecuciones en caliente y verificados byte a byte. Slap está disponible como CLI en GitHub y como aplicación web.
