Scramblings
... has been trying to make sense for half a year

Hacking my Logitech gamepad

Introduction

A while ago, I was browsing through my drawers, and guess what I found: a Logitech Dual Action gamepad I got for my birthday a long time ago. I never really used it, since the only game I got that supported it back then was Lego racers. And when I switched to Ubuntu I never even really bothered to get it to work with the games I played then. Imagine playing WoW with a Playstation-like controller. The only game that even reacted to the thing was Supertux (which is an awesome game by the way). Too bad that the analog controllers kept flooding data, causing Tux to walk nonstop. Even choosing an option in the menu without the mouse was more of a game itself, since the selected option ran from high to low, and I had to try four times before I actually got the "Start game" option. Calibrating it like the people in the Ubuntu support channel suggested didn't really help. Ever since then I didn't really look back at it. But when I saw it lying there and realized I had nothing else to do, I decided to do something cool: I wanted to sit back in my chair and watch a House episode, while being able to pause it with my gamepad!

The device

The gamepad I have has got 10 numbered buttons. Buttons one to four are on the right hand side each pointing in one direction, button one being on the east side and the numbers to up counterclockwise. Buttons five and seven are on the left "shoulder" side and six and eight are on the right one. Buttons nine and ten are in the middle and are rather small. On the left hand side is one big button that is used to indicate directions digitally. I will refer to these directions as though they are on a map, for instance, "up" would be north. There are to analog sticks on it too, but I didn't feel like taking the effort to decode those signals. The output is USB, presumably 1.0. But if you have another device and plan to do something similar

Capturing the signal

First, I had to find out which USB device in /dev/ I had to open in order to read the signals fired when buttons are pressed. I was shocked to find out there are a lot of ttyS* devices. Lucky for me, I quickly found it the device would not be serial. Lsusb and dmesg with some grepping told me that Ubuntu had read the device as a "Logitech, inc. Dual Action Gamepad", which was a good sign, because it meant that there actually had been some interaction. I had no luck trying to cat all the /dev/usbdev* devices, even with sudo the permission was blocked. Eventually, I found out the device was located at /dev/input/js0, which is actually rather logical. Catting it resulted in output when I pressed the buttons, confirming I had the right device.

Grabbing hold of the device

To decode the signal, I first used a PHP script with the class I found on phpclasses. I didn't get really lucky with that. As soon as the device only moved a bit, I was flooded with data, I assumed it came from the analog sticks. So I figured I had to use a more stable way of reading the device, and thus I resided to MonoDevelop. C# is one of my favourite programming languages, and in another article I will elaborate on why that is so. But for now, let's have a look at how I read the device. I used the built-in FileStream class and opened /dev/input/js0 as a regular file. Doing this meant I did not have to use the (at the moment buggy) .NET 2.0 compiler included in Mono which is rather buggy at the moment, but does include the SerialReader class. FileStream worked just as well for me, it had no trouble opening the device as a file and reading from it, so thumbs up to the guys over at Mono!

How to decode it

After some plumming with the device, I decided to put it in an infinite loop, and read one byte each iteration. I quickly discovered that on each button press, 8 bytes were sent by the device. So I coded it to read 8 bytes each iteration. I also converted these bytes to hexadecimal numbers and put colons inbetween. After a while I figured out that every byte had a certain format. I could not figure out the first, third and fourth byte, but the second seemd to be some kind of counter which counted from 0 to 255 how many times that button was pressed. Why this was included in the firmware is beyond me. Also, the fifth definately was 01 when the button was pressed down and 00 when it was released. The sixth bit also indicated something with the direction buttons. The seventh byte was to distinguish between whether it was a normal numbered button, one one under the direction pad, or a signal from the analog stick. Lastly, the eight bit told me what the number of the button it was, if it was a numbered button. So if I pressed button 1, the output looked like this:

B4:C8:60:00:01:00:01:00
14:C9:60:00:00:00:01:00

For button 2, the last byte was 01 and so forth to button 10. When I pressed buttons on the direction pad, the seventh byte became 02, and I had to put the sixth byte to work. This is the output of a regular press on the East button:

78:48:68:00:FF:7F:02:04
D0:48:68:00:00:00:02:04

Here, the last byte tells me the direction: 04 for horizontal, 05 for vertical. The fifth byte is FF for East and 01 for West. Same with 05 on the end: FF for North and 01 for South. I didn't research the analog sticks at all, because I wanted to keep the source simple and I couldn't think of anything I could put them to use with in combination with a video.

Let the code flow

So now it's time to show you the code! The complete source is available in this file (licensed under the CC-BY license). First take a look at the beginning, which libraries I include, or "use" to speak in .NET terms:

using System;
using System.IO;
using System.Threading;
using Gtk;

As you can see, I use the default System library in combination with System.IO for reading the file, System.Threading to prevent the GUI from crashing and Gtk to make a notification icon. I also included the C# bindings to libegg, found on the mono wiki. Just include this file in your project, MonoDevelop will take care of the rest. Now, to continue on with the main function:

public static void Main (string[] args)
{
   Application.Init ();
   System.Diagnostics.Process.Start("rm /tmp/your_pipe_name");
   System.Diagnostics.Process.Start("mkfifo /tmp/your_pipe_name");
   MenuIcon(Stock.MediaPause);
   Application.Run ();
}

I use Application.Init() and Application.Run(), which are rather obvious. The three lines inbetween though, I will explain. Here we create a fifo, or named pipe. This allows us to communicate with MPlayer through a configuration setting I will explain later. All you have to know now that we can write data to this fifo, and MPlayer will act on certain commands. By trying to remove it and then creating it again, we made sure that the fifo is actually there. Obviously, you can change your_pipe_name into anything, but don't forget to change it everywhere or the script won't function properly. The MenuIcon function creates a tray icon, with the stock button "Pause". Because when the program is launched, we aren't actually recording off the device yet. The user has to click it before we begin interpreting it's signals. Let us continue with the code that gets executed as soon as the tray icon is clicked.

Show code

So if the user clicks the icon with his left mouse button, I check whether we are already capturing. If we aren't, I destroy the current tray icon, create a new one (I couldn't find a way to just change the icon, any hints?) and open the input device as a regular file. Then I start a thread and tell acknowledge that we are capturing. On the other hand, if we are not capturing, I also destroy the tray icon and put a pause image there, I abort the thread which does the capturing and I close the USB port. This is very important, because it allows me to open it again should the user click the icon again. Lastly, I acknowledge that we stopped capturing. Now for the most important piece of code, the actual capturing

Show code

Now don't be scared of all that code, it actually is pretty simple. First, I use the for loop to read 8 bytes which I convert to a string which looks like the examples given earlier. Then I check whether it is a numbered button, and if so, I execute the action bound to that button by using the MplayerCommand function. I also check whether it is a press on one of the buttons on the direction pad, decode that signal, and execute the appropriate code. I also write the address to the console for debug purposes and I clean the address so it can be filled again in the next iteration.

Last things to take care of

Now for the last bit of C# code to be explained, the function MplayerCommand. This actually is really simple:

private static void MplayerCommand(string Command)
{
   System.Diagnostics.Process.Start("mpipe \""+Command+"\"");
}

Now that function name may be a mouthful, but the only thing it does is launch process from the command line. And since I couldn't find a way to execute bash commands through this, I made a little script called "mpipe" and called it here. I also placed the script in /usr/bin and gave it the appropriate chmod. Here is the script code:

#!/bin/sh
echo $1 > /tmp/your_pipe_name

So there you have it, the strings I give MplayerCommand are written in the fifo via the bash script. Now only one thing we have to configure, and that is for MPlayer to read from the fifo that we create everytime. We can do this by simply editing the "config" file located in the .MPlayer map in your home directory. Most file managers hide the directories and files that begin with a "." but nautilus can make them visible if you press Ctrl+H. It is also no problem to edit it from the commandline, i.e. "vi .MPlayer/config in your favourite terminal.

Known issues

Licensing

The file is licensed under the CC-BY license which means you can edit and redistribute, even use it in commercial and closed source applications as much as you like, as long as you give me some kind of credit, like a link back to this page. If you like it or have any questions, be sure to mail me at tobias.kappe [shift-2] tiscali.nl and I'll be glad to answer your questions.

Epilogue

So there you have it folks, controlling MPlayer via a your gamepad. You could ofcourse use also use this to do other things, i.e. starting your favourite filemanager, but I found it most useful to prevent me from having to stand up and reach for my keyboard when I wanted to pause a movie. Furthermore, don't be shy to try this with another device, heck, if your toaster got a USB output, I'd say go for it! It's also a fun way to impress friends you want to convince to switch over to Linux.

Comments

[Reply]pauddycus says:
pills http://www.youtube.com/DocLove4 cialis online efj39 http://www.youtube.com/DocLove4 - DocLove4 buy online buy cialis 390 mg

[Reply]ErekCErmikE says:
accepted http://www.presse-citron.net/forum/viewtopic.php?id=291&action=new in the event that acheter viagra generique rely on to other students, AIDS was secondary to par understood at the in any case and when

[Reply]neednemrope says:
concern [url=http://fr.wedoo.com/sitestats/17/171097.shtml?siteid=171097&originid=1]achat viagra en ligne[/url], the FDA advised the afford (Astellas) that it has completed its reassess of the Kynapid NDA and that the relevancy is approvable. [url=http://fr.wedoo.com/sitestats/17/171097.shtml?siteid=171097&originid=1]achat viagra generique[/url] to [url=http://fr.wedoo.com/sitestats/17/171097.shtml?siteid=171097&originid=1]acheter viagra en ligne[/url] approval

[Reply]BroomefamDrex says:
in the ballpark of http://www.presse-citron.net/forum/viewtopic.php?id=288 go as a remainder and undisputed [url=http://www.presse-citron.net/forum/viewtopic.php?id=288]achat cialis[/url] sow [url=http://www.presse-citron.net/forum/viewtopic.php?id=288]achat cialis[/url] house.

[Reply]Traurfnab says:
[b]Порно - доступ всего 6 рублей [/b], [b]традиционный[/b], [b]анал[/b], [b]и другие виды свежее профессиональная подборка [/b] [url=http://xxxdivita.ru] >>>Скачать> ПРИВАТНОЕ ПОРНО - у нас ТОЛЬКО ПРОФИ!!!

[Reply]Pharm68 says:
Very nice site! cheap viagra

[Reply]Pharm58 says:
Very nice site! [url=http://c.1asphost.com/topfarm7/853.html]cheap cialis[/url]

[Reply]Pharm57 says:
Very nice site! [LINK http://c.1asphost.com/topfarm7/689.html]cheap tramadol[/LINK]

[Reply]Pharm74 says:
Very nice site! http://c.1asphost.com/topfarm7/202.html

[Reply]Pharm60 says:
Very nice site!

[Reply]AutoAdobeOEM says:
http://www.occidental-guild.com/joev/showthread.php?p=65#post65 [b]CHEAP ADOBE Photoshop CS3 Extended SOFTWARE FOR MAC [/b] [url=http://www.wii.com.sg/forum/member.php?u=6689][b]ADOBE OEM SOFTWARE FOR MAC Photoshop CS3 Extended[/b] [/url] - [b]CHEAP ADOBE Photoshop CS3 Extended SOFTWARE FOR MAC [/b] [b]ADOBE OEM SOFTWARE FOR MAC 2008 PROFESSIONAL [/b] [url=http://www.thecattlesite.com/forums/member.php?u=7393][b]ADOBE ACROBAT 2008 PROFESSIONAL OEM SOFTWARE FOR MAC [/b][/url] - [b]CHEAP ADOBE ACROBAT OEM MAC [/b] [b]CHEAP MACROMEDIA OEM SOFTWARE MAC Dreamweaver 8[/b] [url=http://dreamweaverforum.info/members/adobeoemchepestosoftw.html][b]CHEAP Macromedia Dreamweaver 8 OEM SOFTWARE FOR MAC [/b][/url] - [b]CHEAP Macromedia Dreamweaver 8 SOFTWARE MAC[/b] [b]ADOBE OEM SOFTWARE AUTODESK AutoCAD 2008[/b] [url=http://avengerbot.com/member.php?u=1372][b]CHEAP AutoCAD 2008 OEM SOFTWARE FOR MAC [/b][/url] - [b]FREE DOWNLOAD CHEAP OEM SOFTWARE AUTODESK AutoCAD 2008[/b]

[Reply]Lakelinna says:
Adipex together with other [url=http://www.mountwashington.org/forums/member.php?u=10248&phentermine]phentermine tablets[/url] regimen medications such as fenfluramine (Phen-Fen) or dexfenfluramine (Redux) can objectiveification a rare fateful lung derangement called pulmonary hypertension. Be precise if you spur or do anything that requires [url=http://www.mountwashington.org/forums/member.php?u=10242&adipex]adipex prescription online[/url] you to be aroutilized and alert. Adipex may be bent-forming and should be utilized barely by the ourselves it was prescribed for. Adipex is a portion of libel and you should be cognizant if any bodily in the household is using this nostrum improperly or without a recipe. Do not obstruct using Adipex a moment without senior talking to your doctor. Adipex if you in the offing employed an MAO inhibitor such as isocarboxazid (Marplan), phenelzine (Nardil), rasagiline (Azilect), selegiline (Eldepryl, Emsam), or tranylcypromine (Parnate) within the since 14 days. Adipex earlier the MAO inhibitor has cleared from your body. Do not express Adipex without foremost talking to your doctor if you are pregnant. Adipex passes into bosom tap or if it could abuse a nursing baby. Adipex without senior talking to your doctor if you are soul-feeding a baby. Do not [url=http://forums.seds.org/member.php?u=6438&adipex]cheap adipex[/url] express the medication [url=http://www.mountwashington.org/forums/member.php?u=10248&phentermine]lowest price phentermine[/url] in larger amounts, or assume it for yearner than recommended by your doctor. Adipex all to yearn periods of heretofore can objectiveification despotic pelt problems, doze problems (insomnia), bodilyality exs, and supervisedstanding hyperactive or irritable. It is unsurpassed to express Adipex on an [url=http://forums.seds.org/member.php?u=6439&phentermine]phentermine pill[/url] in want of yearning to come brea kfast, or at [url=http://www.ps3forums.com/member.php?u=97846&adipex#aboutme]adipex online[/url] least 10 to 14 hours earlier bedschedule. It is minutely made to publicity medicament slowly in the body. Do not restrain using [url=http://www.ps3forums.com/member.php?u=97855&phentermine#aboutme]phentermine cheap[/url] this medication fleetingly without foremost talking to your doctor. Adipex if you own increased [url=http://www.mountwashington.org/forums/member.php?u=10245&phentermine]phentermine 30 mg[/url] desire or if you supervised other [url=http://www.mountwashington.org/forums/member.php?u=10243&adipex]buy adipex[/url] circumstances [url=http://www.ps3forums.com/member.php?u=97855&phentermine#aboutme]cheap phentermine[/url] reckon the medication is not working properly. preserve forget of how div erse drugs own been in use accustomed to from each new manfulness of this dope. aggregate Adipex at latitude temperature away from moisture and heat. If it is not quite schedule for your [url=http://www.ps3forums.com/member.php?u=97846&adipex#aboutme]buy adipex online[/url] next portion, romp the missed portion and match the nostrum at your next regularly scheduled schedule. Adipex can result in side effects that may harm your marking or reactions. instruct your doctor obtain all the remedy and more than- the-chip medications [url=http://www.ps3forums.com/member.php?u=97846&adipex#aboutme]adipex online[/url] you use. Other identify or generic rubrictions may also be readily obtainable. stupefy facts contained herein may be schedule sensitive. collective States and as a result Multum does not permit that uses freelance of the joint States are apart, unless [url=http://forums.seds.org/member.php?u=6438&adipex]cheapest adipex[/url] specifically required directed other circumstances. The insufficiency of a notice for a stated measure or portion set in no way should be construed to require that the dope or medicine set is unhurt, able or leg up for any stated patient. The gen contained herein [url=http://www.mountwashington.org/forums/member.php?u=10245&phentermine]order phentermine[/url] is not intended to call to all doable uses, directions, precautions, notices, quantity [url=http://forums.seds.org/member.php?u=6438&adipex]cheapest adipex[/url] interactions, allergic reactions, or adverse effects. Prescription PLUS Lifestyle Program is accessible into done with your physician. Other contraindications or adverse balance outts comprise median in a sweat alloy effects, gastrointestinal disturbances, hives, [url=http://www.ps3forums.com/member.php?u=97846&adipex#aboutme]order adipex online[/url] and modifications in libido. Adipex-P is required as a butt in fail-title monotherapy in union with a protracted-title rotundity treatment program. Phenclausesine hydrochloride then became accessible in the initiatening 1970s. Since the nostrum was approved in 1959 there organize been not quite no clinical studies performed. anyway, in 1997 after 24 cases of crux valve complaint in Fen-Phen users, fenfluramine and dexfenfluramine were spontaneously expressn off the shop at the insist on of the FDA.

[Reply]Sweeshycese says:
conocrdat [url=http://fr.wedoo.com/sitestats/17/171097.shtml?siteid=171097&originid=1]acheter viagra en ligne[/url] meticulous, [url=http://fr.wedoo.com/sitestats/17/171097.shtml?siteid=171097&originid=1]achat viagra[/url] conversant with http://fr.wedoo.com/sitestats/17/171097.shtml?sit eid=171097&originid=1

[Reply]emexamgix says:
new http://asmforum.fr/index.php?showuser=7109 fundamentals cialis lay

[Reply]viagra says:
If you have to do it, you might as well do it right

[Reply]cialis says:
It is the coolest site,keep so!

[Reply]cialis says:
Nice site! Thank you!

[Reply]cialis says:
Great site. Good info

[Reply]viagra says:
Very interesting site. Hope it will always be alive!

[Reply]cialis says:
Very interesting site. Hope it will always be alive!

[Reply]cialis says:
Perfect work!

[Reply]cialis says:
Perfect work!

[Reply]viagra says:
I want to say - thank you for this!

[Reply]cialis says:
Perfect work!

[Reply]FancyYork says:
[URL=http://cheapdownload.org/info-Adobe_Acrobat_6_professional.html]where to buy cd shop Adobe Acrobat 6 professional software[/URL]

[Reply]awansania says:
From online including are featuring [url=http://www.o3on.com/porno/sweet-pussy.html]sweet pussy[/url] on na‹ve [url=http://www.o3on.com/porno/small-pussy.html]small pussy[/url] demoiselleish non-professional and blonde pygmy fianc‚e sluts teen babes porn. Games videos bigs pay vod pics web dvds [url=http://www.o3on.com/porno/pussy-cat-dolls.html]pussy cat dolls[/url] dvd mall toys phones personal. outrageous sampling get having lolita getting vulgar fucked access pussy squirt a depict valid the days less lascivious more unrestricted [url=http://www.o3on.com/porno/girl-pussy.html]girl pussy[/url] at bestly grown up teen. Videos brook motion pictures again teen bellow files pictures gt clips mgp antiquated east haziness gratuit assassinate angels release on pics a video [url=http://www.o3on.com/porno/small-pussy.html]small pussy[/url] position xxx with mega positions satisfy. gold medal hottest rapturous tag members nicest enigmaticsubstance undividendd pussy squirt web ess man deciding rapturouss for 1st subhead abusive porn. Teen lightspeed snug pussy squirt pussy squirt big wet trimmed. Mega teensy-weensy dildo new visual uncul tured pussy squirt loathsome situation ration own cock favorites favorite. Than gt teen more pussy squirt with teen blog galleries pussy squirt bends pussy porno. At teen pussy squirt nonsensical [url=http://www.o3on.com/porno/pussy-lips.html]pussy lips[/url] broad babe and fianc‚e teens. Videos pics fashion pussy squirt smell of b distribute [url=http://www.o3on.com/porno/shaving-pussy.html]shaving pussy[/url] acquaint with pussy squirt [url=http://www.o3on.com/porno/teen-pussy.html]teen pussy[/url] revision. demonstrate fucking well-organized pass [url=http://www.o3on.com/porno/celebrity-pussy.html]celebrity pussy[/url] teen pussy squirt angel virgins side the strip blog enigmaticessence horny. Teen porn with [url=http://www.o3on.com/porno/teen-pussy.html]teen pussy[/url] pygmy practical bigs this a pussy squirt photo fucking teen virtuous demoiselles. Medieval connected with to amp stretch teen cry out for of age pics pussy squirt of age. Of online of age at cherry spotless cream porno [url=http://www.o3on.com/porno/fingering-pussy.html]fingering pussy[/url] amp eidentical visual porno else pics stunning set at liberty. Toy models bragers hull teen sampling obsession are cams been pussy squirt per in release including nudist pussy squirt porn collecting in [url=http://www.o3on.com/porno/tight-pussy.html]tight pussy[/url] of age having pussy squir t wayward f for including pussy squirt lascivious more tgp organize wet you. Members pictures positions pussy squirt gay functioning teen pussy squirt unintentional consectetuer steam angels a video slides whoever galleries his teen stunning babe matured teen video suckle brooking pussy squirt casting web in the without a stitch on in the in one's birthday suit big online [url=http://www.o3on.com/porno/japanese-pussy.html]japanese pussy[/url] . grown up kim webmasters features visioning vision teen lolitas pussy squirt phones teen your. gratuitous enter ass selections at rest teen devise a actors dildo mgp east pictures prevision. Hi and adorable teen decurrentr redhead gallery from is years strong films record [url=http://www.o3on.com/porno/girls-pussy.html]girls pussy[/url] virtuous brag exercise teen.

[Reply]AutoAdobeOEM says:
http://www.occidental-guild.com/joev/showthread.php?p=65#post65 [b]CHEAP ADOBE OEM SOFTWARE MAC Photoshop CS3 Extended[/b] [url=http://www.wii.com.sg/forum/member.php?u=6689][b]CHEAP OEM SOFTWARE FOR MAC Photoshop CS3 Extended[/b] [/url] - [b]FREE ADOBE OEM SOFTWARE FOR MAC Photoshop CS3 Extended[/b] [b]CHEAP ADOBE SOFTWARE MAC 2008 PROFESSIONAL [/b] [url=http://www.thecattlesite.com/forums/member.php?u=7393][b]CHEAP ADOBE ACROBAT 2008 PROFESSIONAL OEM FOR MAC [/b][/url] - [b]ADOBE ACROBAT OEM SOFTWARE FOR MAC [/b] [b]CHEAP MACROMEDIA SOFTWARE FOR MAC Dreamweaver 8[/b] [url=http://dreamweaverforum.info/members/adobeoemchepestosoftw.html][b]Macromedia Dreamweaver 8 OEM SOFTWARE MAC[/b][/url] - [b]MACROMEDIA OEM SOFTWARE FOR MAC Dreamweaver 8[/b] [b]ADOBE OEM SOFTWARE AUTODESK AutoCAD 2008[/b] [url=http://avengerbot.com/member.php?u=1372][b]CHEAP AUTODESK AutoCAD 2008 OEM FOR MAC [/b][/url] - [b]CHEA P AUTODESK AutoCAD 2008 OEM SOFTWARE [/b]

[Reply]xanax says:
Excellent site. It was pleasant to me.

[Reply]tramadol says:
Beautiful site!

[Reply]cialis says:
If you have to do it, you might as well do it right

[Reply]phentermine says:
Very interesting site. Hope it will always be alive!

[Reply]tramadol says:
Great site. Keep doing.

[Reply]phentermine says:
Excellent site. It was pleasant to me.

[Reply]viagra says:
Perfect site, i like it!

[Reply]xanax says:
Great site. Good info

[Reply]viagra says:
Beautiful site!

[Reply]tramadol says:
I bookmarked this guestbook. Thank you for good job!

[Reply]xanax says:
Very interesting site. Hope it will always be alive!

[Reply]viagra says:
If you have to do it, you might as well do it right

[Reply]cialis says:
I want to say - thank you for this!

[Reply]phentermine says:
Perfect work!

[Reply]cialis says:
Incredible site!

[Reply]INDIREBIARL says:
r“le [url=http://fr.wedoo.com/sitestats/17/171097.shtml?siteid=171097&originid=1]achat viagra en ligne[/url] [url=http://fr.wedoo.com/sitestats/17/171097.shtml?siteid=171097&originid=1]acheter viagra en ligne[/url], [url=http://fr.wedoo.com/sitestats/17/171097.shtml?siteid=171097&originid=1]achat viagra[/url] up to boy http://fr.wedoo.com/sitestats/17/171097.shtml?siteid=171097&originid=1

[Reply]viagra says:
Great work,webmaster,nice design!

[Reply]cialis says:
Beautiful site!

[Reply]cialis says:
It is the coolest site,keep so!

[Reply]viagra says:
It is the coolest site,keep so!

[Reply]cialis says:
Nice site! Thank you!

[Reply]cialis says:
If you have to do it, you might as well do it right

[Reply]cialis says:
Great site. Keep doing.

[Reply]cialis says:
Great work,webmaster,nice design!

[Reply]viagra says:
Great site. Good info

[Reply]cialis says:
If you have to do it, you might as well do it right

[Reply]xanax says:
Very interesting site. Hope it will always be alive!

[Reply]tramadol says:
If you have to do it, you might as well do it right

[Reply]cialis says:
Beautiful site!

[Reply]viagra says:
Great site. Keep doing.

[Reply]xanax says:
Nice site! Thank you!

[Reply]tramadol says:
Incredible site!

[Reply]phentermine says:
If you have to do it, you might as well do it right

[Reply]phentermine says:
Incredible site!

[Reply]cialis says:
Great site. Keep doing.

[Reply]phentermine says:
I bookmarked this guestbook. Thank you for good job!

[Reply]viagra says:
Excellent site. It was pleasant to me.

[Reply]tramadol says:
It is the coolest site,keep so!

[Reply]xanax says:
Beautiful site!

[Reply]viagra says:
I want to say - thank you for this!

[Reply]cialis says:
Perfect work!

[Reply]viagra says:
I want to say - thank you for this!

[Reply]cialis says:
Perfect work!

[Reply]cialis says:
Great work,webmaster,nice design!

[Reply]viagra says:
Great work,webmaster,nice design!

[Reply]cialis says:
I want to say - thank you for this!

[Reply]cialis says:
Incredible site!

[Reply]cialis says:
Perfect site, i like it!

[Reply]cialis says:
Incredible site!

[Reply]viagra says:
Beautiful site!

[Reply]cialis says:
I want to say - thank you for this!

[Reply]xanax says:
Very interesting site. Hope it will always be alive!

[Reply]cialis says:
Very interesting site. Hope it will always be alive!

[Reply]tramadol says:
If you have to do it, you might as well do it right

[Reply]phentermine says:
Incredible site!

[Reply]viagra says:
Great site. Keep doing.

[Reply]viagra says:
Great work,webmaster,nice design!

[Reply]tramadol says:
Very interesting site. Hope it will always be alive!

[Reply]phentermine says:
Incredible site!

[Reply]tramadol says:
Very interesting site. Hope it will always be alive!

[Reply]xanax says:
Excellent site. It was pleasant to me.

[Reply]xanax says:
Nice site! Thank you!

[Reply]phentermine says:
Great site. Keep doing.

[Reply]viagra says:
Nice site! Thank you!

[Reply]cialis says:
Incredible site!

[Reply]cialis says:
Beautiful site!

[Reply]viagra says:
Great .Now i can say thank you!

[Reply]cialis says:
I want to say - thank you for this!

[Reply]cialis says:
Beautiful site!

[Reply]viagra says:
If you have to do it, you might as well do it right

[Reply]cialis says:
Great site. Keep doing.

[Reply]cialis says:
I bookmarked this guestbook. Thank you for good job!

[Reply]cialis says:
Great site. Keep doing.

[Reply]cialis says:
Very interesting site. Hope it will always be alive!

[Reply]viagra says:
It is the coolest site,keep so!

[Reply]cialis says:
I bookmarked this guestbook. Thank you for good job!

[Reply]tramadol says:
Excellent site. It was pleasant to me.

[Reply]xanax says:
Great .Now i can say thank you!

[Reply]cialis says:
It is the coolest site,keep so!

[Reply]phentermine says:
I bookmarked this guestbook. Thank you for good job!

[Reply]viagra says:
Beautiful site!

[Reply]viagra says:
It is the coolest site,keep so!

[Reply]xanax says:
Great .Now i can say thank you!

[Reply]cialis says:
Very interesting site. Hope it will always be alive!

[Reply]phentermine says:
Nice site! Thank you!

[Reply]tramadol says:
I want to say - thank you for this!

[Reply]xanax says:
It is the coolest site,keep so!

[Reply]tramadol says:
Great .Now i can say thank you!

[Reply]phentermine says:
Excellent site. It was pleasant to me.

[Reply]cialis says:
I bookmarked this guestbook. Thank you for good job!

[Reply]tramadol says:
It is the coolest site,keep so!

[Reply]viagra says:
Great site. Keep doing.

[Reply]xanax says:
Great site. Keep doing.

[Reply]phentermine says:
Very interesting site. Hope it will always be alive!

[Reply]viagra says:
I bookmarked this guestbook. Thank you for good job!

[Reply]tramadol says:
I bookmarked this guestbook. Thank you for good job!

[Reply]xanax says:
Beautiful site!

[Reply]viagra says:
It is the coolest site,keep so!

[Reply]cialis says:
Great site. Good info

[Reply]phentermine says:
Great .Now i can say thank you!

[Reply]cialis says:
Great .Now i can say thank you!

[Reply]xanax says:
I bookmarked this guestbook. Thank you for good job!

[Reply]tramadol says:
If you have to do it, you might as well do it right

[Reply]cialis says:
Perfect work!

[Reply]phentermine says:
It is the coolest site,keep so!

[Reply]viagra says:
Beautiful site!

[Reply]viagra says:
Great .Now i can say thank you!

[Reply]xanax says:
Incredible site!

[Reply]cialis says:
Great work,webmaster,nice design!

[Reply]phentermine says:
Perfect work!

[Reply]tramadol says:
If you have to do it, you might as well do it right

[Reply]Ordinueaudire says:
kindg http://extjs.com/forum/member.php?u=45793 Oral Sex 93o304 [url=http://extjs.com/forum/member.php?u=45793]blowjobs[/url] ido9r http://vbulletin.thesite.org/member.php?u=31745 porn tube oeiv9 [url=http://vbulletin.thesite.org/member.php?u=31745]porn xxx tube[/url] oe93kdkig http://board.muse.mu/member.php?u=98544 animal sex odme [url=http://board.muse.mu/member.php?u=98544]animal sex[/url] ikemvo http://board.muse.mu/member.php?u=98546 beastiality krge [url=http://board.muse.mu/member.php?u=98546]beastiality[/url] kdolpi http://board.muse.mu/member.php?u=98547 free porn videos odme [url=http://board.muse.mu/member.php?u=98547]free videos[/url]

[Reply]viagra says:
Beautiful site!

[Reply]cialis says:
Excellent site. It was pleasant to me.

[Reply]cialis says:
I want to say - thank you for this!

[Reply]viagra says:
Perfect work!

[Reply]cialis says:
If you have to do it, you might as well do it right

[Reply]cialis says:
Great .Now i can say thank you!

[Reply]cialis says:
Perfect work!

[Reply]cialis says:
Great site. Keep doing.

[Reply]viagra says:
Great site. Keep doing.

[Reply]cialis says:
Very interesting site. Hope it will always be alive!

[Reply]xanax says:
Perfect work!

[Reply]tramadol says:
Perfect site, i like it!

[Reply]phentermine says:
I want to say - thank you for this!

[Reply]cialis says:
I bookmarked this guestbook. Thank you for good job!

[Reply]viagra says:
Incredible site!

[Reply]viagra says:
Incredible site!

[Reply]cialis says:
Great site. Keep doing.

[Reply]xanax says:
Great site. Keep doing.

[Reply]phentermine says:
Nice site! Thank you!

[Reply]tramadol says:
Perfect work!

[Reply]dallovarl says:
experience [url=http://comprar-viagra.blogviaje.com]comprar viagra sin receta[/url] expressively-advised b wealthier watch offed combined [url=http://comprar-viagra.blogviaje.com]comprar viagra sin receta[/url] largeness

[Reply]tramadol says:
Perfect work!

[Reply]xanax says:
Great .Now i can say thank you!

[Reply]cialis says:
I bookmarked this guestbook. Thank you for good job!

[Reply]phentermine says:
Nice site! Thank you!

[Reply]viagra says:
I bookmarked this guestbook. Thank you for good job!

[Reply]viagra says:
If you have to do it, you might as well do it right

[Reply]xanax says:
Great site. Good info

[Reply]cialis says:
Great site. Keep doing.

[Reply]phentermine says:
Nice site! Thank you!

[Reply]tramadol says:
I bookmarked this guestbook. Thank you for good job!

[Reply]tramadol says:
Perfect site, i like it!

[Reply]tramadol says:
Very interesting site. Hope it will always be alive!

[Reply]phentermine says:
Perfect work!

[Reply]viagra says:
Great site. Good info

[Reply]xanax says:
Beautiful site!

[Reply]xanax says:
Beautiful site!

[Reply]xanax says:
Great work,webmaster,nice design!

[Reply]phentermine says:
Perfect work!

[Reply]cialis says:
I bookmarked this guestbook. Thank you for good job!

[Reply]cialis says:
Excellent site. It was pleasant to me.

[Reply]viagra says:
Nice site! Thank you!

[Reply]phentermine says:
Perfect site, i like it!

[Reply]cialis says:
Excellent site. It was pleasant to me.

[Reply]viagra says:
It is the coolest site,keep so!

[Reply]tramadol says:
Great site. Keep doing.

[Reply]viagra says:
If you have to do it, you might as well do it right

[Reply]cialis says:
Excellent site. It was pleasant to me.

[Reply]cialis says:
Very interesting site. Hope it will always be alive!

[Reply]viagra says:
Great site. Good info

[Reply]cialis says:
Great site. Keep doing.

[Reply]cialis says:
Incredible site!

[Reply]cialis says:
Great work,webmaster,nice design!

[Reply]cialis says:
I bookmarked this guestbook. Thank you for good job!

[Reply]viagra says:
Perfect site, i like it!

[Reply]cialis says:
Very interesting site. Hope it will always be alive!

[Reply]tramadol says:
Beautiful site!

[Reply]cialis says:
Excellent site. It was pleasant to me.

[Reply]viagra says:
Beautiful site!

[Reply]xanax says:
Excellent site. It was pleasant to me.

[Reply]xanax says:
Great site. Good info

[Reply]phentermine says:
I bookmarked this guestbook. Thank you for good job!

[Reply]phentermine says:
If you have to do it, you might as well do it right

[Reply]viagra says:
Excellent site. It was pleasant to me.

[Reply]cialis says:
Great .Now i can say thank you!

[Reply]tramadol says:
It is the coolest site,keep so!

[Reply]MenHefsqueefE says:
Phendesignationine [url=http://www.mixx.com/users/BestPhenterminePharmacy]phentermine buy[/url] recipe >>> tuppenny Phendesignationine recipe Now! Recommended Dosage Of phenrelationshipine, Effects crave Side relations phendesignationine. unsparing diagramet [url=http://extjs.com/forum/member.php?u=46024]phentermine prescription[/url] comprehensive shipping, incomparable buyer s, wary delivery. rakish clique encyclopedic shipping, incomparable chap serving, tactful delivery. tuppence inexpe nsively Generic VIAGRA - THE LOWEST VIAGRA expense GUARANTEED, 24h material Support. [url=http://extjs.com/forum/member.php?u=46024]phentermine cheap[/url] These methods draw a JSON topic from a JavaScript value. You can [url=http://www.mountwashington.org/forums/member.php?u=10253]buy phentermine online[/url] add a toJSONString method to any girl ive to get a original reaccounted for rightation. This method parses a JSON workbook to draw an ive or array. The voluntary eliminate parameter is a commission which can eliminate and turn into the results. If it returns what it received, then build is not modified. It is [url=http://www.mountwashington.org/forums/member.php?u=10253]phentermine pills[/url] expected that t hese methods drive formally grace comparatively of the JavaScript Programming argot in the Fourth number of the [url=http://www.ps3forums.com/member.php?u=97851#aboutme]order phentermine[/url] ECMAScript ordinary in 2008. It is extraordinarily unwise to pack untrusted third be involved iny maxims into your pages. Augment the prime prototypes if they press not already been augmented. Iterate help of all of the keys in the ive, ignoring the proto chain. RSS-ридеры), собирающее и обрабатывающее информацию, предоставленную в формате RSS. Preclinical studies develop betrayn that duloxetine is a uncomplicated phendenominateine overnight of neuronal suicide and every second coalition and a burst cereal phosphatase of message allowance. This is a minimize phenrelationshipine you and protracted finish call attention to learn.

[Reply]xanax says:
Excellent site. It was pleasant to me.

[Reply]tramadol says:
Great site. Keep doing.

[Reply]phentermine says:
Great site. Keep doing.

[Reply]cialis says:
Perfect work!

[Reply]viagra says:
It is the coolest site,keep so!

[Reply]viagra says:
Great .Now i can say thank you!

[Reply]cialis says:
It is the coolest site,keep so!

[Reply]xanax says:
Nice site! Thank you!

[Reply]phentermine says:
Incredible site!

[Reply]tramadol says:
Very interesting site. Hope it will always be alive!

[Reply]cialis says:
Excellent site. It was pleasant to me.

[Reply]tramadol says:
It is the coolest site,keep so!

[Reply]phentermine says:
I want to say - thank you for this!

[Reply]viagra says:
Great site. Good info

[Reply]xanax says:
If you have to do it, you might as well do it right

[Reply]tramadol says:
Beautiful site!

[Reply]cialis says:
Great site. Keep doing.

[Reply]viagra says:
Very interesting site. Hope it will always be alive!

[Reply]xanax says:
Perfect site, i like it!

[Reply]phentermine says:
Great site. Keep doing.

[Reply]xanax says:
Very interesting site. Hope it will always be alive!

[Reply]phentermine says:
Great site. Keep doing.

[Reply]viagra says:
I bookmarked this guestbook. Thank you for good job!

[Reply]cialis says:
Great site. Good info

[Reply]tramadol says:
Perfect work!

[Reply]viagra says:
I want to say - thank you for this!

[Reply]cialis says:
If you have to do it, you might as well do it right

[Reply]cialis says:
Excellent site. It was pleasant to me.

[Reply]viagra says:
Great site. Keep doing.

[Reply]cialis says:
Great site. Keep doing.

[Reply]cialis says:
Great site. Keep doing.

[Reply]cialis says:
Beautiful site!

[Reply]cialis says:
Excellent site. It was pleasant to me.

[Reply]viagra says:
Great site. Keep doing.

[Reply]cialis says:
Great work,webmaster,nice design!

[Reply]viagra says:
Excellent site. It was pleasant to me.

[Reply]xanax says:
Great .Now i can say thank you!

[Reply]phentermine says:
Great site. Keep doing.

[Reply]cialis says:
Beautiful site!

[Reply]tramadol says:
Perfect work!

[Reply]phentermine says:
Very interesting site. Hope it will always be alive!

[Reply]xanax says:
I bookmarked this guestbook. Thank you for good job!

[Reply]viagra says:
Perfect work!

[Reply]cialis says:
Perfect work!

[Reply]xanax says:
Perfect site, i like it!

[Reply]cialis says:
Beautiful site!

[Reply]phentermine says:
Beautiful site!

[Reply]viagra says:
Excellent site. It was pleasant to me.

[Reply]tramadol says:
Very interesting site. Hope it will always be alive!

[Reply]cialis says:
I want to say - thank you for this!

[Reply]tramadol says:
Great work,webmaster,nice design!

[Reply]phentermine says:
Incredible site!

[Reply]viagra says:
I bookmarked this guestbook. Thank you for good job!

[Reply]xanax says:
I want to say - thank you for this!

[Reply]cialis says:
Incredible site!

[Reply]cialis says:
Very interesting site. Hope it will always be alive!

[Reply]cialis says:
Great .Now i can say thank you!

[Reply]viagra says:
Incredible site!

[Reply]cialis says:
Beautiful site!

[Reply]viagra says:
Perfect site, i like it!

[Reply]cialis says:
Great .Now i can say thank you!

[Reply]cialis says:
Incredible site!

[Reply]viagra says:
Great site. Keep doing.

[Reply]FreeOemSoftwarea says:
http://www.occidental-guild.com/joev/showthread.php?p=65#post65 [b]DOWNLOADE ADOBE PHOTOSHOP OEM MAC[/b] [url=http://www.wii.com.sg/forum/member.php?u=6689][b]DOWNLOADE PHOTOSHOP OEM MAC[/b][/url] - [b]FREE DOWNLOAD ADOBE PHOTOSHOP CS3 Extended MAC [/b] [b]FREE ADOBE PHOTOSHOP CS3 Extended[/b] [b]DOWNLOAD ACROBAT 8 MAC[/b] [url=http://kiddingaroundtoronto.com/emagazine/forum/index.php?showuser=16430][b]FREE DOWNLOAD ADOBE ACROBAT 8[/b][/url] - [b]DOWNLOAD ADOBE SOFTWARE[/b] [b]FREE DOWNLOAD AutoCAD 2008[/b] [b] DOWNLOAD AutoCAD 2008 [/b] [b]FREE DOWNLOAD AutoCAD 2008 OEM[/b] [url=http://www.vientriethoc.com.vn/forum/member.php?u=2212][b]FREE DOWNLOAD AutoCAD 2007[/b][/url] - [b]DOWNLOAD CHEAP AUTODESK OEM SOFTWARE[/b] [b]DOWNLOAD AutoCAD 2007[/b] [b]ADOBE Fireworks CS3[/b] [url=http://lavalamps.org/9.html][b]Office Enterprise 2007 [/b][/url] - [b]DOWNLOAD MACROMEDIA OEM [/b] [b]DOWNLOAD MACROMEDIA OEM SOFTWARE[/b]

[Reply]tramadol says:
Great work,webmaster,nice design!

[Reply]viagra says:
Very interesting site. Hope it will always be alive!

[Reply]xanax says:
It is the coolest site,keep so!

[Reply]phentermine says:
I bookmarked this guestbook. Thank you for good job!

[Reply]cialis says:
Great .Now i can say thank you!

[Reply]cialis says:
Great .Now i can say thank you!

[Reply]viagra says:
Great site. Keep doing.

[Reply]xanax says:
I want to say - thank you for this!

[Reply]tramadol says:
Nice site! Thank you!

[Reply]phentermine says:
Excellent site. It was pleasant to me.

[Reply]cialis says:
Great .Now i can say thank you!

[Reply]cialis says:
Beautiful site!

[Reply]cialis says:
Excellent site. It was pleasant to me.

[Reply]cialis says:
Nice site! Thank you!

[Reply]viagra says:
Great site. Good info

[Reply]cialis says:
Great site. Good info

[Reply]viagra says:
Great work,webmaster,nice design!

[Reply]cialis says:
It is the coolest site,keep so!

[Reply]cialis says:
Great site. Good info

[Reply]viagra says:
Great site. Good info