Steel Battalion Controller Grows Up And Gets A Job

We’re going to go out on a limb here and say that the controller for Steel Battalion on the original Xbox is the most impressive video game peripheral ever made. Designed to make players feel like they were really in the cockpit of a “Vertical Tank”, the controller features dual control sticks, three pedals, a gear selector, and dozens of buttons, switches, and knobs. Unfortunately, outside of playing Steel Battalion and its sequel, there’s not a whole lot you can do with the monstrous control deck.

HID Report Descriptor

But now, nearly 20 years after the game released, [Oscar Sebio Cajaraville] has not only developed an open source driver that will allow you to use the infamous mech controller on a modern Windows machine, but he’s part of the team developing a new game that can actually be played with it. Though gamers who are imagining piloting a futuristic combat robot in glorious 4K might be somewhat disappointed to find that this time around, the Steel Battalion controller is being used to operate a piece of construction equipment.

In his blog post, [Oscar] focuses on what it took to develop a modern Windows driver for a decades old controller. It helps that the original Xbox used what was essentially just a rewiring of USB 1.0 for its controllers, so connecting it up didn’t require any special hardware. Unfortunately, while the controller used USB to communicate with the console, it was not USB-HID compliant.

As it turns out, Microsoft actually provides an open source example driver that’s specifically designed to adapt non-HID USB devices into a proper game controller the system will recognize. This gave [Oscar] a perfect starting point, but he still needed to explore the controller’s endpoints and decode the data it was sending over the wire. This involved creating a HID Report Descriptor for the controller, a neat trick to file away mentally if you’ve ever got to talk to an oddball USB device.

In the end, [Oscar] created a driver that allows players to use the Steel Battalion controller in his game, BH Trials. Unfortunately there’s something of a catch, as drivers need to be signed by a trusted certification authority before Windows 10 will install them. As he can’t quite justify the expense of this step, he’s written a second post that details what’s required to turn driver signing off so you can get the device working.

Earlier this year we saw an incredible simulator built around the Steel Battalion controller, were an external “coach” could watch you play and give you tips on surviving the virtual battlefield. But even that project still used the original game; hopefully an open source driver that will get this peripheral working on Microsoft’s latest OS will help spur the development of even more impressive hacks.

Continue reading “Steel Battalion Controller Grows Up And Gets A Job”

Windows 10 Goes To Shell

Windows 10 — the operating system people love to hate or hate to love. Even if you’re a Linux die-hard, it is a fair bet that your workplace uses it and that you have friends and family members that need help forcing you to use Windows at least some times. If you prefer a command line — or even just find a place where you have to use the command line, you might find the classic Windows shell a bit anemic. Some of that’s the shell’s fault, but some of it is the Windows console which is — sort of — the terminal program that runs various Windows text-based programs. If you have the creator update channel on Windows 10, though, there have been some recent improvements to the console and the Linux system that will eventually trickle down to the mainstream users.

What’s New?

So what’s new? According to Microsoft, they’ve improved the call interface to make the following things work correctly (along with “many others”):

  • Core tools: apt, sed, grep, awk, top, tmux, ssh, scp, etc.
  • Shells: Bash, zsh, fish, etc.
  • Dev tools: vim, emacs, nano, git, gdb, etc.
  • Languages & platforms: Node.js & npm, Ruby & Gems, Java & Maven, Python & Pip, C/C++, C# &
  • .NET Core & Nuget, Go, Rust, Haskell, Elixir/Erlang, etc.
  • Systems & Services: sshd, Apache, lighttpd, nginx, MySQL, PostgreSQL

The changes to the console are mostly surrounding escape sequences, colors, and mouse support. The API changes included things like allowing certain non-administrative users to create symlinks. We’ve made X Windows work with Windows (using a third-party X server) and Microsoft acknowledges that it has been done. However, they still don’t support it officially.

Continue reading “Windows 10 Goes To Shell”

Is 2018 Finally The Year Of Windows On The Robot?

Microsoft is bringing ROS to Window 10. ROS stands for Robot Operating System, a software framework and large collection of libraries for developing robots which we recently wrote an introductory article about, It’s long been primarily supported under Linux and Mac OS X, and even then, best under Ubuntu. My own efforts to get it working under the Raspbian distribution on the Raspberry Pi led me to instead download a Pi Ubuntu image. So having it running with the support of Microsoft on Windows will add some welcome variety.

TurtleBot 3 at ROSCon 2018
TurtleBot 3 at ROSCon 2018, Photo: Evan Ackerman/IEEE Spectrum

To announce it to the world, they had a small booth at the recent ROSCon 2018 in Madrid. There they showed a Robotis TurtleBot 3 robot running the Melodic Morenia release of ROS under Windows 10 IoT Enterprise on an Intel Coffee Lake NUC and with a ROS node incorporating hardware-accelerated Windows Machine Learning.

Why are they doing this? It may be to help promote their own machine learning products to roboticists and manufacturing. From their recent blog entry they say:

We’re looking forward to bringing the intelligent edge to robotics by bringing advanced features like hardware-accelerated Windows Machine Learning, computer vision, Azure Cognitive Services, Azure IoT cloud services, and other Microsoft technologies to home, education, commercial, and industrial robots.

Initially, they’ll support ROS1, the version most people will have used, but also have plans for ROS2. Developers will use Microsoft’s Visual Studio toolset. Thus far it’s an experimental release but you can give it a try by starting with the details here.

[Main Image Credit: Microsoft]

Microsoft Live Account Credentials Leaking From Windows 8 And Above

Discovered in 1997 by Aaron Spangler and never fixed, the WinNT/Win95 Automatic Authentication Vulnerability (IE Bug #4) is certainly an excellent vintage. In Windows 8 and 10, the same bug has now been found to potentially leak the user’s Microsoft Live account login and (hashed) password information, which is also used to access OneDrive, Outlook, Office, Mobile, Bing, Xbox Live, MSN and Skype (if used with a Microsoft account).

Continue reading “Microsoft Live Account Credentials Leaking From Windows 8 And Above”

Windows And Ubuntu: “Cygwin Can Suck It”

For the last ten years or so, computing has been divided into two camps: Windows, and everything else with a *nix suffix. Want a computing paradigm where everything is a file? That’s Linux. Want easy shell scripting that makes the command line easy? Linux. Want a baroque registry with random percent signs and dollar symbols? That would be Windows. Want to run the most professional productivity apps for design and engineering? Sadly, that’s Windows as well.

*nix runs nearly the entire Internet, the top 500 supercomputers in the world, and is the build environment for every non-Windows developer. Yet Windows is the most popular operating system. The divide between Windows and *nix isn’t so much a rivalry, as much as people who still spell Microsoft with a dollar sign would tell you. It’s just the way personal computing evolved by way of legacy apps and IT directors.

Now, this great divide in the world of computing is slowly closing. At Microsoft’s Build 2016 developer’s conference, Microsoft and Canonical, Ubuntu’s parent company, announced a partnership that will allow Ubuntu to run using native Windows libraries.

In short, this announcement means bash and the Linux command line is coming to Windows 10. The command line is great, but userland is where it’s at, and here this partnership really shines. Unlike Cygwin, the current way to get *nix stuff running in a Windows environment, Windows’ bash will allow unmodified Linux programs to run unmodified on Windows 10.

It is not an understatement to say this is the most important development in operating systems in the last 10 years. For the last decade, every developer who is not purely a Windows developer has picked up a MacBook for the sole reason of having BSD under the hood. If you’re looking for a reason Apple is popular with devs, it’s *nix under the hood. This announcement changes all of that.

Windows 10 On A Tiny Board

Over the past few months, a number of companies and designers have started picking up the newest Intel SoCs. Intel has to kill ARM somehow, right? The latest of these single board x86 computers is the Lattepanda. It’s a tiny board that can run everything a 5-year-old desktop computer can run, including a full version of Windows 10.

This isn’t the first time we’ve seen a tiny x86 board in recent months. Last October, an x86 board that takes design cues from the Raspberry Pi 2 hit Kickstarter. These are proper PCs, with the ability to run Windows 10, Linux, and just about every other environment under the sun.

The specs for the Lattepanda include a quad-core Cherry Trail running at 1.8GHz. the RAM is either 2GB or 4GB depending on configuration, and 32GB of eMMC Flash. Peripherals include USB 3.0, Ethernet, WiFi, Bluetooth, and integrated graphics supporting either HDMI or a DSI connector.

But of course a computer is just a computer, and you can’t sell a machine that only runs Skype to the ‘maker’ market. The Lattepanda also includes an ATMega32u4 as a coprocessor, giving this board ‘Arduino functionality’. In my day we walked uphill both ways to get a parallel port, but I digress.

While these tiny x86 boards might not be available in a year’s time, and the companies behind them may fall off the face of the planet, the introduction of these devices portends a great war over the horizon. Intel wants the low-power SoC market, a space until now reserved entirely for ARM-based devices.

Raspberry Pi And Windows 10 IoT Core: A Huge Letdown

Last Spring, Microsoft unveiled their plan for Windows and the Internet of Things. It starts with the Raspberry Pi and Windows 10 IoT Core – a stripped down system with Windows API calls running on an ARM architecture. Yes, Microsoft is finally moving away from the desktop, building a platform for a billion Internet of Things things, or filling the gap left by tens of thousands of POS terminals and ATMs running XP being taken offline. Either one is accurate.

Earlier this week, Microsoft announced the first public release of Windows 10 IoT Core. This is the review, but here’s the takeaway: run. Run as fast as you can away from Windows IoT. It’s not worth your time unless you have a burning desire to write apps for Windows, and even then you could do a better job with less effort with any Linux distro.

Continue reading “Raspberry Pi And Windows 10 IoT Core: A Huge Letdown”