What's new

powerpc linux

Richard42

Emulator Developer
Hmm. You won't be able to use the Dynamic Recompiler; you should set the emulator mode to 'Interpreter' in the main settings dialog. If there are problems with the RSP plugin it might not work at all. We really need a developer who is familiar with Mac/PPC to join this effort, because I can't debug and fix the core problems without access to the hardware. It's gonna have to be all up to NMN on this one.
 
Last edited:
OP
R

rhetoric

New member
Hmm. You won't be able to use the Dynamic Recompiler; you should set the emulator mode to 'Interpreter' in the main settings dialog. If there are problems with the RSP plugin it might not work at all. We really need a developer who is familiar with Mac/PPC to join this effort, because I can't debug and fix the core problems without access to the hardware. It's gonna have to be all up to NMN on this one.

I thought you had a PS3?

The RSP plugin doesn't seem to work as I mentioned before. Neither does the controller plugin.. which is also troubling...

I tried Interpreter mode and Pure Interpreter mode with the one ROM I have (Mario Golf) and both said Unknown Microcode, asked me to pick one, and crashed.

Also as far as the blight input plugin, check out the first line of this output:

Code:
 ldd /usr/local/src/Mupen64-amd64-1-1-development-src/./plugins/blight_input.so
        linux-vdso32.so.1 =>  (0x00100000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x6fe77000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x6fdda000)
        libz.so.1 => /usr/lib/libz.so.1 (0x6fda3000)
        libc.so.6 => /lib/libc.so.6 (0x6fc3b000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0x6fb24000)
        libm.so.6 => /lib/libm.so.6 (0x6fa58000)
        libdl.so.2 => /lib/libdl.so.2 (0x6fa34000)
        libdirectfb-0.9.so.25 => /usr/lib/libdirectfb-0.9.so.25 (0x6f9ab000)
        libfusion-0.9.so.25 => /usr/lib/libfusion-0.9.so.25 (0x6f983000)
        libdirect-0.9.so.25 => /usr/lib/libdirect-0.9.so.25 (0x6f94f000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x6f916000)
        /lib/ld.so.1 (0x08000000)

vdso32 seems to be something that's not compiled into ubuntu feisty kernel? The error I get is related to TTF_WasInit which makes no sense as I have SDL_ttf packages installed...
 
Last edited:

nmn

Mupen64Plus Dev.
blight is just a bit strange, you might want to try mupen64 basic input to try to get things running. In the meantime, i'll try to download a PPC Linux. All of the download attempts fail...

edit: Ah hah, unknown microcode. Theres a bit of data that needs to be byteswapped for that error to go away, but thats by far the closest you've gotten to running the game. I have to leave very soon, so i'll try to remember to fix this issue when i get back.
 
Last edited:

Richard42

Emulator Developer
I have a PS3 at work but it's set up for SW development on the Cell processor. I can compile things on it (like I did yesterday) but I believe there are no hardware accelerated 2d/3d drivers so I doubt that mupen64 would run worth a darn. Your problem with the Blight input is because I pulled a linker dependency out which I thought was not necessary. Turns out, it is necessary. :) If you modify the blight_input/Makefile to add $(SDLTTF_LIBS) after the $(SDL_LIBS) under the line that says "blight_input.so: $(OBJ_BLIGHT)", then do a 'make clean' and 'make', this should go away.
 
OP
R

rhetoric

New member
nmn: here is the distro I'm using (non-gui installer)

Look in the same dir if you want a gui installer.

So.. it seems like this RSP plugin is going to be the main obstacle. Hope we're lucky :)

the fix to the makefile for blight works and blight now shows up in mupen and i can use the config (have yet to try it with my controller because it's buried somewhere.. today is cleaning day).

also the basic input plugin is *not* working (cant config), but at least shows up in mupen.
 
Last edited:
OP
R

rhetoric

New member
I don't think it worked for me from since the beginning. So it's not something to worry about.

Yea and with blight working it shouldn't matter, but I figured the information might help some developer(s) in some capacity. Still cleaning the house but once I find the controller and take a break I'll try a couple more ROMs even though the RSP plugin doesn't seem to be working.

edit since no posts after this one yet:

Richard here is the output when I try to make Ricevideo

Code:
rhetoric@wintermute:/usr/local/src/RiceVideoLinux-1-1-development-src$ sudo make all
g++ -o OGLGraphicsContext.o -DUSE_GTK `sdl-config --cflags` `pkg-config gtk+-2.0 --cflags` -D_GTK2 -fpic -DPIC -O3 -ffast-math -funroll-loops -mcpu=powerpc -c OGLGraphicsContext.cpp
g++ -o Debugger.o -DUSE_GTK `sdl-config --cflags` `pkg-config gtk+-2.0 --cflags` -D_GTK2 -fpic -DPIC -O3 -ffast-math -funroll-loops -mcpu=powerpc -c Debugger.cpp
g++ -o Video.o -DUSE_GTK `sdl-config --cflags` `pkg-config gtk+-2.0 --cflags` -D_GTK2 -fpic -DPIC -O3 -ffast-math -funroll-loops -mcpu=powerpc -c Video.cpp
g++ -o Config.o -DUSE_GTK `sdl-config --cflags` `pkg-config gtk+-2.0 --cflags` -D_GTK2 -fpic -DPIC -O3 -ffast-math -funroll-loops -mcpu=powerpc -c Config.cpp
Config.cpp: In function ‘bool isMMXSupported()’:
Config.cpp:538: error: unknown register name ‘eax’ in ‘asm’
Config.cpp: In function ‘void ROM_ByteSwap_3210(void*, unsigned int)’:
Config.cpp:2058: error: unknown register name ‘edx’ in ‘asm’
Config.cpp:2058: error: unknown register name ‘eax’ in ‘asm’
make: *** [Config.o] Error 1
 
Last edited:
OP
R

rhetoric

New member
Oh, we must've forgotten assembly won't work OOB. Can we get around this?

What about the problem with microcodes and glN64 (so I don't have to use Rice I guess) and the RSP plugin? No errors from the RSP plugin btw I just can't config.
 

Richard42

Emulator Developer
What about the problem with microcodes and glN64 (so I don't have to use Rice I guess) and the RSP plugin? No errors from the RSP plugin btw I just can't config.

The problems that you reported in Rice are fixable easily enough, but the ramifications that can come about in an emulator between a little-endian and big-endian CPU architectures are serious. I believe that RiceVideo was written for and only tested on Win32 machines. It could have hard-to-find issues with the PPC processor. From what I've read online, Mupen64 v0.5 was supposed to run properly on the PPC, so it may not be as hard to get running.
 
OP
R

rhetoric

New member
The problems that you reported in Rice are fixable easily enough, but the ramifications that can come about in an emulator between a little-endian and big-endian CPU architectures are serious. I believe that RiceVideo was written for and only tested on Win32 machines. It could have hard-to-find issues with the PPC processor. From what I've read online, Mupen64 v0.5 was supposed to run properly on the PPC, so it may not be as hard to get running.

The OP in this thread is as far as I got with v0.5... the 64 version at least compiles and runs just the plugins arent working properly/at all. I wasn't really expecting RiceVideo to work, and was hoping I could get by with glN64. Is that not going to be possible? I'm at a loss :(
 

Richard42

Emulator Developer
I found an old forum thread of people discussing mupen64 on a PPC. One of the posters was MasterPhW - he still hangs around here. Perhaps he can shed more light on the shared library compatibility issue?

I found another tweak to make, and I have applied it to my pre.mk file. I tried to upload the new file but there's something wrong with this forum - the upload failed every time. But you can change it by hand. Just edit line 74 in pre.mk to be like this:
CFLAGS += -mcpu=powerpc -D_BIG_ENDIAN
instead of like this:
CFLAGS += -mcpu=powerpc

Then do a 'make clean' and a 'make'. This will at least get you a little closer.
 
OP
R

rhetoric

New member
Thanks Richard. That didn't seem to fix anything, but it didn't break anything either.

Here is a screenshot of the furthest I've managed to get. This is in Interpreter mode (although I was able to reproduce in Pure Interpreter mode) with Perfect Dark 1.0 US. When it asked me to choose a microcode I of course chose "Perfect Dark." There is crazy stuttering sound to go along with the picture, btw.

 

sultanoswing

New member
Now builds without hitch from source on my setup, and using this build, the icons' relative paths are corrected - thanks! (although the icons when selecting "Options > Configure... > Plugins" are still missing)
 
Last edited:

nmn

Mupen64Plus Dev.
Sort of the wrong thread, but yes. They've been fixed for a few days now. And yes again, the configure window still needs changing. I have alot of work to do on this though.
 

Richard42

Emulator Developer
Thanks Richard. That didn't seem to fix anything, but it didn't break anything either.

Here is a screenshot of the furthest I've managed to get. This is in Interpreter mode (although I was able to reproduce in Pure Interpreter mode) with Perfect Dark 1.0 US. When it asked me to choose a microcode I of course chose "Perfect Dark." There is crazy stuttering sound to go along with the picture, btw.

I'm surprised that you got anything to work. I'll take a look at it next week and see if there's anything else that's obviously wrong.

I have all of next week off and my goal is to get dynamic recompilation working natively with 64-bit code. It should be a lot faster than the 32-bit dynarec due to the extra registers, and especially for any games which actually use the 64-bit mode of the r4300.
 
OP
R

rhetoric

New member
bump (just for fun!). really enjoying mupen on my intel box now at least... anyone tried compiling the latest version on a PPC linux machine yet? i'll try soon (just for fun!)
 

juanitobanana

New member
I would love it too!

Hello,
I'm actually on an ibook g4 running ubuntu 8.04, and as far as I understand from this post, a mupen64 version for linux PPC (32 bit) is not available yet. Please let us know if this will be available and will gladly post a how-to on ubuntuforums for all the ubuntu powerpc user out ther!

thanks
Juan
 

Top