Michael Markov P.O. Box 17 Lockwood, New York 14859 U.S.A. Sept. 22, 1987 Mr. C.A. Erickson P.O. Box 306 Princeton, New Jersey 08542 Dear Chris, This is MM2ALL02, or Mike Markov to ALL #2, the second letter of its kind, where I pack in as much information as possible for distribute to folks who write to me. The intent is partially to provide an "editorial" for swapdisks. It also allows me to pass on HP-User Group news painlessly without spending hours on each letter. The topics addressed are usually answers to questions I keep answering endlessly, or hot juicy news. If you have material you would like to see included, feel free to send the information to me in TEXT file form on magnetic media. I of course reserve the right to omit material for whatever reasons. Keep it short - my poor printers are taking a beating as it is! DISTRIBUTING HP / OTHER LEX FILES: The distribution of HP (or Other) LEX files collections is something of a problem. Specifically, the question is one of copyright : does copyright cover the software package (such as the WorkBook ROM) as a whole unit or does it cover every single component of the package? In other words, does copyright cover the manual, the driver LEX and application programs, each equally and to the same degree, (ie., you may not copy or distribute any of the components), or not? My review of the legal theory involved says that each component is indeed protected. Some people disagree, or ignore the risk. They just include any LEX files required to run the application they are contributing. If you choose to do this, you should link all the required LEX files thus combining them in a single file that you then rename ????LEX, to match the name of your ???? application. When you do this, keep in mind you assume the responsibility for obtaining all required authorizations. Of course, I would immediately purge the file if any copyright holder objects. The alternative is to disassemble the keywords you use, make improvements, and contribute your improved LEX & source. Source code listings are less convenient than the assembled LEX, but I have not heard of a single instance where PPC / CHHU / User groups have been sued for publishing hex dumps or disassembled listings. I would prefer source code myself, as I try to keep as few LEX files in my machines as possible by combining the keywords I use into MMLEX. This helps improve system performance. None of the above settles the problem of how to get or distribute LEX files that may be needed to run swapdisk software. One method used to share such material is to take a disk to meetings that is clearly labeled "PRIVATE - LEX FILE COLLECTION" and "NOT FOR DISTRIBUTION". Then, leave it with a pile of swap disks to be duplicated at the meeting. Do not be surprised if, by the end of the meeting the disk has a few additional files... HP-75 LEX FILE COLLECTION: With the HP-75 now unsupported by HP, it is up to the HP-75 afficionados among us to support the HP-75 as best we can. There will be no new ROMs, and only such software as we write & distribute. Therefore, we should be making a special effort to use the best tools available. Very often, this means having the best LEX files / keywords to do the job. There have been quite a few excellent LEX files written, mostly by members of HPCC in England and by Mr. Herve from PPC Toulouse in France (J.J. Dodin's club). I propose starting a collection of all HP-75 LEX files with associated source code. Altogether, I believe we have enough code to fill an 8K EPROM.. Anybody interested should contact me, ie., send me a disk or tape with whatever you have. I would return your medium after adding whatever I have that you do not. Note that a certain amount of such material is already on various swapdisks - let's NOT route this material around again unless improvements have been made. THE HP-71 WONDER ROM PROJECT: (JPCROM was previously called JPCLEX) As I foretold back at the Reston (Washington DC) Conference, US users should have worked on the project if they truly wanted the ROM project to stay in their hands. Well, we dropped the ball, and the Paris Chapter is now the natural "lead agency" for an international User Community ROM project. Please note that JPCROM now includes MAPLEX by Tapani Tarvainen, and that SORTLX1A by Italo Panella & Stefano Tendon from the CHHU-Italy Chapter will be included as soon as some minor improvements are made to increase its usefullness. I have convinced PPPM / SydCHHU / CHHU-IT / John Baker / Jan Buitenhuis and hopefully many others to contribute their material to JPCROM. As a result, a goodly amount of the best work that was to be included in the CHHU ROM will now be included in JPCROM. I understand that the Paris Chapter intends to contact LEX file authors (as time permits) and ask their permission to use the material. Of course, this will be time consuming, and there is considerable material in my files where the author is unknown. Ouch! Therefore, if you have material you would like to contribute to the ROM, please send it to me with a brief note that says "Please forward files A, B, C to the Paris Chapter, for the ROM project. I hereby authorize the Paris Chapter to publish this material in their Journal and to include it in JPCROM". When you do it, please resubmit any material that was offered to the CHHU ROM Project. Also, it would be nice if this material could be added to future swapdisks. This has become neccessary both for legal reasons and because some of this material has been lost. How? It used to reside on a hard disk Sam Chau had borrowed from HP, which subsequently was trashed. This was a disaster, as it included new stuff I did not have copies of. Much of the material IS available on swapdisks. Some I cannot distribute because of specific instructions from the authors, some because I am told we may not release material specifically contributed to the CHHU ROM project unless I specifically get permission from the authors. To avoid such problems in the future, I would suggest some words such as "In the event this material is not used in JPCROM, it may be used in subsequent NON-COMMERCIAL internationl User Group ROM projects". JPCROM STATUS: JPCROM, at the time of the Copenhagen Conference, was a 20Kbyte LEX file with some 98 keywords and numerous Poll handlers. Enough new material has been contributed that the file could easily grow to 32K and beyond. The English version manual has been translated from the French, and is currently over 200 pages long. The translation has been proofread, and the manual should be available any time. Keep in mind that JPCROM & the manual is an ongoing project. JPCROM is improved daily, as the project team adds new keywords & fixes bugs. I get new versions about once a month, for review / bug hunt/ work on the manual. Hopefully, the next release will not be delayed by the translation process! General distribution, however, will be less frequent, or the cost of the manual would become prohibitive. The obvious solution to lagging documentation is subscribing to the Journal of the Paris Chapter. Each Journal includes a one or two page English description of the contents, which should allow most people to make sense of the code. JPCROM is to be distributed in EPROM form. Part of the reason is that a 20K and growing file will not otherwise fit in a standard HP-71. Also, code in EPROM does not move around, which allows simpler code in some instances, and saves bytes. And it makes piracy a bit more difficult... SORTLX1A: SORTLX1A is a wonderful LEX file by Stefano Tendon & Italo Panella, from the CHHU-ITaly chapter. It sorts stuff, and complements / replaces DATALEX. It is incredibly fast, has more options than I expected possible, and makes HP-71 database managment a real possibility. Before SORTLX1A, data had to be ported to some IBM PC with LOTUS or SUPERCALC4, unless you could afford to spend hours waiting for the desired output. Now, I think we could handle files several HUNDRED Kbyte long - if we had enough RAM. Some of the optional features are being improved. I intend to rework my mass storage managment files to take advantage of SORTLX1A, and my HP-71 Resource Allocations Managment system as well. I hope to have the material ready before SWAP09 gets published. SWAP PROGRAM: More miracles from CHHU-ITaly! Here, the congratulations go to Stefano Tendon and Stefano Piccardi. The products are Full Screen Editors VE75 and VE71. Both work very nicely - I am typing this letter using VE71, and I find it easy to learn the many features, as the manual is excellent. The manual is on the disk itself. It is of excellent quality, and users are encouraged to send in bug / documentation error reports. I have found practically no errors of major importance. SEE SWIT04 & SWIT05 swapdisks. DEMO program >>>bug<<<: The DEMO program will NOT work as is with my video interface. Specifically, the CALL to VE uses "%48" for the display device specifier. Unfortunately, this is not the AID for the HP 80 column interface. In order for DEMO to work with all video interfaces, you should use ":display" instead of "%48". In fact, VE should also test for the presence of the display and prompt the user for his choice of device if it is not found. Consider someone who uses HPILLINK, with the HP110 / IBM PC / HP150 providing the video screen! This means that there may be problems with other programs such as VEDIT Incidentally, the AID for MC video interfaces is 50. (OOPS! this bug was documented in the manual, I should have read the entire document, not just part of it). GRAPHIC LEX FOR THE HP-71: Pierre David of the Paris Chapter has writen an excellent graphic LEX for the HP-71. The LEX / Module is being distibuted (sold) by BCMW Informatique, 2 Bis rue N. Houel, 75005 Paris, France. Price unknown. This module provides an excellent emulation of standard HP Graphic Language commands, such as you would use with an HP-7470 Plotter. The main difference is that the plotting surface is a special file in RAM, and that there is a special command to send the graphic output to a thinkjet printer. Sorry, but this LEX does not support multi-color work. Otherwise, if you can think of it, it does it! You can draw boxes, circles, axes, any curve you can represent using a basic program, print labels of any size, at any angle - you even can control the height/width ratio of the characters. Truly impressive! The worst problem is that you need at least 32K of free RAM for serious work. You need some 80 bytes per row of one dot thickness. A square working area of 640x640 pixels takes a file of 51200 some bytes, plus some small amount for buffers and such (not much). The beauty of this file is that you can build a library of subroutines to handle routine task, such as company logo, date & signature blocks, and other junk. You can either save such blocks on disk, to be used at need (if very fancy or time consuming) or CALL the routine. Since it is all basic program instructions, you can readily make changes until everything works out perfectly. Also, this file was originally designed so that a poll handler could support column graphics used by the HP82905, but this option has been shelved for the time being. Oh, a friendly warning: Do not try to unprivate this file. Nasty protection scheme! (I found out the hard way.) GENERAL: This brings us to the Turbo Assembler, for FORTH assembly work. Fascinating! If I understand correctly, this is strictly for assembly from within the FORTH environment, which simplifies the code since you do not have to worry about code moving around. Still, the structures provided allow converting structured FORTH language to assembly, 10 times faster than the FORTH/ASSEMBLER ROM! This is to be a commercial product. This is also from CHHU-IT. So, what has been happening in the USA ? : as you probably know there has been very little activity. Brian Walsh has come out with the second issue of HPX, which is not bad at all. I have been in touch with Joe Horn, and, with luck, I will soon be getting copies of SYMBOLIX and other programs being offered in the Titan File. He indicated that he would let me have his "monkey business" files that allow him to enter very long program lines (of more than 96 characters) and to remove line numbers! In other words, a program that precompiles BASIC programs and reduces the length. A few other people have also promised me other stuff. SWAP09 should be quite interesting even if I get only half of what I should be getting. I am planning an official release date of end October, assuming I get enough material from YOU, the members of the international user community. My special thanks to CHHU-IT and HPCC, who have been contributing material REGULARLY. My thanks also to all of you who have contributed. I would like to put the swap program on some kind of a schedule. I think we could get a disk out every couple of months, to make sure new material gets out to the users while it is still "fresh". Why let it gather mold ? In the event there is little new material in any period, we could keep adding to the current disk until reasonably full. I would generally propose release dates of end December, February, April, August & October. I left June out deliberatedly, as most people are busy with vacations & such. When the weather is nice, I'd rather go fishing or swimming anyway! HP-71 ver. 2CCCCC to be superceeded by version 2CDCCC. The revision fixes the redimensioning bug that plagues the 2CCCCC. This latest version should hit the stores by end December. Formatting swapdisks: any size will do. The directory will be owerwitten by MCOPY. Dont worry, this is all done so that swapdisks will be trouble free. Tom Cadwallader asks me to explain why unused mass storage sectors move when you copy files from a backup tape to a disk to restore files that are blank, probably as a result from an MCOPY where the batteries pooped out. Answer: While I cannot be certain, I assume that you were using an HP-71 to do the copying. The HP-71 has a fancy algorithm that looks at up to three contiguous files and "PACK" these files to recover unused sectors. This feature is seldom invoked, as the algorithm does nothing unless it actually can recover enough space to make the file fit. CHHU01 has a number of files that were later overwritten with newer, improved versions, which also means unused sectors. what happened is that the files you copied were move to aa lower address to recover the unused space. What puzzles me is why the block of unused sectors was trapped after INATAPE. In theory, the block could be moved to the end of the medium. This is a bit of a puzzler. RECOVERING PURGED FILES: From time to time, I get asked to help recover purged files. This is usually easy to do if you realized you goofed before you write new stuff onto the disk. All you have to do is edit the directory entry and restore the filetype bytes that have been cleared (set to zero) by PURGE. I wrote an HP-75 program named EDDIRENT to do the job (CHHU03). There is a variety of other files such as FINDFILE, DIRALLD, DIRALL71, FINDFL71 on the swapdisks that will allow you to locate the purged entries and to verify the status of the file. There are plenty of other directory editors for the HP-41, to include FIXDIR and DIRH and WRTBYT. EDTAPE4 (CHHU BBS) is a superlative HP-71 mass storage editor by Jan Buitenhuis. Somewhat obsolete by now, but it works so well that I never bothered to finish the one I was working on at the time. Partial file recovery when you have corrupted the start of a file is quite a bit more complicated, but not impossible provided you are familiar with the file structure. In this respect, recovering TEXT files is ALWAYS possible to some degree. The process is straight forward: copy the sectors to RAM, converting control codes and other invisible characters to the hexadecimal equivalent. Then, you can easily delete garbage & do whatever needs be done to "fix" the text. The rough stuff comes along when you tangle with compiled code. HP-71 material where you need to cope with nibble reversal can be especially tough. Still, the informattion that went into FINDFL71 goes a long way toward making partial recovery possible. In fact, at one time I was more or less capable sight-reading HP-75 basic & assembly from the hex dump of mass storage files. Nowadays, I can still recognize the end-of-line / return instructions. With enough study and practice, I am sure that any type file could be recovered if any sizable fragment remains. What is SWAP85B? this was an early version of CHHU03. This disk has some unique files that were either improved upon or removed due to problems. Which disks am I missing, and what is there for me? See the SWAPDISK file. In the future, updated versions of this file will keep you informed. HOW WILL SWAPDISKS BE DISTRIBUTED in the future? Business as usual! If you have a contribution, send it on disk to me, and I will return your disk in the Self-Addressed Stamped Envelope you provided. I will be happy to copy any current swapdisk onto your disk, just say which one! If you have nothing to contribute, please try your local chapter swapdisk librarian first. This will help keep the amount of time I spend copying swapdisks under control. Again, see the SWAPDISK file. You just might be lucky to have a neighbor who already has everything, which could save you considerable postage. Finally - you can always come to a Conference. Nowadays, swapdisk copy sessions are routine. This is by far the most efficient way, with up to a dozen copies made per operation, depending on the number of drives available & on battery eliminators... Don Schap, 9802 Bianco Terrace Apt. 3E, Des Plaines, IL 60016 is looking for an HP2713A PMS unit for the HP-75. Wants to use PMS FORTH. If any one would like to unload one, please contact Don. Don was also looking for a copy of HACKPACK that worked. HPILLINK: People who have the HP82973 HP-IL interface Board for IBM PC machines or who use HPILLINK to communicate between DOS machines such as the HP-150 or the Portables and HP Handhelds may be interested to know that Software revision C is now available. Contact your HP dealer to get the upgrade. ============================================================================== Now, a few "daffynitions" for our datacomm-mad friends... (Originally from the Washington Post, with a few modifications) -- File : A corrupt form of "fille", a French word for girl. -- Baud: From the English "bawd". A 20th century lady of pleasure. -- Bulletin Board : A place where files are kept, or boarded. Authorities suggest that the original form was "Bull let-in Board". -- Modem : The intermediary who lets you in a bulletin board, after setting the baud rate and other preliminaries. -- Byte : What FIDO does to strangers. -- Terminal : The prognosis for a disease transmitted by computer companies. -- Digital : Pertains to the fickle finger of technology -- Real Time : What precedes Miller time. -- Floppy Disc : A recording that never made it to the top 40. -- Peripherals : What you discover you need after you buy a personal computer. -- 64K : the cost of your computer if it does have peripherals. -- Interface : French kiss -- CRT : a TV that can't receive a single good show. -- Hardware : The hammer you will need to fix your computer, when it repeatedly insists on doing what you tell it to do, instead of what you wanted. ============================================================================== Well, that is it for the moment. This file will keep growing until it goes on SWAP09. Best reguards, Michael Markov