Yabause - Port Request


MrRockchip

Still Fresh
Joined
Nov 21, 2010
Messages
14
Yabause is an open source Sega Saturn emulator.
It has a lot of ports for systems that are similar to Pandora.
There is a porting guide available.

Link to the source code
Porting guide


P.S. I can't port it by myself because I haven't received my pre-ordered unit yet
 
This has been covered a few times now. I don't have time to post links, but a search should dig up the relevant threads.

MrRockchip said:
P.S. I can't port it by myself because I haven't received my pre-ordered unit yet

There are toolchains available, you can start work now. Unless that was a "why don't you do it yourself?" dodge ;)
 
Last edited by a moderator:
You'll be lucky to get more than a couple of frames per second, I'm afraid.
 
Ah, yes. I heard the Saturn was a bitch to program for, much less to emulate. Sorry, but you won't be playing Radiant Silvergun in your hand anytime soon.
 
Yabause was ported to a lot of systems.
For example, PSP: it has 333MHz CPU, and performs quite good
(watch this video - http://www.youtube.com/watch?v=AKeb_zQbTzQ)
Pandora has far superior CPU, with overclocking ability;
it can provide acceptable quality of gameplay in many games.
 
MrRockchip said:
Yabause was ported to a lot of systems.
For example, PSP: it has 333MHz CPU, and performs quite good
(watch this video - http://www.youtube.c...?v=AKeb_zQbTzQ)
Pandora has far superior CPU, with overclocking ability;
it can provide acceptable quality of gameplay in many games.

Sorry, but that video is probably fake, like so many others on youtube.
 
Last edited by a moderator:
I think this:
http://www.youtube.com/watch?v=uNetYCfwysA
is more like what you'll get.
 
I'd love a Saturn emulator I really would, and I keep dreaming but I *KNOW* it's never going to happen. It's the only system that has at least one version of my 3 favourite games (albeit Daytona is slightly butchered in both guises). And with Dreamcast emulation seemingly all but forgotten, it looks like I'll never be playing any of them on my Pandora.

Ah well, will just have to get on with playing the other 8000 odd games in my back-catalogue :p
 
Pleng said:
I'd love a Saturn emulator I really would, and I keep dreaming but I *KNOW* it's never going to happen. It's the only system that has at least one version of my 3 favourite games (albeit Daytona is slightly butchered in both guises). And with Dreamcast emulation seemingly all but forgotten, it looks like I'll never be playing any of them on my Pandora.

Ah well, will just have to get on with playing the other 8000 odd games in my back-catalogue :p

Why do you think so? Yes, I agree that Yabause on PSP performs not-too-snappy,
but Pandora hardware is FAR better than PSP!

So, I can guarantee that if Yabause will be ported to Pandora,
you will be able to play in 2D games WITHOUT any freezing,
and after proper optimization some not-demanding 3D games will be also playable.
 
Last edited by a moderator:
That's a pretty hefty promise. What background in emulation development do you have to back this up?

Anyway I might just give this a go for giggles - as I have become stuck with my port of Novashell
 
MrRockchip said:
Why do you think so? Yes, I agree that Yabause on PSP performs not-too-snappy,
but Pandora hardware is FAR better than PSP!

So, I can guarantee that if Yabause will be ported to Pandora,
you will be able to play in 2D games WITHOUT any freezing,
and after proper optimization some not-demanding 3D games will be also playable.

By that Logic, Yabause should run pretty flawlessly on netbook computers since they're much more powerful than the Pandora, which isn't the case at all.
 
Last edited by a moderator:
No luck compiling on x86 Ubuntu... i've installed all the dependency and optional libraries specified in the wiki. Trying to make with and without GL Support (obviously GL wouldn't work on the Pandora but we haven't even got THAT far yet) results in error messages


With GL:
Configure output:
pleng@ubuntu:~/compiles/yabause-0.9.10$ ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
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 ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether gcc and cc understand -c and -o together... yes
checking dependency style of gcc... gcc3
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for gettimeofday... yes
checking for mini18n in -lmini18n... yes
checking whether the compiled supports c99 variadic macros... yes
checking for sdl-config... sdl-config
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for glEnable in -lGL... yes
checking for glutGetModifiers in -lglut... yes
checking for glXGetProcAddress... yes
checking for alBufferData in -lopenal... no
checking for qmake-qt4... no
checking for qmake... no
checking for pkg-config... pkg-config
checking for windres... no
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating l10n/Makefile
config.status: creating doc/Doxyfile
config.status: creating src/Makefile
config.status: creating src/carbon/Makefile
config.status: creating src/dreamcast/Makefile
config.status: creating src/gtk/Makefile
config.status: creating src/gtk/doc/Makefile
config.status: creating src/psp/Makefile
config.status: creating src/qt/Makefile
config.status: creating src/qt/yabause.pro
config.status: creating src/qt/doc/Makefile
config.status: creating src/wii/Makefile
config.status: creating src/windows/Makefile
config.status: creating autopackage/default.apspec
config.status: executing depfiles commands
config.status: executing src/c68k/Makefile commands
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
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 ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether gcc and cc understand -c and -o together... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
==================
configure report

available ports: gtk .
selected port: gtk
==================

Make output:
pleng@ubuntu:~/compiles/yabause-0.9.10$ make
Making all in src
make[1]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src'
Making all in c68k
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/c68k'
./gen68k
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/c68k'
Making all in .
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src'
Making all in gtk
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/gtk'
Making all in doc
make[3]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/gtk/doc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/gtk/doc'
make[3]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/gtk'
gcc -pthread -D_REENTRANT -I/usr/include/gtkglext-1.0 -I/usr/lib/gtkglext-1.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/atk-1.0 -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -o yabause yabause-gtkglwidget.o yabause-main.o yabause-settings.o yabause-menu.o yabause-gtk-compat.o yabause-yuifileentry.o yabause-yuirange.o yabause-yuiinputentry.o yabause-yuipage.o yabause-yuiresolution.o yabause-yuiwindow.o yabause-yuivdp1.o yabause-yuivdp2.o yabause-yuiscsp.o yabause-pergtk.o yabause-yuiscreenshot.o yabause-yuish.o yabause-yuitransfer.o yabause-yuim68k.o yabause-yuiscudsp.o yabause-yuimem.o yabause-yuiviewer.o ../libyabause.a -Wl,--export-dynamic -pthread -lgtkglext-x11-1.0 -lgdkglext-x11-1.0 -lGLU -lGL -lXmu -lXt -lSM -lICE -lgtk-x11-2.0 -lpangox-1.0 -lX11 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lmini18n -L/usr/lib -lSDL -lGL -lglut
yabause-main.o:(.data+0x4c): undefined reference to `VIDOGL'
collect2: ld returned 1 exit status
make[3]: *** [yabause] Error 1
make[3]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/gtk'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/gtk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src'
make: *** [all-recursive] Error 1

Without GL
Configure Output

pleng@ubuntu:~/compiles/yabause-0.9.10$ ./configure --without-opengl
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
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 ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether gcc and cc understand -c and -o together... yes
checking dependency style of gcc... gcc3
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for gettimeofday... yes
checking for mini18n in -lmini18n... yes
checking whether the compiled supports c99 variadic macros... yes
checking for sdl-config... sdl-config
checking for alBufferData in -lopenal... no
checking for qmake-qt4... no
checking for qmake... no
checking for pkg-config... pkg-config
checking for windres... no
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating l10n/Makefile
config.status: creating doc/Doxyfile
config.status: creating src/Makefile
config.status: creating src/carbon/Makefile
config.status: creating src/dreamcast/Makefile
config.status: creating src/gtk/Makefile
config.status: creating src/gtk/doc/Makefile
config.status: creating src/psp/Makefile
config.status: creating src/qt/Makefile
config.status: creating src/qt/yabause.pro
config.status: creating src/qt/doc/Makefile
config.status: creating src/wii/Makefile
config.status: creating src/windows/Makefile
config.status: creating autopackage/default.apspec
config.status: executing depfiles commands
config.status: executing src/c68k/Makefile commands
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
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 ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether gcc and cc understand -c and -o together... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
==================
configure report

available ports: gtk .
selected port: gtk
==================

Make output
pleng@ubuntu:~/compiles/yabause-0.9.10$ make
Making all in src
make[1]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src'
Making all in c68k
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/c68k'
./gen68k
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/c68k'
Making all in .
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src'
Making all in gtk
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/gtk'
Making all in doc
make[3]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/gtk/doc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/gtk/doc'
make[3]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/gtk'
gcc -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -o yabause yabause-gtkglwidget.o yabause-main.o yabause-settings.o yabause-menu.o yabause-gtk-compat.o yabause-yuifileentry.o yabause-yuirange.o yabause-yuiinputentry.o yabause-yuipage.o yabause-yuiresolution.o yabause-yuiwindow.o yabause-yuivdp1.o yabause-yuivdp2.o yabause-yuiscsp.o yabause-pergtk.o yabause-yuiscreenshot.o yabause-yuish.o yabause-yuitransfer.o yabause-yuim68k.o yabause-yuiscudsp.o yabause-yuimem.o yabause-yuiviewer.o ../libyabause.a -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lmini18n -L/usr/lib -lSDL
yabause-gtkglwidget.o: In function `yui_gl_dump_screen':
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:253: undefined reference to `glReadPixels'
yabause-gtkglwidget.o: In function `yui_gl_new':
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:224: undefined reference to `gdk_gl_config_new'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:224: undefined reference to `gtk_widget_set_gl_capability'
yabause-gtkglwidget.o: In function `yui_gl_resize':
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:103: undefined reference to `gtk_widget_get_gl_context'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:104: undefined reference to `gdk_gl_drawable_get_type'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:104: undefined reference to `gtk_widget_get_gl_window'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:106: undefined reference to `gdk_gl_drawable_gl_begin'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:109: undefined reference to `glViewport'
yabause-gtkglwidget.o: In function `yui_gl_draw':
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:37: undefined reference to `gtk_widget_get_gl_context'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:38: undefined reference to `gdk_gl_drawable_get_type'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:38: undefined reference to `gtk_widget_get_gl_window'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:40: undefined reference to `gdk_gl_drawable_make_current'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:45: undefined reference to `gdk_gl_drawable_swap_buffers'
yabause-gtkglwidget.o: In function `yui_gl_draw_pause':
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:86: undefined reference to `glRasterPos2i'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:87: undefined reference to `glBitmap'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:88: undefined reference to `glPixelZoom'
/home/pleng/compiles/yabause-0.9.10/src/gtk/gtkglwidget.c:89: undefined reference to `glDrawPixels'
yabause-main.o: In function `main':
/home/pleng/compiles/yabause-0.9.10/src/gtk/main.c:383: undefined reference to `gtk_gl_init'
yabause-main.o:(.data+0x4c): undefined reference to `VIDOGL'
yabause-yuiwindow.o: In function `yui_window_keep_clean':
/home/pleng/compiles/yabause-0.9.10/src/gtk/yuiwindow.c:264: undefined reference to `glClear'
../libyabause.a(vidsoft.o): In function `VIDSoftVdp2DrawEnd':
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2957: undefined reference to `glRasterPos2i'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2958: undefined reference to `glPixelZoom'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2959: undefined reference to `glDrawPixels'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2963: undefined reference to `glColor3f'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2964: undefined reference to `glRasterPos2i'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2966: undefined reference to `glutBitmapHelvetica12'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2966: undefined reference to `glutBitmapCharacter'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2968: undefined reference to `glColor3f'
../libyabause.a(vidsoft.o): In function `VIDSoftResize':
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1465: undefined reference to `glClear'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1467: undefined reference to `glMatrixMode'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1468: undefined reference to `glLoadIdentity'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1469: undefined reference to `glOrtho'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1471: undefined reference to `glMatrixMode'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1472: undefined reference to `glLoadIdentity'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1473: undefined reference to `glOrtho'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1475: undefined reference to `glViewport'
../libyabause.a(vidsoft.o): In function `VIDSoftInit':
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1413: undefined reference to `glClear'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1415: undefined reference to `glMatrixMode'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1416: undefined reference to `glLoadIdentity'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1417: undefined reference to `glOrtho'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1419: undefined reference to `glMatrixMode'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1420: undefined reference to `glLoadIdentity'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:1421: undefined reference to `glOrtho'
../libyabause.a(ygl.o): In function `YglChangeResolution':
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:584: undefined reference to `glMatrixMode'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:585: undefined reference to `glLoadIdentity'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:586: undefined reference to `glOrtho'
../libyabause.a(ygl.o): In function `YglReset':
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:564: undefined reference to `glClear'
../libyabause.a(ygl.o): In function `YglRender':
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:493: undefined reference to `glEnable'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:498: undefined reference to `glBindTexture'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:500: undefined reference to `glTexSubImage2D'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:523: undefined reference to `glVertexPointer'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:527: undefined reference to `glTexCoordPointer'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:528: undefined reference to `glDrawArrays'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:540: undefined reference to `glDisable'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:545: undefined reference to `glColor3f'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:546: undefined reference to `glRasterPos2i'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:548: undefined reference to `glutBitmapHelvetica12'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:548: undefined reference to `glutBitmapCharacter'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:550: undefined reference to `glColor3f'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:513: undefined reference to `glVertexPointer'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:517: undefined reference to `glTexCoordPointer'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:518: undefined reference to `glDrawArrays'
../libyabause.a(ygl.o): In function `YglGLInit':
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:100: undefined reference to `glClear'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:102: undefined reference to `glMatrixMode'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:103: undefined reference to `glLoadIdentity'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:104: undefined reference to `glOrtho'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:106: undefined reference to `glMatrixMode'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:107: undefined reference to `glLoadIdentity'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:108: undefined reference to `glOrtho'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:110: undefined reference to `glEnable'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:111: undefined reference to `glBlendFunc'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:112: undefined reference to `glEnableClientState'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:113: undefined reference to `glEnableClientState'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:115: undefined reference to `glGenTextures'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:116: undefined reference to `glBindTexture'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:117: undefined reference to `glTexImage2D'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:118: undefined reference to `glTexParameteri'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:119: undefined reference to `glTexParameteri'
collect2: ld returned 1 exit status
make[3]: *** [yabause] Error 1
make[3]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/gtk'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/gtk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src'
make: *** [all-recursive] Error 1

Mod note... it might be worth moving this to the dev section now I'm actually trying a port?
 
Pleng said:
Mod note... it might be worth moving this to the dev section now I'm actually trying a port?
So it is written, so it is done. :) Good luck, Pleng - I'll be interested to see how this goes, especially since the Saturn version of Mega Man 8 is more "complete" than the PSX version. (Though, of course, I know full well that the Saturn is difficult - I'm just technically interested in seeing how well, or not, this can run. :p )
 
Last edited by a moderator:
Yea nobody get hopes up for speed. I just watched a demo of this running on the far more powerful Wii and it's pretty painful! This is purely for interest only. Not much I can do either unless anybody has any ideas about what's causing the error messages :(
 
I'm afraid I don't have enough experience with compiling stuff to help there. Sorry about that.
 
Pleng said:
Yea nobody get hopes up for speed. I just watched a demo of this running on the far more powerful Wii and it's pretty painful! This is purely for interest only. Not much I can do either unless anybody has any ideas about what's causing the error messages :(
For your first try, I don't know :(
Your second, the option --without-gl dont do what you expect. it it just there so configure dont complain about the missing GL while building for PSP or WII.
The GTK build of Yabause depend on GL (it even depend on gtkglext). So configure should fail if building GTK without GL but isn't.
If you plan to go ahead, I would recommand building the QT version instead as QT will convert GL call to GLES on the fly for you.
 
Last edited by a moderator:
Hmm ok so I switched to QT and got the following outputs:

configure
pleng@ubuntu:~/compiles/yabause-0.9.10$ ./configure --with-port=qtchecking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
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 ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether gcc and cc understand -c and -o together... yes
checking dependency style of gcc... gcc3
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for gettimeofday... yes
checking for mini18n in -lmini18n... yes
checking whether the compiled supports c99 variadic macros... yes
checking for sdl-config... sdl-config
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for glEnable in -lGL... yes
checking for glutGetModifiers in -lglut... yes
checking for glXGetProcAddress... yes
checking for alBufferData in -lopenal... no
checking for qmake-qt4... /usr/bin/qmake-qt4
checking for pkg-config... pkg-config
checking for windres... no
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating l10n/Makefile
config.status: creating doc/Doxyfile
config.status: creating src/Makefile
config.status: creating src/carbon/Makefile
config.status: creating src/dreamcast/Makefile
config.status: creating src/gtk/Makefile
config.status: creating src/gtk/doc/Makefile
config.status: creating src/psp/Makefile
config.status: creating src/qt/Makefile
config.status: creating src/qt/yabause.pro
config.status: creating src/qt/doc/Makefile
config.status: creating src/wii/Makefile
config.status: creating src/windows/Makefile
config.status: creating autopackage/default.apspec
config.status: creating src/qt/Makefile.qmake
config.status: executing depfiles commands
config.status: executing src/c68k/Makefile commands
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
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 ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether gcc and cc understand -c and -o together... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
==================
configure report

available ports: gtk qt .
selected port: qt
==================


make
pleng@ubuntu:~/compiles/yabause-0.9.10$ make
Making all in src
make[1]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src'
Making all in c68k
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/c68k'
./gen68k
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/c68k'
Making all in .
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src'
Making all in qt
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
Making all in doc
make[3]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt/doc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt/doc'
make[3]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make -f Makefile.qmake release YTSDEF=-DYTSDIR=\\\"/usr/local/share/yabause/yts\\\"
make[4]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make -f Makefile.qmake.Release
make[5]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
g++ -Wl,-O1 -o yabause build/release/.obj/unix/main.o build/release/.obj/unix/UIYabause.o build/release/.obj/unix/YabauseGL.o build/release/.obj/unix/UISettings.o build/release/.obj/unix/Settings.o build/release/.obj/unix/YabauseThread.o build/release/.obj/unix/QtYabause.o build/release/.obj/unix/UIAbout.o build/release/.obj/unix/UICheats.o build/release/.obj/unix/UICheatAR.o build/release/.obj/unix/UICheatRaw.o build/release/.obj/unix/CommonDialogs.o build/release/.obj/unix/PerQt.o build/release/.obj/unix/UIWaitInput.o build/release/.obj/unix/UIBackupRam.o build/release/.obj/unix/UIPortManager.o build/release/.obj/unix/UIPadSetting.o build/release/.obj/unix/moc_UIYabause.o build/release/.obj/unix/moc_YabauseGL.o build/release/.obj/unix/moc_UISettings.o build/release/.obj/unix/moc_Settings.o build/release/.obj/unix/moc_YabauseThread.o build/release/.obj/unix/moc_UIAbout.o build/release/.obj/unix/moc_UICheats.o build/release/.obj/unix/moc_UICheatAR.o build/release/.obj/unix/moc_UICheatRaw.o build/release/.obj/unix/moc_UIWaitInput.o build/release/.obj/unix/moc_UIBackupRam.o build/release/.obj/unix/moc_UIPortManager.o build/release/.obj/unix/moc_UIPadSetting.o build/release/.obj/unix/qrc_resources.o -L/usr/lib -L/usr/X11R6/lib -L../ -lyabause -lmini18n -L/usr/lib -lSDL -lglut -lQtOpenGL -lQtGui -lQtCore -lGLU -lGL -lpthread
build/release/.obj/unix/QtYabause.o: In function `QtYabause::defaultVIDCore()':
QtYabause.cpp:(.text+0x242): undefined reference to `VIDOGL'
build/release/.obj/unix/QtYabause.o:(.data+0x48): undefined reference to `VIDOGL'
collect2: ld returned 1 exit status
make[5]: *** [yabause] Error 1
make[5]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make[4]: *** [release] Error 2
make[4]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make[3]: *** [all-local] Error 2
make[3]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src'
make: *** [all-recursive] Error 1

And with qt as the target and without OpenGL set:
Configure

pleng@ubuntu:~/compiles/yabause-0.9.10$ ./configure --without-opengl --with-port=qt
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
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 ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether gcc and cc understand -c and -o together... yes
checking dependency style of gcc... gcc3
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for gettimeofday... yes
checking for mini18n in -lmini18n... yes
checking whether the compiled supports c99 variadic macros... yes
checking for sdl-config... sdl-config
checking for alBufferData in -lopenal... no
checking for qmake-qt4... /usr/bin/qmake-qt4
checking for pkg-config... pkg-config
checking for windres... no
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating l10n/Makefile
config.status: creating doc/Doxyfile
config.status: creating src/Makefile
config.status: creating src/carbon/Makefile
config.status: creating src/dreamcast/Makefile
config.status: creating src/gtk/Makefile
config.status: creating src/gtk/doc/Makefile
config.status: creating src/psp/Makefile
config.status: creating src/qt/Makefile
config.status: creating src/qt/yabause.pro
config.status: creating src/qt/doc/Makefile
config.status: creating src/wii/Makefile
config.status: creating src/windows/Makefile
config.status: creating autopackage/default.apspec
config.status: creating src/qt/Makefile.qmake
config.status: executing depfiles commands
config.status: executing src/c68k/Makefile commands
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
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 ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether gcc and cc understand -c and -o together... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
==================
configure report

available ports: gtk qt .
selected port: qt
==================

make
pleng@ubuntu:~/compiles/yabause-0.9.10$ make
Making all in src
make[1]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src'
Making all in c68k
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/c68k'
./gen68k
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/c68k'
Making all in .
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src'
Making all in qt
make[2]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
Making all in doc
make[3]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt/doc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt/doc'
make[3]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make -f Makefile.qmake release YTSDEF=-DYTSDIR=\\\"/usr/local/share/yabause/yts\\\"
make[4]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make -f Makefile.qmake.Release
make[5]: Entering directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
g++ -Wl,-O1 -o yabause build/release/.obj/unix/main.o build/release/.obj/unix/UIYabause.o build/release/.obj/unix/YabauseGL.o build/release/.obj/unix/UISettings.o build/release/.obj/unix/Settings.o build/release/.obj/unix/YabauseThread.o build/release/.obj/unix/QtYabause.o build/release/.obj/unix/UIAbout.o build/release/.obj/unix/UICheats.o build/release/.obj/unix/UICheatAR.o build/release/.obj/unix/UICheatRaw.o build/release/.obj/unix/CommonDialogs.o build/release/.obj/unix/PerQt.o build/release/.obj/unix/UIWaitInput.o build/release/.obj/unix/UIBackupRam.o build/release/.obj/unix/UIPortManager.o build/release/.obj/unix/UIPadSetting.o build/release/.obj/unix/moc_UIYabause.o build/release/.obj/unix/moc_YabauseGL.o build/release/.obj/unix/moc_UISettings.o build/release/.obj/unix/moc_Settings.o build/release/.obj/unix/moc_YabauseThread.o build/release/.obj/unix/moc_UIAbout.o build/release/.obj/unix/moc_UICheats.o build/release/.obj/unix/moc_UICheatAR.o build/release/.obj/unix/moc_UICheatRaw.o build/release/.obj/unix/moc_UIWaitInput.o build/release/.obj/unix/moc_UIBackupRam.o build/release/.obj/unix/moc_UIPortManager.o build/release/.obj/unix/moc_UIPadSetting.o build/release/.obj/unix/qrc_resources.o -L/usr/lib -L/usr/X11R6/lib -L../ -lyabause -lmini18n -L/usr/lib -lSDL -lQtOpenGL -lQtGui -lQtCore -lGLU -lGL -lpthread
build/release/.obj/unix/QtYabause.o: In function `QtYabause::defaultVIDCore()':
QtYabause.cpp:(.text+0x242): undefined reference to `VIDOGL'
build/release/.obj/unix/QtYabause.o:(.data+0x48): undefined reference to `VIDOGL'
..//libyabause.a(vidsoft.o): In function `VIDSoftVdp2DrawEnd':
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2966: undefined reference to `glutBitmapHelvetica12'
/home/pleng/compiles/yabause-0.9.10/src/vidsoft.c:2966: undefined reference to `glutBitmapCharacter'
..//libyabause.a(ygl.o): In function `YglRender':
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:548: undefined reference to `glutBitmapHelvetica12'
/home/pleng/compiles/yabause-0.9.10/src/ygl.c:548: undefined reference to `glutBitmapCharacter'
collect2: ld returned 1 exit status
make[5]: *** [yabause] Error 1
make[5]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make[4]: *** [release] Error 2
make[4]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make[3]: *** [all-local] Error 2
make[3]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src/qt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pleng/compiles/yabause-0.9.10/src'
make: *** [all-recursive] Error 1


Slightly different errors and both a little confusing because, according to here vidogl is part of the Yabause source tree itself
 
Hmm. That was the latest stable package. I'm guessing it may not have been 100% complete, as I checked out the latest development from svn and it has compiled and runs. Gonna test it actually WORKS and then, if I can draw myself away from NiGTHS, I'm going to hunt around for the cross compiling instructions and give it a go.

The only problem is as I've compiled the QT version, I'm going to need to include and reference the QT libs in any PND, am I not? And I really have no clue how to do that!!
 
Pleng said:
The only problem is as I've compiled the QT version, I'm going to need to include and reference the QT libs in any PND, am I not? And I really have no clue how to do that!!
QT is on NAND, so no worries there :)
QTopengl would be needed though. See minitube (or jag) PND to see how to use it.
 
Last edited by a moderator:
Back
Top