N64 Controller Serial Protocol Sniffer
This code was written by me, with parts of the N64_Arduino file based on assembly code written by Andrew Brown.
ZIP Archives:
The two Zip files below contain the code needed to run the Arduino and then to interpret the data it sends to the computer. The N64_Arduino file needs to be compiled in the Arduino IDE, and the N64_Controller runs in Processing 1.0.
N64_Arduino
This PDE file should upload to your Arduino and run without a hitch if you have everything connected properly. It simply queries the N64 controller for data on the buttons and Analog stick and sends it back to the computer over the serial port. It is easy enough to modify, for example, you could use the methods from this file to query a controller and use the data to run an Arduino robot instead of transmitting it back to the computer.
N64_Controller
This is a Processing 1.0 project that takes the data transmitted by the Arduino and converts it into keyboard presses that you can map to an emulator like Project 64. You might need to change the line String portName = Serial.list()[1];to match the your Arduino, it should be either Serial.list()[0]; Serial.list()[1]; or Serial.list()[2];
EDIT: Add
'import java.awt.Robot;'
'import java.awt.AWTException;'
'import java.awt.event.InputEvent;'
to the code if you are using Processing 1.1
N64_Controller_mouse
This is the same as N64_Controller, except that the analog stick controls your mouse, not the arrow keys. A and B are right and left click, respectively. To activate the mouse, press the start button on your controller.
The 'amazing' Jon McPhalen (JonnyMac) wrote some code to control Sony LANC cameras' zoom, focus and such, using PST and keyboard to command.
It is based on an 8 byte packet standard LANC protocol, of which bytes 0 & 1 are the 'common command codes' sent to the camera, while bytes 2 & 3 are not used and bytes 4, 5, 6 & 7 are data coming back from the camera. This works great on Sony Cameras and pretty good on Canon & JVC cameras that use this protocol.
The newer Canon cameras employ a different protocol. They call it 'Extended LANC' and it is 16 bytes. The first 8 bytes come from the camera and the second 8 bytes are commands sent to the camera.
I am trying to modify this 8 byte code and Spin object to work with the 16 byte protocol and I'm not having much luck. I have the basic structure in place..
Would anyone like to take a crack at this? (Jon is too busy right now) There are $ available..
I attached the original 8 byte code, my non working 16 byte code and the other required objects.
Thanks in Advance..
John Huffman
209-202-7740
Serial Sniffer Free
Free Serial Analyzer is a non-intrusive Serial Port sniffer and software RS-232/RS-422/RS-485 protocol analyzer for Windows. Using this freeware RS232/RS485/RS422 logic analyzer utility you'll be able to capture and display any data transmitted via Serial Ports of your computer.
Borland delphi history. Once it’s using the same backend as lots of other languages, what’s going to be left to brag about?”Delphi has always been c builder. Also next time you make a program have your blog reporter desgin it lol.