Aug 12

Descent Tutorial

Today I present a tutorial on compiling Descent for your Raspberry Pi running Raspbian.  At the end of this tutorial you should have binaries ready to go and and a playable version of the game Descent.  If you don’t want to wait for the compile, I have the binaries ready for you.  Just skip to the end.

  1. Install the required dependancies
    1. sudo apt-get install libsdl1.2debian libsdl-mixer1.2 libsdl-mixer1.2-dev libsdl-image1.2 libsdl-image1.2-dev libsdl-ttf2.0-0 libsdl-ttf2.0-dev libsdl-net1.2 libsdl-net1.2-dev gcc-4.7 scons libphysfs-dev
  2. cd ~/
  3. mkdir descent
  4. cd descent
  5. Download the needed source code:
    1. wget http://sourceforge.net/projects/dxx-rebirth/files/dxx-rebirth/0.57.3/d1x-rebirth_v0.57.3-src.tar.gz
    2. wget http://sourceforge.net/projects/dxx-rebirth/files/dxx-rebirth/0.57.3/d2x-rebirth_v0.57.3-src.tar.gz
  6. Download the needed patches:
    1. wget http://www-user.tu-chemnitz.de/~heinm/tmp/d1x-rebirth-rpi.diff.gz
    2. wget http://www-user.tu-chemnitz.de/~heinm/tmp/d2x-rebirth-rpi.diff.gz
  7. Unzip the source files and the patches:
    1. tar xvfz d2x-rebirth_v0.57.3-src.tar.gz
    2. tar xvfz d1x-rebirth_v0.57.3-src.tar.gz
    3. gunzip d1x-rebirth-rpi.diff.gz
    4. gunzip d2x-rebirth-rpi.diff.gz
  8. You now have to patch the source code with the diff files.
    1. cd into the source code directories.
      1. Descent 1
        1. cd ~/descent/d1x-rebirth_v0.57.3-src/
        2. patch -p1 < ../d1x-rebirth-rpi.diff
      2. Descent 2
        1. cd ~/descent/d2x-rebirth_v0.57.3-src/
        2. patch -p1 < ../d2x-rebirth-rpi.diff
  9. We are now ready to compile!
  10. On the command line enter these two commands:
    1. export CC=gcc-4.7
    2. export CXX=g++-4.7
  11. Descent 1
    1. cd ~/descent/d1x-rebirth_v0.57.3-src/
    2. scons raspberrypi=1
      1. Wait around 30 – 40 minutes.
      2. If there are no errors you should now have a d1x-rebirth executable file in your directory!
  12. Descent 2
    1. cd ~/descent/d2x-rebirth_v0.57.3-src/
    2. scons raspberrypi=1
      1. Wait around 30 – 40 minutes.
      2. If there are no errors you should now have a d2x-rebirth executable file in your directory!
  13. You now need the data files that holds the actual game levels, sounds, artwork, etc.  These are in .hog, .pig, and .ham (descent 2 only) files.  You can get the game content from dxx-rebirth, the creators of this port.  They also have links to the shareware files:
    1. http://www.dxx-rebirth.com/game-content/
    2. http://www.dxx-rebirth.com/download/dxx/content/descent-pc-shareware.zip
    3. http://www.dxx-rebirth.com/download/dxx/content/descent2-pc-demo.zip
  14. Unzip those files by running unzip filename
  15. copy descent.hog and descent.pig to ~/descent/d1x-rebirth_v0.57.3-src/
  16. copy D2DEMO.HAM, D2DEMO.HOG and D2DEMO.PIG  to ~/descent/d2x-rebirth_v0.57.3-src/
  17. You are now ready to play!
    1. Descent 1
      1. cd ~/descent/d1x-rebirth_v0.57.3-src/
      2. ./d1x-rebirth -hogdir . (yes, thats a period at the end that must be there)
    2. Descent 2
      1. cd ~/descent/d2x-rebirth_v0.57.3-src/
      2. ./d2x-rebirth -hogdir .
  18. ENJOY!!


I realize these are a lot of instructions, but I wanted to make them as verbose as possible.
Below are the precompiled binaries with shareware data files already copied over.

Descent 1 Binaries | Descent 2 Binaries

Please let me know if any of this doesn’t work for you.  I wrote down every single step I did when I compiled it, but I’m afraid I may have missed something.  Let me know and I’ll correct it!

-Shea

Aug 10

Friday Post: Descent and photography

Hey all,

Another Friday post here.  A couple of days ago Derhass made a post about getting Descent 1 and 2 ported to the Raspberry Pi with OpenGL ES.  Descent was an amazing game released back in the early 1990’s.  It had true 6 range freedom of movement in a spaceship with 3D modeling.   An amazing game at the time, and one that I could NEVER beat.  I’m in the middle of writing a tutorial on how to patch and compile the game, as well as hosting the binaries themselves.

Today on the Raspberry Pi frontpage is a really cool piece on time lapse photography titled “Painting with light (and a Raspberry Pi)”.  The images are really fantastic:

Time lapse photography

Hope everyone has a good weekend.  I’ll be writing the tutorial up this weekend and should have it posted soon.  Thanks for the view!

-Shea

 

Aug 08

Raspberry Pi – Quake 2

Hey All,

Reefab has spent an amazing amount of time getting Quake 2 to run on the Raspberry Pi.  The port is based off of YQuake2 and has been changed to use OpenGL ES.  It runs quite well on the Raspberry Pi, there is some slowdown but it’s still very playable.

You can download and compile it yourself from his Github repository (which also has really well done compiling instructions), or you can download the precompiled binaries from my site.

  1. Download Binaries (quake2Bin.zip)
  2. unzip quake2Bin.zip
  3. cd quake2Bin
  4. ./quake2
  5. Frag away!

Let me know if you run into any issues with these binaries!

Aug 08

Youtube-Viewer

Hey all,

As you saw in my previous post / video, I was running Youtube videos in fullscreen on my little display.  I was using an application (really just a 2000+ line perl script) that does this for me.  The program is called youtube-viewer (github)

Gcala posted a nice guide on how to set it up and has given me permission to also repost it here.  I’m making some modifications as I had to do a couple changes, but it works.

  1. sudo apt-get install gcc-4.7
  2. export CC=gcc-4.7
  3. export CXX=g++-4.7
  4. sudo apt-get install libwww-perl
  5. sudo cpan -i XML::Fast
  6. sudo wget https://github.com/downloads/ssilverm/youtube-viewer/youtube-viewer -O /usr/bin/youtube-viewer
  7. sudo chmod +x /usr/bin/youtube-viewer

Now just type youtube-viewer on the command line and you are good to go 🙂

List of Commands
all               : play all the results in order
next              : go to the next page (same as <ENTER>)
back              : return to the previous page
login             : will prompt you for login
logout            : will delete the authentication key
[integer]         : play the corresponding video
i, info [i]       : show more informations about one video
c, comments [i]   : show video comments (e.g.: c 19)
r, related [i]    : show related videos (e.g.: r 6)
v, videos [i]     : show author's latest videos
p, playlists [i]  : show author's latest playlists
subscribe [i]     : subscribe to author's channel
like, dislike [i] : like or dislike a video
fav, favorite [i] : favorite a video (e.g.: fav 3)
[keywords]        : search for youtube videos
3-8, 3..8         : same as 3 4 5 6 7 8
8 2 12 4 6 5 1    : play the videos in your order
-argv -argv2=v    : set some arguments (e.g.: -u=google)
e, edit-config    : edit and apply the configuration
load-config       : (re)load the configuration file
/my?[regex]*$/    : play videos matched by a regex (/i)
reset, reload     : restart the application
q, quit, exit     : close the application

Let me know if you have any issues or questions!

-Shea

Aug 06

Youtube in my Raspberry Pi? or Is that an LCD in your pocket or are you just happy to see me…

LCD Screen

This weekend has been fun.  I got my 2.0″ LCD Display from Adafruit in!  It’s an amazing little screen.  Bright, Sharp, Colorful.  MAME, Quake, NeoGeo games all look great on it.  A concern I had was how to power the little screen.  It can take 5v – 12v, and the connector is just two bare wires for power.

After testing the screen with a regular power supply, I decided I wanted to see if I could power it via the GPIO power pins on the Raspberry Pi itself.  I was concerned about the amperage it would require, but after connecting it to pins 2 and 6 (5v and GND), and powering on the Pi, they both turned on and I was watching Raspbian bootup.

Youtube

On the Raspberry Pi Forums, gcala contributed a post with a how to on getting Youtube to play from the command line to omxplayer.

Here is a video I took after getting youtube-viewer running on my Pi:

Hope you all enjoy this!

-Shea

Aug 03

Friday Post: Woo! Long week…

Hey all,

This has been an interesting long week.  I’m really happy with the feedback I’ve recieved regarding the Raspbian binaries I released.  I got linked to by Adafruit which is awesome!  I purchased one of thier little 2.0″ LCD TVs.  Still waiting for it to arrive, but I plan to do some fun things with that small screen and the Raspberry Pi.  Bensoutlet.com has on sale the Motorola Lapdock for $59.99 which is a really good price.  Theres a 14 page forum post about how people are using it to make Raspberry Pi laptops.

My next goal is to write up some tips and tricks for the emulators that my commentors have posted, and still working on getting Love2D to work.

Hope everyone has a good weekend!

-Shea

Jul 31

Raspbian on Raspberry Pi – MAME, MESS, Quake3, NeoGeo, and Cave Story Binaries

Initial impressions with Raspbian.  Everything seems to be either playable or faster than before.

  • MESS is noticably faster.
  • MAME was a LITTLE faster (it all depends on the game).
  • Gngeo (Neo Geo) was still playing at full speed.
  • Cave Story works fine as long as music is disabled.
  • Quake 3 Arena plays but sometimes crashes (as seen in the video)

Binaries are available below:

Let me know if something doesn’t work or if you need help.  Hope everyone likes these!  Thanks to those who helped put some of these binaries together!

Tutorials Available Here

Jul 27

Friday Post: Raspbian

I once read some very good advice about blogging, and that is to have a schedule and keep to it.  This blog has been my brain dump, I post things when I think about them.  I don’t really preplan for my posts.  Something gets completed, it’s cool, I write it down.  I’ve slowly gained a small community of some really cool people here, and I think it’s only fair to everyone that I at least post once a week regardless.

With that said, I’m going to post something every Friday.  I hope you enjoy.  Now on to the content!

I’ve been playing around a bit with the Raspbian release.  I’ve started to recompile all the binaries I released, and will be posting them online once they are to my liking.  I’ve found some hiccups along the way, but I seem to be working through them.

My goals:

  • I really want to get Cave Story working without the lag every 5 seconds.
  • Get Quake3 running again (seems a commenter has been working on that!)
  • Recompile AdvanceMESS and AdvanceMAME
  • Recompile Gngeo and get full screen working right.
  • Get a frontend running that will work with these emulators
  • Get Love2D running.

I got my second Raspberry Pi in the mail yesterday.  This one comes from RS.  The big differences I’ve seen so far in the board itself is that the silkscreening is a little different, and the company that supplies the memory is different.  In my Element14 board, the memory is Samsung.  The RS board uses Hynix memory.

I’ll post some pictures later.

-Shea

Jul 23

Raspberry Pi “On/Off” Cable

What started out as a funny thought is now reality.  I spent about an hour splicing, soldering, taping, and heat shrinking this fun little cable together.  It’s a microusb to microusb extension cable.  I split it in half, cut off the data wires, soldered the ground cable back together, wrapped electrical tape around it, then soldered each end of the Vcc wires to the power switch.  I taped them up, then tried to heat shrink as much as it as possible.

My frankenstein cable works 🙂

P.S.: All the items needed I got from Sparkfun.com (except the usb extension cable)