PDA

Ver la versión completa : SMS Plus 2X v0.3 : ahora con selector de roms



efegea
12/01/2006, 23:20
Esta version tiene selector de roms, y soporta skins, en el mismo formato que los emus de NK. Recomiendo ejecutarlo con la consola a 266Mhz, ya que aun no esta optimizado. Bueno en realidad si tiene una optimizacion: usa unas SDL con aceleración por hardware, pero eso no afecta a la velocidad por lo que a 200Mhz sigue yendo algo lento :(

Si encontrais fallos decidmelos para que los pueda arreglar :brindis:

Tambien incluyo una version limpia del codigo fuente, que la que publique la ultima vez tenia el codigo muy "sucio", aunque de momento no incliye el codigo del selector de roms, solo del emulador

El espacio web que me da warradoo es increiblemente lento, asi que lo subo aqui en lugar de mi web, por favor que alguien lo suba a la zona de descargas para poder dar enlaces :brindis:

edit: adjunto una fotillo :p

Estopero
12/01/2006, 23:40
bravoooooo!!!
Sobre lo de la velocidad, has probado a usar la minilib de rlyeh? dan bastante mejor rendimiento
un saludo!

otaku_chobits
12/01/2006, 23:41
YUJUUUUUUUUUUUUUUUUUUUUU

Saludos

aitorpc
12/01/2006, 23:59
Gracias por el emulador!!

WinterN
13/01/2006, 00:39
YUJUUUUUUUUUUUUUUUUUUUUU

Te me has adelantado

efegea
13/01/2006, 03:34
he añadido una fotillo del selector de roms ^_^

chipan
13/01/2006, 03:49
que emu mas majo, un poco gloton en recursos para el hard que emula... Lo que te han dicho, prueba las minilib

BuD
13/01/2006, 03:54
bravoooooo!!!
Sobre lo de la velocidad, has probado a usar la minilib de rlyeh? dan bastante mejor rendimiento
un saludo!
Y luego pasa cosas raras con el TVOut...

chipan
13/01/2006, 04:00
Y luego pasa cosas raras con el TVOut...
La GB no es algo que precisamente mejore mucho si la juegas en la TV, mas bien al contrario XDDDDDD, lo veo mas necesario para el drmd o el mame.

miq01
13/01/2006, 04:08
Efegea, muchas gracias. :brindis:

Primero lo he ejecutado con las ROMs que tenía y se quedaba colgado. Me he dado cuenta de que los nombres de las ROMs tenían espacios, así que he modificado el de Alex Kidd in Miracle World para que se llamara alexkidd.sms y ahora sí tira. Aún así, al salir del emu y ejecutarlo por segunda vez, se ha quedado en pantalla negra. Al reiniciar y volver a probar, ha funcionado de nuevo.

Por cierto, dices que compilas con SDL aceleradas por hw. ¿Son las de Paeryn de GP32x? Es que lo he probado, y compilar compila, pero cuando ejecuto, a veces va y otras se queda colgado. Usando las SDL "normales" funciona perfectamente, y he probado sin cambiar el código para nada, o cambiando SW_SURFACE por HW_SURFACE, pero nada.

Y otra pregunta bastante off-topic (disculpas de antemano...:)), ya que veo que estás muy puesto en Linux y KDE. Tengo unas 300 ROMs en formato sms y veo que el emu soporta zips. ¿Sabes (o, vaya, sabéis) cómo comprimir muchos ficheros a la vez? La idea es que cada fichero sms sea comprimido en zip. Es que si selecciono 10 sms desde konqueror, pulso botón derecho y comprimo como zip sólo comprime unas cuantas, como si no pudiera con todas. Seguro que por línea de comandos se puede hacer, pero ni idea de cómo.

aitorpc
13/01/2006, 04:09
Que majo el bichejo de la foto del emu de sms, son los de La Princesa Mononoke,no?

BuD
13/01/2006, 04:16
La GB no es algo que precisamente mejore mucho si la juegas en la TV, mas bien al contrario XDDDDDD, lo veo mas necesario para el drmd o el mame.Que yo sepa estoy hablando de la Sega Master Sistem, a lo mejor me equivocado, y yo me acuerdo que con mis 5 años jugaba al wonder boy de la SMS en la tele, por eso veo necesario que este emu funcione bien con el TVOut. Lo unico que pido es que hasta que Rlyeh no solucione el problema que siga manteniendo la version SDL.

efegea
13/01/2006, 04:28
Efegea, muchas gracias. :brindis:

Primero lo he ejecutado con las ROMs que tenía y se quedaba colgado. Me he dado cuenta de que los nombres de las ROMs tenían espacios, así que he modificado el de Alex Kidd in Miracle World para que se llamara alexkidd.sms y ahora sí tira. Aún así, al salir del emu y ejecutarlo por segunda vez, se ha quedado en pantalla negra. Al reiniciar y volver a probar, ha funcionado de nuevo.

Lo de los espacios me extraña que te pase, porque a mi no me pasa, tengo roms con espacios :confused:

Sobre lo de que al iniciarlo por segunda vez no funciona, lo tengo que mirar, a mi tambien me pasa. Creo que tambien pasaba en las versiones anteriores, quizas este relacionado con el problema que tenia de que no liberaba el dispositivo de sonido. Lo mirare.


Por cierto, dices que compilas con SDL aceleradas por hw. ¿Son las de Paeryn de GP32x? Es que lo he probado, y compilar compila, pero cuando ejecuto, a veces va y otras se queda colgado. Usando las SDL "normales" funciona perfectamente, y he probado sin cambiar el código para nada, o cambiando SW_SURFACE por HW_SURFACE, pero nada..

Hmmm..si son unas de alguien que las publico en gp32x, compiladas por mi...pero...¡conyo! ¡gracias por decir lo de HW_SURFACE! no habia caido en eso, el emulador usa SW_SURFACE. Lo acabo de cambiar y ahora si va rapido, pero se ven lineas negras horizontales en varias zonas de la pantalla, muy molestas :confused:


Y otra pregunta bastante off-topic (disculpas de antemano...:)), ya que veo que estás muy puesto en Linux y KDE. Tengo unas 300 ROMs en formato sms y veo que el emu soporta zips. ¿Sabes (o, vaya, sabéis) cómo comprimir muchos ficheros a la vez? La idea es que cada fichero sms sea comprimido en zip. Es que si selecciono 10 sms desde konqueror, pulso botón derecho y comprimo como zip sólo comprime unas cuantas, como si no pudiera con todas. Seguro que por línea de comandos se puede hacer, pero ni idea de cómo.

No conozco ningun programa para comprimir archivos uno a uno. El otro dia hize lo de konqueror y me paso lo mismo, solo comprimia unas cuantas. Siento no poder ayudarte en esto

efegea
13/01/2006, 04:47
El problema que estoy teniendo ahora que ya funciona el SDL_HWSURFACE parece que es por no usar doble buffer, pero si pongo SDL_DOUBLEBUF me sale pantalla en negro aunque suena el sonido. ¿Quizas sea porque con double buffer tengo que usar sdl_flip o algo parecido? (no recuerdo exactamente pero me suena que era algo asi)

Ahora va incluso demasiado rapido a veces. Pero el problema realmente chungo que tengo con este emulador es el control, no lo consigo hacer funcionar bien cuando cambias por ejemplo de derecha a derecha-arriba lo interpreta como que has soltado el boton y se queda parado, bueno algo asi :(

miq01
13/01/2006, 04:47
Lo de los espacios me extraña que te pase, porque a mi no me pasa, tengo roms con espacios :confused:
Mira, te pongo el nombre de la ROM con la que no ha funcionado: Alex Kidd in Miracle World (UE) [!].sms
Que no sea que no pilla paréntesis, corchetes o signos de admiración...


Sobre lo de que al iniciarlo por segunda vez no funciona, lo tengo que mirar, a mi tambien me pasa. Creo que tambien pasaba en las versiones anteriores, quizas este relacionado con el problema que tenia de que no liberaba el dispositivo de sonido. Lo mirare.
Bueno, tampoco es nada grave...


Hmmm..si son unas de alguien que las publico en gp32x, compiladas por mi...pero...¡conyo! ¡gracias por decir lo de HW_SURFACE! no habia caido en eso, el emulador usa SW_SURFACE. Lo acabo de cambiar y ahora si va rapido, pero se ven lineas negras horizontales en varias zonas de la pantalla, muy molestas :confused:
Supongo que en principio no debería cambiar nada, pero ¿por qué no pruebas con las ya compiladas? Claro que quizás es por eso que a mí se me queda la pantalla en negro, ya que me suena que no eran la última versión. Lo de las líneas negras... pues no sé. Yo cuando que conseguía que funcionara no pasaba. ¿Has leído todo el hilo (http://www.gp32x.com/board/index.php?showtopic=23819) sobre esas SDL? Yo no, pero puede que alguien más se haya encontrado con lo mismo...


No conozco ningun programa para comprimir archivos uno a uno. El otro dia hize lo de konqueror y me paso lo mismo, solo comprimia unas cuantas. Siento no poder ayudarte en esto
Jeje... Bueno, tranquilo. Ya buscaré por Internet que seguro que con un script de bash sencillito se puede hacer. Gracias igualmente.

Luisodin
13/01/2006, 04:50
Por fin mi presion ha servido!!!!!!!!!!!!!!!!!!!!!

Gracias julandronaaaa :)

hoy no duedmooo :)

chipan
13/01/2006, 04:52
Que yo sepa estoy hablando de la Sega Master Sistem, a lo mejor me equivocado, y yo me acuerdo que con mis 5 años jugaba al wonder boy de la SMS en la tele, por eso veo necesario que este emu funcione bien con el TVOut. Lo unico que pido es que hasta que Rlyeh no solucione el problema que siga manteniendo la version SDL.
ha sido un lapsus, es que he visto este emu y he pensado en la Game Gear (la sms portatil) y por asociación en la Game Boy

BuD
13/01/2006, 05:13
...y he probado sin cambiar el código para nada, o cambiando SW_SURFACE por HW_SURFACE, pero nada.
Con HW_SURFACE no deberia haber ningun cambio, en teoria guardas el buffer de la screen en la memoria de la targeta grafica, y como la grafica manipula mas rapidamente su RAM xq se usa exclusivamente para cuestiones graficas...Pero es que en la GP2X, la memoria grafica y la normal es la misma no?

Lurb
13/01/2006, 05:42
Y otra pregunta bastante off-topic (disculpas de antemano...:)), ya que veo que estás muy puesto en Linux y KDE. Tengo unas 300 ROMs en formato sms y veo que el emu soporta zips. ¿Sabes (o, vaya, sabéis) cómo comprimir muchos ficheros a la vez? La idea es que cada fichero sms sea comprimido en zip. Es que si selecciono 10 sms desde konqueror, pulso botón derecho y comprimo como zip sólo comprime unas cuantas, como si no pudiera con todas. Seguro que por línea de comandos se puede hacer, pero ni idea de cómo.

te colocas en el directorio donde estén las roms y lanzas:

find ./ -name "*.sms" -exec zip {}.zip {} \;

kraff2
13/01/2006, 06:17
Lurb, una solución muy buena y elegante, el único pero si es que lo tiene, es que mantiene la extension .sms en el archivo zip, es decir de a1.sms -> a1.sms.zip. y para determinadas "cosas" puede ser un problema.

Una solución algo menos elegante, pero que elimine el .sms sería:


#!/bin/bash
extension=.sms

for i in `ls *$extension`
do
v0=$i.zip
zip $v0 $i
mv $i.zip ${v0//$extension/}
done
Estoy convencido que se puede hacer de forma más simple, pero mi dominio de la programación de bash no da para mucho más :rolleyes:

Le estoy echando un vistazo a este manual que me han pasado recientemente, a ver si aprendo poco a poco ;)

http://www.tldp.org/LDP/abs/html/

Eso sí lurb, voy a usar tú solución ya que la extensión extra en linux no molesta y da información adicional aunque en windows generalmente sea un coñazo.

Saludos.

miq01
13/01/2006, 07:07
Ostras, qué cracks los dos... Muchas gracias. :brindis: Puesto que me da igual que los archivos acaben en .sms.zip (de hecho, me parece incluso mejor) he usado la solución de Lurb y ha funcionado perfectamente. Kraff2, gracias por el enlace a la guía sobre bash. A ver si me la leo entera, que toqué Linux hace años pero se me han olvidado un montón de cosas.

Y volviendo al emu, antes he dicho que veía que soportaba zips, pero he puesto algunos en la tarjeta y no aparecen en el emulador. Acabo de repasar el thread y el readme y no he encontrado ninguna referencia, así que se me habrá ido la olla... :)

Efegea, respecto a los nombres de las ROMS, he descubierto que el problema aparece si el nombre de los archivos contiene el texto "[!]", porque lo he suprimido, aún teniendo espacios, y ya funciona.


Con HW_SURFACE no deberia haber ningun cambio, en teoria guardas el buffer de la screen en la memoria de la targeta grafica, y como la grafica manipula mas rapidamente su RAM xq se usa exclusivamente para cuestiones graficas...Pero es que en la GP2X, la memoria grafica y la normal es la misma no?
Pues Efegea dice que va más rápido. Eso sí, yo probé con los dos flags y me iba exactamente igual, así que no sé.

doble-h
13/01/2006, 07:23
lastima no tener mi gp2x para provarlo

saludos

hectorblanco
13/01/2006, 15:56
Y otra pregunta bastante off-topic (disculpas de antemano...:)), ya que veo que estás muy puesto en Linux y KDE. Tengo unas 300 ROMs en formato sms y veo que el emu soporta zips. ¿Sabes (o, vaya, sabéis) cómo comprimir muchos ficheros a la vez? La idea es que cada fichero sms sea comprimido en zip. Es que si selecciono 10 sms desde konqueror, pulso botón derecho y comprimo como zip sólo comprime unas cuantas, como si no pudiera con todas. Seguro que por línea de comandos se puede hacer, pero ni idea de cómo.

Prueba a hacer un mini-script con bash.
Lee los archivos del directorio de rom con ls, y para cada linea, crea un zip con el nombre original del fichero. Es no es muy flexible, pero si sabes un poco de bash, da muchas posiblidades ;)

miq01
13/01/2006, 21:25
Prueba a hacer un mini-script con bash.
Lee los archivos del directorio de rom con ls, y para cada linea, crea un zip con el nombre original del fichero. Es no es muy flexible, pero si sabes un poco de bash, da muchas posiblidades ;)
Muchas gracias, Hectorblanco. Lurb y Kraff2 (mensajes 19 y 20) ya me pasaron un comando y un script. :p

nabetse
14/01/2006, 20:08
Pues a mí no me funciona el emu. Lo abro, selecciono la rom a cargar y se queda bloqueado. :(

nabetse
17/01/2006, 00:01
Pues a mí no me funciona el emu. Lo abro, selecciono la rom a cargar y se queda bloqueado. :(
A lo mejor es una tontería, pero ¿es posible que sea por usar mmc en lugar de sd? Es que no se me ocurre otra cosa por la que no funcione. Digo esto por que creo que este emu usa las mismas librerías que el primer emu de snes que salió, que todo el mundo decía que iba más lento usando mmc.
:loco:
¿Hay alguien por aquí que le funcione este emulador usando mmc?

KaosOverride
17/01/2006, 02:32
a mi tambien se me queda pillado el emu, firm 1.2.0 y los siguientes mensages de output si ejecuto el selector de roms desde el sterm (segun elijo rom, debe ejecutar el sms_sdl pero se queda pillado y vuelve al prompt == si lo lanzo directamente, se queda despeus ejecutando "nada" y da sensacion de cuelque....):

STDOUT: (del sterm, del menu y del sms_sdl, todo junto)


SDL_SYS_JoystickInit
0
1
2
3
4
5 1
6 ./
k:7 ir:0 :tempe:./. n[ir]:.
8 aa
9
10 2
11 ./
k:12 ir:1 :tempe:./.. n[ir]:..
13 aa
14
15 9
16 ./
k:17 ir:2 :tempe:./.DS_Store n[ir]:.DS_Store
18 aa
19
20 11
21 ./
k:22 ir:3 :tempe:./README.txt~ n[ir]:README.txt~
23 aa
24
25 15
26 ./
k:27 ir:4 :tempe:./README_orig.TXT n[ir]:README_orig.TXT
28 aa
29
30 12
31 ./
k:32 ir:5 :tempe:./VeraMoBd.ttf n[ir]:VeraMoBd.ttf
33 aa
34
35 9
36 ./
k:37 ir:6 :tempe:./filer.png n[ir]:filer.png
38 aa
39
40 10
41 ./
k:42 ir:7 :tempe:./folder.png n[ir]:folder.png
43 aa
44
45 8
46 ./
k:47 ir:8 :tempe:./game.png n[ir]:game.png
48 aa
49
50 7
51 ./
k:52 ir:9 :tempe:./license n[ir]:license
53 aa
54
55 11
56 ./
k:57 ir:10 :tempe:./loading.png n[ir]:loading.png
58 aa
59
60 3
61 ./
k:62 ir:11 :tempe:./log n[ir]:log
63 aa
64
65 7
66 ./
k:67 ir:12 :tempe:./log.txt n[ir]:log.txt
68 aa
69
70 8
71 ./
k:72 ir:13 :tempe:./log2.txt n[ir]:log2.txt
73 aa
74
75 10
76 ./
k:77 ir:14 :tempe:./readme.txt n[ir]:readme.txt
78 aa
79
80 4
81 ./
k:82 ir:15 :tempe:./roms n[ir]:roms
83 aa
84
85 7
86 ./
k:87 ir:16 :tempe:./sms_sdl n[ir]:sms_sdl
88 aa
89
90 11
91 ./
k:92 ir:17 :tempe:./smsplus.gpe n[ir]:smsplus.gpe
93 aa
94
95 10
96 ./
k:97 ir:18 :tempe:./zipped.png n[ir]:zipped.png
98 aa
0 0 0 .
1 1 1 ..
2 15 15 roms
0
1
2
3
4
5 1
6 ./roms/
k:7 ir:0 :tempe:./roms/. n[ir]:.
8 aa
9
10 2
11 ./roms/
k:12 ir:1 :tempe:./roms/.. n[ir]:..
13 aa
14
15 12
16 ./roms/
k:17 ir:2 :tempe:./roms/alexmira.sms n[ir]:alexmira.sms
18 aa
19
20 10
21 ./roms/
k:22 ir:3 :tempe:./roms/sonic1.sms n[ir]:sonic1.sms
23 aa
24
25 10
26 ./roms/
k:27 ir:4 :tempe:./roms/sonic2.sms n[ir]:sonic2.sms
28 aa
29
30 11
31 ./roms/
k:32 ir:5 :tempe:./roms/strider.sms n[ir]:strider.sms
33 aa
0 0 0 .
1 1 1 ..
2 2 2 alexmira.sms
3 3 3 sonic1.sms
4 4 4 sonic2.sms
5 5 5 strider.sms





STDERR: (solo del sms_sdl, creo)


Checked mode 1600x1200 at 16 bpp, got mode 320x240 at 16 bpp
Adding mode 320x240 at 2 bytes per pixel
Checked mode 1408x1056 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 1280x1024 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 1152x864 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 1024x768 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 960x720 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 800x600 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 768x576 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 720x576 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 720x480 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 640x480 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 640x400 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 512x384 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
Checked mode 320x240 at 16 bpp, got mode 320x240 at 16 bpp
We already have mode 320x240 at 2 bytes per pixel
We already have mode 320x240 at 2 bytes per pixel
Checked mode 320x200 at 16 bpp, got mode 320x200 at 16 bpp
Adding mode 320x200 at 2 bytes per pixel
Checked mode 240x320 at 16 bpp, got mode 240x240 at 16 bpp
No valid timing line for mode 240x240
Printing original vinfo:
Printing vinfo:
xres: 320
yres: 240
xres_virtual: 320
yres_virtual: 240
xoffset: 0
yoffset: 0
bits_per_pixel: 16
grayscale: 0
nonstd: 0
activate: 0
height: -1
width: -1
accel_flags: 0
pixclock: 0
left_margin: 0
right_margin: 0
upper_margin: 0
lower_margin: 0
hsync_len: 0
vsync_len: 0
sync: 0
vmode: 0
red: 5/11
green: 6/5
blue: 5/0
alpha: 0/0
Printing actual vinfo:
Printing vinfo:
xres: 320
yres: 240
xres_virtual: 320
yres_virtual: 240
xoffset: 0
yoffset: 0
bits_per_pixel: 16
grayscale: 0
nonstd: 0
activate: 0
height: -1
width: -1
accel_flags: 0
pixclock: 0
left_margin: 0
right_margin: 0
upper_margin: 0
lower_margin: 0
hsync_len: 0
vsync_len: 0
sync: 0
vmode: 0
red: 5/11
green: 6/5
blue: 5/0
alpha: 0/0
surface mem= 0x40048800, length = 0x4DA800
Printing finfo:
Printing finfo:
smem_start = 0x3101000
smem_len = 153600
type = 0
type_aux = 0
visual = 2
xpanstep = 0
ypanstep = 0
ywrapstep = 0
line_length = 640
mmio_start = (nil)
mmio_len = 0
accel = 0

pit22
20/01/2006, 23:11
Aunque tire lentillo se deja jugar.

feargrett
02/07/2007, 02:36
muy buenoo

chipan
02/07/2007, 06:57
o_O vaya reflote... y sin desmerecer el trabajo de Efegea, existe un emulador de master system/GG mucho mas optimizado para GP2X llamado Alex kidd 2X.

Kabanya
02/07/2007, 07:24
Veo muchos reflotes ultimamente :S

sirlol
02/07/2007, 08:00
y tanto.
(reflote injustificado con mensaje que no aporte nada,merece un ban )