The Museum of HP Calculators

HP Forum Archive 15

[ Return to Index | Top of Index ]

HP41 to PC transfer
Message #1 Posted by Francois on 14 Nov 2005, 2:46 p.m.


I have hp41, hpil loop controler and rs232 interface. I would like to transfer programs and datas from hp41 to pc and reverse. For data, it's possible with instruction OUTA, INA and IND. For programs, it's possible from hp41 to pc with the PRP instruction. Unfortunately, i've not the 82183a extended i/o module. Is there an other possibility to put programs in the hp41 ? Isn't it possible to use the WRTP and READP instruction on the RS232 port ? (when I launch these instructions, the light on the rs232 interface blinks but I've nothing on the serial port) Thank you for your advices Francois North of France

Re: HP41 to PC transfer
Message #2 Posted by Doug Wilder on 14 Nov 2005, 3:51 p.m.,
in response to message #1 by Francois

Hi Francois,

Unfortunately either the XIO module or an MLDL type device is required to accomplish program transfer between HP41C and PC. A PC ISA HPIL IO card may also implement this transfer, I'm not familiar with these cards.

The WRTP/READP of the IL module is for mass storage device, thus it sends several HPIL commands to the loop, for example to find the file and position the device. The RS232 interface does not understand these HPIL commands. WRTP/READP send literal binary of the 41C program, causing problem when these happen to be control code.

Many people were mad when HP designed the IL module because of its severe restrictions. For example there is no way to remove the loop from remote mode and switch to local mode once REMOTE mode is entered. The LOCAL command does not function because it sends a GTL instead of the required NRE command. LOCAL is essentially an HPIL NOP. This lack can lead to difficulties programming the RS232 interface and any device that implements REMOTE/LOCAL logic.

The XIO module corrects the problems by adding a slew of new and very usefull HPIL functions including full DDL/DDT control. NOTREM fixes the problem mentioned above. OUTP/INP transfer programs via sending an Intel Hex (0-F characters only) dump of the program with attendant checksum.

Best regards

Edited: 14 Nov 2005, 4:23 p.m.

Re: HP41 to PC transfer
Message #3 Posted by Francois on 15 Nov 2005, 1:13 p.m.,
in response to message #2 by Doug Wilder

Hi Doug,

Thank you very much for your reply. It confirms what I've noticed with the hp41 and the rs232 interface : impossibility to load programs from pc to hp41 and impossibility to return to local mode. For data (X and alpha) it's possible but not for programs. I've developped a small program which permits to upload and download n succesive registers in an excel worksheet. I think I'll look for an extended IO module (82183) rather than a pc isa card which could be difficult to use with our high speed bus on the actual PC computers. Thank you again Francois France

Re: HP41 to PC transfer
Message #4 Posted by Etienne Victoria on 15 Nov 2005, 1:35 p.m.,
in response to message #3 by Francois

Bonjour François,

Xio modules are dead rare & expensive.

If you intend to use it on a regular basis or wish to use other modules not readily available, you have a very efficient hardware emulator with the Clonix: Voir par ici.

Emulating many modules in one single module enclosure, this marvel will enable you to use nearly any Rom you wish without purchasing one everytime.

I have burnt permanently the Advantage Module & Xio on my Clonix and can use them everyday.



Re: HP41 to PC transfer
Message #5 Posted by Christoph Klug on 16 Nov 2005, 2:56 a.m.,
in response to message #3 by Francois

Dear Francois,

The HP-IL/PC interface card needs an ISA-Bus. By using EMU41 software the card is compatible to operating systems like DOS, WIN95, WIN98, WINXP, WINNT, WIN2000. I use this solutio also with modern fast PC hardware.

EMU41 includes data and programm transfer. Furthermore EMU41 emulates a printer and two mass storage devices and works as gateway between real HP41 and PC world...

Regards - Christoph Klug

Re: HP41 to PC transfer
Message #6 Posted by francois on 19 Nov 2005, 2:45 p.m.,
in response to message #5 by Christoph Klug

Thank you for all your response. Clonix is a nice solution but I know absolutely nothing about M code. If there is a possibility to program the OUTP and INP functions with M code, let me know. For instance, I'll save my programs with the PRP function and type them on the keyboard for entering. And use my excel macro to exchange register data until finding a 82183 ... Regards François

Re: HP41 to PC transfer
Message #7 Posted by Howard Owen on 19 Nov 2005, 4:15 p.m.,
in response to message #6 by francois

You don't need to write mcode to use a Clonix. You can just load it up with your favorite modules and leave it that way. Diego will load the modules you ask for before he ships it to you. If you want to change the modules later, then you need to know something about the HP-41's memory layout, but you still don't need mcode. (You also need the adapter that Diego will sell you, along with a PIC programmer, in order to change the contents of the Clonix.)

The NovRAM and Nov-32 modules don't strictly require mcode knowledge either, but their purpose is to emulate the HEPAX module. To fully exploit the HEPAX module, you do need mcode knowledge.


Re: HP41 to PC transfer
Message #8 Posted by francois on 23 Nov 2005, 3:46 p.m.,
in response to message #7 by Howard Owen


I've looked more closely at all these features and i was wondering if we can only put modules images or is it possible to put user programs in the clonix. In fact is it possible to convert .RAW to .MOD files to put in the clonix ? How can we know if a module is 4k or 8k long ? If a 4k module uses the upper page of a bank, can we put another one in the lower adress space ? If the clonix ram is enabled, how does it appears in the hp41 ? Regards Francois

Re: HP41 to PC transfer
Message #9 Posted by Howard Owen on 23 Nov 2005, 4:27 p.m.,
in response to message #8 by francois

My Nov32 isn't built yet (hi Diego! 8) so I'm not sure of the answers to some of your questions. I think it is possible to convert user code into .mod format, but which tools to use for that, I have no idea. I'd start my search at TOS, however. The author of V41 is the inventor of the .mod format, I believe. I think you can tell how big a module is from the PC filesize. And I believe that you can indeed load a 4K module into an upper page and another 4K module into the lower page. THe Clonix specific questions I will leave for Diego to answer.

Re: HP41 to PC transfer
Message #10 Posted by Doug Wilder on 23 Nov 2005, 10:46 p.m.,
in response to message #8 by francois

Hi Francois,

Maybe i can answer some of your questions yet i do not own a clonix. The idea is that if you have an operating system (sic) in a page of rom/ram (mine is in eprom) it will have a program to transfer user code to rom/ram.

With the old ERAMCO system i use the function is called MMTORAM, and one supplies the user code program name in Alpha and the rom/ram address to load at in X (binary). The function takes care of putting the program in the FAT and is immediately in Cat 2. To read back into ram one uses the COPY function.

Putting user code in rom/ram is one of the best uses of MLDL as you can save very large library of your user code programs in transferable rom/ram pages.

"If the clonix ram is enabled, how does it appears in the hp41"

If the clonix works like most MLDL, it appears as nothing unless an image of microcode and/or user code is in it: then it looks like a module in that page (CAT 2). Usually pages 8-F can be used. The OS will also usually have a function (mine is RAMWR) that allows direct edit of words in rom/ram most usefull for writing mcode functions. Most OS also have mcode disassembler and functions to transfer rom image to/from MASS/PC. OS will also have binary/hex tools like COD/DECOD and a MOVE function to move chunks of code in rom/ram.

Hope this clears up the usage a little bit. Best Regards

Re: HP41 to PC transfer
Message #11 Posted by Hans Brueggemann [GER] on 15 Nov 2005, 3:18 p.m.,
in response to message #1 by Francois

hello francois, there is a chance to do hp-41 program transfer via 82164A (with some restrictions, though) simply by using the ina and outa XF/M module is neccessary to do the trick (or, an hp-41cx, of course). this is truly a bare hands method, digging deeply into synthetic programming. you have to decode your program into bytewise representation (001CC600F500434C584D16141A111911001002A2DE9672B2810000C8032D4F, for example ;o)) and then send it via HPIL to your pc, and vice versa. during coding back to "true bytes" (in our case 10 bits, that is)"simply" put the bytes into proper program storage location et voilá: your are ready to run your program on the 41 again. routines for coding and decoding are ready available (bill wickes did something about it, afaik). please, don't get me wrong here: it is just a theoretical approach to the problem. coding and decoding routines will run for ages, even if your program consists just of a handfull of bytes. well, and programming of all the stuff... truly not for the faint of the heart.

cheers, hans

Re: HP41 to PC transfer
Message #12 Posted by Christoph Klug on 16 Nov 2005, 2:50 a.m.,
in response to message #11 by Hans Brueggemann [GER]

Dear Hans Brüggemann,

now I get the HP-IL/RS232 interface :-) Please send me your program solution for HP41 / PC interfacing, including the belonging user documentation.....

Herzliche Grüße aus Hildesheim

Christoph Klug (HP41 hardware interfacing : I/O-Board & IL2000 System).

[ Return to Index | Top of Index ]

Go back to the main exhibit hall