Yabause

slinga

Established Member
Hey all,

I'm having trouble running Yabause. I got it compiled and installed and it boots fine. I can load a Bios file and when I hit run it crashes. When I load a binary file it automatically segfaults. Even ISOs crash. I'm not sure what's up, but I'm going to peek through the source code, just wanted to know if anybody has experienced any of these before:

yabause

ALSA lib pcm_dmix.c:802:(snd_pcm_dmix_open) unable to open slave

ici 4

new bad memory access, addr = 60000000fffffe92

Bad memory access: FFFFFE92

R0 0 R1 60000000fffffe92 R2 0 R3 0

R4 0 R5 0 R6 0 R7 0

R8 0 R9 0 R10 0 R11 0

R12 0 R13 0 R14 0 R15 2000020006002000

regs->SR M 0 Q 0 I f S 0 T 0

regs->GBR 0 regs->MACH 0 regs->PR 20000204

regs->VBR 0 regs->MACL 0 regs->PC 20000384


Ignore teh ALSA error, it's because mp3 player is on.
 
Hmm... looks like you're running the latest cvs version? It may very well be that for some reason or other you're compiling with the dynarec code enabled, which last I checked wasn't fully functional.

What configure settings are you using, etc.? Oh, and btw, what kind of cpu are you using?

Cyber Warrior X
 
I've tried both the old release and the new release. I should of mentioned that I'm running the CVS code (version 0.50). Both have similar crashes.

I'm running on a dual Intel Xeon 64 bit machine. Here is the output from configure:

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking target system type... x86_64-unknown-linux-gnu

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking for gcc... gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables...

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ANSI C... none needed

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

checking for g++... g++

checking whether we are using the GNU C++ compiler... yes

checking whether g++ accepts -g... yes

checking dependency style of g++... gcc3

checking for a BSD-compatible install... /usr/bin/install -c

checking whether byte ordering is bigendian... no

checking for sdl-config... sdl-config

checking for glEnable in -lGL... yes

checking for pkg-config... /usr/bin/pkg-config

checking for gtk+-2.0... yes

checking GTK_CFLAGS... -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/opt/gnome/include/gtk-2.0 -I/opt/gnome/lib64/gtk-2.0/include -I/usr/X11R6/include -I/opt/gnome/include/atk-1.0 -I/opt/gnome/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib64/glib-2.0/include

checking GTK_LIBS... -L/opt/gnome/lib64 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

checking for left and right in STL streams... yes

configure: creating ./config.status

config.status: creating Makefile

config.status: creating src/Makefile

config.status: creating doc/Makefile

config.status: executing depfiles commands


Configure looks pretty standard to me, no warnings\errors. I think the error is in the Yabause source code somewhere, atleast for the seg faults from loading the binaries.

Edit: Make gives me tons of warnings, and seems to stall on c68k/c68kexec.c for a while, but it compiles.
 
I'm running on a dual Intel Xeon 64 bit machine.

Yup, that's what I thought. The 64-bit part anyways. That's something we've got to fix yet. From what I understand, it has to do with the fact that long's are 8 bytes in size instead of the 4 on 32-bit platforms. So for the C-rewrite that we've been working on the last couple months(we're getting closer to completion, actually), that issue will be addressed.

Cyber Warrior X
 
Weird...as far as I know, Intel Xeons can run 32 bit code just fine. I have plenty of packages on my box that are i586 and i686 optimized and they work. Anyway to force configure to compile it as a 32 bit application?

If not I'm going to have to try to wine satourne or giri giri...::shudders::
 
Well, I guess if you don't mind messing around with the configure.in script and rebuilding the files using autoconf, etc. you -could- try the -m32 compile flag. Although I haven't had a chance to try it out myself since I don't have any 64-bit machines, nor can I afford one right now. However, if anyone is will to donate something like that..... ;)

Cyber Warrior X
 
Perhaps I'm being a moron, but can you (or any other kind soul) just post up your compiled 32 bit binary here? Unless I'm missing something...
 
Thanks for your tip Piratero, but it didn't work. I tried it and then tried configure again, and it gave an error saying my compiler couldn't create executables.

Looking through the source code, I seem to have trouble with the struct: u32 and s32. I'm not sure what they are, but I'm guessing it has to do with 32 bit architecture.

Can you post your binary of yabause if it's not too much trouble? Thanks in advance.
 
I'm getting a little closer:

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip long write 000001EC

Unhandled Onchip long write 000001F0

Unhandled Onchip long write 000001F8

Segmentation fault

 
Try the latest cvs of the yabauserewrite branch again. I added a new check for detecting 64-bit compiling. Oh, and if anyone has any spare 64-bit systems they don't want, I need a test system :)

Cyber Warrior X
 
I grabbed it from here:

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/yabause login

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/yabause co -P yabause

Looked like the same thing, even version number was 0.5. Same crashes.
 
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/yabause co -P yabause

Instead of that line, use:

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/yabause co -r yabauserewrite -P yabause

The idea is you want the yabauserewrite branch, not the main(old) branch.

Cyber Warrior X
 
Ok I'm trying it out now. Slightly off topic, but how long does it take you to compile Yabause? My system goes crazy (on Yabause version > .07) on the line: c68k/c68kexec.c:255: warning: cast to pointer from integer of different size, when it's compiling c68exec.o. It takes about 10-15 minutes from that point. I think it's a problem with my system, just confirming with you guys.

Edit: It compiles much faster now, thanks. Same error though:

yabause --bios=saturn_bios.bin

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip long write 000001EC

Unhandled Onchip long write 000001F0

Unhandled Onchip long write 000001F8

Unhandled Onchip byte write 000000E0

Unhandled Onchip byte write 000000E1

Unhandled Onchip byte write 000000E2

Unhandled Onchip byte write 000000E3

Unhandled Onchip byte write 00000060

Unhandled Onchip byte write 00000061

Unhandled Onchip byte write 00000062

Unhandled Onchip byte write 00000063

Unhandled Onchip byte write 00000064

Unhandled Onchip byte write 00000065

Unhandled Onchip byte write 00000066

Unhandled Onchip byte write 00000067

Unhandled Onchip byte write 00000068

Unhandled Onchip byte write 00000069

Unhandled Onchip byte write 000000E4

Unhandled Onchip byte write 000000E5

Unhandled Onchip byte write 00000010

Unhandled byte read 24FFFFFF

Segmentation fault


With another BIOS:

poberoi@linux:~/yabause> yabause --bios=saturn_bios.bin

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip long write 000001EC

Unhandled Onchip long write 000001F0

Unhandled Onchip long write 000001F8

Unhandled Onchip byte write 000000E0

Unhandled Onchip byte write 000000E1

Unhandled Onchip byte write 000000E2

Unhandled Onchip byte write 000000E3

Unhandled Onchip byte write 00000060

Unhandled Onchip byte write 00000061

Unhandled Onchip byte write 00000062

Unhandled Onchip byte write 00000063

Unhandled Onchip byte write 00000064

Unhandled Onchip byte write 00000065

Unhandled Onchip byte write 00000066

Unhandled Onchip byte write 00000067

Unhandled Onchip byte write 00000068

Unhandled Onchip byte write 00000069

Unhandled Onchip byte write 000000E4

Unhandled Onchip byte write 000000E5

Unhandled Onchip byte write 00000010

Unhandled byte read 24FFFFFF

Segmentation fault

 
I finally got around to going through the entire codebase and fixed any potential problem variables along the way. So if you have time slinga, mind trying it again?

Cyber Warrior X
 
Same error message as before:

yabause --bios=BIOS.BIN

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip byte write 00000092

Unhandled Onchip long write 000001EC

Unhandled Onchip long write 000001F0

Unhandled Onchip long write 000001F8

Unhandled Onchip byte write 000000E0

Unhandled Onchip byte write 000000E1

Unhandled Onchip byte write 000000E3

Unhandled Onchip byte write 00000061

Unhandled Onchip byte write 00000062

Unhandled Onchip byte write 00000063

Unhandled Onchip byte write 00000064

Unhandled Onchip byte write 00000065

Unhandled Onchip byte write 00000066

Unhandled Onchip byte write 00000067

Unhandled Onchip byte write 00000068

Unhandled Onchip byte write 00000069

Segmentation fault


But I now see a FPS counter, I never saw that before. It runs for like 2 seconds, I see no graphics, and then it crashes. There is also some noise from my speakers.
 

Attachments

  • yabause1.png
    yabause1.png
    6.3 KB · Views: 124
  • yabause1.png
    yabause1.png
    6.3 KB · Views: 119
Back
Top