Google+

Translate

19 June 2015

Retrobit USB Controller Adapter Atari / Genesis on Arch Linux ( also SNES / NES )

This is a fantastic little device, which works fine on windows(only tested on windows 7) But has an issue on Linux operating systems.

The main issue: UP and LEFT directions do not work

My Video from when i first got the device:



This isn't technically a fault with the Linux drivers, simply the Retrobit device is a little funky / non standard, windows doesn't seem to mind, but Linux will not tolerate such sloppiness... Unless you tell it to!

Luckily some smart folks have identified the issue and found a solution.(sources and links at the bottom of this article.)

This fix I'll discuss here is specifically for ARCH Linux and derivatives (for example Manjaro) But can be applied to other Distributions , you'll just need to grab the source code and compile it yourself (unless there's a package for your distro) The source i believe is available on GitHub. and can either be built as an external kernel module or compiled into the kernel but the latter requires compiling a whole new kernel / adding the code and recompiling your current kernel. I'd recommend the external kernel module approach as it's quick n easy.

**GitHub link for RPM/Debian based distros at the bottom**

I'd also recommend you have your Kernel headers installed before building the module.

So:

sudo pacman -S linux-headers

And install the headers for whichever kernel you are using, mine at the time of this post was linux40 ( 4.0.5-1-MANJARO )

Then using the AUR build and install the hid-retrobit-dkms package:

yaourt hid-retrobit-dkms

Or if you want you could do it manually, but yaourt is quick n easy and there's nothing we need to edit or change. Once this has finished building and installed, you then need to test it out and enable loading the module on boot, or if you're happy loading it manually each time that's fine also (could even create a udev rule maybe?)

So, loading the module:

sudo modprobe hid-retrobit

Now hook up your retro-bit USB adapter and connect a controller to it, then test it out with whatever you like, Personally I tested with QMC2 (sdlmame frontend) which is my preferred mame frontend, and has a joystick test / calibration section in it's options where you can easily test things out.

Worked first time for me which makes me very happy as for ages this was bugging me, until i came across the AUR package and the GitHub page.

Load the new module on boot:

make a new .conf file in /etc/modprobe.d/ directory

something like: hid-retrobit.conf

with the following:

#Retrobit hid driver module
hid-retrobit

That's it, the hid-retrobit module should now load every time on boot up.

Synrgy is a happy bunny now, can use my SEGA sticks and pads with the USB adapter and don't have to boot into windows to do it, wins all round!

Sources:

AUR package: https://aur.archlinux.org/packages/hid-retrobit-dkms/

GitHub:  https://github.com/robmcmullen/hid-atari-retrobit

Also on Github looks like RPM and Debian builds?(I have not tried these!)
https://github.com/retuxx/hid-retrobit

Raspberry Pi forum: https://www.raspberrypi.org/forums/viewtopic.php?f=78&t=36564&hilit=retrobit&sid=a62529b02927d6379951594bfc5faaff

17 June 2015

PC Gaming: Syndicate (2012, Starbreeze Studios / EA)



Some more up to date PC Gaming this time round. This time it's (as the title suggests) Syndicate, A First Person Shooter from Starbreeze Studios and EA, also available on PS3 and XBOX 360, sadly however there is no SEGA Dreamcast port... For which I blame EA, and with that said, the lack of a Dreamcast port is not the only issue with Syndicate that EA are to blame for.

Luckily I found this game, and another one on offer from ASDA (supermarket in the uk now owned by walmart) £5 off so the game was only well £5 and although not a new game still a good price and a game I wanted to play, the other title was only £3 (both PC) and delivery was free so all good there.


Now if you are old enough to remember the original Syndicate games, they were a completely different genre and style of game play, so this being such a departure from the original concepts may piss some people off, while I do love the original games and gameplay I also welcome some innovation and a refreshing change when it comes to doing a reboot of a franchise or dusting it off for another release, as trying to copy the original almost always falls well short of hopes and expectations, so I like to keep an open mind.

The Aforementioned Issues:

So this being a recent EA release mean it requires the use of Origin (EA's digital content service) which has improved a lot but is still not great and also not really necessary, seen as more of a burden than anything by many gamers, but that's another rant. Initially I ran into two main issues with this game I will go into below and the solutions to them, but simple but irritating and should have been fixed prior to release if not patched after, which from what I've read the developer wanted to fix at least 1 of them but was not allowed / given the opportunity to do so.
  • Issue One: Installation complete, update complete, now time to play the game right? Wrong! the game attempts to launch but does not, a loading splash screen appears with a progress bar and then promptly disappears and then nothing, This seems to be down to EA's DRM and is easy to fix.
Fix: Navigate to "C:\ProgramData\Electronic Arts\EA Services\License\" (or whichever drive your ProgramData folder is located on if you have more than one, I have 2 ProgramData folders on separate drives so keep that in mind, however most people will have just one on their C: drive) There will be a file called "71061.dif" you can either Delete this file or rename it to something else, make sure the game process is not running in the background and close down Origin also or it may not let you do anything with this file, Once that is done, Launch Origin and the the game and it should fire up nice and quick.
  • Issue Two: The Game incorrectly thinks you have a 360 controller connected, this can happen if you have other USB devices attached to your computer when the game is launched, like joysticks game pads usb audio devices, bluetooth dongles and in my case a gaming keyboard, meaning all the controls and prompts show up as controller buttons like (X) and (A) etc instead of the keyboard and mouse buttons.
Fix: To fis this, you will need to either disconnect the offending device, which sometimes isn't possible nor practical. The fix involves editing the Msystem.dll file which is located in "Syndicate\System\Win32_x86_Release\" where you've installed the game make a backup of this file before editing it with a Hex editor, there's loads out there free and easy to use, I used one from here: http://www.hexedit.com/download.htm.

Once that's installed and you have the copy made, right click on Msystem.dll and click "Open with HexEdit" then go to edit > Go To and put "15 F3F0" in the box which will highlight the row we need to make the changes on, on column's 0C,OD, and OE, change the values to 30, C0, and 90, then SAVE and exit.

This will disable controller detection completely so if you want to use a controller with the game in the future just restore your backed up Msystem.dll, it may also be a good idea to also backup your edited one in case a patch or update / reinstall replaces it.

Fire the game up again and enjoy!

Note: You may also want to mess with the mouse sensitivity as it didn't feel right for me to begin with, but that's personal preference.

Thanks for the fixes goes to:

twiddle87, DoCmOdGod, SpikeBlack
over on Starbreezeforum.se

Issue One original link(post #63): http://www.starbreezeforum.se/viewtopic.php?id=1280&p=3
Issue Two original link: http://www.starbreezeforum.se/viewtopic.php?id=1246





















Using XBOX 360 & Other Controllers on Linux, Arch & Others

Using XBOX 360 & Other Controllers on Linux Arch & Others

Thought I'd make this post to share some info, now this information is available other places and relatively easy to find but may cause new users or new control pad users some frustration when they connect their devices to their GNU/Linux machines.

For the most part, everything works plug n play however X11 likes to let the control pads (being input devices) work like a mouse, and due to them having sometimes multiple analogue functions this can cause annoying issues like the mouse pointer constantly drifting to the top of the screen, controller buttons acting like mouse clicks, mouse cursor being controller by analogue sticks... etc.

  • The Solution is either of the following, although one is a better method than the other.

First method is to remove the Linux "xf86-input-joystick" package, this is a quick n easy / lazy option which is fine if you only want to use an XBOX 360 pad as this has its own driver (xpad) in the Linux kernel, HOWEVER, can / will / may break compatibility with other controllers & joysticks, for example arcade sticks & flight sticks, or generic USB pads.

This package may be named differently depending on your distro but should be easy to find via your package manager. on Arch it's  "xf86-input-joystick"


  • The Second and Preferred Solution:

Personally I use Manjaro as my main OS and I do use multiple game controllers so do not want to lose that functionality, again this is easy and involves creating 1 text file, you will need to do this as root(sudo is fine):


/etc/X11/xorg.conf.d/50-joystick.conf

with the following content:


Section "InputClass"
    Identifier "joystick catchall"
    MatchIsJoystick "on"
    MatchDevicePath "/dev/input/event*"
    Driver "joystick"
    Option "StartKeysEnabled" "False"
    Option "StartMouseEnabled" "False"
EndSection



And that will stop your controllers / pads / joysticks from controlling your mouse input A reboot may be required for this to take effect.

If only using an XBOX 360 pad (other controllers can be made to work too) and you would like some more configuration options you can also use "xboxdrv" instead of xpad, this may require some more configuration but it is another good option, It can be used to make other controllers emulate an XBOX controller, buttons and analogue triggers / sticks can also be remapped.

Here you can download the file if you're too lazy to copy and paste some text ;) 50-joystick.conf