>>>>>>>>>>>>>>>>>>>>> CP/M-Net News <<<<<<<<<<<<<<<<<<<<<<<< ============================================================ Number 8 August, 1981 Volume 1, Issue 8 ============================================================ In This Issue ============= Contacting the RCPMs- An Update by: Al Byrne SIG/M Diskette Fix for CP/M 1.4 Incompatibility By: Kelly Smith, CP/M-Net "SYSOP" CP/M Book Reviews By: Mark Wehmhoefer A First...Amateur Radio Digital Communications! By: The Vancouver Amateur Digital Communications Group CP/M-Net "Tip-of-the-Month" Patch to make ZSID.COM the same Dump Display as DDT and SID By: Bob Fisher - De Paul University Printed monthly (at worst quarterly) to inform user's of RCPM Systems to the latest software news, information, and updates of public domain software accessible via telephone/modem transfer. Yearly subscription for copies of the CP/M-Net News may be obtained by mailing $18.00 (check or money orders only) to Kelly Smith, CP/M-Net, 3055 Waco Street, Simi Valley, California 93063. CP/M-Net is a non- profit orginization and all money received on subscriptions are utilized for the sustaining and enhancments of the CP/M- Net System. If you would like to contribute an article, include a column containing your area of interest and expertise, or participate in an open forum for conversation and transfer of ideas, feel free to send it to the CP/M-Net System and indicate that you would like it to be included in the CP/M- Net News...if possible, use WordStar (trademark, MicroPro International) or Electric Pencil (trademark, Micheal Shrayer) in 60 column format. NOTE: CP/M is a registerd trademark of Digital Research ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Contacting the RCPMs- An Update =============================== by: Al Byrne Though I am using MODEM4, it was my intention to get MODEM7 because of the AUTODIAL feature. But I thought I'd try to add that myself, so I now have six phone numbers stored in my MODEM4 program that I can dial by simply pressing a key on the keyboard- five are RCPMs and the sixth is the local computer store that I used for checking out the routine. I did it this way just to see if I could do it. I also changed the buffer from 2K to 16K since the memory was just sitting there doing nothing but I don't know whether this has helped anything or not. I don't use a commercial terminal but a modified TV for display and a surplus keyboard for entries so I don't have a BELL. But I had a spare serial output port and a speaker in the junk box so I tied them together to give me a programmable buzzer. I use this to alert me to a completed RCPM contact so that I can get those carriage returns out before the connection is broken. Though I have a screen message, the buzzer is useful since I no longer have to devote full attention to the screen. I wasn't able to find DISPLAY.ASM, as mentioned in the June VCC Newsletter, but I did find DISPLAYP.ASM. I was sure the second P stood for PAGE but, alas, it stands for PATCH. If you aren't an RCPM Sysop, you don't need DISPLAYP.ASM. Anyhow, I got DISPLAY.OBJ and it worked perfectly except that it displays 23 lines and I have a 16 line screen! I lucked out in finding the locations of this value by scanning through the code. If you're in the same position, change the bytes at 0212, 0576 and 05CF from 17H to 0FH. This seems to do the job unless you're looking at an 80 column file with a 64 column screen. In this case, a line with more than 64 bytes will require 2 lines to display, but DISPLAY counts it as one, so you may want to change those bytes to 0E or 0D. I also changed the disconnect, if there's a D secondary option, so that the computer does it automatically (just as if by magic) instead of having the program wait for a CR from the operator. I have continued to record the number of checksum errors and timeouts that occur on each transfer but have been unable to extract any significant information from the data. On only one occasion, out of more than twenty, were there enough errors to cause an abort and nearly all contacts were at 600 BAUD. The one that aborted was on a call to Dave Hardy in the Detroit area and the TV stated there was some very bad weather in the area, including a tornado in Ohio. Using my expensive, aerospace-age timepiece (I didn't know a solid gold band would leave a ring on your arm!), I was able to accurately time the transfer of two files and, in each case, the throughput was slightly less than 49 bytes per second at 600 BAUD. This reflects the additional housekeeping that has to be done in addition to sending the program- SOHs, ACKs, NAKs, checksum comparisons, etc. I am convinced that if I can't get it at 600 BAUD , I can't get it at 300 BAUD either so I now use 600 BAUD whenever possible. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SIG/M Diskette Fix for CP/M 1.4 Incompatibility =============================================== By: Kelly Smith, CP/M-Net "SYSOP" If you have received copies of the SIG/M diskettes and are using CP/M version 1.4 (or any CP/M version less than 2.0), you will be unable to execute, rename, assemble, erase, or pip certain files on the following SIG/M diskettes: SIG/M Volume 4 - File 4.18: SURVEY.COM File 4.19: SURVEY3.ASM SIG/M Volume 9 - File 9.05: DISPLAY.COM File 9.06: DISPLAY.DOC File 9.07: DISPLAYP.ASM SIG/M Volume 17 - File 17.1: SCRAMBLE.DOC File 17.2: SCRAMBLE.ASM File 17.3: SORTV.DOC File 17.4: SORTV-12.ASM These files are "tagged" as READ ONLY files on CP/M version 2.0 (or greater) and as such, are not recognized by CP/M version 1.4 (or less) as compatible files. They will appear in your directory but as such, are useless. The files are recoverable however by RESETTING the "tagged" T1 byte of the most significant bit (bit 8) of the first character of the file type (for instance, the "C" in "COM" is normally an ASCII 43 hex, but when "tagged" as READ ONLY, it becomes a C3 hex). Possible fixes to recover the files are: 1. Find a friend using CP/M version 2.0 (or greater) and have him/her reset the READ ONLY files as follows: STAT filename.type $R/W<cr> <--- set file to read/write 2. "Patch" the diskette directly with DU (DU-V75.COM from SIG/M Volume 16, File: 16.4). 3. "Patch" the diskette directly with DUMP (DUMP.COM from CPMUG Volume 14, File: 14.6). 4. "XMODEM" the files from the CP/M-Net System; Volume 4 and 9 are on disk E:, User 0, and Volume 17 is on disk F:, User 0. FURTHER NOTES FROM KEITH PETERSEN There is a simpler way: use DIR-FIX. That's a program I wrote quite some time ago which corrects this problem. It is meant to run on CP/M 1.4, CDOS or MDOS. It examines the directory to find any files with high-order bits in the file names, builds a table of these names and does a simple "rename" function of NEWFILE (without high bits) equals OLDFILE (with high bits). It works great and avoids all the hassles of doing it the ways Kelley mentioned. Keith Petersen, W8SDZ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CP/M Book Reviews ================= By: Mark Wehmhoefer --- Summarized Rating Chart --- (1) (2) (3) (4) (5) Index x x x x no CP/M User group address x no x no x Software list x no x no x Hardware list x no no no x Command summary x x x x x CP/M version differences x x no no no Glossary no no no no x (1) Osborne CP/M User Guide (The best overall) (2) The CP/M Handbook (Excellent reference guide) (3) CP/M Primer (Best to read before buying CP/M) (4) Using CP/M (Read before buying a computer) (5) How to Get Started with CP/M (Read only if you like to read books) --- Review 1: Osborne CP/M User Guide --- Hogan, Thom, OSBORNE CP/M USER GUIDE, Berkely: Osborne/Mcgraw-Hill 1981. Price $12.99 - 283 Pages. Chapters one thru eight: Intro to CP/M and Operating systems, CP/M built-in commands, CP/M transient commands, Assembly language utilities, Other transient programs and CP/M, MP/M, CP/NET and CP/M derivatives, Technical aspects of CP/M, Putting it all together: the systems approach. Appendices: CP/M command summary, ASCII character codes, Comparisions of CP/M versions 1.3, 1.4 and 2.0, CP/M prompts, Diskette selection, Annotated bibliography and CP/M address book. I rate this book the best overall because its easy reading style will get you familiar with all the CP/M commands very quickly. And it explains some of the more difficult to understand CP/M facilities (e.g. modifying the BIOS), without talking over the beginner's head. Appropriate comments on the different versions of CP/M are liberally used in this book and will not confuse the beginner. Its best features include: an extensive magazine article list on CP/M, languages, and utilities, error messages for each CP/M command are listed immediately after its description, a brief description of the more popular languages and a list of different CPU diskette formats. Also explains the CP/M, MP/M, CP/NET commands as well as describes other CP/M derivatives. Boo-boos - In chapter 7, page 222 "Routine from MODEM527.ASM by Ward Christiansen(sic)". --- Review 2: The CP/M Handbook --- Zaks, Rodney, THE CP/M HANDBOOK with MP/M, Berkeley: Sybex 1980. Price $14.95 - 321 Pages. Chapters one thru eight: Intro to CP/M and MP/M, CP/M and MP/M facilities, Handling files with pip, Using the editor, Inside CP/M (and MP/M), Reference guide to CP/M and MP/M commands and programs, Practical hints, and The future. Appendices: Common CP/M error messages, Hex conversion table, ASCII conversion table, Ed control characters, ED commands, Pip device names, Pip keywords, Pip parameters, CP/M (and MP/M) commands, Command editing controls, CP/M extension types, Supplies (checklist), Computer room organization (checklist), Failure checklist, Basic trouble shooting rules. This book is the best reference guide of all the CP/M books because CP/M versions 1.4, 2.2 and MP/M commands are distinguished throughout. It uses a brute force method of explaining the various command options otherwise I would rate it equal to the Osborne CP/M User Guide. This is the only book that describes the MP/M commands and it should be next to the console when using CP/M. --- Review 3: CP/M Primer --- Murtha, Steven M and Waite, Mitchell, CP/M PRIMER, Indianapolis: Howard Sams Co 1980. Price $11.95 - 92 pages Chapters one thru eight: Intro to CP/M, A CP/M microcomputer: Hardware and Software concepts, Starting up and first using a CP/M system, System initialization: FORMAT, SYSGEN and MOVCPM, STAT and PIP, ED the CP/M editor, ASM the CP/M assembler, and DDT: the CP/M dynamic debugging tool. Appendices: The internal structure of CP/M, CP/M compatible software, CP/M reference. This book is recommended for the person deciding to buy CP/M. Liberal use of charts, diagrams and illustrations make it read like a novel, yet all the basics are covered. Unfortunately, the cover states "Latest CP/M Version 2.0" yet I could find only two minor references to version 2.0 in the book and most command examples are in version 1.4. Its best features include a very handy cut-out reference card of CP/M commands and its description of ASM and DDT. In fact, you are walked thru an actual session of both ASM and DDT with a sample program. --- Review 4: Using CP/M --- Fernandez, Judi N and Ashley, Ruth, USING CP/M - A SELF TEACHING GUIDE, New York: John Wiley & Sons, 1980. Price $8.95 - 243 pages. Chapters one thru ten: Intro to CP/M, Typing CP/M commands, CP/M built-in commands, CP/M transient programs, The STAT command, Using PIP, Intro to ED, Editing existing files, Advanced ED functions, and Submitting command files. Appendices: Changing device assignments, Pip parameters, and Reference summary. I cannot stand the style of this book because after every one or two paragraphs, five or six questions are asked. All the CP/M commands are covered but much detail is lacking on the majority of commands. This book contains only one or two slight blurbs on version 2.0. Its best feature is three chapters on the editor but it could have been presented better by walking the reader through a complete session. --- Review 5: How to Get Started with CP/M --- Townsend, Carl, HOW TO GET STARTED WITH CP/M, Beaverton: Dilithium 1981. Price $9.95 - 127 pages. Chapters one thru ten: Who needs an operating system, CP/M overview, Shopping for CP/M hardware, Your first CP/M session, Files, records and disks, Using the utilities, Backup procedures and disk care, The editor - Introduction Word processing and spoolers, and CP/M compatible programming languages. Appendices: CP/M memory map, CP/M hardware suppliers, CP/M software suppliers, CP/M diagnostics, CP/M Users's Group, and Glossary. I cannot understand whether the author wanted to explain CP/M or instead promote all the various commercial and user group CP/M programs. The chapters lack continuity and meaning to the beginner, although in there somewhere is a paragragh on all the CP/M commands. Nothing is ever said about the different versions of CP/M. This book is supposed to be part one of two books, with the next book containing all "The more complex features"?. Also it is the only book without an index, but it does contain a glossary of terms, most of which the beginner could care less about. Boo-boos - Chapter 10, page 82, Table 5 "peak/poke (sic)". And in appendix C there is this note: "..because the Radio Shack TRS-80 has a prom, standard CP/M programs must be modified...the prom limits the CP/M usefulness..". If the author went to so much trouble to place that note here, why didn't he tell the whole story? The Mapper I from OMIKRON allows TRS-80 users to run standard CP/M and very little, if any, modification to programs is needed. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ A First...Amateur Radio Digital Communications! =============================================== By: The Vancouver Amateur Digital Communications Group Another first for Amateur Radio Digital Communications was accomplished today (July 8, 1981) when the information packets were passed between Ottawa and Vancouver via satellite as the first step in an experiment to interconnect Amateur packet radio networks in these two cities. The satellite used was the Anik-B geostationary satellite operated by the Canadian Department of Communication which is providing communications channels for the experiment. The packets exchanged were in HDLC format using the ASCII code. The digital equipment used at both ends was the packet radio controller developed by the Vancouver Amateur Digital Communications Group. The purpose of the experiment is to develop efficent hardware and software techniques for interconnecting local communication networks over widespread geographical areas and additionally, to demonstrate satellite packet techniques. It is expected that the expertise developed will be of direct application to the amateur environment in the near future. The Canadian DoC has installed a 20 watt TWT (Travelling Wave Tube) transmitter at one of their Earth Stations near Vancouver to provide an additional telephony channel to conduct the experiment. This transmitter operates in the 14/12 GHz. satellite band. This project is jointly sponsored by the Canadian Radio Relay League (CRRL) and the Canadian Amateur Radio Federation (CARF). However, the funding, equipment and technical work to interface the channel to the amateur radio networks is being provided by the Vancouver Amateur Digital C,mmunications Group (VADCG) and by the Ottawa packet radio group. For further information contact either Hugh Pett, VE3FLL, 36LLismer Cr., Kanata ON, K2K 1A2 or Doug Lockhart, VE7APU, 1263 Balfour Ave., Vancouver BC, V6H 1X6 (Tel. 604-738- 5683). [Editor: I have been following the efforts of the VADCG for over a year, and thought you might be interested in some additional information: A Terminal Node Controller is available from the VADCG (blank board only) for $30. Write to: VADCG, 1263 Balfour Ave., Vancouver, BC, Canada V6H 1X6 or telephone (604) 738-5683. The board is 7.75 by 8.5 inches made of double-sided G-10 glass epoxy, with plated-through holes...well worth the price! The board needs: an Intel 8085 CPU, an Intel 8273 Data Link Controller, an Intel 8255 for parallel I/O, a National INS8250 for serial I/O, 4k 2708 EPROM, and 4k 2114 RAM...further details are available in the Amateur Radio Research and Development Corporation (AMRAD) Newsletters of June and November. You can contact AMRAD at 1524 Springvale Avenue, McLean, Virginia 22101] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CP/M-Net "Tip-of-the-Month" =========================== Patch to make ZSID.COM the same Dump Display as DDT and SID By: Bob Fisher - De Paul University A>ZSID ZSID.COM<cr> <--- Load ZSID into memory with ZSID ZSID VERS 1.4 NEXT PC END 2900 0100 A9FF #S125F<cr> 125F 5F AF<cr> <--- Put in XOR A 1260 ?? .<cr> <--- End substitution #S12C0<cr> 12C0 CD 18<cr> <--- Put in a relative jump 12C1 ?? 01<cr> 12C2 ?? 00<cr> 12C3 06<cr> <--- No change, here 12C4 06 01<cr> 12C5 ?? .<cr> <--- End substitution #S12E1<cr> 12E1 CD 18<cr> <--- Another relative jump 12E2 ?? 04<cr> 12E3 ?? 00<cr> 12E4 CD 18<cr> <--- Yet another relative jump 12E5 ?? 01<cr> 12E6 ?? .<cr> <--- End substitution #G0<cr> (or Control-C<cr>) <---Exit ZSID, return to CP/M A>SAVE 40 ZSID-FIX.COM<cr> <---Save fixed version of ZSID When ZSID relocates itself, an offset is added to bytes 12C2, 12E3, and 12E6 hex. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++