tofergregg / IBM-Wheelwriter-Hack

Turning an IBM Wheelwriter into a unique printer
MIT License
100 stars 11 forks source link

Print Speed #8

Open bitcraft opened 7 years ago

bitcraft commented 7 years ago

I'm opening this issue for discussion about print speed.

I imagine that print speed can be considerably improved if we could reverse-engineer the protocol from a buffered memory device, such as the floppy disk drive, printer port, or even the built in memory on some models. Instead of receiving keystrokes one at a time, the printing mechanism might work faster if it reads data the same way it would with the devices I mentioned.

As an aside, there is a 4865 disk drive on ebay now and I do have my eyes on it (I have a floppy disk controller card). I'd hate to get into a bidding war with anyone else on this project. So, unless it is really wanted by someone else here, I'd like to claim it... I'm reasonable though! I can forego bidding on it... Just looking to avoid a unneeded bidding war.

Leif

tofergregg commented 7 years ago

I think I've reverse-engineered the maximum print speed in the forward direction, and possibly the reverse direction for earlier wheel writers (WW 6 and lower). It uses the same function codes that the built-in centering function uses, and it is pretty fast (see the latest video: https://www.youtube.com/watch?v=0vrvDQmZcPI ). I have a hard time imagining that it could be faster for a couple of reasons -- first, I would assume that the centering function prints the characters as fast as possible, and there is a unique code to print a number of characters one-after-the-other. Second, a back-of-the-envelope calculation based on the radius of the wheel and motor speeds would indicate that it would be hard to make it much faster without running into physics issues.

As for printing backwards fast -- I know that later models do have backwards-printing functionality, and if I could figure out the code for that, it would be possible to print fast backwards (I believe it is probably an analogous command to the fast-forward printing). But, I don't have a typewriter that can do it natively, so I can't easily test it (though I suppose writing a script to simply loop through unknown commands would be possible, albeit slow if I have to continually hard-reset the typewriter).

bitcraft commented 7 years ago

I don't have a data logger like yours. Is it possible to use an arduino to log the data bus? If so, maybe I could investigate reverse printing on my 3500.

tofergregg commented 7 years ago

There is an Arduino library for logic analyzing, but I'm not sure how well it works: https://github.com/gillham/logic_analyzer

I'll see about getting my hands on a 3500 (or similar), too.