Spectravideo SVI-2000 programming
This page was last modified 15:30, 18 June 2019 by NYYRIKKI. Based on work by Gdx and Rderooy.

The SVI-2000 RobotArm can be controlled with an MSX, if you have the SVI-2000C ROGO language cartridge. Normally this cartridge starts the ROGO interpreter when inserted (or hangs if slot 0 is expanded), but this can be prevented by inserting the cartridge into a "I/O only slot", or by removing the ROM. After this you can use it for example in your own BASIC or Assembler programs. There exists also modified version of the ROM (by NYYRIKKI) where ROGO needs to be separately launched by typing CALL ROGO on BASIC or by holding "R"-key down during boot. (and compatibility problems are fixed). There exists also further modified version here where ROGO can be skipped with "CTRL"-key. Please note how ever that this further modified version fails selftest and prevents using of more than one disk drive with BASIC/ML programs.

RobotArm will be connected to I/O ports 0 & 1

I/O port 0:

  • bit 0 = Axis 2 (Forward Arm)
  • bit 1 = Axis 2 (Backward Arm)
  • bit 2 = Axis 1 (Arm rotation to the left)
  • bit 3 = Axis 1 (Arm rotation to the right)
  • bit 4 = Axis 5 (Close the hand)
  • bit 5 = Axis 5 (Open the hand)

I/O port 1:

  • bit 0 = Axis 3 (Forearm down)
  • bit 1 = Axis 3 (Forearm up)
  • bit 2 = Axis 4 (Wrist rotation to the left)
  • bit 3 = Axis 4 (Wrist rotation to the right)

Warning: Never put the two bits of the same axis at 1 because this can damage transistors. In addition, be careful to stop the motors before reaching a toe piece.