Supongo que un port de MAME sin tener que pasar por linux es soñar demasiado
No mucho, el problema más grande que tiene mame es su tamaño : 32MB si se compila con todo. Es imposible cargar un "elf" o dol de ese tamaño (solo tenemos 24Mb de ram para ejecutar cosas), pero sí se puede recurrir a la clásica solución de "partirlo", como se hizo en PSP. Linux, al ser un sistema operativo te permite cargar los ejecutables por partes, y tener swapeada una parte del ejecutable para recuperarlo cuando sea necesario. Por no hablar ya de la carga dinámica de librerías, eso nos permitiría tener algunas partes del mame, como las cpus, en formato "dll", y cargarlas bajo demanda. Eso permitiría reducir el tamaño del ejecutable, los tiempos de carga, etc... sin perder las prestaciones del original (cosa que por otro lado aun no se por qué no lo han hecho así...).
Las SDL parece que tiran en libogc (no las he probado) así que la parte gráfica, sonidos y eventos de joystick al menos está solucionado. Ahora viene el problema de la carga de roms. Con roms pequeñas no hay mucho problema, pero si las roms son grandes hay que tirar de MEM2, tanto para almacenar la rom descomprimida como para gestionarlas. A mí me parece mucho trabajo (hay que empollarse el código de mame antes de ponerse a ello), y en mi opinión el resultado no va a ser extremadamente mejor (a mi si la mejora en la ejecución no es del 50% al menos no me parece rentable el esfuerzo).
Lo bueno que tiene linux es que se puede aprobechar todo lo que está hecho (swap en varios niveles, librerías que no necesitan portarse, un sistema operativo con debug, drivers...), y a las malas se puede intentar gestionar la Mem2 a nuestro antojo, como se hace en libogc. Símplemente se mapea esa dirección de memoria en tu programa y la gestionas como quieras.
Y aun puede aparecer más problemas, como ocurría con la lectura de usb y libfat en el mplayer nativo de wii. Ahí tienes un punto a favor para linux, la lectura usando libfat era muchísimo más lenta que usando el driver de linux. Como siempre, son cosas que no descubres hasta que te pones a ello, pero si tienes que dedicarte a solucionar problemas extra de los cuales no copntrolas te acaba desanimando
En fin, que antes de lanzarse al ruedo hay que evaluar todas las opciones, y en mi opinión creo que linux por el momento es mejor opción. Es mi opinión, y obviamente puede haber más gente que piense que linux es un estorbo, y que sería mejor una implementación "nativa" (a mi personalmente me parece tan nativo linux como libogc, pero weno). A la larga wii-linux te va a dar soporte para drivers de casi cualquier cosa que vaya por usb. Mandos de usb, teclados y ratones funcionan, y es algo que he visto que a la gente le interesaba, sobre todo para el guitar fun. Ahí tienes otro punto a favor de linux, la inmensa colección de drivers que tiene actualmente.
Bueno, que me enrollo demasiado
, la pregunta era que si un port de mame usando libogc es posible. La respuesta es que sí, pero no voy a ser yo
.