HP Forums
PX41CX - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: Not HP Calculators (/forum-7.html)
+--- Forum: Not quite HP Calculators - but related (/forum-8.html)
+--- Thread: PX41CX (/thread-19047.html)

Pages: 1 2 3 4 5 6 7 8 9 10


RE: PX41CX - agarza - 09-03-2024 12:25 AM

(09-02-2024 06:13 PM)krischik Wrote:  As promised I made a documentation on how to Receive and send memory dumps with macOS.

Perfect, I will add a link to your documentation on the PX-41CX website.


RE: PX41CX - Pierre - 09-03-2024 06:43 AM

(09-03-2024 12:25 AM)agarza Wrote:  
(09-02-2024 06:13 PM)krischik Wrote:  As promised I made a documentation on how to Receive and send memory dumps with macOS.

Perfect, I will add a link to your documentation on the PX-41CX website.

Me too ! (congratulations: good job !)


RE: PX41CX Receive and Send Dumps - krischik - 09-03-2024 07:35 AM

(09-03-2024 06:43 AM)Pierre Wrote:  
(09-03-2024 12:25 AM)agarza Wrote:  Perfect, I will add a link to your documentation on the PX-41CX website.
Me too ! (congratulations: good job !)

Being Python the tool should work on Windows and Linux as well. It's just that I didn't try it. I updated the Documentation to make that more clear. Now I just need someone to actually try it out.


RE: PX41CX - Pierre - 09-03-2024 10:01 AM

(09-03-2024 07:35 AM)krischik Wrote:  Now I just need someone to actually try it out.

Just replace line 60 in Receive.py
Quote:print (Line.decode ("Latin1"), end='')
by
Quote:print (Line_Array.decode ("Latin1"), end='')

and everything works under Windows!

My Windows command files :

(1) px41cx_Receive_Dump.bat
Quote:@echo off
:start
cls
@echo +====================================+
@echo ! RECEIVE PX41CX DUMP !
@echo +====================================+
SET USB_Serial_Device=COM8:
SET USB_Serial_Speed=115200
SET dump=Dump.px41
SET /P dump="DUMP file ? (name.ext)"
if "%dump%"==" " GOTO enddmp
cd..
python tools/px41cx_Receive.py %dump%
pause
:enddmp

(2) px41cx_Send_Dump.bat
Quote:@echo off
:start
cls
@echo +====================================+
@echo ! SEND PX41CX DUMP !
@echo +====================================+
SET USB_Serial_Device=COM8:
SET USB_Serial_Speed=115200
SET dump=Dump.px41
SET /P dump="DUMP file ? (name.ext)"
if "%dump%"==" " GOTO enddmp
cd..
python tools/px41cx_Send.py %dump%
pause
:enddmp

to adapt according to your own context.


RE: PX41CX Firmware installation on macOS - krischik - 09-03-2024 03:38 PM

As promised I have written a proper installation guide for macOS and Linux.

https://calculator-scripts.sourceforge.io/px-41cx/firmware/

Linux, of course, is untested.



RE: PX41CX Firmware patch - krischik - 09-04-2024 07:39 PM

Hello,

I updated the firmware flash script to also patch the firmware first. Now you can download the newest version, apply a patch and flash a new firmware in one go. On macOS and Linux that is.

https://calculator-scripts.sourceforge.io/px-41cx/patch_firmware/

Regards

Martin



RE: PX41CX screenshots - krischik - 09-06-2024 04:08 PM

Hello,

Pierre (mostly) and me (a little) created a python script which will download screenshots without the need of copy paste. It can store multiple screen shots so there is no need to restart the program. Usage is fairly simple:

Code:

export USB_Serial_Device=/dev/tty.usbserial-14440
export USB_Serial_Speed=115200

Screenshots.py Image 

For screen shots use «MENU» ⇒ «SHIFT» on the PX-41CX
Press `Ctrl-C` to end the program.

Image00.bmp
Image01.bmp
Image02.bmp
Image03.bmp
^CTraceback (most recent call last):
  File "/Users/Shared/Work/Projects/Calculator-Scripts/PX-41CX/Dump/Screenshots.py", line 58, in <module>
    Line_Array = Device.readline ()
                 ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/serial/serialposix.py", line 565, in read
    ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^​^^
KeyboardInterrupt

[Image: image00.bmp] [Image: image01.bmp] [Image: image02.bmp] [Image: image03.bmp]

Further details and download on my page: https://calculator-scripts.sourceforge.io/px-41cx/screenshot/

Martin



RE: PX41CX - ian5251 - 09-12-2024 08:25 AM

Hi,
Thanks Alex for a great kit. I bought myself the PX-15C a few months ago, and my daughter bought the PX-41CX for my recent birthday. I enjoyed the build process on both very much.
I've managed to get my head around the python tools to a) upload new firmware and b) to modify the firmware with personalised settings - I've updated the "info" text and am using 0902 firmware.
I have also worked out how to dump and load from and to the PX-41CX via the serial port (I'm using Windows 11 and CoolTerm as recommended).

<EDIT> I believe my problems were PEBKAC - my own fault. I suspect I was habitually pressing the lower-right button expecting to hit R/S, but of course the ON button is there now. <insert facepalm>
I have a program on the PX-41CX that behaves incorrectly. At a certain point in the program, the calculator turns itself off, but turning it back on and pressing R/S gets it going again and the program resumes. Depending on the answers to the early questions my programs ask, this behaviour can happen once or twice, but there after, the program runs fine. The program I wrote was to track the progress of T20 or 50-Over cricket matches. If you want to upload and run it (the program name is "RPO" for Runs Per Over), the calculator dump is:-
Code:
PX41
04 05000000000001 00000000000000 00000000000000 00000000000000 
08 4b000000000000 97025ffffff0ff 301030103103da 00000000000000 
0c 000000000011da 1ed001691e215a 0000003c048000 80000000000fff 
158 00000000000000 00000000000000 010d0000ca002d 4f4646a91585c8 
15c 1585ca01f50050 00504f4eac37a8 209b7385c803f4 7f204e4545443a 
160 444544292641f8 ca05f7004e4545 51443a209b7385 1642f87f205245 
164 22274167854300 451ef3454f4d41 4551449c022926 7385c004f50052 
168 45543a2021429b fa7f2054415247 41524745549c00 3285ca08f70054 
16c 038e3921001642 2026001140399b 5441524745543a 01a902ac0185f8 
170 00118e78a801ac 475320312f323f 53fc494e4e494e 00494e4e494e47 
174 16423285ca0af8 504f4646892100 f3504f4e7e1ef4 204f564552531e 
178 3230209b01f77f 444920ac09f454 8e46a80931f44f 3f0012109c0083 
17c 532032302f3530 4449fc4f564552 03f7005432304f a90a9206b700c4 
180 554e530016097e 415236f6362052 0014b900c602f3 f6342052554e53 
184 00c602f3315234 52554e530013b9 f3215233f63320 530012b900c602 
188 32f6322052554e b900c402f31152 312052554e0011 ca05f3015231f5 
18c 1192069307b700 1ef4504f464600 4c2f574944457e fc4e4f2042414c 
190 42571ef3504f4e b700ca06f4224e 10781ef3454f49 00119208280011 
194 1ef4504f464686 49434b45545e7e 1ef3504f4ef757 025749434b4554 
198 9b732785c206f7 4f564552533a20 68409c01f97f20 11104327001643 
19c 16436900164200 42324f279c0600 9b7385c802f400 494e4300114037 
1a0 02f80042414c4c 574f4e3f8e84cc a902f857484f20 ca08f400454f4d 
1a4 39001036373885 01a80226001140 1ef4504f4646a9 537e8989ac378f 
1a8 20494e4e494e47 fe454e44204f46 4f4d1ef3504f4e 4f49ac021ef345 
1ac b700c02df40045 27781ef3454f49 73a80aac378f22 1ef4524551447e 
1b0 4152474554ac02 9b73ac011ef654 02f552504f3a20 2627430016429c 
1b4 4f1ef3504f4e7e 089b071ef34232 69001110424037 00276800164227 
1b8 3a2068274167b8 37f742414c4c53 4c494e43ac0a8e 20271ef742414c 
1bc f742414c4c533a 7e1ef4504f4646 45441ef3504f4e 021ef64e454544 
1c0 08f27f2f9b73ac 52554e533a209b 9b73ac0a8e36f6 554e533a202664 
1c4 f4504f4646f652 363738079c001e 4e494e47530010 4f44491ef7494e 
1c8 a91d1ef6543230 01a802a909a80a f352504fa65aa9 4c4ca65a001215 
1cc 1c1414f5434c41 f34e4257a65a00 4554a65a001213 1211f65749434b 
1d0 15f25236a65a00 f25234a65a0011 5233a65a001114 32a65a001113f2 
1d4 a65a001112f252 49001111f25231 2f32347e8989a6 372031322f3039 
1d8 504ffe312e302e 0409c600f44252 b28177877385c2 121502a9f39673 
1dc 4710a66e171a10 f700434c464c41 a65e8a990bca03 1ca81ba81a1310 
1e0 4c4c9c04a81da8 c000f64c434c41 00000000000000 00000000000000 
A: 09999999999000  B: 0000003c0480fd  C: 000000003c00fd
S: 00101010000000
M: 000018a5ff83d3  N: 01000000000000  G: 96
EOF
Thanks for a great kit Alex, and all the work you and your supporters (Pierre, Darren, et.al.) have put in!

Ian


RE: PX41CX - agarza - 09-12-2024 03:19 PM

(09-12-2024 08:25 AM)ian5251 Wrote:  I have a program on the PX-41CX that behaves incorrectly.

I've sent you a private message to help troubleshoot the issue.


RE: PX41CX - agarza - 09-20-2024 02:41 AM

I'm currently working on a four-line display mode when in PROG mode.

If anyone is interested in testing it, please send me a PM.

[Image: prog_multi.jpeg]


RE: PX41CX - dmh - 09-20-2024 01:29 PM

As suggested by Alex, I have updated px41cx-utility to allow setting the date language of the firmware file.

Changes include:
- specify firmware date language for English, French, German, Spanish, Italian or Portuguese
- Display firmware date language with other firmware information
- Display firmware version with other firmware information

See the README in the Github repository above for more information.

Please let me know if you have any issues or suggestions.


RE: PX41CX - Pierre's Interface - jpride@1956 - 10-04-2024 11:38 AM

Pierre's Interface (for Excel) is now very mature, and in some ways is now the most advanced way to program your PX41CX on BOTH Windows and Mac.

It supports compiling programs up to 1500 lines (DM41 Utility only supports 1000 lines)
It can generate raw, bin and dump (.d41) files after compilation.
It fully supports synthetic programming without needing any byte substitution gimmics.
It can send and receive dumps to the PX41CX (on both Windows and Mac).
It can fully decode a dump, or raw, or .bin file from either the PX41CX or DM41 calculator
It can generate a Barcode print file for HP-41 users with the barcode reader.
And it supports commands from the advanced ROM modules shipped with the PX41CX.
It will happily use downloaded .txt programs, even those with line numbers and comments!
Or you can copy and paste online code from the archives, or code libraries widely available.

It now supports Mac versions of Excel from 2002 through to Excel 365, and all Windows versions of Excel.




And it's free.


RE: PX41CX - agarza - 10-07-2024 03:13 PM

(10-04-2024 11:38 AM)jpride@1956 Wrote:  Pierre's Interface (for Excel) is now very mature, and in some ways is now the most advanced way to program your PX41CX on BOTH Windows and Mac.

It supports compiling programs up to 1500 lines (DM41 Utility only supports 1000 lines)
It can generate raw, bin and dump (.d41) files after compilation.
It fully supports synthetic programming without needing any byte substitution gimmics.
It can send and receive dumps to the PX41CX (on both Windows and Mac).
It can fully decode a dump, or raw, or .bin file from either the PX41CX or DM41 calculator
It can generate a Barcode print file for HP-41 users with the barcode reader.
And it supports commands from the advanced ROM modules shipped with the PX41CX.
It will happily use downloaded .txt programs, even those with line numbers and comments!
Or you can copy and paste online code from the archives, or code libraries widely available.

It now supports Mac versions of Excel from 2002 through to Excel 365, and all Windows versions of Excel.




And it's free.

Pierre has done an outstanding job with his 41CX Interface.

Anyone using a PX-41CX, DM41L, DM41X, go41X or V41 must give it a try.

I haven’t tested the Windows version yet, but it works perfect with Excel 365 on a MacBook Pro M3.


RE: PX41CX - Namir - 10-07-2024 09:41 PM

Got my PX41CX and I love it!! Getting used to the keyboard is a quick learning curve. Love to see the entire stack! Excellent work Alex!!!

Namir


RE: PX41CX - HP67 - 10-08-2024 04:20 PM

(09-06-2024 04:08 PM)krischik Wrote:  .. snip ..

Martin the Ada guy?


RE: PX41CX - krischik - 10-09-2024 12:46 PM

(10-08-2024 04:20 PM)HP67 Wrote:  
(09-06-2024 04:08 PM)krischik Wrote:  .. snip ..
Martin the Ada guy?

Yes, Ada is my favourite language and I have some plans here as well.

Martin


RE: PX41CX - HP67 - 10-11-2024 04:51 AM

(10-09-2024 12:46 PM)krischik Wrote:  
(10-08-2024 04:20 PM)HP67 Wrote:  Martin the Ada guy?

Yes, Ada is my favourite language and I have some plans here as well.

Martin

Welcome! I have enjoyed your posts on comp.lang.ada and benefited from your insights many times over the last decades!


RE: PX41CX - Uli - 10-12-2024 10:26 AM

Moin!
I have been the happy owner of a PX41CX for 3 days now. Shipping from Mexico to Germany took only 3 days. But within Germany it was probably difficult...
I am very excited about the device. I compare it in particular with the DM41X. I like the keyboard of the PX41CX much better. It is absolutely reliable, the force required is pleasant and there is a light click. I have switched off the key beep. The device feels like a palm flatterer in the hand. I really like the lettering, although the keys themselves are not labeled. If you hold the calculator almost vertically, you can see the alphabet particularly well, as if the letters were glowing. If you remove the battery, the memory is lost. This can be avoided by using the USB cable for the power supply. The display is crystal clear and extremely easy to read. There are so many positive things to report and I haven't discovered them all yet. I hardly use the DM41X at all. The keyboard and I are not friends. I've used the PX41CX more than the HP41CX since I got it. The device is simply fun.
Thanks a lot, Alex, for this device!


RE: PX41CX - Commie - 10-17-2024 07:35 PM

Hi agarza,

Very interesting project, the main reason I'm interested is because I have tried to replicate the hp 45 in an 8051 mcu using Bascom compiler, after a great deal of work I have a rpn model. However, my compiler only supports 32 bit ieee 754 binary floats which are lousy at best and further more exponents are not displayed or cannot be entered.

The reason I'm using the 8051 over the AVR is because the former supports bcd(low level) whilst the AVR does not. I'd be interested to know what floating point format you are using and whether you are coding in low level or you are using a compiler or both?, if you are using a compiler which one?

Cheers
Darren


RE: PX41CX - agarza - 10-17-2024 10:56 PM

(10-17-2024 07:35 PM)Commie Wrote:  Hi agarza,

Very interesting project, the main reason I'm interested is because I have tried to replicate the hp 45 in an 8051 mcu using Bascom compiler, after a great deal of work I have a rpn model. However, my compiler only supports 32 bit ieee 754 binary floats which are lousy at best and further more exponents are not displayed or cannot be entered.

The reason I'm using the 8051 over the AVR is because the former supports bcd(low level) whilst the AVR does not. I'd be interested to know what floating point format you are using and whether you are coding in low level or you are using a compiler or both?, if you are using a compiler which one?

Cheers
Darren

I am using avr-gcc to compile on a Mac with Apple Silicon.

The AVR compiler supports only 32-bit floating point.

However, since the PX is emulating, it doesn't rely on the AVR's floating point routines.

The AVR does have a half-carry flag, which helps with BCD arithmetic.