HP Forums
41CL Serial Port Transfer - Printable Version

+- HP Forums (https://archived.hpcalc.org/museumforum)
+-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html)
+--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html)
+--- Thread: 41CL Serial Port Transfer (/thread-224066.html)

41CL Serial Port Transfer - John Abbott (S. Africa) - 06-04-2012

Hi, after the accidental deletion of some of my flash files with YFERASE (and some panic!),
I set out using the Serial port of my 41CL to restore things back to normal. I used a PC with Win 7 (32bit)installed.
Firstly, I would like to thanks both Monte and Angel for answering my queries and supplying me with the required ROM modules.
Monte's "after sales service" is outstanding, with prompt replies to my queries and requests for help - thanks Monte :-)
Angel tirelessly answered my "41CL newbie" questions, always with full explanations - thanks Angel, your patience is appreciated).

I used R Wilker's CLWriter .NET program to do the download
My procedure was as follows:
  1. Connect the serial cable to the calculator and the PC.
  2. On the PC, using the Command or Dos window, type
    clwriter [filename.rom] com1 1200 10 (I used com1 and found 10ms avoided "timeout" problems)Don't hit "Enter" yet!!
  3. With 007>80C in Alpha, XEQ YMCPY (I used ram addr 0x80C000)
  4. With 80C-RAM in alpha, XEQ PLUG1L
  5. On the 41CL, execute SERINI, BAUD12 and TURBO50
  6. On the 41CL, with 80F000-0FFF in alpha, XEQ YIMP and then only hit Enter on the PC.
  7. Once the transfer is complete, place the Flash address into Alpha and XEQ YFWR
  8. Repeat this for all downloads

I had a few "glitches" with the serial comms, but generally it worked really very well (after overcoming my initial trepidation). As pointed out by others, use Fresh Batteries
That's all there is to it (I hope I have not left out anything important)
I certainly know and feel a lot more comfortable with this machine now. Thanks again for all the help.
Best Regards

Re: 41CL Serial Port Transfer - Geir Isene - 06-04-2012

I am creating a solution with Ruby to facilitate serial transfer (both ways), but currently I have run into a challenge. I wrote to Antti Louko - but I guess he's rather busy, so I will see if anyone here have any light to shed on this:

Ok, so I came up with a Ruby solution (see the forum).

Then I thought I would go on and create a similar solution to your Python programs for the CL, but in Ruby so that I can better extend it.

But the problem is that, although I get the serial connection running, with YEXP (pointing at a plausible address, like 800000-0030), I only get zeros transmitted. I do get the right amount of zeros depending on the size of the last part (the 0030 in the above example)... but only zeros.

Maybe something about the stop bits? The parity?

The code is dead simple, as you can see:

-----------------Begin code---------------------


require "serialport"

#params for serial port
port_str = "/dev/ttyUSB0"
port_str = ARGV[0] if ARGV.length > 0
baud_rate = 4800
data_bits = 8
stop_bits = 1
parity = SerialPort::NONE

sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)

loop do
print sp.getc


------------------End code----------------------

Re: 41CL Serial Port Transfer - Ángel Martin - 06-04-2012

Hi John, thanks for your nice words - truth is I just answered a couple of questions on a great topic to talk about, so I really enjoyed it too.

Glad to read you´re getting things to work as supposed to; yes this system is amazing!

I´ve been wondering about a method to EXPORT ROM pages to the PC using the serial connection, maybe if we ask nicely Raymond will oblige :-)



Re: 41CL Serial Port Transfer - Diego Diaz - 06-04-2012

Hi Ángel,

Exporting ROM pages to the PC is already soved by the USB-41 interface module. The other way around is not.

The PC side interface is written in Python 2.7 and the module's code is (obviously) preliminary; but it works as expected.

You need HEPAX or NoV in order to execute COPYROM from the desired page to page #7. The process is monitored by the code in the USB-41 and a copy of every word is sent to the PC where they're arranged in a standard .ROM file which can be used to load any Clonix/NoV/CL page.

The file is built on the fly so the whole process takes just 5 or 6 seconds.

Not the best moment now but we can get back to this issue in a couple of weeks in case you're interested.



Re: 41CL Serial Port Transfer - Ángel Martin - 06-05-2012

Thanks Diego, somehow that had gone totally under my radar screen!

I'll give it a try asap - No need to load the HEPAX, since the Library#4 contains the SAVEROM/GETROM code, so any Library#4-aware module will do the job: the function name is WRTPG - "write page"


Re: 41CL Serial Port Transfer - Ángel Martin - 06-05-2012

Sorry I didn't read correctly - you say COPYROM, which is different and it's not included in the Library#4 (although it might in the future for this very reason, still plenty of room available there...)

CPYPG is available on the ToolBox_4, it'll be interesting to check it out as well.

the usage is as follows:

X: FROM page

Prompt: TO page (in decimal)


Edited: 5 June 2012, 8:25 a.m.

Re: 41CL Serial Port Transfer - Marcus von Cube, Germany - 06-07-2012

Have you tried a lower baud rate?

Re: 41CL Serial Port Transfer - Frido Bohn - 06-08-2012


do you mean that only the USB-41 interface is not able to load a ROM into the HP-41, or that this is a general problem?

I use EMU41, the PILBOX together with ILPER and an HP-IL, of course, and am able to transfer ROMs in either way using the HEPAX functionality.


Re: 41CL Serial Port Transfer - Geir Isene - 06-08-2012

Right. I had different baud rates on the PC and the 41. Fixed now.