Jump to content

PCSX2 on Mac ?


112 posts in this topic

Recommended Posts

Hi everyone ! :thumbsup_anim:

 

I've tried PCSX2 under Ubuntu Hardy_64 but as I had an issue with the 3D driver ... I thought I could get it for mac.

I've searched all around the internet but there's not a PCSX2 for MacOs.

So I've downloaded the sources files for Linux and I've tried (after a chmod) to launch the install script

 

[adrien@iGeek]  /Pcsx2_0.9.4_Source  $ ./build.sh all
---------------
Building Pcsx2
---------------
Linux/Makefile.am:1: shell pkg-config --cflags gtk+-2.0: non-POSIX variable name
Linux/Makefile.am:1: (probably a GNU make extension)
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
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 for gcc... gcc
checking whether we are using the GNU C++ compiler... yes
checking whether gcc accepts -g... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking dependency style of gcc... gcc3
checking debug build... no
checking for _aligned_malloc... no
checking for _aligned_free... no
checking for development build... no
checking force sse3 instructions... sse3
checking for virtual memory build... no
checking for using platform dependent recompilers... yes
checking for a x86-64 CPU... no
checking gtk+... checking for pkg-config... pkg-config
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
Package gthread-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gthread-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gthread-2.0' found
checking for main in -lstdc++... yes
checking for main in -lz... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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 libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating DebugTools/Makefile
config.status: creating Linux/Makefile
config.status: creating IPU/Makefile
config.status: creating IPU/mpeg2lib/Makefile
config.status: creating RDebug/Makefile
config.status: creating tinyxml/Makefile
config.status: creating x86/Makefile
config.status: creating x86/ix86/Makefile
config.status: creating zlib/Makefile
config.status: executing depfiles commands
Configuration:
 Target system type:    
 x86-64 build?	       no
 Debug build?	       no
 Dev build?	           no
 Force sse3?	           no
 Recompilers enabled?   yes
 Virtual memory build?  no
Making clean in Linux
test -z "pcsx2" || rm -f pcsx2
rm -f *.o
Making clean in tinyxml
test -z "libtinyxml.a" || rm -f libtinyxml.a
rm -f *.o
Making clean in RDebug
test -z "libRDebug.a" || rm -f libRDebug.a
rm -f *.o
Making clean in IPU
Making clean in mpeg2lib
test -z "libmpeg2IPU.a" || rm -f libmpeg2IPU.a
rm -f *.o
Making clean in .
test -z "libIPU.a" || rm -f libIPU.a
rm -f *.o
Making clean in DebugTools
test -z "libDebugTools.a" || rm -f libDebugTools.a
rm -f *.o
Making clean in x86
Making clean in ix86
test -z "libix86.a" || rm -f libix86.a
rm -f *.o
Making clean in .
test -z "libx86recomp.a" || rm -f libx86recomp.a
rm -f *.o
Making clean in .
test -z "libpcsx2.a" || rm -f libpcsx2.a
rm -f *.o
Making install in x86
Making install in ix86
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"zerofrog@gmail.com\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -I./.. -I./../../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT ix86_3dnow.o -MD -MP -MF .deps/ix86_3dnow.Tpo -c -o ix86_3dnow.o ix86_3dnow.c
mv -f .deps/ix86_3dnow.Tpo .deps/ix86_3dnow.Po
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"zerofrog@gmail.com\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -I./.. -I./../../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT ix86.o -MD -MP -MF .deps/ix86.Tpo -c -o ix86.o ix86.c
ix86.c: In function ‘J8Rel’:
ix86.c:156: warning: pointer targets in return differ in signedness
ix86.c: In function ‘JMP8’:
ix86.c:2467: warning: pointer targets in return differ in signedness
mv -f .deps/ix86.Tpo .deps/ix86.Po
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"zerofrog@gmail.com\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -I./.. -I./../../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT ix86_cpudetect.o -MD -MP -MF .deps/ix86_cpudetect.Tpo -c -o ix86_cpudetect.o ix86_cpudetect.c
mv -f .deps/ix86_cpudetect.Tpo .deps/ix86_cpudetect.Po
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"zerofrog@gmail.com\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -I./.. -I./../../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT ix86_fpu.o -MD -MP -MF .deps/ix86_fpu.Tpo -c -o ix86_fpu.o ix86_fpu.c
mv -f .deps/ix86_fpu.Tpo .deps/ix86_fpu.Po
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"zerofrog@gmail.com\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -I./.. -I./../../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT ix86_sse.o -MD -MP -MF .deps/ix86_sse.Tpo -c -o ix86_sse.o ix86_sse.c
mv -f .deps/ix86_sse.Tpo .deps/ix86_sse.Po
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"zerofrog@gmail.com\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -I./.. -I./../../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT ix86_mmx.o -MD -MP -MF .deps/ix86_mmx.Tpo -c -o ix86_mmx.o ix86_mmx.c
mv -f .deps/ix86_mmx.Tpo .deps/ix86_mmx.Po
rm -f libix86.a
ar cru libix86.a ix86_3dnow.o ix86.o ix86_cpudetect.o ix86_fpu.o ix86_sse.o ix86_mmx.o 
ranlib libix86.a
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
gcc -DPACKAGE_NAME=\"pcsx2\" -DPACKAGE_TARNAME=\"pcsx2\" -DPACKAGE_VERSION=\"0.9.4\" -DPACKAGE_STRING=\"pcsx2\ 0.9.4\" -DPACKAGE_BUGREPORT=\"zerofrog@gmail.com\" -DPACKAGE=\"pcsx2\" -DVERSION=\"0.9.4\" -DNDEBUG=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DENABLE_NLS=1 -I. -I./../  -O3 -fomit-frame-pointer   -O3 -fomit-frame-pointer  -MT iCOP2.o -MD -MP -MF .deps/iCOP2.Tpo -c -o iCOP2.o iCOP2.c
In file included from ./../Plugins.h:24,
                from ./../Common.h:197,
                from iCOP2.c:24:
./../PS2Edefs.h:39:21: error: windows.h: No such file or directory
In file included from ./../Plugins.h:24,
                from ./../Common.h:197,
                from iCOP2.c:24:
./../PS2Edefs.h:105: error: syntax error before ‘*’ token
./../PS2Edefs.h:486: error: syntax error before ‘*’ token
./../PS2Edefs.h:487: error: syntax error before ‘*’ token

 

And the list of errors goes on ... and finally

 

./../Misc.h:23:20: error: malloc.h: No such file or directory
make[2]: *** [iCOP2.o] Error 1
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1

 

In case you have not guessed, I'm a total noob with Gcc.

I suppose that parameters are not the same or/and missing libraries.

 

Someone has an idea ?

Thanks.

Link to comment
Share on other sites

  • 2 weeks later...

Yeah, I tried to compile it under mac, will require quite a lot of modifications.

 

As for the error you encounter, it's actually a quite simple one, the first one which arises. On Mac the file malloc.h has been moved to sys/malloc.h. In reality malloc is part of stdlib under mac if I remember correctly. The easiest way to deal with this problem is actually to just hardlink sys/malloc.h to malloc.h

Link to comment
Share on other sites

Great :( , Thanks Zedr0n

 

I love to see the pcsx2 logo on an x11 window under MacOs :D . (the .deb for ubuntu was not able to show the logo by the way)

Well zerogs doesn't work but maybe lord_muad_dib has an idea on this issue.

 

Can you tell me what you have done to build this? Which Gcc have you used? Have you downloaded additional libraries like GTK+2 from fink ?

 

Many thanks for all this :P

Link to comment
Share on other sites

Great ;) , Thanks Zedr0n

 

I love to see the pcsx2 logo on an x11 window under MacOs :D . (the .deb for ubuntu was not able to show the logo by the way)

Well zerogs doesn't work but maybe lord_muad_dib has an idea on this issue.

 

Can you tell me what you have done to build this? Which Gcc have you used? Have you downloaded additional libraries like GTK+2 from fink ?

 

Many thanks for all this :)

 

It's not as simple as downloading additional libraries unfortunately. I had to patch the source code quite a bit, hack some makefiles, and port the asm code to nasm. This is still work in progress and I'm not sure if the patches I've made haven't broken the build.

 

On a sidenote, no, I don't use Fink/MacPorts. They clutter the system too much and the dependencies are hard to fix so I prefer the standard linux way. I had to compile gtk+ from scratch for x11(xquartz) because the native port of gtk+ didn't work for me unfortunately(it compiled but had a runtime error in Cairo, EXC_ARITHMETIC)

 

Yes, I hope, that lord_muad_dib can help on this issue, though I'm hoping that I'll be able to run Gssoft plugin if it can be updated to recent plugin specs

Link to comment
Share on other sites

ok, historical moment, I managed to see bios on os x. Interpreter mode and debug/dev builds, mind you. Crashes right after Sony Computer Entertainment disappears,

but still.

 

 

x11005xz4.png

x11004bx9.png

 

Antialiasing too :angel:

x11006fp1.png

Link to comment
Share on other sites

ok, historical moment, I managed to see bios on os x. Interpreter mode and debug/dev builds, mind you. Crashes right after Sony Computer Entertainment disappears,

but still.

 

 

x11005xz4.png

x11004bx9.png

 

Antialiasing too :P

x11006fp1.png

 

That's sweet! If you get this working you should start your own "PSCX2 on OS X" project :D There are no good PS2 emulators for OS X so this really is historic :P

Link to comment
Share on other sites

that's great man!

as long as pcsx2 uses sdl to render we're in good shape, we don't have to bother about rendering conversion

if you don't mind, i'd contact the main pcsx2 team to announce the great news!

now

for best results, don't build pcsx from svn, as it might have broken recompilers

i don't see why it won't work. btw for testing, always use the jap first bios, as it's the most compatible bios

 

about the crash after the "transition to the dark".. i'd say it's something about the dvd plugin, try to select a dummy and do some tries

pm me with your contact, we can cooperate!

 

still, amazing work!

Link to comment
Share on other sites

that's great man!

as long as pcsx2 uses sdl to render we're in good shape, we don't have to bother about rendering conversion

 

Actually, it's not. It's all pure glX, so it uses x11 server heavily and I have to constantly comment out some things.

 

if you don't mind, i'd contact the main pcsx2 team to announce the great news!

 

Feel free, though I'm constantly on #pcsx EFNET and I have a thread going on ngemu: http://forums.ngemu.com/pcsx2-official-for...-pcsx2-mac.html

So they know already, I think

 

now

for best results, don't build pcsx from svn, as it might have broken recompilers

i don't see why it won't work. btw for testing, always use the jap first bios, as it's the most compatible bios

 

about the crash after the "transition to the dark".. i'd say it's something about the dvd plugin, try to select a dummy and do some tries

 

I'm using the dummy CDVDnull. For CDVDiso with ffxii it loads but doesn't output anything at all, reports the error EXC_BAD_ACCESS again :)

 

pm me with your contact, we can cooperate!

 

still, amazing work!

PMing you now

Link to comment
Share on other sites

ok then... the exec_bad {censored} often means that it's trying to access a resource that is unavailable, being a memory access range or a physical device, so, we need to closely watch the backtrace and see what fails, as it's kinda generic

Link to comment
Share on other sites

Ok, breakthrough time. I'm bringing you FFXII on pcsx2/mac

 

x11012it8.png

x11013xl0.png

x11014is3.png

x11015to5.png

x11016eu2.png

x11017jb2.png

x11018iu7.png

 

W00T! The first 2 screens look weird but the rest are BEAUTIFUL quality, especially that last one. Congrats on getting it working, does it play other games too? When will you be putting up the binary of this so we can try using it ourselves? Thanks for all your work! :)

Link to comment
Share on other sites

W00T! The first 2 screens look weird but the rest are BEAUTIFUL quality, especially that last one. Congrats on getting it working, does it play other games too? When will you be putting up the binary of this so we can try using it ourselves? Thanks for all your work! :wacko:

 

Unfortunately, I didn't get it working. First of all, it's 5fps because it's running in interpreter mode, second it's only running ffxii intro movie right now, doesn't progress any further than that.

Link to comment
Share on other sites

 Share

×
×
  • Create New...