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.
IR printer observations
-
- Posts: 58
- Joined: Mon Jan 13, 2020 4:49 pm
- Location: Netherlands
IR printer observations
- Attachments
-
- DM41X-RedEye.jpg (184.69 KiB) Viewed 2803 times
Regards from NL,
Meindert Kuipers DM41X #48
Meindert Kuipers DM41X #48
Re: IR printer observations
Now this is freakin' awesome. Looking forward to the writeup
-
- Posts: 58
- Joined: Mon Jan 13, 2020 4:49 pm
- Location: Netherlands
Re: IR printer observations
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
Meindert Kuipers DM41X #48
-
- Posts: 58
- Joined: Mon Jan 13, 2020 4:49 pm
- Location: Netherlands
Re: IR printer observations
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
Meindert Kuipers DM41X #48
Re: IR printer observations
Thank you Meindert, bought the couple. It will be interesting to see how I will mess it all up...
I already read Martin's paper a few years ago, but then lost it among all the other documents I collected.
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 Casted in gold
Massimo
ajcaton
-+×÷ left is right and right is wrong Casted in gold
-
- Posts: 58
- Joined: Mon Jan 13, 2020 4:49 pm
- Location: Netherlands
Re: IR printer observations
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.
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
Meindert Kuipers DM41X #48
Re: IR printer observations
Nice project, Meindert! Thanks for posting the docs!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.
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
DM42: β00071 & 00282, DM41X: β00071 & 00656, DM10L: 071/100