2013-05-14

Recipe: compiling BSNES debugger (laevateinn) on Linux

BSNES is the best emulator around, there's little to say about that. Unfortunately the debugger is no more available in current higan because of refactoring and othe changes the author is making.

Let's get the last working bsnes debugger, laevateinn, compiling & working (spoiler: it.does.not.work) on Linux:

git clone git://gitorious.org/bsnes/bsnes.git
cd bsnes
git checkout v089
cd bsnes
nano nall/Makefile # replace "gcc-4.7" with "gcc"
make -j3 target=laevateinn

Finally the debugger will be found in out/laevateinn, but we are not yet there! It can only work with "cartridge folders".

So let's compile purify as well, and run it:

cd ..
cd purify
nano nall/Makefile # here replace "gcc-4.6" with "gcc"
make -j3
./purify output your-rom-path/ target-directory/


Now we are ready to run laevateinn:

cd ..
bsnes/out/laevateinn target-directory/

However, I could not use it because it shows me a non-sexy black screen :(
Possibly you might pick up the task from there.

Meanwhile I am using T.Geiger's snes9x debugger and I have contacted the author about sharing the sources (fingers crossed!)

Update 23 July 2013: instructions for Ubuntu 13.04 provided by user Jay Oster
NOTE: bsnes looks for its system ROMs in ~/.config/laevateinn/

Dependencies

$ sudo apt-get update
$ sudo apt-get install git build-essential libgtk2.0-dev libasound2-dev
# FOR PURIFY
$ sudo apt-get install libx11-dev

Build Laevateinn

$ git clone git://gitorious.org/bsnes/bsnes.git
$ cd bsnes
$ git checkout d418eda9
$ vim bsnes/nall/Makefile # replace "gcc-4.7" with "gcc"
$ make -C bsnes -j 8 target=laevateinn install

Build Purify

$ vim purify/nall/Makefile # replace "gcc-4.6" with "gcc"
$ vim purify/Makefile # add "link += `pkg-config --libs x11`"
$ make -C purify -j 8

PUTRIFY your ROM library

$ ./purify/purify output your-rom-path/ target-directory/

2 comments:

  1. Hi! The step you seem to be missing is `make install`. bsnes looks for its system ROMs in ~/.config/laevateinn/

    Also I've updated the install instructions for Ubuntu 13.04, including dependencies, in markdown format:

    # bsnes-laevateinn on Linux

    ## Dependencies

    $ sudo apt-get update
    $ sudo apt-get install git build-essential libgtk2.0-dev libasound2-dev
    # FOR PURIFY
    $ sudo apt-get install libx11-dev

    ## Build Laevateinn

    $ git clone git://gitorious.org/bsnes/bsnes.git
    $ cd bsnes
    $ git checkout d418eda9
    $ vim bsnes/nall/Makefile # replace "gcc-4.7" with "gcc"
    $ make -C bsnes -j 8 target=laevateinn install

    ## Build Purify

    $ vim purify/nall/Makefile # replace "gcc-4.6" with "gcc"
    $ vim purify/Makefile # add "link += `pkg-config --libs x11`"
    $ make -C purify -j 8

    ## PUTRIFY your ROM library

    $ ./purify/purify output your-rom-path/ target-directory/

    ReplyDelete
    Replies
    1. there is no make install because as you can see there I prefer to run it from the compilation folder.

      (I like your "PUTRIFY" comment..eheheh)

      I will add your instructions, thanks for the feedback!

      Delete