PDA

Ver la versión completa : NEO4ALL/AES: NEOGEO cartuchos en DC mucho mayores que la RAM (16MB) ¿portable a GP2X?



timofonic
10/12/2005, 14:10
Buenas,

no se si conoceis NEO4ALL/AES de Chui, pero pienso que sería muy interesante de portarlo a GP2X y encima tendría muchos menos problemas de RAM, además de que la conversión de roms se podría hacer de forma más automática desde la propia consola (!) y poder jugar casi todos los juegos de NEOGEO en la GP2X.

Aquí van unos quotes de varios sitios:




Versión alpha del fork (http://es.wikipedia.org/wiki/Fork) de NEO4ALL para jugar roms de NEOGEO en Dreamcast.

Primero necesitas convertir tus roms de NEOGEO con la herramienta incluida.

Primero, tuesta todos los archivos del directorio dreamcast y pon tus roms convertidas donde quieras.

En este momento, 10 juegos de tamaño grande tienen "prefetch" preliminar para jugarlos bien:

- Art Of Fighting.
- Blazing Star.
- Captain Tomaday.
- Magical Drop III.
- Metal Slug X.
- Shock Troopers.
- Aero Fighters 3 / Sonic Wings 3.
- SNK vs Capcom - SVC Chaos.
- Tecmo World Soccer '96.
- Zed Blade / Operation Ragnarok.

Juegos por debajo de los 16MBytes pueden ser jugados sin problemas, yo he probado 44 juegos. Otros juegos de la lista de compatibilidad pueden ser cargados, pero necesitarán mucha lectura del cdrom.

Mira README.txt.





Olvida neocd.bin y otros, necesitas los archivos típicos de neogeo.zip (MAME y otros emuladores: 'ng-lo.rom'. 'ng-sfix.rom' y 'sfix.sfx' y un nuevo archivo 'aes-bios.bin, imagen del archivo de la NEOGEO versión casera.




Mi libreria de mmu_file/mmu_handle (que alguien traduzca esto) será LGPL, podrás usarla si quieres.

El hardware MMU es unidad de gestión de memoria, permite y gestiona la memoria virtual, por lo que NEO4ALL/AES carga la rom bajo demanda.

Es dificil de usar, pero mi proyecto final de carrera de la universidad fué un micro-kernel y usa MMU.

Con Metal Slug X (rom de 64MBytes) puedes ver que la parte usada para la primera fase es de 7040 KBytes, por lo que solo necesitas 7-8 MBytes para jugar a la primera fase.

La clave son los algoritmos "prefetch" (que alguien lo traduzca) y page-fail (traducir) para cargas mínimas y rápidas.






No realmente. No funcionaría con todos los juegos de neo geo. Se basa en que en cualquier periodo de tiempo prologado, el hardware solo intenta acceder, puede que 8mb de un juego. Si tienes que empezar a cargar los archivos (desde que los juegos de neogeo estan divididos entre un archivo por chip rom) que se estan leyendo a ese momento, entonces eliminando de la memoria los que no fueron usados durante un periodo de tiempo prologado y cargando los nuevos que son requerido, podría resultar en muchas ralentizaciones (mientras se está leyendo el disco) cada vez que tengas que cargar una nueva rom del juego. Basicamente eso solo servirá para juegos donde los datos estan almacenado en grupos basado en que nivel estas.
No estoy seguro como Chui está haciendolo, pero si es una base por archivo, podría no funcionar tan bien como si el tuviera digamos, trozos de archivos de 256kb...


No es cierto, todas las roms son fuera de orden, por lo que la clave es el "prefetch" apropiado. Despues de todo, "game working-set" (traducir) no es muy grande (depende del juego), creo que algunos juegos no serán jugables porque tendrán un "large working-set" y tendrás que jugar sin sonido o cortarlo.

Además, para usar las roms en NEO4ALL/AES, primero necesitarás convertir primero las roms de NEOGEO al formato apropiado.

He hecho un programa conversor de rom para Windows y GNU/Linux, este programa tendrá una pequeña base de datos de "prefetch" para cada juego.



...
No va a ayudar al emulador de tg16, genesis, snes or cualquiera de los otros sistemas que has dicho. Además, esto es algo muy antiguo, no algo que Chui ha creado y ha sido una característica de KOS durante mucho tiempo.
...


¿Has probado MMU con KOS? Solo puede mapear memoria de forma simple y no es suficiente.
Tengo que parchear KOS para trabajar con "store queues" y "direct render", también he capturado excepciones SH4 para acelerar.



....
Podría ser capaz de ser usado para jugar juegos grandes para GBA o N64, pero podría no funcionar correctamente para todos los juegos (I por lo que creo, podrían tener ralentizaciones masivas). La velocidad y la habilidad con la que funcionase de pendería en el juego individual y cuanta ram libre tienes que usar como buffer.
...


Dreamcast nunca va a poder emular N64 correctamente, no es posible.
Sobre GBA, un emulador para Dreamcast podría ser posible si pudiesemos correr el código ARM bajo el ARM de la Dreamcast (el DSP de audio) capturando excepciones y mapeando la SRAM... y no se si es posible.





Para mapear he compilado un NEO4ALL/AES especial con el flag "#define AES_PREFETCHING", después de jugar con esta versión especial y cuando la caché esta llena, sale dumpeando el mapeo hacia el BBA (64KBytes).

Si incluyes este "dump prefetch (traducir) a mi programa conversor de roms, genera un archivo con la rom del juegos, la rom de la bios y "prefetch" para jugarla con el emulador real.

...

Me gustaría contruir una pequeña base de datos con los 298 juegos soportados, logicamente necesitaré la ayuda de beta-testers para probar y dumpear mapas.


Fuentes de los quotes:
http://www.dcemu.co.uk/vbulletin/showthread.php?t=14447&page=1&pp=10
http://www.dcemu.co.uk/vbulletin/showthread.php?t=14926&page=1&pp=10
http://www.dcemu.co.uk/vbulletin/showthread.php?s=&threadid=14927

Binario Dreamcast (http://chui.dcemu.co.uk/releases/neo4all_aes-alpha.rar)
Código fuente del conversor de roms (http://chui.dcemu.co.uk/releases/convertneo-src-05-12-2005.tar.bz2)
Código fuente de NEO4ALL/AES (http://chui.dcemu.co.uk/releases/neo4all-src-05-12-2005.tar.bz2)

una-i
10/12/2005, 16:40
Hombre el NEO/ALL es muy chulo pero para portarlo lo flipariamos... he seguido bastante de cerca el desarrollo y lo que hace "unico" al NEO/ALL es el fame de fox y el uso del powerVR para acelerar la cahe de tiles.. en definitiba que sudariamos bastante.. pero bueno lo mismo chui se anima :) hace ya tiempo qu eno hablo con el.

Unai.

Makoe
10/12/2005, 17:28
Que yo sepa , chui era uno de los que se llevo "by the face" un kit de desarrollo a cambio de portar cosas no? Y en la lista algunas de ellas eran esos emus... me suena....me suena..

nandove
10/12/2005, 19:23
Hay una cosa que nos de por aqui todavia no tienen muy claras :rolleyes: , a ver señores, gente como Chui y Fox y muchos mas, son gente de la scene de la DC, NO DE LA GP, lo que ocurre es que se han encontrado un aparito que es muy afin al modo de trabajar y programar al de la DC, que se llama GP32, (de echo ellos la llaman "Nuestra portatil"), si la DC tubiera una hermana pequeña, esa seria la GP.

De ahi que estos "monstruos" nos hayan regalado-exportado muchas cosas muy interesantes a nuestra blanquita, pero teneis que saber que su sitio es la DC y se dedican a ella, igual que tito rili se dedica a nuestra scene.

Todavia esta por ver que quieran hacer algo con la negrita, a lo peor, la GP2X ya no es tan afin a la DC y dejan de hacernos cosillas para la nueva(aunque sigan dando alguna alegria en la GP32:p), y eso es una cosa que tenies que tener muy presente.

newage
10/12/2005, 20:42
Hay una cosa que nos de por aqui todavia no tienen muy claras :rolleyes: , a ver señores, gente como Chui y Fox y muchos mas, son gente de la scene de la DC, NO DE LA GP, lo que ocurre es que se han encontrado un aparito que es muy afin al modo de trabajar y programar al de la DC, que se llama GP32, (de echo ellos la llaman "Nuestra portatil"), si la DC tubiera una hermana pequeña, esa seria la GP.

De ahi que estos "monstruos" nos hayan regalado-exportado muchas cosas muy interesantes a nuestra blanquita, pero teneis que saber que su sitio es la DC y se dedican a ella, igual que tito rili se dedica a nuestra scene.

Todavia esta por ver que quieran hacer algo con la negrita, a lo peor, la GP2X ya no es tan afin a la DC y dejan de hacernos cosillas para la nueva(aunque sigan dando alguna alegria en la GP32:p), y eso es una cosa que tenies que tener muy presente.Nandove tienes toda la razon del mundo, yo te entiendo, ¡Que nos devuelvan las GP's! [wei4]

timofonic
10/12/2005, 23:22
Ahora mismo la GP2X está en pañales y el kernel que trae es un insulto a Linux. Chui usa Linux así que no creo que le haga ascos a la GP2X cuando esta funcione en condiciones del todo, a ver que pasa, nunca he hablado con él sobre la GP2X...

De todas formas, otro programador podría coger el código del NEOCD para GP2X y coger las partes del NEO4ALL/AES que le interesen, y haría un fork entre los dos, incluso podría hacer que este NEOCD-NEO4ALL/AES soportase tanto la de los cartuchos como la de CDs ;)

Ya con la librería que va a sacar y el tema de los prefetchs que podríais sacar del código original, yo creo que tendríais más de la mitad del trabajo chungo hecho...

timofonic
11/12/2005, 09:32
Bueno, se me olvidó decir que hay un GUI para Windows del conversor de roms, ncGUI: