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 01

Raspberry Pi and MESS – Multi Emulator Super System – NES, GameGear, Genesis

UPDATE: New Raspbian Binaries Available

Hey All!

Today I present the binaries for AdvanceMESS.  The Multi Emulator Super System.  MESS can emulate somewhere around 250 different home consoles and computers.  It’s not perfect in any sense, but it works for most consoles.

I have currently tested:

  • NES (some games are slow, but it works).
  • GameGear (works)
  • Genesis (slow but works)
  • SNES (couldn’t get it to work…yet)
Instructions:
  1. Download MESS Binaries.
  2. Unzip MESS to the ~/MESS directory.
  3. chmod 777 /dev/fb0
  4. Put your console bios’s into mess/share/advance/rom/
  5. Put your console games into mess/share/advance/image/<console>/ (ie mess/share/advance/image/nes/
  6. CD into mess/bin/
  7. Run advmess with ./advmess
    1. The first time it’s run it will generate a set of folders and files into ~/.advance
  8. edit your ~/.advance/advmess.rc to include the proper display configuration
    1. For HDMI try:
      1. device_video_clock 5 – 50 / 15.62 / 50 ; 5 – 50 / 15.73 / 60
    2. For NTSC TVs try:
      1. device_video_clock 5 – 50 / 15.73 / 60
  9. While still in the mess/bin directory, type ./advmess <console> -cart <filename>
    1. ./advmess nes -cart file.nes
  10. ENJOY!!!

This is one of the weirder setups I’ve tested, but once setup, it works.  If you have any issues, let me know and I will try to help you.

-Shea

P.S. I will NOT help you find console bios or roms.  Please don’t ask.

Official MESS Site

Jun 29

Quake 3 Arena on the Raspberry Pi

UPDATE: New Raspbian Binaries Available

Hey All,

Quake 3 Arena has been available on the Pi for a while now, but it seems the site hosting the files have gone down for the time being.

I’m going to host them here for now.

Quake 3 for Raspberry Pi  

Quake 3 Demo PAKs

  1. It’s a really easy install.  Unzip Quake3.zip so you have /home/pi/quake3/.
  2. Unzip the demo paks into your quake3/baseq3 folder.
  3. Run quake3/start.sh (cd quake3, ./start.sh)
  4. Start fragging!

If you need a really well done tutorial on how to install it, check out the My Raspberry Pi Experience Blog