IR printer observations

Discussion around the SwissMicros DM41X calculator
Post Reply
MeinKuipers
Posts: 58
Joined: Mon Jan 13, 2020 4:49 pm
Location: Netherlands

IR printer observations

Post by MeinKuipers »

I have been playing with a modified IR receiver (based on this https://www.mh-aerotools.de/hp/red-eye/index.htm article) and my DM41X. It was surprisingly easy to implement, I will do a more detailed write-up later.

My goal was to transfer data from the DM41X to my PC, and also use the PC as a printer simulator. I do not have an IR printer, and do not own the IR module, so I cannot compare the behavior with the original. I also do not have the 82143 printer anymore.

So I catch the IR stream with a serial terminal on my PC. Martin Hepperle's software on the Arduino worked alomost immediately, I only had to change the input since I use a slightly different module (with USB integrated). I purchased the HP IR receiver for Laserjet for less than 10 Euro's on eBay. Shipping was actually more expensive than the receiver itself (it came from the UK). Really recommended for DM41X owners! And works with other IR enabled calculators as well, like the WP34S (if you have added the IR led) and probably the DM42

I noticed the following behavior:
* When sending data (printing ALPHA) the stream is pretty fast the first few lines, and then slows down. My assumption is that the DM41X slows down the stream so the printer can keep up. Data is really sent out at the assumed printer speed. Is this observation correct?
* While data is sent, there is no response from the R/S key, so it is difficult to stop a printing program, unless the R/S key is held long enough and the key is registered. Is this intended behavior?

Next is more a feature request. Would it be possible to remove the delay in some way so data can be sent at much higher speed? When sending to a printer simulator there is no need to slow down. As a second question, is there any intention to publish the DM41X printer module sources so we can create our own module with some communication functions? Of course I can send the disassembled module contents over IR and reverse engineer, but it would be much nicer to have some kind of documentation (if that exists at all), so we have some understanding of how to cross the boundary between the HP41 and the DM41X lower levels, so we can send data out relatively easy.
Attachments
DM41X-RedEye.jpg
DM41X-RedEye.jpg (184.69 KiB) Viewed 2803 times
Regards from NL,
Meindert Kuipers DM41X #48
isene
Posts: 48
Joined: Sat Jul 22, 2017 2:02 am

Re: IR printer observations

Post by isene »

Now this is freakin' awesome. Looking forward to the writeup :)
MeinKuipers
Posts: 58
Joined: Mon Jan 13, 2020 4:49 pm
Location: Netherlands

Re: IR printer observations

Post by MeinKuipers »

Just get the IR printer receiver ordered and an Arduino Pro Micro (5V version), the rest is really easy, just a bit of soldering and modding the IR receiver.
Regards from NL,
Meindert Kuipers DM41X #48
MeinKuipers
Posts: 58
Joined: Mon Jan 13, 2020 4:49 pm
Location: Netherlands

Re: IR printer observations

Post by MeinKuipers »

The receiver is the right one. For the Arduino look at the Pro Micro: https://www.sparkfun.com/products/12640. I bought a cheaper clone at a local webshop at € 8, here: https://www.tinytronics.nl/shop/nl/ardu ... o-5v-16mhz. This one is small enough to be built inside the receiver and it has USB, so no extra serial to USB converters.
Regards from NL,
Meindert Kuipers DM41X #48
User avatar
akaTB
Posts: 794
Joined: Tue May 02, 2017 1:56 pm
Location: Milan, Italy

Re: IR printer observations

Post by akaTB »

Thank you Meindert, bought the couple. It will be interesting to see how I will mess it all up... :roll:

I already read Martin's paper a few years ago, but then lost it among all the other documents I collected.
Greetings,
    Massimo
ajcaton
-+×÷ left is right and right is wrong :twisted: Casted in gold
MeinKuipers
Posts: 58
Joined: Mon Jan 13, 2020 4:49 pm
Location: Netherlands

Re: IR printer observations

Post by MeinKuipers »

I have posted my write up at https://www.hpmuseum.org/forum/thread-14858.html. Good luck when reproducing, this is really a fun project and easy to implement.

I did some more digging in the DM41X printer module, and quickly came to the conclusion that it is identical to the original Printer 1E rom (it has the same calculated checksum), so there is not much to hack there to speed communication.
Regards from NL,
Meindert Kuipers DM41X #48
rprosperi
Posts: 1710
Joined: Mon Apr 24, 2017 7:48 pm
Location: New York

Re: IR printer observations

Post by rprosperi »

MeinKuipers wrote:
Wed Apr 15, 2020 4:18 pm
[snip]
I noticed the following behavior:
* When sending data (printing ALPHA) the stream is pretty fast the first few lines, and then slows down. My assumption is that the DM41X slows down the stream so the printer can keep up. Data is really sent out at the assumed printer speed. Is this observation correct?
* While data is sent, there is no response from the R/S key, so it is difficult to stop a printing program, unless the R/S key is held long enough and the key is registered. Is this intended behavior?

Next is more a feature request. Would it be possible to remove the delay in some way so data can be sent at much higher speed? When sending to a printer simulator there is no need to slow down. As a second question, is there any intention to publish the DM41X printer module sources so we can create our own module with some communication functions? Of course I can send the disassembled module contents over IR and reverse engineer, but it would be much nicer to have some kind of documentation (if that exists at all), so we have some understanding of how to cross the boundary between the HP41 and the DM41X lower levels, so we can send data out relatively easy.
Nice project, Meindert! Thanks for posting the docs! :)

Some feedback on your points and questions:

1. As you discovered, the Printer ROM is unchanged.

2. Pressing [R/S] not aborting a program printout is probably a bug and will be investigated; thanks for reporting this.

3. It is actually likely we can add an option that will remove the throttling of the IR output, but some details need to be confirmed first.
--bob p

DM42: β00071 & 00282, DM41X: β00071 & 00656, DM10L: 071/100
Post Reply