See question #69 for information on sRPL if you mean assembly code. However if you mean a tool for use with the built in HP-Basic language then although you may use the PC to write them (text editing) you don't actually compile them on the PC - you download them to the calculator and let it compile them. If you want to compose them on the PC then you have to use the ADK (Aplet Development Kit). Unfortunately this is designed only for use with programs for the HP38G so you have to write them for the 38G and then use the Aplet Converter utility to change them into 39/40G aplets. There is currently no likely prospect of having the ADK upgraded to allow it to work on the 39G directly but this is not really a problem as the 38 and 39G are identical in most ways. The ADK and the Aplet converter utility are available from my Utilities page and extensive examples on how to use the ADK are given in my help and documentation section.
Before I begin, it is important that you understand that this can only be done on the HP40G, which has a CAS (Computer Algebra System), not on an HP38G or HP39G.
There are two ways to solve this problem, the first using an inverse matrix and the second using the function LINSOLVE.
|
|
Store the matrix into one element of a list as shown below. Whenever there is a symbolic part you must use QUOTE(..) to enter it. You can then invert it and multiply by the solution vector [1,5]. The final image is obtained using SHOW in the HOME view on the solution. |
|
|
Go into CAS mode and use LINSOLVE on the actual equations 2x+ky-1=0 and (q+3)x-y-5=0. |
The information below is from Christoph Giesslink, the main author of the PC
Emulator program (see my
Utilities page
). I will simply add to it that I have spent a lot of time trying to make it
work, for obvious reasons, with no success. If you manage to figure out how to
do it reliably then PLEASE let the rest of us know how!
***********************************************
* IR transfer between a PC and the HP38/39/48 *
***********************************************
There are several questions about transferring data from a PC to a HP and vice versa using the Infrared port.
1) Hardware
Some theoretical aspects:
Pulse width:
HP transmitter : typ = 52us, min = 46.8us, max = 57.2us
HP receiver : typ = 52us, min = 40.0us, max = 80.0us
IrDA: 3/16 of Baudrate = 1/2400*3/16 = 78us or 1.6us
Wavelength:
HP: 940nm
IrDA: 850..900nm
Remember: You can only use this interface to connect with the 2400 Baud serial protocol, connecting the HP82240B infrared printer isn't possible.
The first problem we have is the pulse width. If your PC IrDA interface is generating the pulse width with 3/16 of the baudrate it's OK, but there are several interfaces out there, which are using a 1.6us pulse width for all baudrates. That's too short for the HP IR interface, so no chance to get it working.
2) Software protocol layer
Next we have to distinguish between the software protocol layers. The IrDA 1.0 specification describes the hardware and the software protocol stack layer. The IrDA protocol stack defines several parts for data transport, especially the framing of the data. The framing isn't compatible with the HP one. An optional component is the IrCOMM layer which shows the IrDA hardware as virtual COM port. Here the application itself can make the framing. So you need an operating system which can access the IrCOMM layer of the IrDA hardware. The newer Microsoft Windows operating systems have an integrated IrDA support. That causes also problems. Here are my experiences with some MS Windows versions.
3) Operating system
I tested an Infrared connection with a Tekram IRmate IR-220 for motherboard connection supported by the BIOS on COM2 and with the IrDA interface of a Compaq Armada 1570D Laptop (fixed a resource problem with the factory setting of the IrDA port first). The testing distance was 5..30cm.
- Win95:
Only tested on the laptop, here it worked.
- Win98:
Only tested on the PC. Doesn't work, even when I disable the IrDA driver. I don't know what going wrong. Perhaps my fault.
- WinNT4.0 SP3:
Only tested on the PC. Worked with the Tekram IRmate IR-220 IR module.
- Win2k SP1:
Only tested on the PC. In this operating system the needed IrCOMM protocol stack layer for virtual COM ports is missing, so you need a 3rd party product. I tried it with a software driver for mobile phones, but it also don't work.
4) Terminal applications
For the first test I used a HP48 and Emu48 as software on the PC (OS NT4.0) and on the Laptop (OS Win95). I transferred an UserRpl file in binary mode. Both hardware works.
As second test software I used MS-DOS Kermit 2.32/A. I tried to transfer the same UserRpl file in binary mode as before. With the Tekram adapter this work, the Compaq transfer fail!
In general, the biggest problem is that you get IR reflections from the transmitter to your receiver while transmitting data. Before you receive the answer, the software has to clear the receive buffer. Some IrDA receiver hardware does this without software support, so most communication software will run on this hardware. Emu48 has no problems, because the original HP romcode is running, the HP clears the receive buffer after transmitting data. Most popular transfer software doesn't clear it's receive buffer after transmitting, so it mostly depends on your hardware if the IR transfer works. The Temic IrDA-Transceiver TFDS3000 for example has problems with the IR reflections from the transmitter, the newer TFDS4000 or TFDS4500 doesn't.
So that's the reason of the different behavior or the Tekram IRmate IR-220 and of the Compaq Armada 1570D Laptop. The Tekram IRmate clears the IR reflections by hardware, the Laptop doesn't. Emu48, or better the emulated calculator, takes care about the reflections, so it worked also on the Laptop in this case.
5) Result
The IR transfer with IrDA hardware between PC and HP calculator might work, but because of the many exceptions, explained above, it mostly will fail.
06/27/01 (c) by Christoph Gießelink, [email protected]
Highlight the expression which you want to transfer and then press the PLOT button. The calculator will ask which of the Function, Polar or Parametric aplets you want to transfer it to. It will then ask which of F1(X)..F0(X) (or R1 or X1,Y1) you want it put into.
The answer is both "Yes" and "No". You can SEND and RECV programs, notes, lists or matrices from an HP38G to an HP39/40G or vice versa with no problems.
But... if you SEND an aplet from an HP38G to an HP39G (or vice versa) then it will appear to succeed and will then appear in the APLET LIBRARY view of the new calculator. However, if you try to START it then you will not only find that it doesn't work, you may well find that your whole calculator will crash, losing your memory in the process. If it happens this will not cause permanent damage and all the built-in aplets will still be there but anything you have stored will be lost.
The easy solution is to use the Aplet Converter, which can be found on my Utilities Page, to convert your HP38G aplets to HP39G aplets. Of course they have to be stored on a PC before you can do this, which means you have to have a cable and the HPGComm communications program (also on my Utilities Page). If you don't have this - if all you have is an HP38G and an HP39G - then there's nothing you can do I'm afraid. You'll have to reconstruct the aplet from scratch. The Aplet Converter also only works in one direction - there's no way to convert an HP39G aplet to an HP38G aplet.