I'm posting the source for my monitor program. It will run on a board compatible with the MIT Miniboard and also included is the support for 7 servos hooked to a 4022 counter. It's trivial to change it to run with a 4017 for up to 9 servos. Comments in the program give hints on how to make the connections. Using the monitor is simple. Valid commands at the prompt are 'b, 'w', 's' and 'j'. 's' is for software reset. 'j' followed by an address will jump to that address. The commands 'b' and 'w', followed by a 4 digit hexadecimal address go to byte or word modes. In these modes you get the address/value. You can type in a new value to change te contents of the address. '=' will redisplay that address. go to next address. '-' for previous address and 'w' to switch byte/word modes. Any other input will get back to the prompt. Program variables: A 1ms 32 bit counter is occupying st_hi and st_lo (addresses $00-$03). The 8 analog inputs are sampled every 1MS. The results are held in a0val-a7val (addresses $04-$0b). 4 DC motors are controlled by values in speed1-speed4 ($0c-$0f). Unlike Hexmon 4.0 you do not store the PWM bits! Just put a value in the range -127 to +127 ($81 to $7f) and the program will generate the PWM bits itself. The constant MAX can be changed if a smaller range in required. 0 will stop a motor. Positive values turn in one direction and negative numbers turn in the other direction. The (word) values in sg1s1-sg1s7 ($16-$22) control the pulse width to the servos. Store values in the range 2000 to 4000 ($7d0 to $Fa0) for 1-2 ms pulse. 3000 ($bb8) will send 1.5ms pulses to center the servos. On reset the 4 motors stop and the servos return to their center positions. Enjoy it. Itai Nahshon nahshon@vnet.ibm.com