Iniciar sesión

Ver la versión completa : GPAdvance 1.43



Anarchy
12/07/2004, 19:32
Y otra nueva versión de este impresionante emulador de GBA para GP32.

Novedades (en inglés):

- IRQ now implemented (still alpha)
- "tick count update" corrected
- loading roms > 4 mbytes
- small other improvements

Podéis pillarlo <a href="http://cvs.sourceforge.net/viewcvs.py/*checkout*/gpadvance/gpadv/gpadv.fxe?rev=1.43"><b>AQUI</b></a>

Fox_Mulder
12/07/2004, 19:37
A este paso dentro de menos de un mes ,tendremos el mejor emulador para GP32 jamás creado.!!!!:D :D :D :D :D :D :D :D

Dimitry
12/07/2004, 19:38
lo acabo de probar con el Mr. Driler 2 y va muy muy lento, aunque marque 28 FPS es tremendamente lento. Supongo que la inclusión de los DMA debe haber aumentado mucho la compatibilidad a cambio de velocidad

BeaR
12/07/2004, 19:40
A mí ya me stán empezando a dar miedo... x'D

Espero ke por lo menos aprueben la asignatura (ke para eso lo hacen, no? :rolleyes: ;) :D )

Salu2 :brindis:

xenon
12/07/2004, 19:46
Con esta versión el International Karate Advanced falla. Que paradoja :D

Un saludo,

Fox_Mulder
12/07/2004, 19:53
Iba a decir exactamente lo mismo que el International Karate ya no va.:cool:

Daxter
12/07/2004, 20:10
Estos tios duermen? :miedo:

Laguna
12/07/2004, 20:27
jejeje Go!! descarga :D, esta muy bien, poco a poco tamos viendo lo que parecia imposible...a ver como van los juegos mmmmm

melkhior
12/07/2004, 20:27
Pues aunque lento, el pokemon zafiro y rubi funcionan, espero que el FF tactics y demas juegos de rol tambien :rolleyes:

Locke
12/07/2004, 20:52
Yo he estao jugando al Breath of Fire mas hasta llegar al segundo pueblo y va a 30fps con fs5 a 160Mhz. Solo tiene un fallo grafico cuando matas a un enemigo en las batallas, por lo demas perfecto!!!

Si mejoran la velocidad sera impresionante... porque la compatibilidad ha subido muchisimo.

DemoMan
12/07/2004, 20:53
Es bastante compatible!!

He probado muuuchos juegos y funcionan, aunque no bien, pero oles sus webos!

DeMo

dn@
12/07/2004, 21:13
el baldurs se keda cascao en la selección de idioma a 133, pero la intro va bien :p
el super bust a move no he conseguido hacerlo funcionar en ninguna beta :(

LeSMiTo
12/07/2004, 22:30
El wario land 4 funciona, 64Mbits, lento, pero funciona :D

cohnen
12/07/2004, 22:37
y como hacen para cargar roms de mas de 32 megabits??? :D:D:D
La caña!

Heavyto
12/07/2004, 22:54
Yo no entiendo mucho de programación, pero se podría hacer algo así como cargar un nivel en memoria, una vez pasado ese nivel borrarlo y cargar el siguiente y así sucesivamente?

No me explico como narices pueden cargar roms de 64 megas, es alucinante!!!

zibergazte
12/07/2004, 23:29
Escrito originalmente por Heavyto
Yo no entiendo mucho de programación, pero se podría hacer algo así como cargar un nivel en memoria, una vez pasado ese nivel borrarlo y cargar el siguiente y así sucesivamente?

No me explico como narices pueden cargar roms de 64 megas, es alucinante!!!

64 megabits = 8 megabytes.... no nos liemos... y lo de kargar de mas de 4 megas ni idea komo sera...


salu2

esto de virtualizar la GBA le puede dar mutxos puntos a la GP32 para la gente ke duda en pillarsela...

Locke
12/07/2004, 23:31
64Mb, que son 8MB (8 megas).

En realidad es muy sencillo, se trabaja con la rom como si estuviera dividida en pequeñas partes, y solo alguna de ellas estan en memoria. Si intentan acceder a una direccion de la rom que no este cargada en la ram, traen la parte de la memoria donde esta esa direccion desde la smc.

LeSMiTo
12/07/2004, 23:43
Si es tan sencillo..... porque siempre se ha estado hablando de la limitación de la ram de las maquinas para las roms? es la razon que siempre se ha dado para no poder hacer un emu de neo geo, gba o incluso n64 en dc....

Locke
12/07/2004, 23:48
Pues la verdad, que ahora no estoy seguro de si lo habran hecho asi, pero yo creo que es lo mas probable :)

Lo de la limitacion para maquinas mas potentes supongo que es porque la ram hace falta usarla para mas cosas que amacenar las roms digo yo...

cohnen
12/07/2004, 23:48
Escrito originalmente por Locke
64Mb, que son 8MB (8 megas).

En realidad es muy sencillo, se trabaja con la rom como si estuviera dividida en pequeñas partes, y solo alguna de ellas estan en memoria. Si intentan acceder a una direccion de la rom que no este cargada en la ram, traen la parte de la memoria donde esta esa direccion desde la smc.

Hombre, sencillo sencillo no será. Todos los programadores siempre han puesto como limite la memoria del sistema por la lentitud de la SMC. Pero amos que si esto es posible, emulacion de sistemas como CPS y neogeo seria "virtualmente" mas posible que antes. Y la forma que dices de "partir" una rom en trozos no la he visto aun en ningun emulador de ningun sistema.

LeSMiTo
12/07/2004, 23:49
Propeller te invoco.. ven e ilustranos :P

Locke
12/07/2004, 23:57
Lo de partir la memoria en "trozos" o paginas lo has visto en cualquier sistema operativo que soporte memoria virtual (todos los modernos). Si se intenta acceder a una direccion virtual que no esta en MP se trae desde disco la pagina que la contenga.

Se pone como pega la lentitud de la SMC. En los pc esta operacion se puede hacer sin que apenas se aprecie, a no ser que exista demasiada paginacion (muchos programas en ejecucion o MP muy pequeña). En la GP32 es problema porque cada vez que traigas una pagina se producira un tiempo de carga un poco incomodo. SI observas, en las roms de mas de 4MB, de vez en cuando la imagen se para y aparece "Loading", pero ese es todo el problema de la lentitud.

Sargento Pancha
13/07/2004, 00:13
2 cosas.

Si quereis saber como cargan juegos de mas de 4 Mb, bajaros el fuente :D

Si consiguen una versión decente, que no perfecta, me pillo una BLU como decian por ahi arriba (ya tuve una normal).

Estos gabachos aprueban fijo!!

Shadow_Mx
13/07/2004, 00:15
Pues yo cargue unos de 128mbit (16MB) y corren....
el Pop Idol se ven los menús un tanto decente, pero cuando carga el nivel es imposible salir del loading. Secret of mana igual los menus y luego ya me dio flojera.
Metroid Zero lo resetea :p
Esto a 180mhz, el fps se ve entre 27 y 32 con FS 2~5 (auto)

theNestruo
13/07/2004, 00:18
Además, nunca se sabe cómo están distribuidos los datos en cada juego en concreto. Ejemplo chorra, pero ilustrativo:
-> Imagínate que un juego tiene el menú y el nivel 1 en la parte baja de la ROM, y el nivel 2 y el malo final en la parte alta de la ROM. En este caso, el emu carga la parte baja, tú juegas, y cuando el juego necesita acceder a la otra parte, el emu carga la parte alta y tú sigues jugando.
-> Ahora imagina que otro juego, por cualquier obscura razón, tiene los gráficos de fondo en la parte baja y los gráficos de los sprites en la parte alta. Para pintar cada frame, el emu tendría que cargar una parte, dibujar el fondo, cargar la otra parte, dibujar los sprites, tú juegas durante un frame, y luego se repite todo el rato. ¡Este juego sería injugable (tendría que cargar 8Mb de datos CADA frame)!
En la realidad no es tan sencillo, la memoria se segmenta en "muchos" cachos y existen diferentes algoritmos para determinar que cacho es del que podemos prescindir cuando necesitemos cargar otro, y normalmente los más usados (por ejemplo, donde esté el bucle principal) no se descargan nunca. Pero claro, esto exige que el emulador traduzca todas las direcciones físicas de memoria direccionadas por las instrucciones del juego en direcciones lógicas, que a su vez han de ser procesadas para ver si hay que cargar una página ("cacho") o no; y además hay que llevar estadísticas de cuántas veces o con cuanta frecuencia se accede a cada página.
(Sí, lo sé: otra explicación Made by "ClosedBook" theNestruo)

|Wesker|
13/07/2004, 00:19
Se queda pillao cargando el super mario advance, vamos eso o que no tengo paciencia :D

Locke
13/07/2004, 00:23
Yo en ningun momento dije que el tamaño de las paginas fuera de 8MB, mas bien de 128k o incluso 64k, con lo que el problema al que haces referencia no se produciria. No se como lo habran implementado ellos, pero desde luego yo lo habria intentado asi...

atila2
13/07/2004, 00:27
y seria viable ejecutar juegos como el rayman , que cargan un nivel y solo tienes que pasartelo y luego cargar otro nivel y asi sucesivamente

porq ue para mi tener el Rayman en la gp32 seria la caña , es el juego de plataformas que mas me ha encantado de todos los que he jugado y para ser 2d es una pasada


enga majetes

byer

Shadow_Mx
13/07/2004, 01:33
sería complicado detectar en el rom "el nivel a cargar" y SOLO ese, porque todo esta linkeable en el rom, osea, el sistema llama a distintas zonas de memoria que contienen distinta informacion, pero esto ya lo han explicado. Alguna forma se han de ingeniar estos tipos, que llevan excelente velocidad!

theNestruo
13/07/2004, 02:08
Escrito originalmente por Locke
Yo en ningun momento dije que el tamaño de las paginas fuera de 8MB, mas bien de 128k o incluso 64k, con lo que el problema al que haces referencia no se produciria.
No, vamos a ver...

Escrito originalmente por theNestruo
Ejemplo ---> CHORRA <---, pero ilustrativo.
Evidentemente no voy a ponerme a explicar en un post todos los detalles de cómo funciona el mapeo paginado/segmentado en memoria de un archivo (y no por falta de conocimientos, creedme). La explicación que he dado era simplemente para ilustrar que no se puede "cargar el nivel en el que estés y ya", como decían por ahí arriba.
Y además, en el ejemplo chorra que he puesto, las páginas serían de 4Mb (lo que pasa es que cargaría dos páginas por frame). :)

Por cierto, se ha comentado en el canal de IRC que las páginas con que está trabajando GPAdvance ahora mismo son de 1Mb. No sé si será verdad o no; simplemente lo comento.

Un saludo, ludópatas

xenon
13/07/2004, 07:21
Escrito originalmente por atila2
y seria viable ejecutar juegos como el rayman , que cargan un nivel y solo tienes que pasartelo y luego cargar otro nivel y asi sucesivamente

porq ue para mi tener el Rayman en la gp32 seria la caña , es el juego de plataformas que mas me ha encantado de todos los que he jugado y para ser 2d es una pasada


enga majetes

byer

Rayman por suerte apareció en GAMEBOY Color, en dos versiones, Rayman y Rayman 2, que por cierto, son MUY BUENAS. Así que mientras, abre el FGB32 de Rlyeh y disfruta de estas maravillas de 8 bits. Te lo digo, porque yo juego mucho a estos dos juegos en la GP32 :)

Un saludo,

aythamimm
13/07/2004, 07:51
Lo de particionar las roms, algoritmos de reemplazo, etc... no es tan sencillo cuando se habla de aplicaciones en tiempo real que necesitan un flujo de datos continuo y sobre todo es muy jodido hacerlo en bloques de datos que no estan preparados para eso. Aunque no se que metodo han utilizado, tiene bastante mérito (aunque bueno, no es que sea la teoría d ela relatividad :) ).

Un saludo.

Tato30
13/07/2004, 11:44
De hay que cada dos por tres en estos roms, te salga lo de "loading..." (no e llegado a jugar todabia, los que e prebado sequedan en la intro, pero si durante el juego esta continuamente saliendo (como en la intro) lo de Loading... la cosa tiene que mejorar.

mortimor
13/07/2004, 18:21
Bueno queria resistirme a comentar nada del tema de la paginacion.... pero bueno.

Se ha explicado bastante bien (ese paisano mio.... :))

Pero lo de que las roms no estan preparadas para ello... de eso no estaria yo tan seguro, tener en cuenta las limitaciones del hard de la GBA, sale de cajon que has de seguir una estructura que optimice la carga. Si la CF es muy rapida, mas que la GP32, y los programadores de GBA la usan en muchos casos accediedo directamente, pero no es tan rapida como la ram y es mas que posible que requiera bloques de datos bastante cohesionados.

En fin, que la teoria es muy "sencilla" a grandes rasgos. Pero aquellos que saben un poco tambien se dan cuenta de lo dificil que es llevar esto a la practica ( no es solo aplicar unos algoritmos de libro ).

Los chicos que estan haciendo este emulador probablemente saquen una preciosa Matricula :D que ya quisiera yo para mi proyecto :p