Lukas Sabota Ramblings of a coder, musician, and a debatably nice guy.

6Mar/124

FCEUX on OS X

To be honest, FCEUX was not built with OS X in mind.  I have never owned an Apple product (other than an iPod) and most of the FCEUX developers are PC-centric as well.  However, the SDL port is actively maintained and once I managed to succeed at compiling it on OS X and I was playing Castlevania on OS X.  A few commits later and FCEUX was actually quite usable on OS X.  The problem was that it was difficult to obtain all of the tools and libraries required to build FCEUX.  On Linux systems, grabbing the compiler and libraries are a yum/apt-get/pacman command away, but it was not always this easy on OS X.

Enter Homebrew. Homebrew is a source-based package manager for OS X with ruby-based packaging scripts. I'm no Ruby expert, but the documentation made it easy enough for me to put together a script to patch FCEUX to make it OS X compatible and to actually compile and build FCEUX. If you have homebrew installed, you can build FCEUX and the necessary dependencies with the following command:

brew install fceux

If you want to compile a command-line only version, you can use this command:

brew install --no-gtk fceux

Currently, the emulation window and the GTK GUI window are in two separate windows due to a limitation in the OS X X11 implementation. I have not yet tried Quartz yet, but it might work properly in a single window with that. Keep in mind that FCEUX was not originally intended for OS X, but SDL and the rest of the libraries utilized by FCEUX are available for OS X.

As always, patches are welcome.  If you run into issues first check the website and file a bug on the sourceforge tracker if necessary. Feel free to drop by #fceu in irc.freenode.net for any fceux-related discussion.

Here is the Ruby "Formula" for FCEUX in Homebrew's GitHub that I wrote if you want to check it out. You don't need that link if you want to build FUCEX however -- you can simply use the brew commands above

.

Cheers!

Filed under: Code, Fceux, NES 4 Comments
4Jun/110

FCEUX 2.1.5 Released!

Hey folks!  After many nights of dark LCD-lit rooms, coffee, and code the FCEUX team is pleased to bring you FCEUX 2.1.5.  Most notably, the GTK GUI for SDL platforms (Linux, BSD, OSX) has been drastically overhauled and moved from the previous two window layout (game window/menu window) into a single integrated window.

For the full list of changes, check the official press release and download it here.

For build instructions for SDL, check out my previous post.

Edit 6/17/11 - Arch Linux now includes fceux 2.1.5 in their community repository, so you can fetch it with "pacman -Sy fceux" (link).

If you're an impatient archlinux user, you can use this PKGBUILD with makepkg to build a fceux 2.1.5 package for your system before the official package is updated in the community repository. Just use the following commands:

  • sudo abs community/fceux
  • cp -R /var/abs/community/fceux /tmp
  • cd /tmp/fceux
  • rm PKGBUILD
  • wget http://xannode.com/PKGBUILD
  • makepkg
  • sudo pacman -U fceux-*.pkg.tar.xz
  • Enjoy!

    -Luke

    Filed under: Code, Fceux, NES No Comments
    8May/117

    FCEUX 2.1.5

    FCEUX (FCE UltraX) ((FamiComEmulator UltraX heh)) has been a project I've been contributing to since 2007.  FceuX (http://fceux.com/) is a cross-platform NES (Nintendo Entertainment System) (so many acronyms!) emulator written in C++ that sports a wide-feature set, excellent ROM compatibility, and accurate emulation.  Thanks to the hard word of myself (http://sourceforge.net/users/punkrockguy318) and sf:plombo (http://sourceforge.net/users/plombo/), fceuX now also can brag about its integrated GTK2 GUI:

    FceuX 2.1.5 hasn't been officially released yet (as of this posting), but if your running Linux or most other SDL capable platforms you can get the latest code from subversion and enjoy the new features for yourself.  The code in svn is pretty stable right now (the release is imminent), so it's safe to run this and your computer shouldn't explode (no guarantees :) ) It's pretty simple to compile, so I'll just post the instructions here for anyone that is interested.

    First, install the dependencies with your package manager (or from source if you're one of those kinds of people):

    • g++
    • scons
    • libsdl
    • libz
    • libgtk2 (optional)
    • subversion

    Now, let's grab the latest fceux source:

    • svn checkout http://svn.code.sf.net/p/fceultra/code/fceu/trunk fceultra
    • cd fceultra/

    You can edit the "SConstruct" file if you want to turn compile-time options (like GTK) on or off.

    Now compile like so:

    • scons

    After a successful compilation, the fceux binary will exist at ./src/fceux .  You can install it wherever you'd like (or use "./install.sh to install to /usr/local/bin) and start enjoying some damn Nintendo games.

    The release is coming soon, so hopefully your-distro-of-choice will be including fceux 2.1.5 in their repositories (I know Arch will be...).

     

    PS:  Does anyone want to build a Mac OSX Binary?  ;)  If anyone wants to give it a try give me a shout in #fceu in irc.freenode.net

    Filed under: Fceux, NES 7 Comments