Thomas Jarosch wrote:
I am trying to get a Freevo box up and running with a Matrox G450. I am
trying to debug a emulator problem. I can get a couple emulators working
using SDL with DirectFB added but not all of them. I got a NES (fceu),
Atari(Stella), and Genesis(Dgen) emulator to run fine but when I try a
Aracade(xmame.sdl) or a SNES(zsnes) emulator, not much happens. I
believe it could be a 8 bir depth vs a 16 bit depth thing but I dont
know enough. What is strange about xmame.sdl is that, it actually runs
and I can here the sound and the screen seems to flicker at
initialization but no picture every shows up. I use this command to run
mame,
Works fine over here(tm) (I developed the SDL_DIRECTFB_MGA_CRTC2 code...)
"xmame.SDL -vidmode_w 640 -vidmode_h 480 -bpp 16 -autodouble -effect 0
-skip_disclaimer -skip_gameinfo aburner2.zip"
You shouldn't have to force the video mode as the DirectFB code automatically scales the picture to fit the TV screen.
Here is my set-up,
/etc/directfbrc
matrox-crtc2
matrox-tv-standard=ntsc
hardware
sync
mmx
mode=640x480
depth=16
My /etc/directfbrc looks like this: matrox-crtc2 matrox-tv-standard=pal
rc.local (system init script)
modprobe i2c-matroxfb
modprobe fusion
export AUDIODEV=/dev/dsp
export SDL_AUDIODRIVER=dsp
export SDL_PATH_DSP=/dev/dsp
unset SDL_VIDEO_YUV_DIRECT
export SDL_VIDEO_YUV_HWACCEL=1
I only set these: export SDL_VIDEODRIVER=directfb export SDL_DIRECTFB_MGA_CRTC2=1 export SDL_DIRECTFB_MGA_STRETCH=1 export SDL_DIRECTFB_MGA_OVERSCAN=1
Hehe, I forgot to commit a small patch to make it work. You could either try to enable double buffering (at least with xmame-0.81) or apply this patch.
@Lawrence: This patch shouldn't hurt performance as SDL_UpdateRects returns immediately if hardware surfaces are used. Should we apply it?
Cheers,
Thomas
------------------------------------------------------------------------
diff -u -r xmame-0.81.1/src/unix/video-drivers/SDL.c xmame.patched/src/unix/video-drivers/SDL.c --- xmame-0.81.1/src/unix/video-drivers/SDL.c 2004-03-07 01:01:12.000000000 +0100 +++ xmame.patched/src/unix/video-drivers/SDL.c 2004-04-28 09:21:46.000000000 +0200 @@ -494,7 +494,7 @@
if (doublebuf == 1)
SDL_Flip(Surface);
- else if(hardware==0)
+ else
SDL_UpdateRects(Surface,1, &drect);
}
#else /* DIRECT_HERMES */
_______________________________________________ Xmame mailing list [EMAIL PROTECTED] http://toybox.twisted.org.uk/mailman/listinfo/xmame