Friday, July 1, 2011

P-UAE - The Amiga-Retro-Feeling on my Mac!

GnoStiC really made my day. While trying to get the latest version of E-UAE running on my MacBook Pro i7 I found out that GnoStiC is actively developing a new child of E-UAE and WinUAE named PUAE.

And it's running quite well with a nice Cocoa Interface. I've tested it with prebuilt MacOS binaries from BinaryDevotion. Unfortunately bulding the MacOS version myself didn't succeed. I've got the following error:
gcc -O2 -ffast-math -msse3 -pipe  -mdynamic-no-pic -fomit-frame-pointer -ffast-math   -Wall -Wno-unused -Wno-format -W -Wmissing-prototypes -Wstrict-prototypes -fno-strength-reduce -DREGPARAM="__attribute__((regparm(3)))"  -m32 -DNO_MAIN_IN_MAIN_C    -m32 -march=pentium2  -m32 -o uae  main.o newcpu.o memory.o rommgr.o custom.o serial.o dongle.o cia.o blitter.o autoconf.o traps.o keybuf.o expansion.o inputrecord.o diskutil.o zfile.o zfile_archive.o cfgfile.o picasso96.o inputdevice.o gfxutil.o audio.o sinctable.o statusline.o drawing.o consolehook.o native2amiga.o disk.o crc32.o savestate.o arcadia.o cdtv.o cd32_fmv.o uaeexe.o uaelib.o uaeresource.o uaeserial.o fdi2raw.o hotkeys.o amax.o ar.o driveclick.o enforcer.o misc.o a2065.o gayle.o ncr_scsi.o missing.o readcpu.o aros.rom.o hrtmon.rom.o md-i386-gcc/libmachdep.a jd-none/libjoydep.a sd-none/libsnddep.a gfx-x11/libgfxdep.a gui-cocoa/libguidep.a keymap/libkeymap.a archivers/dms/libdms.a archivers/zip/libzip.a caps/libcaps.a blitfunc.o blittable.o cpustbl.o cpudefs.o libcpuemu.a writelog.o filesys.o fsdb.o fsusage.o hardfile.o filesys_unix.o fsdb_unix.o hardfile_unix.o bsdsocket-posix-new.o bsdsocket.o scsi-none.o debug.o identify.o  td-posix/libthreaddep.a od-macosx/libosdep.a -framework Cocoa  -L/usr/X11/lib -R/usr/X11/lib  -lSM -lICE -lXext -lX11     -ldl -lz  -lm -L/usr/lib -lpthread -lstdc++  
Undefined symbols:
  "_picasso96_state", referenced from:
      _picasso96_state$non_lazy_ptr in inputdevice.o
      _picasso96_state$non_lazy_ptr in libgfxdep.a(xwin.o)
     (maybe you meant: _picasso96_state$non_lazy_ptr)
  "_InitPicasso96", referenced from:
      _drawing_init in drawing.o
  "_picasso_handle_vsync", referenced from:
      _hsync_handler in custom.o
  "_picasso_vidinfo", referenced from:
      _picasso_vidinfo$non_lazy_ptr in libgfxdep.a(xwin.o)
     (maybe you meant: _picasso_vidinfo$non_lazy_ptr)
  "_picasso_refresh", referenced from:
      _vsync_handle_redraw in drawing.o
  "_p96_rgbx16", referenced from:
      _p96_rgbx16$non_lazy_ptr in gfxutil.o
     (maybe you meant: _p96_rgbx16$non_lazy_ptr)
  "_picasso_demux", referenced from:
      _uaelib_demux in uaelib.o
  "_restore_p96_finish", referenced from:
      _savestate_restore_finish in savestate.o
  "_have_sound", referenced from:
      _have_sound$non_lazy_ptr in audio.o
     (maybe you meant: _have_sound$non_lazy_ptr)
  "_DisplayModes", referenced from:
      _DisplayModes$non_lazy_ptr in libgfxdep.a(xwin.o)
     (maybe you meant: _DisplayModes$non_lazy_ptr)
  "_init_hz_p96", referenced from:
      _init_hz_fullinit in custom.o
  "_clear_sound_buffers", referenced from:
      _check_prefs_changed_audio in audio.o
      _audio_hsync in audio.o
  "_picasso96_alloc", referenced from:
      _filesys_init_storeinfo in filesys.o
  "_config_filename", referenced from:
      _config_filename$non_lazy_ptr in libguidep.a(cocoaui.o)
     (maybe you meant: _config_filename$non_lazy_ptr)
  "_handle_input_event", referenced from:
      _handle_events in libgfxdep.a(xwin.o)
  "_setmaintitle", referenced from:
      _refreshtitle in misc.o
  "_picasso_reset", referenced from:
      _reset_all_systems in main.o
      _custom_reset in custom.o
  "_have_done_picasso", referenced from:
      _have_done_picasso$non_lazy_ptr in libcpuemu.a(compemu_support.o)
     (maybe you meant: _have_done_picasso$non_lazy_ptr)
  "_gfxmem_bank", referenced from:
      _gfxmem_bank$non_lazy_ptr in expansion.o
     (maybe you meant: _gfxmem_bank$non_lazy_ptr)
  "_picasso_handle_hsync", referenced from:
      _hsync_handler in custom.o
  "_picasso_enablescreen", referenced from:
      _vsync_handle_redraw in drawing.o
      _check_prefs_changed_gfx in libgfxdep.a(xwin.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [uae] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
I think this has something to do with SDL. I will try to figure it out and post the results later. Happy hackin'! ;)

Update 1:


Yep...here it is...
checking for SDL framework... no
configure: WARNING: SDL support wanted, but libSDL could not be found
This should throw an error, I think, because PUAE doesn't build without libSDL and a successful configure with unpredictable building errors led me to the red herring while seeking for the error.

Anyway, now that I found out, I'll try to fix it.

Update 2:

Hmm...configure will not find my MacPorts libSDL, although it sits nicely where it should under /opt/local. Confusing. Anyway, I installed SDL.framework in /Library/Framewoks and configure does it's job. Make, too! ;)


So my selfbuild PUAE is up and running. Happy hacking!

No comments:

Post a Comment