Close

Creating the Parallel Port Emulator

A project log for A '90s Robot Hacked Back

The ‘92 Marcraft RS2200 ProArm is hacked back to life by enabling it to be programmed from any everyday laptop.

lmbluejayLmBlueJay 07/23/2022 at 15:440 Comments

Reference the Interfaces and Handshake protocol file on this project. 


The base of the ProArm houses all the drivers for the stepper motors, a microcontroller (TI Z80), power interface, programming interface, and some other extra interfaces (you can read more in the manual). 

The microcontroller comes preprogrammed with the robot. It holds the logic for executing commands and for acknowledging/initiating the handshake protocol for the system. As detailed in the manual, the microcontroller expects to receive 8bit combinations of numbers and specific ascii characters.

Because my hack-it-back solution is non-invasive to the robot control system, the old manual for the ProArm still remains relevant. In other words, the manual can be referenced to create the commands I would like to send to the ProArm. 

Knowing that I could use the manual to understand what commands to send, I just needed to create a script to translate the ascii characters and numbers into 8bit packages. 

In my script, sets of commands are stored in an array. Then a function within the script translates the commands to binary, 8bit lines. Lastly the handshake protocol is initialed and the translated array is sent line by line to the ProArm. That’s a high level explanation. You’ll be able to diver deeper into this Arduino script. 

The last important piece I had to develop was the handshake protocol. I was unable to find the specifics for this in the manual. However, I eventually found the specifics on the website of a Spanish professor. His website was all about the ProArm and how to develop MS-DOS and C++ programs for this robot with its originally intended parallel port.

In this case, the handshake protocol relied on the STROBE pin of the programming interface. It with the right timing sequence, the Arduino was able to perform the right handshake protocol. 

Discussions