A review of the HP-28COM ======================== Last week I had the opportunity to visit the inventor of the HP-28COM Friedrich Schroeder. This is my opinion of the invention. The HP-28COM is a device which connects the HP-28S to a PC via a RS-232 interface. It is bidirectional, i.e. it is possible to store your programmes and data on a PC file, and retrieve it any time you like. The first thing Friedrich did when showed me the HP- 28COM, was to make a "memory lost". To say I was surprised would be an understatement. To me a "memory lost" means hours of wasted work, and at least as many hours trying to reconstruct it. Friedrich merely typed in a simple #D0000h SYSEVAL and a neat installation program, contained in a PROM, installed all the necessary programs for the HP-28COM. He was now able to restore programmes from a library on his PC or even complete images of the RAM could be retrieved. This was what I had always been dreaming of. It worked, it was fast, professional, easy to use, and moreover it was right there! Well, before I get to exited, I should give you the review I promised in the headline. The HP-28COM consists of 3 things: The hardware The HP-28 software The PC software First the Hardware. The interface is a little box with a RS-232 connector in one end, and a wire with a plug to the HP-28S in the other. In the HP-28S a small plug-in has been installed, along with the PROM mentioned earlier. The PROM contains more then 16Kb of programmes, and takes up only about 1Kb of the HP-28S RAM, leaving you with almost 31Kb left. The plug-in does not destroy the IR capability of the calculator. To install the plug-in and the PROM, the HP-28S has to be opened, destroying any warranty. However Friedrich does give the buyer one year warranty on his work. And frankly, I have never heard of a HP-28S breaking down. The transmission speed can be as high as 2400 bps. The HP-28COM can also do 1200 bps, but I fail to understand why anybody would prefer that. With 2400 bps it takes only 2.25 minutes to backup the entire RAM (see later). The software for the PC is 4 different programs. One is used to test the reliability of the connection and the other three are powerful tools to use it. First let me explain. Friedrich Schroeder has made two different ways to save memory from the HP-28S to the PC. Either you can save any object, including directories, by putting the name or a list on the stack and run a save program. This will save it under a given name, to a file on the PC. Or you can make a backup of the entire RAM, including the clock unfortunately, and save that into a PC file. This allows you to have RAM images of several different tasks saved on the PC. The reason why it is unfortunate that the clock is saved, is that when you restore the RAM, the clock is set to time the image was made. The two PC programmes to use the selective save/load facility are PCTO28 and 28TOPC. The names should speak for them selves. The program used to backup the RAM is HPTOT, which is also used to restore it. They are all very easy to use. Contained in the PROM mentioned earlier, are the coun- terparts of PCTO2828, 2828TOPC and HPTOT programmes, plus many more. The well-known FAST is there, as is DATE and TIME programmes with calendar, alarm and similar routines, PEEK and POKE programmes, and an extended work-space manager. All of the i/o programmes are contained in a work-space (some- thing similar to a directive, but better!) called IO. Along with the above mentioned programmes, save and load, are the two atomics on which all the i/o routines are based, INSTR (get string from port) and OUTSTR (put string to port). These can be used by the advanced user, to make her own i/o functions, e.g. to connect the HP-28S to some other device. Also contained in the PROM is programmes, to give the user a full xmodem capability. This means that the HP-28S becomes the first calculator in word to have this ability. For those of you who does not know, the xmodem is a very popular file transfer protocol; supported by almost every computer. The receive and transmit functions works in a way very similar to the save/load facilities (28TOPC and PCTO28) already described. The puts an object, directory included, or a list of objects on the stack and press the XMTR button. First the calculator will pack the object(s), i.e. convert it (them) into a string. This took about 5 seconds with a directory containing 10 programmes of considerable size. After the object(s) has been packed, the calculator will try to establish a connection, through the RS-232 interface. Once the connection has been established, the transmission will begin. On the display, one is able to see how many blocks and how many bytes, transmitted. Needless to say, receiving data through the xmodem facility is very similar. Friedrich demonstrated to me, how reliable the xmodem connection was. He did this in the toughest possible way, by unpluging the HP-28S during the transmission! The calculator sounded a beep, but was otherwise unaffected. It waited patiently for the connection to be reestablished, and as soon as it found that this was the case, the transmission continued as if nothing had happened - no data was lost. Friedrich also introduced severe noise to the connection, but even under extreme difficult conditions, not a single bit in 10K bytes was corrupted. The reliability of the xmodem is not an invention of Friedrich Schroeder, I know. But I hope I have made t clear the the xmodem programmes of HP-28COM, supports the relia- bility with has made the xmodem so very popular. Speaking about support. The xmodem programmes for the HP-28S, supports the CRC checksum. Whether or not to utilize it, the calculator figures out for it self. If the programme at the other end of the connection requests it, it is automatically provided. The user does not have to do any- thing. To determine if xmodem, or the specialized save/load routines are to be used, a variable called XMD is used. It must contain 1 for HP-28COM to use the xmodem option, and 0 otherwise. The xmodem programmes also provides a few utilities and atomics. By means these atomics, the user is allowed to transmit or receive a given amount of bytes. This means that, in theory at least, the calculator could be used as a terminal. Of course the size of the display, or rather the lack of size, makes the HP-28S a somewhat impractical termi- nal. However, it would be easy to write a small terminal programme for the HP-28S to make possible to hook-up two HP-28'S; being useful to announce what software and/or data either side could provide, before sending it through xmodem. As you probably know the RS-232 is a standard inter- face. Theoretically the HP-28S can be connected to any com- puter or similar device other than a PC as long as it has a RS-232 port. But the need of software in both ends of the line, means that programmes must be written to both machines. This requires some programming skill to do, but if you poses it the HP-28COM will not stand in your way. The software that comes with the HP-28COM is for a PC. The save/load facility allows you to build up libraries of HP-28S programmes on your PC discs. This makes it mush easier to exchange software between HP-28S owners than it is today. Because it is possible to save and load any objects, experimental data from practically anywhere can be put into the HP-28S in a much easier, than if you had to type it in. You can then use the advanced calculation facilities of the HP-28S to manipulate the data, and put the results back into the PC. Another extra Friedrich added along with the xmodem facillity was two programmes for a PC, which converts the special characters used by the protocol into sequences of ordinary characters. The special characters are introduced because some of the characters in the HP-28S character set are not in the ASCII set, e.g. the program limiters ">>" and "<<". When a programme is saved on a PC, a listing of it will reveal some strange characters, these are the char- acters, to which I have just refered. With the two "new" routines, that problem has been solved. Now one should simply pass the programmes through a filter to obtain a nice readable text. This also means that programmers are able to use an editor on their PC when writing the programmes. A big advantage in my opinion. Apropos getting around. Friedrich told me, that the HP-28COM has been finished since April 1989, but due to problems with VM electronics, it has not been launched yet. Tired of waiting, just like the rest of us, Friedrich has decided to make the HP-28COM personally. He will start by making 10 copies and send them to selected persons in Europe and the USA, mainly leaders of HP user clubs. He plans on starting the sale in a matter of weeks. The procedure will be as follows. You send a HP-28S and $200. He will then modify the calculator (probably in a matter of days) and return it, along with the discs to the PC, the manual etc. In general I thing the HP-28COM is a very powerful tool. The programmes that comes with it are very good, and is very professional made. The price is OK, it is neither a bargain nor too expensive. Especially the xmodem facility, makes the HP-28COM powerful. It makes the HP-28COM open to all computer owners, not only to pc owners. As it is the first handheld calcula- tor with such a powerful data transferring ability, I hope it will open the eyes to the engineer at Corvallis, and Tokyo I might add. It introduce whole new aspects to the genuine scientific use of a handheld mathematical computer, like the HP-28S. If you have any questions, problems, comments etc. please email them to me. Unfortunately, Friedrich's access to the net is very limited, and I have promised to receive email to him as well. Thanks for your attention Mogens Jallberg. P.S. I nearly forgot: the HP-28COM can only be used with a HP-28S. Sorry HP-28C owners. +--------------------------+-------------------------------+ ! Mail: Mogens Jallberg ! Email: jall@diku.dk (uucp) ! ! Rovsingsgade 17 ! ! ! DK-2100 ! Phone: +45 31 29 78 83 ! ! Denmark ! ! +--------------------------+-------------------------------+