On Wed, Dec 16, 2015 at 8:01 PM, Brent Hilpert <hilpert at cs.ubc.ca> wrote:
On 2015-Dec-15, at 6:21 PM, Mike Ross wrote:
On Wed, Dec 16, 2015 at 11:43 AM, Mike Stein
<mhs.stein at gmail.com> wrote:
I have taken Brent up on that :-)
I'll poke a bit more myself and see what we can work out together
before I decide if the effort is worth it.
First crack can be picked up here:
http://www.cs.ubc.ca/~hilpert/tmp/WIOSelectric.pdf
There are a few areas and pins I couldn't discern from the photos.
Mostly around U1 & U6 as the lens angle and lighting is hiding some connections
around those.
If you take another photo or check some of the connections marked in red I can update the
schematic.
I've labeled the host interface connections as per the most likely scenario:
D0-D6: in correspondence to the 'normal' PROM addressing, so D0 is likely
the ASCII LSB.
nSTB: this should be the print-strobe input, looks like active-low.
BUSY/RDY: haven't examined the logic enough to say whether this active-high
or -low for whichever way one chooses to interpret it - BUSY / READY / ACK.
Amazing work Brent!
I've wired the thing up in accordance with your schematics and here
are the results:
On power-up the line we believe is Strobe is high; all others are low
- and I'm monitoring the printer side of the interface here.
I cat file.name > /dev/lp0
The printer prints a character; Linux is waiting. The line we presume
to be Busy/Ready flickers briefly high as it is printed.
I toggle the local/com switch from com to local and back to com:
another character is printed. Linux waits. I can sometimes continue
this process one character at a time by toggling the local/com switch.
At other times toggling the switch sends Linux straight back to the
command prompt.
The characters printed are pretty exclusively semicolons underscores and 8s.
The carriage never advances; all characters are printed at the same spot.
Further observations:
- If I initiate the print with the Strobe line disconnected Linux
returns to the command prompt instantly and nothing is printed.
- If I disconnect the Strobe line after printing has started Linux
returns to the command prompt instantly after the com/local switch is
cycled
- If I disconnect the Busy line prior to starting to print nothing is
printed until I connect the Busy line
- If I print a character by cycling the local/com switch with the Busy
line disconnected a *second* character is printed when I reconnect it.
- Busy flickers high every time a character is printed. The status of
the Strobe line never visibly changes; it always appears high. Might
put a scope on those...
There's clearly something funky going on with signaling - timing or
active high vs. active low. At no time does the printer *ever* print
more than one character without some manual intervention.
http://www.corestore.org
'No greater love hath a man than he lay down his life for his brother.
Not for millions, not for glory, not for fame.
For one person, in the dark, where no one will ever know or see.'