ROB the Robot programming?

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: ROB the Robot programming?

Post by Pokun »

I guess so, but I'm wondering, it might be worth testing again before adding ROB to the wiki. UglyJoe seems to just have taken the commands from this Atari Age thread which has these 10. That thread also had some misconceptions I think.

In Block/Gyro there's a test mode that keeps making the screen blink green until you press SELECT. While this is going on ROB's LED will, if ROB is looking at the TV, blink somewhat slowly. This is for the user to adjust ROB's head until it's looking at the TV (LED starts blinking). But in our test program the TEST command will only make the LED light up, and there seems to be no way to turn it off (it might turn off automatically after a while, I don't remember). Therefore there might be another command that is used to turn the LED off or something. It's possible it's just sending the TEST command over and over though, but from my observations the TEST command is not a LED toggle.

I have a Famicom Robot but no CRT TV nearby at the moment, so I can unfortunately not do any tests.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: ROB the Robot programming?

Post by lidnariq »

Do you have an LED? We can try tepples's suggestion pretty easily.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: ROB the Robot programming?

Post by Pokun »

Yes I have some LEDs and other parts laying around. I could try it if someone told me what to do.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: ROB the Robot programming?

Post by lidnariq »

Well, as far as "super quick" options, I just tried plugging an "ultrabright" red LED into my NTSC NES deck video output, verified that I could see it flicker at 60Hz, and then verified that the Zapper could pick that up.

Should be an OK place to start. Might need a current amplifier to allow the NES to drive both a TV input and the LED at the same time.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: ROB the Robot programming?

Post by Pokun »

Current amplifier huh, I don't know electronics enough to know how to design a circuit for that.
I guess I could try working Robot Block's Direct mode in the blind for the sake of testing first though.

In what manner would the LED connect to the video output? I have some LEDs in various colors with built-in resistors designed for 5 V circuits. Could I just connect one of these directly to the RCA-plug's ground- and video-lines?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: ROB the Robot programming?

Post by lidnariq »

Yeah, I just connected VideoCenter --- |>| --- VideoShield and got something that worked.

That will probably only would work with "old" LEDs (red, orange, amber, yellow, yellow-green); "new" LEDs (rich green, cyan, blue, violet, purple, white) probably have too high of a required voltage.

I also tried VideoCenter --- |>| --- TV input center and separate Shield --- Shield and got something that ... technically worked but was very marginally visible. Just barely enough for me to see the output of tepples's Zapper test program.

The other final quick configuration you could try (which I've not tested) would be:

Code: Select all

VideoCenter ---+--- TV input center
               |
               +-|>|-+
                     |
VideoShield ---------+--- TV input shield
but there's a chance that the TV's input impedence will be too small for the voltage to be high enough for any current to flow through the LED. This is the first one that even could drive both the LED and TV at the same time usefully, though.

The "current buffer" I was describing would be shaped like this:

Code: Select all

VideoCenter ---+--- TV input center
               |
             ~10k
               |     c---|<|---Vext
               +--b|< npn
                     e
VideoShield ---------+--- TV input shield
Vext could be 3V from some batteries, 5V from somewhere inside the NES, or anything below your BJT's Vcemax
berries.machine
Posts: 1
Joined: Wed Feb 09, 2022 1:54 am

Re: ROB the Robot programming?

Post by berries.machine »

Hi everyone!
I just registered in, this is my first post.

I live in Japan and recently I got a famicom ROB!
I believe it is in working order.
I put fresh batteries and he does initialise fine in the center position.

I am not so willing to buy a CRT TV, not because it is expensive but because it takes space (I live in a tiny place…).
So i will be quite happy to control ROB with the LED trick.

First I did not had any electronic parts available, so i took my TV remote and start to flash some command into his left eye.
To my surprise ROB responded, quite randomly, but he did few various move. Not all of them.

Next step I soldered a IR led (from a gameboy) directly to the composite output of my famicom.
Then I start the game Gyro and selected Test mode.
This would make the ROB led blinking when input the led in front of his eye.
Sometimes he would execute commands or re-initialize by himself.
So it works, but quite random…

The I tried the direct mode and ROB did not respond at all.

So there it is.
Working quite randomly and i am not sure why.
Maybe the led is not powerful enough?
Should i try a normal red or blue led ?
Do i need to amplify the signal maybe?
Add a resistor? Or a special filter to strip composite signal?

There is something different in the signal between test and direct mode for sure.

Also I was thinking to use a wii bar sensor for the led.

But most of all, what about the theory? Should it works?

Thank you for your help!
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: ROB the Robot programming?

Post by Pokun »

I think I tried it too, but I don't think I got the LED to blink at all.

BTW I made a robot testing program here that can do all commands (including non-working ones).
Post Reply