HP 41 magnetic cards

i have a HP41c and a card reader. Testing them together i have the following error when trying to store a program on the card:

it is the first time i am able to test the refurbished card reader.

The card reader manual shows that this happens when the card is not recognized as a HP41 one.

Do you know how i can understand if a card is made for the HP41 or for the HP67 or HP97?

Do you think that the issue is a different from my understanding?


Giancarlo from Italy


Are you asking if perhaps you have a 67/97 card and that is why it is not working? Or are you asking if perhaps you have something OTHER than a 41/67/97 card?

If it is the first question the answer is that the 41/67/97 cards are all the same. If the second I would assume that the only other possibility would be a 65 card and I believe that even those are compatible.

Also a damaged card will potentially show a variety of errors so if you have not already done so try another card.



Try writing with the card reader a simple TEST program:


Write it to the card, then CLP "TEST". Then read the card. This will confirm the card reader read and write ability. If the other card continues with CARD ERROR then it is the card. Corrupted by age or magnetic field.

sometimes, rarely, some card reader that have been repaired do not function in other card readers. Also the capacitors will dry with age and need replacing. I have a card reader that when readin,g tells me CARD ERROR or CHECKSUM intermittantly but these cards are perfect in other card readers. I have tried everything physical to this reader; new pinc roller, new dampening couple, head cleaning. Next will be capacitor replacement.


Edited: 27 July 2011, 12:36 p.m.


Here are some basic facts that may help to find out what's going on.

  • Magnetic cards are the same for the 41, 67 and 97. AFAIK they can even be used in the 65. When the 41 appeared there were no new cards - the card reader simply took the same cards that had been used with the 67/97 before.
  • The 41 card reader is able to read both its own data formats (programs, data, status cards etc.) as well as cards written by a 67 or 97. In the latter case the 67/97 program or data is translated by the card reader.
  • Cards can be checked by using the verify command (XEQ "VER"). The card reader then asks for a card, and after it has passed trough the reader the card type is identified: TYPE: P TR 02 for instance means that this is the second track of a card or card set with a 41-program. HP67/97 cards are type 7P (program) resp. 7D (data).
  • So a valid 67/97 card does not return an error message, instead the card is correctly identified as what it is.
  • CARD ERR shows up if the VER function cannot identify the information stored on the card currently checked. This may be a card that is completely empty (does not contain any information at all) or a card that cannot be read properly (no valid information can be retrieved).
So, if a VER-test of the card in question returns a CARD ERR, the card reader could not read any kind of useable information. This can mean two things: Either the card is blank or has been erased, or become faulty in some other way. Or there is some valid information on the card, but your card reader is unable to read it (try the same card in another reader). If the card may be overwritten, just try to store some information on it, as Geoff already proposed. Write a short program, XEQ PACK, switch back to program mode and pass a card through the reader. Clear the program and try to read it back. Also try a VER, which should display TYPE: P TR 01.



Hello and thank you so much for helping me debugging this issue.

I tried Geoff program but i got a CARD ERR trying to store it on the card.

The VER command shows the same CARD ERR. I tried a dozen of cards. Unfirtunately tha cards are part of the same lot some they all can be damaged.

I should try these cards on a different reader but there are few hp41 around me. I will contact other italian members of the forum to help.

If you have other suggestion please do not hesitate to help.

My first hp has been a hp28 so the hp41 is new to me...


Giancarlo from Italy


I believe that you will get a CARD ERR if the card is empty. So if you don't have any recorded cards you may not be able to test the read capability.

When you try to record a program how do you do it? Are you in program mode? If not the card reader is trying to READ the card and will give an error since there is no data on it. I realize that you are probably aware of this but since you said that you were new to the 41 I thought I would mention it.


You say you are new to the HP-41. So once again I would like to stress two points of my previous post that are absolutely essential here:

  • If you acquire a batch of magnetic cards, they most probably are completety empty. As already mentioned, any empty card will result in a CARD ERR when using the VER command. Simply because there's no recognizable info on it. The same is true if you attempt to read a blank card.

    Once again: CARD ERR is perfectly normal if you try to read (!) or VERify a blank, empty card!
  • How exactly did you try to write a program to an empty card? Please state every single step. As mentioned, the HP-41 must be in program mode! You have to see the current program step in the display when the card is inserted in the card slot! If you see a number like 0.0000 the reader tries to read (!) this most probably empty card, resulting in a CARD ERR.
Giancarlo, please precisely tell us every single step you do when you try to record a program.



YES it WORKED! Sorry but i didn't know that i had to switch to programming mode to write data on a card.

Thank you very much for your help and support.

I will take my hp-41 with me on vacation.


Giancarlo from Italy


Giancarlo wrote:


Great. :-)
Sorry but i didn't know that i had to switch to programming mode to write data on a card.

That's why I wrote "...switch back to program mode and pass a card through the reader" in my first post. ;-)

Finally, here are some useful details:

  • The calculator has to be in program mode only if you want to record a program. This does not apply if you are recording the content of data registers or if you want to create a status card etc., because in these cases dedicated functions like WDTA, WDTAX, WSTS, WALL etc. are used. Please see the manual for further details.
  • Before a program is recorded it is strongly recommended to remove all useless Null-bytes from program memory. They would occupy valuable memory and slow down the calculator. These Null-bytes should be removed with XEQ PACK. Insert the card after this packing operation.
  • A card has two sides (tracks), each of which can hold up to 112 bytes. That's not very much, so in most cases it is useful to check how many tracks a program will occupy, and if a short program will fit on a single card or if a second or third one is required. There is an easy way to do so: use WPRV. This function originally is intended for recording programs with an additional protection, so that they cannot be read, modified or printed afterwards. But it is also useful to check the number of tracks required for a program. So, after XEQ PACK try a WPRV and see something like RDY 01 OF 03, in this case prompting for the first track of three total tracks required to record this program. Press the cancel key (backspace) to abort this function and record your program the usual way by simply inserting a card in program mode.

Edited: 29 July 2011, 8:29 a.m.


I will add a few more details.

1. As noted you should remove NULL bytes. Another way to do this (and to add an END to the end of your program is to press GTO .. although if you do this you have to position back to the program using GTO or the CATALOG 1 function before going back into program mode to write the card.

2. The HP41 is a pretty clever little beastie. One of the things it does when a program is first run is to "compile" the branches (GTO and XEQ) so that after the first time through the calculator knows where to go and does not have to search for the label. There are short form and long form jumps but that is a whole 'nother discussion. The point here is that if you run your program and execute all jumps before you write it to a card the compiled version will be recorded and the program will run a little faster the first time after it is read back in. Not a big difference (although it can add up a little for a long program) but every bit helps. Also a PACK or GTO .. instruction will decompile the program since after packing the jumps destinations are no longer valid. So PACK first and then run the program to compile it and then write it to card.

3. Any key assignments for global labels within the program being written are also written out to the card. To use these key assignments later the calculator has to be in USER mode when the card is read back in.

4. While reading in a program if you do not have an END at the end of the last program in memory the program being read in will replace it.

5. The 41 card reader can read and translate HP 67/97 programs. The card reader basically duplicates those functions that are not found on the HP 41 such as P<>S.

I would strongly suggest that you get hold of a manual for the HP41 and any peripherals that you own if you do not already have them. This is quite a complex system and it will be hard to learn all the idiosyncrasies and tricks all on your own. This site offers a soft copy of all the manuals if you are interested. I actually own the manuals but find myself using the soft copy more often than not on those rare occasions (very rare after 30+ years of playing with the darn thing(s) <g>) that I need them.


Possibly Related Threads…
Thread Author Replies Views Last Post
  HP-41(CL): The easiest way to transfer FOCAL programs from a Linux PC to the HP-41 Geir Isene 13 5,670 12-05-2013, 02:40 AM
Last Post: Hans Brueggemann
  hp-41 Cards Marcel Samek 8 3,166 11-07-2013, 11:13 PM
Last Post: Garth Wilson
  re-recording original cards aj04062 2 1,505 09-15-2013, 10:32 AM
Last Post: Dieter
  magnetic strip malfunction aurelio 7 2,567 01-14-2013, 12:25 AM
Last Post: aurelio
  Series 80 EPROM cards Paul Berger (Canada) 0 1,153 12-08-2012, 07:50 PM
Last Post: Paul Berger (Canada)
  Anyone willing to read some HP41 cards? LarryLion 10 2,905 09-05-2012, 01:48 AM
Last Post: Juergen Keller
  HP 48SX Solve Equation Library Cards Mike Hein 3 1,506 08-22-2012, 01:07 PM
Last Post: Chris Dreher
  Question about magnetic cards for the HP-41C Card Reader Namir 2 1,462 08-15-2012, 12:15 PM
Last Post: Namir
  HP-67/97 Mag Cards...Can they be marketed again? Matt Agajanian 11 3,535 05-14-2012, 10:22 PM
Last Post: Dale Reed
  HP65 program cards compatibility aurelio 2 1,298 05-04-2012, 04:43 AM
Last Post: aurelio

Forum Jump: