EmulatorArchive / snes9x-rr

Automatically exported from code.google.com/p/snes9x-rr
0 stars 1 forks source link

Linux build is very broken #36

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Trying to compile and run the latest version (revision 198) on Xubuntu 11.04 
AMD64 leads to all sorts of failures.

First, some changes needed to be made to Makefile.in to compile at all:
--- Makefile.in.orig    2011-06-26 09:56:25.012224478 -0600
+++ Makefile.in 2011-06-26 10:11:30.550840316 -0600
@@ -60,9 +60,9 @@ SOUNDOBJ=spc700.o soundux.o apu.o @I386S
 SOUNDDEFINES=-DSPC700_C

 ifdef ASMCPU
-CPUOBJ=$(CPU)/cpuops.o $(CPU)/cpuexec.o $(CPU)/sa1ops.o
+CPUOBJ=$(CPU)/cpuops.o $(CPU)/cpuexec.o $(CPU)/disasm.o $(CPU)/sa1ops.o
 else
-CPUOBJ=cpuops.o cpuexec.o sa1cpu.o
+CPUOBJ=cpuops.o cpuexec.o disasm.o sa1cpu.o
 endif

 ifdef DREAMCAST
@@ -250,7 +250,7 @@ offsets: offsets.o
 #      cd ../zlib && sh ./configure && make

 snes9x: $(OBJECTS) unix/x11.o $(AIDOOBJS) $(OFFSET)
-       $(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(AIDOOBJS) $(GLIDEOBJS) 
$(OPENGLOBJS) unix/x11.o $(LDLIBS) $(GLIDELIBS) $(OPENGLLIBS) @SYSLIBS@ -lXext 
-lX11 $(EXTRALIBS) -lm -llua
+       $(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(AIDOOBJS) $(GLIDEOBJS) 
$(OPENGLOBJS) unix/x11.o $(LDLIBS) $(GLIDELIBS) $(OPENGLLIBS) @SYSLIBS@ -lXext 
-lX11 $(EXTRALIBS) -lm -llua5.1

 unix/svga_keynames.h: unix/svga_get_keynames.pl
        unix/svga_get_keynames.pl /usr/include/vgakeyboard.h > unix/svga_keynames.h
@@ -267,7 +267,7 @@ ggisnes9x: $(OBJECTS) unix/ggi.o
        $(CCC) $(INCLUDES) -o $@ $(OBJECTS) unix/ggi.o $(LDLIBS) @SYSLIBS@ -lggi $(EXTRALIBS) -lm

 osnes9x: $(OBJECTS) unix/x11.o $(OPENGLOBJS)
-       $(CCC) $(INCLUDES) -o $@ $(OBJECTS) unix/x11.o $(OPENGLOBJS) $(LDLIBS) 
$(OPENGLLIBS) @SYSLIBS@ -lXext -lX11 $(EXTRALIBS) -lm -llua
+       $(CCC) $(INCLUDES) -o $@ $(OBJECTS) unix/x11.o $(OPENGLOBJS) $(LDLIBS) 
$(OPENGLLIBS) @SYSLIBS@ -lXext -lX11 $(EXTRALIBS) -lm -llua5.1

 s9xserver: $(SERVER_OBJECTS)
        $(CCC) $(INCLUDES) -o $@ $(SERVER_OBJECTS)

Now the emulator compiles, although there seems to be no way to activate the 
GTK GUI or debugger, and no way to use OpenGL rendering. Even with the 
following configuration:

$ ./configure --with-opengl --without-assembler --with-debugger --with-netplay 
--with-lua --without-x

the emulator still uses X drawing routines instead of OpenGL.

Once it's running, several error messages are output to the console:
$ ./osnes9x ~/games/snes/Super\ Mario\ World\ \(USA\).zip
Port 1: Pad #1. Port 2: <none>. 
/dev/dsp: No such file or directory
Sound device open failed
Using ROM Super Mario World (USA).sfc in /home/rena/games/snes/Super Mario 
World (USA).zip
No ROM file header found.
Map_LoROMMap
"SUPER MARIOWORLD" [checksum ok] LoROM, 4Mbits, Type: ROM+RAM+BAT, Mode: 20, 
TV: NTSC, S-RAM: 2KB, ROMId: ____ Company: 01 CRC32: B19ED489
Bad address
joystick: No joystick found.
XShmCreateImage failed, switching to XPutImage
Unrecognized command 'Mode7Interpolate'

My USB joystick isn't detected, nor any audio device.

The emulator won't actually run until I press plus to set frameskip to zero. 
With the default setting of auto, it only advances frames when clicking the 
mouse.

Finally, there's some kind of counter on the screen at all times, and things 
are rendered very wrong (Super Mario World has everything in crazy colours, 
backgrounds missing, etc).

The official Snes9x build has none of these issues and works great.

Original issue reported on code.google.com by hyperhac...@gmail.com on 26 Jun 2011 at 5:22

GoogleCodeExporter commented 9 years ago
well the history of this issue demostrate that this repo its only to windoze... 
let's folk its better with real linuxes users

Original comment by mckayger...@gmail.com on 25 Jun 2014 at 3:04