I changed the subject line. "Not malfunction Stephanie!" This version has two kinds of turns (spin left, spin right), not the numerous variations Dan proposed. It was so much simpler this way. After all, the point of this robot is to teach kids (and maybe non-technical adults) in the museum about programming. I might try the more advanced version later, but for now I'm going to put the whole project aside, declare it "Done" (or at least, "Good enough,"), and return my full focus to VCF East stuff (with exceptions for the February workshop when I'll try this using a Laser 128 and the Trenton show on March 18). The program starts and turns off all the bits/motors. Joystick up/down makes it go forward/reverse. Joystick in the middle stops the motors. Button 0 stops the motors, turns on the left tread in reverse, and turns on the right tread in forward. Thus it spins to the left. Button 1 does the opposite of button 0. It'll keep spinning until you let go of the button. When you let go, it reverts to the forward/reverse code. Number five is alive! Special thanks to Dan for FORCING me to understand every single detail. I knew he's right and that there is no magic "make robot" button. :) Hopefully I also taught Dan something about how to teach such things to people who are just as intelligent as him :) but don't necessarily have the aptitude to pick it up so quickly. Two notes: 1. I'm sure some of you will point out places where I could save a line here or a byte there. Chances are I will acknowledge that you are correct, but please don't be offended if I keep it the way it is. Once again, the point of this exercise is to have very straightforward code for kids and non-technical visitors. I will probably make a big poster showing code and a flow chart. 2. Moving the stick left or right does nothing. That's by design. As I said I'm going to take a break from this project for a while. Later I might make L/R movement do what buttons 0/1 do now. That would give people more standard joystick control to drive, backup, and steer. Then I can use the buttons for other tricks, such as turning on the headlights/taillights and controlling the opto/touch sensors. (Last fall, just for giggles, I put a brakelight in the Logo robot at World Maker Faire. Real easy -- when the 'bot stops, turn on the extra light behind a red Lego lens. I could just as easily make backup lights that way -- when the 'bot goes in reverse, turn on more extra lights and make the computer beep every few seconds! Turn signals would also be simple.) Lots of fun possibilities here. Additional thanks to the several other group members and friends-of-our-group who all helped me with parts of this project (I don't want to forget anyone.) It might be a non-impressive program that a lot of you could do at age 15 but it's a big deal to me. -Evan PS. I named this robot "Leinad". -------------------------------- 10 REM INIT LEGO 20 GOSUB 1000 30 M=49344 40 POKE M,0: REM MOTORS OFF 100 REM LISTEN TO JOYSTICK 110 FB= PDL (1) 120 LR=PDL (0) 200 REM STRAIGHT 210 IF FB>75 AND FB<180 THEN POKE M,0 220 IF FB<75 THEN POKE M,5 230 IF FB>180 THEN POKE M,10 300 REM TURNING 310 IF PEEK (49249)>127 THEN GOTO 400 320 IF PEEK (49250)>127 THEN GOTO 440 330 GOTO 100 340 END 400 POKE M,0 410 POKE M,9 420 IF PEEK (49249)>127 THEN GOTO 410 430 GOTO 100 440 POKE M,0 450 POKE M,6 460 IF PEEK (49250)>127 THEN GOTO 450 470 GOTO 100 1000 REM INIT 1001 S=4:L=49280+S*16 1002 POKE L+3,1 1003 POKE L+2,63 1004 POKE L+1,0 1005 POKE L,0 1006 RETURN