Google Adsense

 

Great news! After many days of investigating Toshiba’s Bluetooth stack, and possibly injuring my feet while doing it (long story), I can now permanently pair* Wiimotes on Windows, using the Toshiba Bluetooth Stack! That means, from then on, the Wii Remote will instantly and automatically connect to Windows whenever you press any button on the Wii Remote (except the SYNC button), even after restarting the computer or changing the Wii Remote batteries! Just like it does on the Wii (except that the lights keep flashing instead of changing to show the Wiimote number). And it will PROBABLY even work on the new Wii Remote Plus TR remotes! You can even connect your Wiimote to your Wii like normal, and then after you disconnect it from the Wii it will go back to connecting to your computer automatically.

The only downsides are that Windows itself won’t automatically disconnect and switch the Wii Remote off when you don’t use it for a time period. So if you just bump your Wii Remote walking past without noticing, and your computer is still on, your Wiimote batteries will go flat. And we don’t know how to fully UNDO this. We can probably undo it on the computer end, but the Wiimote will always try to contact your computer whenever you press a button (at least until you connect your Wiimote to 3 different Wiis). And of course you need the Toshiba Bluetooth stack, because it won’t work on the others.

On the other hand, GlovePIE will now be able to confidently switch your Wiimote completely off while you are not running a script, or maybe even while you ARE running a script but haven’t pressed anything for a time, saving your battery life. That’s instead of just switching off the sound, rumble, leds, IR camera, continuous reporting, and accelerometer and nunchuk reporting like it does now when you stop a script.

But the BEST part is… I didn’t sign any NDA with Toshiba, and have never seen their real SDK, so I can tell everyone exactly how to do it without signing anything, and I can add the feature to open source programs such as Dolphin (and of course to GlovePIE)!

So give me a few days to perfect the technique, and to get the other new features working, and then the new GlovePIE version will have this awesome new feature!

And in case you were wondering, it doesn’t matter what your Bluetooth address is, or what your Wii Remote’s Bluetooth address is, it will still work.

* I don’t know if “pair” is the correct term. It still doesn’t show up in the “Paired Devices” list, (unlike my girlfriend’s phone which didn’t actually pair correctly when I tried to transfer music to it, but nonetheless is listed in “Paired Devices” but not the main window).

And don’t forget, you can donate with this button to support cool features like this (that took a lot of hacking):


When donating, please include a message with any feature requests or which features you enjoyed. I make no promises to implement those features of course, but it's good to know what people want.

 
Godess Remote

an original Wii Remote Plus

There are two new versions of the Wiimote out now that have the Wii Motion
Plus built into the Wii Remote itself. Both versions look like a regular Wii Remote, but with writing in a semicircle around the Wii logo at the bottom of the Wii Remote.

The first version is the original “Wii Remote Plus”, which behaves almost exactly like a normal Wiimote with a Wii Motion Plus extension plugged in the bottom. It is compatible with all the PC and Wii software that supported the original Wiimote. The gold Skyward Sword Wii Remote Plus is one of these, and so (for now) is the one that comes with WiiPlay Motion. Ones bought before November also tend to be this version, including some that came with Wii consoles. They come in all different colours. When you connect it to a computer it says “RVL-CNT-01″. If you open the battery compartment and look inside, it has a code like this: “LMB RVL WR/H-C0″, “LMA-RVL-WR/M-C0″, “LMB-RVL-WR/M-C0″, “LMA-RVL-WR/M-C2″, or “LMB-RVL-WR/Z-C2″. I think the important part is the last digit has to be less than 4.

Wii Remote Plus TR inside

Inside a Wii Remote Plus TR

The second version is the newer “Wii Remote Plus TR”, which doesn’t work with most PC software or with Wii Homebrew Channel, but works fine on all Wii Games, no matter how old. The packaging and outside is identical to the older version. This newer version came out in November. It seems to come in every colour EXCEPT GOLD. When connected to your computer, it says “RVL-CNT-01-TR”, and the PID will be 330H instead of 306H. If you open the battery compartment it has the code “LMB-RVL-WR/Z-C4″, or “LMB-RVL-WR/Z-C6″. A FEW (but not most) of these have a SYNC button on the OUTSIDE of the battery case.

If you have a Wii Remote Plus TR then GlovePIE 0.45 won’t work for you. But I made some modifications to use the new Product ID and the new Bluetooth name. I don’t know if that will be enough to make it work or not. Please test this new EXE file (you’ll need to put it with the contents of the GlovePIE 0.45 zip file too):

TestWiimotePlusTR.zip

and let me know how it works.

 

I’m finally going to release GlovePIE 0.45. I had some other stuff to take care of, and I get distracted easily. For example I decided to quickly write a Turbo Pascal decompiler when I was supposed to be writing GlovePIE. So sorry for the delay.

I’m planning on a 2011 release, which means tomorrow, whether it’s ready or not.

And it will be free!

It will support Kinect via Microsoft’s Kinect for Windows Beta 2 SDK (no other Kinect SDKs are supported in this version, sorry). Kinect support is working, but still a bit preliminary.

And I’ve updated the TrackIR emulation. GlovePIE is now completely 100% free of bad Haiku “poetry”, (not even any encrypted or generated poetry), which should get NaturalPoint off my back. Of course, neither GlovePIE, nor anyone else in the world has ever used any of the terrible “poetry” by NaturalPoint, nor would they want to. But NaturalPoint aren’t genuinely interested in protecting the income they make from the sale of poetry books, they are just trying to trick lawyers into forcing competing (or cooperating) software not to supply the correct password to their TrackIR API.

And GlovePIE can now get past the new encrypted TrackIR protocol in some new games such as DiRT 3, without the use of TrackIRFixer. Not all encrypted games are supported yet though, and some of the old TrackIR games that worked in previous versions of GlovePIE might not work anymore until I perfect my new method of getting in without a signature. But many games are working.

So get ready to look around naturally in driving games while steering an imaginary steering wheel, using the Kinect. Or using Halo Anniversary voice commands in Halo 2, while pointing your gun, swapping weapons, and picking things up with natural gestures. Or whatever else you can imagine.

 

Ahoy mateys! Now that me site be lookin’ shipshape again, I have a post for ye. And, as you wish, I’ll be workin’ on a new GlovePIE version.

Today be September 19, which be International Talk Like a Pirate Day. But ye don’t need to be speakin’ Somali, and I’d ne’er be infringin’ any land-lubber’s copyright. For ’tis a day when we be rememberin’ a time long ago. A time when to be bravin’ the torrent and surf and be up loadin’ pirated wares into the net and tradin’ them from pier to pier at random ports, meant somethin’ completely different. A time when a pirate did hackin’ with a sword, and when a softwear patch covered their eye. Savvy?

Arrgh. I know what ye be thinkin’: “Avast me hearty! Pirates be a cruel and evil bunch of bilge-sucking scurvy dogs, who’d best remain in Davy Jones’ Locker.” And I do not be disputin’ that. But it be fun to talk like them once a year.

I’ve also been playin’ a game with controls like “shake” and “wiggle”, but not like ye be thinkin’. ‘Tis Fold It, a science game where ye solve real protein foldin’ problems for fun and science. Which do be why this post’s a bit late.

 

Sorry about the lack of posts on this blog. I tend to procrastinate when it comes to blogging.

Version 0.44 of GlovePIE has been a bit slow, since I tried to add too many features at once, and some of those features are still half finished. Some people who requested support for new hardware disappeared before they could do the tests I needed on that hardware.

Also, my girlfriend doesn’t like me working for free and not getting paid, and is keen for me to start charging for GlovePIE. Unfortunately, that means I can’t add features to a free version unless I never want to charge for those features. So I’m not sure what to do.

And I decided to write a new virtual reality library for windows, to allow people to write VR applications easily that support the full range of new input devices. But that has taken lots of time.

And I’ve been distracted by elections and other political things.

But mostly I’m just lazy. :-)

Anyway, sorry.

 

Here’s a strange input device you don’t see everyday:

Wild Divine Lightstone

It’s the Lightstone for the game Journey To Wild Divine, sponsored by renowned con-artists and fraudsters: Deepak Chopra, and Andrew Weil.

Although portrayed as some kind of magic crystal, it’s actually a USB biofeedback device that measures your pulse, and how much electricity your skin can conduct. Your skin conducts more electricity when you are stressed (because of sweat). With those two readings your computer can know other things, like: how hard you are exercising, how stressed you are, how relaxed you are, how fit you are, and whether you are telling the truth or lying.

The game it originally came with is basically a relaxation game, where you have to go through a variety of relaxation exercises in order to progress.

Journey To Wild Divine

I hear the game is actually quite fun and useful, if you can tolerate the anti-science bigotry and outright nonsense.

I just added partial support for the LightStone to GlovePIE 0.42, which I’ll be releasing shortly. Currently GlovePIE 0.42 can only read the Skin Conductance Level, and the “Heart Rate Variance” (it goes up to indicate each pulse). I haven’t added code to detect peaks in the HRV yet, so it can’t tell you more useful information like your pulse rate yet (unless you script it yourself).

Actually GlovePIE already supported measuring your heart-rate, if you had a Concept 2 Rowing Machine (“ergo”) connected to your computer by USB.

But the idea of a device that can measure your mental state for game playing is part of a growing trend these days, with the recent release of no less than 3 competing devices that directly measure brainwaves with an EEG: Neuosky’s ThinkGear, Emotiv’s Epoc, and OCZ’s NIA. I’ll talk about them in a coming post.

 

Here’s the same Lego Indiana Jones script, but for the SIXAXIS this time:

// Lego Indiana Jones, SIXAXIS, by Carl Kenner
WASD = sixaxis1.LeftStick + sixaxis1.DPad
Enter = sixaxis1.Start
Esc = sixaxis1.Select
U = sixaxis1.cross
H = sixaxis1.square or sixaxis1.Stabbing
J = sixaxis1.circle or sixaxis1.SwingVertical
K = sixaxis1.triangle
Space = sixaxis1.R1
LCtrl = sixaxis1.L1

ArrowKeys = sixaxis2.LeftStick + sixaxis2.DPad
NumpadEnter = sixaxis2.Start
F2 = sixaxis2.Select
Numpad5 = sixaxis2.cross
Numpad1 = sixaxis2.square or sixaxis2.Stabbing
Numpad2 = sixaxis2.circle or sixaxis2.SwingVertical
Numpad3 = sixaxis2.triangle
NumPad0 = sixaxis2.R1
RCtrl = sixaxis2.L1

 

As you may have noticed, GlovePIE 0.40 and 0.41 didn’t come with any scripts included. That’s because most of the scripts out there were written for much earlier versions, and did things the more complicated and less effective way. Then other scripts copied that way, even though there were now much better ways.

I just wrote a script for Lego Indiana Jones. You can download the demo of Lego Indiana Jones here, if you don’t mind downloading 465 Megabytes. The demo is the first level, which is quite long, and when you finish the first level you get to replay it in Free Play (you can be all the different characters and thus reach new parts of the level).

Lego Indiana Jones is a bit buggy (the game, not my script) when you try to add a second player. You may have to enable it in the menu, and switch player 2 to keyboard 2.

My script is for 1 or 2 players using Wii Remotes and Nunchuks. The controls are based on Lego Star Wars for the Wii, since I haven’t played Lego Indiana Jones on the Wii:

Nunchuk or DPad move around in the game and the menu. They also control when you press against the wall.
+ Selects a menu item, or pauses the game and brings up the in-game menu.
- for player 1 is the Escape key, for player 2 it is the F2 key.
A jumps, or selects from some menus (mostly ones during gameplay)
B shoots if you are holding a gun, or can be used to punch if you are too lazy for gestures
C swaps with a nearby characters, gets in/out of vehicles, or talks to characters
Z builds lego, picks up, drops, throws, uses your special ability (whip, digging, repairing), cancels menus, or lets go
1 in Free Play transforms you into the next character
2 in Free Play transforms you into the previous character

Swing the Wii Remote vertically to use your whip, dig a hole, throw something, pick something up, or drop down from a ledge. Miming any of those actions should work.

Punch with either hand to punch. With the Wii Remote it is more like a stab, so keep your hands at the normal angle. To make it easier, you can also shake the Nunchuk in any direction to punch.

If you have the Microsoft Bluetooth Stack, when you are running the script, hold down 1+2 (for at least 30 seconds) on Wii Remotes to connect them automatically. It will stop searching once the number of wii remotes used by the script are connected.


// Lego Indiana Jones, Wiimote+Nunchuk, by Carl Kenner
WASD = nunchuk1.Joy + Wiimote1.DPad
Enter = Wiimote1.Plus
Esc = Wiimote1.Minus
U = Wiimote1.A
H = Wiimote1.B or Wiimote1.Stabbing or Nunchuk1.Stabbing
J = Nunchuk1.Z or Wiimote1.SwingVertical
K = nunchuk1.C
Space = Wiimote1.One
LCtrl = Wiimote1.Two

H = (|Nunchuk1.RelAcc| > 10) and (not Nunchuk1.Z)

ArrowKeys = nunchuk2.Joy + Wiimote2.DPad
NumpadEnter = Wiimote2.Plus
F2 = Wiimote2.Minus
Numpad5 = Wiimote2.A
Numpad1 = Wiimote2.B or Wiimote2.Stabbing or Nunchuk2.Stabbing
Numpad2 = nunchuk2.Z or Wiimote2.SwingVertical
Numpad3 = nunchuk2.C
NumPad0 = Wiimote2.One
RCtrl = Wiimote2.Two

Numpad1 = (|Nunchuk2.RelAcc| > 10) and (not Nunchuk2.Z)

© 2011 Carl Kenner's Blog Suffusion theme by Sayontan Sinha