Hacker News new | ask | show | jobs
Car hacked to play MarioKart 64 (jalopnik.com)
55 points by morninj 3379 days ago
7 comments

> The hardest control to change from the phyiscal car to the emulator was the steering wheel. The emulator only supported two button presses, one to go right and the other to go left.

The N64, and every N64 emulator I've seen, all support analog input, which Mario Kart 64 uses for steering. I don't get this.

I'm one of the people who made this. This was actually a hackathon project so we didn't use the analog input and instead faked the keyboard presses to the emulator.
Figured it was something like that. Sounds like a lot got lost in translation…
You can also hack your Porsche 911 to play doom: https://www.youtube.com/watch?v=NRMpNA86e8Q
A bit of a warning - if you do this, and play for long - you could have muscle-memory leak into your real-world driving. Take breaks and drive safe!
Here's the blog post from the hack's author: https://www.avidhacker.com/2016/02/29/catchMeIfYouCan/
The car wasn't "hacked" they are reading the canbus and using that data as an input for the controls of a game that runs on a separate computer.

This isn't different than using a USB steering wheel and pedals setup.

It also requires no "hacking" just access to the canbus which can be accessed in most cars through an interface under the steering wheel or in the glovebox.

As long as your car is fairly new all the driver inputs will be transmitted over the canbus.

> We ended up solving the problem by not continously pushing the button down when turning. The further the wheel is turned to the left or right, the greater amount of time the button stays down and the further the car turns.

I'm a little confused at this statement. Does this mean they just had it tapping 'left' or 'right' instead of holding the button down initially?

I interpreted it to mean they used pulse-width modulation, varying the % of time the button was being pressed in relationship to how far the wheel was turned. It's the same trick used to control LED brightness, even though the light only has binary ON and OFF states.

https://learn.sparkfun.com/tutorials/pulse-width-modulation

Hi, I'm actually one of the people who wrote this. That's exactly correct.
I think the other way around. If I understand, it started holding the button, which oversteered. That didn't map onto tapping correctly, so that made a little snippet of code to tap.
Really cool idea. Only, there's no way I could sensibly use my car's steering wheel to control a game without having the engine running for the power steering... I couldn't make it out in the video, but wouldn't this also wear out the tires in less than no time (due to friction with the ground)?
A number of cars are starting to appear with electric steering, bmw and mercs mostly. Maybe there is some way do turn off the linkage?

Not an expert here.Either way this would make waiting for your passengers so much more enjoyable!!

Yes, and it'll wear out the steering gear as well. Best bet is to jack the car up a couple inches at the front and chock the back wheels.
Potentially would make flat spots in the tire but I really doubt that they're going to play this much.
Jack-stands lol.