Un problema importante que tenemos en Xbox con el Yabause, es que el recompilador dinámico no ha podido ser portado. Como sabéis, un emulador puede funcionar de dos formas: interpretando instrucciones (lo cual es lentísimo) o con recompilación dinámica (que va muchísimo más rápido). Como no tenemos el recompilador dinámico en Xbox, el Yabause actual funciona interpretando instrucciones, y eso es demasiado lento.
Interpretando instrucciones podemos emular máquinas mucho menos potentes que la Xbox (NES, SNES, Sega Megadrive, TurbografX...) pero para emular bien las máquinas más modernas, hay que usar recompilación dinámica. Por ejemplo, los emuladores de PSX, N64 y Nintendo DS usan recompilación dinámica en Xbox, y así se consiguen velocidades "aceptables".
El caso es que Yabause TIENE recompilador dinámico, pero está escrito en un lenguaje ensamblador que nuestro compilador Visual Studio no soporta, así que no hemos podido portarlo a Xbox. Sería necesario traducirlo al formato de ensamblador que soporta Visual Studio, pero ese es un trabajo muy arduo. Yo probé a compilarlo con otro compilador (GCC) y enlazarlo desde nuestro proyecto de Xbox, pero no funcionó.
De todas formas os puedo decir que el proyecto NO está muerto, y que se trabaja precisamente en ese sentido: conseguir soportar el compilador dinámico en Xbox, lo cual dispararía la velocidad de emulación.