Transferring programs between an HP41 and a PC using a serial interface ---------------------------------------------------------------------- This document describes how to use the HP82164 HPIL-RS232 interface to connect an HP41 calculator (fitted with the HP82160 HPIL interface and the Extended I/O module) to a Linux PC, and to transfer programs in both directions between them. Throughout this document, the PC's serial port will be named /dev/cua0 . Change this as appropriate, of course. Hardware connections : ---------------------- Connect the HPIL side of the HP82164 to the HP41's IL module in the usual way. The jumper plug inside the HP82164 interface should be set to the DTE position. See the interface's user manaul for more details of this. Connect the HP82164's RS232 port to the PC using a standard PC modem cable and a special adapter. The latter is needed owing to the rather strange hardware handshaking of the HP82164, and the following diagram gives the necessary wiring : PC HP82164 (DB25-S) (DB25-S) Prot Gnd 1 )-------------------( 1 Prot Gnd TxD 2 )-------------------( 3 RxD RxD 3 )-------------------( 2 TxD RTS 4 )-------------------( 5 CTS CTS 5 )-------------------( 20 DTR DSR 6 )--+----------------( 4 RTS | CD 8 )--+ Sig Gnd 7 )-------------------( 7 Sig Gnd DTR 20 )----------------+--( 6 DSR | +--( 8 CD Configuring the interfaces --------------------------- On the PC, turn off buffering and enable hardware handshaking by typing : stty raw crtscts program_file where program_file is the filename that you want the binary program stored in. Alternatively you can pipe the output of inp41 to prog41 to get a text listing by typing : inp41 < /dev/cua0 | prog41 On the HP41 ----------- Put the name of the program to send (or more exactly one of the global labels in that program) in the alpha register. Then execute : OUTP When the program has transfered, the PC should display checksum good and the program will be stored in the specified file Transferring a program from the PC to the HP41 --------------------------------------------- On the PC type : --------- outp41 < program_file >/dev/cua0 where program_file is the name of a file containing an HP41 program. The input to outp41 can be piped from lifget (for example) in the standard way to transfer a file from a lif disk image. For example : lifget disk1 PROG | outp41 > /dev/cua0 will transfer the file PROG from the lif disk image disk1. On the HP41 ----------- GTO .. to pack program memory and create a dummy program at the END. then execute : INP When the program has transfered, the X-register display will return. CAT 1 to check that the program has loaded. ---------------------------------------------- A. R. Duell, 2-Oct-2000. This file is part of the LIF Utilities distribution and has been placed under the GNU Public License version 2.0