Parallel port output to a file (or parallel to serial for data IO) using a teensy?

deelaleo

Well-known member
I have found an old device called Mivo 100; which basically is a keyboard with a rudimentary LCD screen , a modem and a mail client made for elder people in the early 2000s. It runs on a Z80 CPU.

I would like to use the teensy to simulate either a printer (so when I print an email from the device it goes out and get saved on the teensy, so I can retrieve it later from a PC; as if it was a virutal printer basically) or to be used as parallel to serial IO interface with a computer, so I can send and receive data.

The device has no serial port, just the parallel port and a modem port (and no, can't send email anymore sadly); so I tried to find a way to get this done using a Teensy (got a 4.0 teensy for the project); although what I found online is just references to the parallel standard and not much in terms of how you actually do that in code (there are a ton of serial libraries but seems that nobody really care much about parallel ports? That is peculiar).

Even loolking at simple parallel to serial converters end up with not much, except very expensive devices or cables that let you connect a parallel printer to a USB port on your computer; which won't work as these cables just expect a printer on the other side, not a parallel device.
 
An interesting project.
Do you have schematic for Mivo 100? That would help simplify your endeavor.

Before going down the wrong path, you'll need to determine if Mivo parallel port is bi-directional. Many parallel printer ports are not bi-directional (to save the cost of a few pennies!). Look for a transceiver such as 74LS245 at the Mivo parallel port. If you see 74LS244, then it's not bi-directional. Given it's a Z80 design, you might see a Zilog PIO chip and/or SIO chip.

The parallel printer standard back then is called the Centronics Parallel Interface. An example of pin definitions and signal timing is shown in Epson MX100 printer manual (not a bi-directional parallel interface).
Epson MX100 Printer Manual
You'll find other reference material on the web.

And most importantly, typically, parallel printer ports uses 5V signaling. You'll need to voltage-level translate to the Teensy 3.3V levels (or else watch for magic smoke).

edit1: just watched this video on interfacing Mivo to USB via parallel port (uses chip FT245), about $10 of parts. Links to github (schematics, pcb files) provided in video description. BTW, FT245 chip supports bi-directional transfers with fifo's. FT245 is a generic parallel to USB device, not specific to Mivo application.
Mivo parallel port to USB adapter
I couldn't find any info wrt Mivo parallel port being bi-directional or not. Still a mystery. I suspect it's not bi-directional.

If you can find more info on built-in modem, you might emulate modem signals with Teensy and achieve bi-directional communication with Mivo via this connection. Emulating the Mivo server (with Teensy) might be more of a challenge though.

edit2: found link with dissected Mivo, provides lots of detail on hardware and internal code. Says the parallel port is bi-directional.
Mivo 100 inside description
 
Last edited:
Back
Top