R.O.B.: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(missed a command, h/t forum thread 11445)
(incorporate Pokun's research, including the two "up" commands having been backwards)
Line 2: Line 2:
</blockquote><blockquote>The R.O.B. unit's height is 24 cm (9.6 in). It has a head movement range of a 45° horizontally centered tilt. The arm movement range is 240° left and right with five stopping points, 7 cm (2.75 in) up and down with six stopping points, and 7 cm (2.75 in) between hands when open. The unit has five accessory slots around the hexagonal base, numbered clockwise, starting at the rear-left from the robot's point of view; and notches on the hands allow for specialized parts to be attached for each game. The tinted filter can be optionally attached over the eyes like sunglasses, to compensate for bright televisions or sunlight. The unit is powered by four AA batteries.</blockquote> - from [[wikipedia:R.O.B.|wikipedia]]
</blockquote><blockquote>The R.O.B. unit's height is 24 cm (9.6 in). It has a head movement range of a 45° horizontally centered tilt. The arm movement range is 240° left and right with five stopping points, 7 cm (2.75 in) up and down with six stopping points, and 7 cm (2.75 in) between hands when open. The unit has five accessory slots around the hexagonal base, numbered clockwise, starting at the rear-left from the robot's point of view; and notches on the hands allow for specialized parts to be attached for each game. The tinted filter can be optionally attached over the eyes like sunglasses, to compensate for bright televisions or sunlight. The unit is powered by four AA batteries.</blockquote> - from [[wikipedia:R.O.B.|wikipedia]]


The protocol consists of a series of flashes of light, one bit per vertical sync. It takes 13 vertical syncs to send a command:
The protocol consists of a series of flashes of light, one bit per vertical sync. It takes 13 or 14 vertical syncs to send a command:


000101w1x1y1z
000101w1x1y1z


Ten commands are known to exist, but the encoding could possibly afford sixteen:
If Z is 1, the following field must be 0. [https://atariage.com/forums/topic/177286-any-interest-in-nes-rob-homebrews/?tab=comments#comment-2217299]
 
Ten commands are known to exist:
{| class="sortable"
{| class="sortable"
! wxyz !! command
! wxyz !! command
|-
|-
| 0101 || Up half step
| 0101 || Up full step
|-
|-
| 1100 || Up full step
| 1100 || Up half step
|-
|-
| 0010 || Down half step
| 0010 || Down half step
Line 26: Line 28:
| 1010 || Open the arms
| 1010 || Open the arms
|-
|-
| 1001 || Turn the head LED on
| 1001 || Turn the head LED on permanently
|-
|-
| 0001 || Reset = open arms, seek rightmost/upmost, then go back to center.
| 0001 || Reset = turn LED off, open arms, seek rightmost/upmost, then go back to center.
|}
|}
The other six possible messages have no result.


If Z is 1, the following field must be 0. [https://atariage.com/forums/topic/177286-any-interest-in-nes-rob-homebrews/?tab=comments#comment-2217299]
Additionally, an endless stream of 25 or 30 Hz flashes will cause the LED to blink when R.O.B. sees light from the TV. This helps with aiming the head.
 
Nocash [http://problemkaputt.de/everynes.htm#robroboticoperatingbuddy additionally documents] that an endless stream of 30Hz flashes should also cause the head LED to turn on.


A dump of the firmware has been made [http://www.seanriddle.com/sm590/ here] but it has not yet been disassembled.
A dump of the firmware has been made [http://www.seanriddle.com/sm590/ here] but it has not yet been disassembled.
Line 39: Line 40:
It is not known how wide R.O.B.'s field of view is, but the light sensor is that same as the [[Zapper]]'s.
It is not known how wide R.O.B.'s field of view is, but the light sensor is that same as the [[Zapper]]'s.


See also: [https://learn.adafruit.com/controlling-a-classic-nintendo-r-o-b-robot-using-circuit-playground-express?view=all Controlling R.O.B. with a microcontroller]
See also:  
* [https://learn.adafruit.com/controlling-a-classic-nintendo-r-o-b-robot-using-circuit-playground-express?view=all Controlling R.O.B. with a microcontroller]
* [http://problemkaputt.de/everynes.htm#robroboticoperatingbuddy Nocash's EveryNES § R.O.B.]

Revision as of 18:44, 29 November 2019

R.O.B. (Robotic Operating Buddy) is a toy robot accessory for the Nintendo Entertainment System (NES). It was launched in July 1985 as the Family Computer Robot in Japan, and October 1985 as R.O.B. in North America. Its short lifespan yielded only two games in the Robot Series: Gyromite and Stack-Up.

The R.O.B. unit's height is 24 cm (9.6 in). It has a head movement range of a 45° horizontally centered tilt. The arm movement range is 240° left and right with five stopping points, 7 cm (2.75 in) up and down with six stopping points, and 7 cm (2.75 in) between hands when open. The unit has five accessory slots around the hexagonal base, numbered clockwise, starting at the rear-left from the robot's point of view; and notches on the hands allow for specialized parts to be attached for each game. The tinted filter can be optionally attached over the eyes like sunglasses, to compensate for bright televisions or sunlight. The unit is powered by four AA batteries.

- from wikipedia

The protocol consists of a series of flashes of light, one bit per vertical sync. It takes 13 or 14 vertical syncs to send a command:

000101w1x1y1z

If Z is 1, the following field must be 0. [1]

Ten commands are known to exist:

wxyz command
0101 Up full step
1100 Up half step
0010 Down half step
1101 Down full step
0100 Turns the body left
1000 Turns the body right
0110 Close the arms
1010 Open the arms
1001 Turn the head LED on permanently
0001 Reset = turn LED off, open arms, seek rightmost/upmost, then go back to center.

The other six possible messages have no result.

Additionally, an endless stream of 25 or 30 Hz flashes will cause the LED to blink when R.O.B. sees light from the TV. This helps with aiming the head.

A dump of the firmware has been made here but it has not yet been disassembled.

It is not known how wide R.O.B.'s field of view is, but the light sensor is that same as the Zapper's.

See also: