home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ZSYS / ZNODE-12 / I / PIPMAG6.ASC < prev    next >
Text File  |  2000-06-30  |  93KB  |  1,757 lines

  1.   
  2.                            PIPMAG COPYRIGHT NOTICE
  3.  
  4. PIPMAG, the Online Magazine of The National CP/M RoundTable on GEnie is 
  5. Copyrighted in its entirety by Brad Harris for the protection of the authors' 
  6. articles contained within this Online Publication. This in no way supersedes 
  7. the Copyright by the original authors.
  8.  
  9. Distribution and electronic transmittal is encouraged for individual, private 
  10. use and for Non-Profit BBSs'. Use by, or transmittal to Commercial or charge 
  11. services is prohibited. When distributed, the entire issue (complete) con
  12. tained within must be intact.
  13.  
  14. Written permission to copy or otherwise distribute portions of PIPMAG may be 
  15. obtained through the individual authors or through Brad Harris (GEnie mail 
  16. address BRAD-HARRIS)
  17.  
  18.   Copyright (C) 1990 by Brad Harris
  19.  
  20.  
  21.                 VIEWING PIPMAG
  22.  
  23.   
  24. PIPMAG may be read, buffered or scanned in menu form, as you are doing now.  
  25. PIPMAG will also be available as an .ARK file in the CP/M Library.
  26.  
  27. Please use Control S to pause, and Control Q to resume viewing.
  28.  
  29.  
  30.  
  31.                 The CP/M PIPMAG      
  32.  
  33.  
  34.             dBASE Importing and Exporting
  35.  
  36.                    by
  37.  
  38.                   RICHY
  39.  
  40.    One of the things I like most about dBase is the ease of importing data, 
  41. which is a big work saver when I get to save all the time needed to enter the 
  42. data manually. Special options of the APPEND FROM and COPY TO commands make it 
  43. easy to import and export data with dBase. The easiest way to import data is 
  44. to use a word processer and format the data as regular text into rows and 
  45. columns. Here is an example, (I have put the "to be" field names above the 
  46. columns):
  47.  
  48.                Area
  49.  State      City    code
  50.  
  51. Missouri    Cape Girardeau 314
  52. Pennsylvania  Norristown   215
  53. California   El Monte    818
  54. Hawaii     Honolulu    808
  55.   
  56.  
  57.    Each row or line equals one record, each column equals one field. Simply 
  58. line up the fields and end each line with a carriage return. Then count the 
  59. digits of each column and note them down for when you go to CREATE your data 
  60. base. For the above example count the digits for each column. The correct 
  61. counts are State = 15, City = 15, and Areacode = 3. Below is a look at the 
  62. data base structure for this data base:
  63.  
  64. Structure for file: M:AREACODE.DBF
  65. Number of records: 00000
  66. Date of last update: 00/00/00
  67. Primary use database
  68. Fld  Name  Type  Width  Dec
  69. 001   STATE    C  015
  70. 002   CITY     C  015
  71. 003   AREACODE   C  003
  72.  
  73. ** Total **       00034
  74.  
  75.    Below shows how to import data from a text file. The "sdf" at the end of 
  76. the command line tells dBase that the file which is being appended from is in 
  77. the System Data Format:
  78.  
  79.  . use areacode
  80.  . append from areacode.txt sdf
  81.  00004
  82.  records added
  83.  . list
  84.  
  85. 00001 Missouri    Cape Girardeau 314
  86. 00002 Pennsylvania  Norristown   215
  87. 00003 California   El Monte    818
  88. 00004 Hawaii     Honolulu    808
  89.  
  90.    NOTE: This process is not sensitive to file tail. The .sdf tail is an 
  91. option to help you keep track of what type of file it is. No tail is necessary 
  92. for the process.
  93.  
  94.    Now here is a look at the records using the edit option of dBase. This 
  95. shows that the importing was perfect, with the first character of the fields 
  96. falling right after the colon. If you find this not to be the case when you 
  97. use the System Data Format, (.sdf), then check the uniformity of your columns, 
  98. recount the digits of your columns, and check this against the data base 
  99. structure.
  100.  
  101. RECORD # 00001
  102. STATE   :Missouri    :
  103. CITY   :Cape Girardeau :
  104. AREACODE :314:
  105.  
  106. RECORD # 00002
  107. STATE   :Pennsylvania  :
  108. CITY   :Norristown   :
  109. AREACODE :215:
  110.  
  111. RECORD # 00003
  112. STATE   :California   :
  113. CITY   :El Monte    :
  114. AREACODE :818:
  115.  
  116. RECORD # 00004
  117. STATE   :Hawaii     :
  118. CITY   :Honolulu    :
  119. AREACODE :808:
  120.  
  121.    Text is just as easy to extract with dBase with the COPY TO command: 
  122.  
  123.  . use areacode
  124.  . copy to areacode sdf
  125.  00004
  126.  records copied
  127. \ . 
  128.    This extracts the data and copies it into a text file named areacode.txt. 
  129. Any tail may be supplied if desired. If no tail is provided dBase will use the 
  130. .txt tail.
  131.  
  132.  . copy to areacode.doc sdf
  133.  
  134.    The above command line will give a text file called areacode.doc. 
  135.  
  136.    The other file type used for dBase importing and exporting is the delimited 
  137. type. Instead of outputting a file in perfect rows and columns, this method 
  138. outputs a file which is delimited with commas, apostrophes, quotation marks, 
  139. and others as you can specify. I won't get into a lot of detail here, but 
  140. simply say this is an excellent way to backup a .dbf file. Here is how you 
  141. would use the delimited option:
  142.  
  143.  . use areacode
  144.  . copy to areacode.cdf delimited
  145.  00004
  146.  records copied
  147.  \. 
  148.    Here is what the output would look like:
  149.  
  150. 'Missouri','Cape Girardeau','314'
  151. 'Pennsylvania','Norristown','215'
  152. 'California','El Monte','818'
  153. 'Hawaii','Honolulu','808'
  154.  
  155.    Notice the byte count would be less, since the trailing spaces have been 
  156. trimmed. This can save up to 50% in disk space for keeping a backup data file. 
  157. Here is how you would import the data back into a .dbf file.
  158.  
  159.  . append from areacode.cdf delimited
  160.  
  161.    NOTE: It would be a good idea at the time of backup to keep a copy of the 
  162. .dbf structure along with the delimited backup data file. Here is how to make 
  163. an easy copy of the structure:
  164.  
  165.  . copy structure to backup
  166.  
  167.    This will give you a .dbf file named backup.dbf which will be empty and 
  168. ready to use in case of a loss of the original.
  169.  
  170.    When using the delimited option for output, you have a choice of how the 
  171. file is delimited. Fields will be separated by commas, but you can select the 
  172. character you wish the fields to be bracketed with. There is a WITH option you 
  173. can use at this point. Say you have apostrophes in a field, and you want to 
  174. avoid confusing the process, since the apostrophe ' is the default character 
  175. dBase uses to bracket each field. Here are 4 examples, and their output.  
  176. Notice the last one I inserted a comma in Cape,Girardeau. (The bracketing of 
  177. each field allows for commas to be a natural part of a character field with 
  178. out messing up the process of delimited file types.
  179.  
  180.    Copy to filename.cdf delimited with *
  181.  
  182. would yield
  183.  
  184. *Missouri*,*Cape Girardeau*,*314*
  185. *Pennsylvania*,*Norristown*,*215*
  186. *California*,*El Monte*,*818*
  187. *Hawaii*,*Honolulu*,*808*
  188.  
  189.    Copy to filename.cdf delimited with "
  190.  
  191. would yield
  192.  
  193. "Missouri","Cape Girardeau","314"
  194. "Pennsylvania","Norristown","215"
  195. "California","El Monte","818"
  196. "Hawaii","Honolulu","808"
  197.  
  198.    Copy to filename.cdf delimited with +
  199.  
  200. would yield
  201.  
  202. +Missouri+,+Cape Girardeau+,+314+
  203. +Pennsylvania+,+Norristown+,+215+
  204. +California+,+El Monte+,+818+
  205. +Hawaii+,+Honolulu+,+808+
  206.  
  207.    Copy to filename.cdf delimited
  208.  
  209. would yield
  210.  
  211. 'Missouri','Cape,Girardeau','314'
  212. 'Pennsylvania','Norristown','215'
  213. 'California','El Monte','818'
  214. 'Hawaii','Honolulu','808'
  215.  
  216.    If the WITH option was used, then you would need to include it to import 
  217. the data back into dBase, using the same delimiter you had use when exporting 
  218. the file.
  219.  
  220.    Well that wraps up this little article. Hope it helps you out as you 
  221. explore the power of dBase.
  222.  
  223.  
  224.  
  225.                 The CP/M PIPMAG      
  226.  
  227.                 Write it Right
  228.  
  229.                    By
  230.  
  231.              Robert Coleman (R.COLEMAN3)
  232.  
  233.  
  234. CP/M abounds with writing tools. This is one application where even staunch 
  235. critics of CP/M agree. And it's true. Wordprocessing is perhaps how most 
  236. CP/Mers (and home computerists in general) spend their time, happily typing 
  237. away. It would not be surprising then, that any article extolling the virtues 
  238. of one wordprocessing tool versus another would draw heated debate. So, with 
  239. that in mind, I would like to share some of the programs which I find useful, 
  240. knowing that they represent only a few of many, currently available both 
  241. commercially or in the public domain.
  242.  
  243. One overlooked tool available to a writer is a good outliner or what is 
  244. sometimes known as a 'thought processor'. When starting out on a project, 
  245. nothing can be as intimidating as an blank monitor screen. With the outliner 
  246. you can casually sit back and just think, jot down some ideas, and before you 
  247. know it, you are getting ORGANIZED. The best PD program I have found in the 
  248. GEnie CP/M RoundTable libraries is Outliner by David A. Usher [1]. It is easy 
  249. to learn -- many of the editing commands are similar to WordStar. As an 
  250. example, I have included a simple outline of this article. Effortlessly, 
  251. sitting there practically drooling in my shoes, I was able to create this 
  252. simple beginning:
  253.  
  254. introduction
  255. outliners
  256. wordprocessors
  257. spellcheckers
  258. Grammatik
  259. closing
  260.  
  261. Impressive? No. Okay, but at least it's a start. Next, my mind will start 
  262. wandering while my fingers hunt and peck. Soon I arrive at the next level of 
  263. complexity:
  264.  
  265. introduction
  266.    CP/M abounds with good writing tools 
  267. outliners
  268.    Outliner
  269. wordprocessors
  270.    WS 4.0
  271.    VDE 2.66
  272. spellcheckers
  273.    Spellguard
  274.    The Word Plus
  275. Grammatik
  276.    a friend -- a proofreader
  277. closing
  278.    include odds/ends section 
  279.  
  280. Quickly, this handful of words start to come together and form more ideas. I 
  281. find myself moving from line to line, inserting, deleting, thinking --creating 
  282. the shell of a piece of writing. I find that it really gets the juices 
  283. flowing. This procedure continues:
  284.  
  285. introduction
  286.    CP/M abounds with good writing tools 
  287. outliner
  288.    Outliner 
  289.      this one is nice with adequate editing ability
  290. wordprocessors
  291.    WS 4.0
  292.      I am a big ws fan 
  293.    VDE 2.66
  294.      I was impressed with D.FOWLER's review
  295. spellcheckers
  296.    Spellguard
  297.      a solid product
  298.    The Word Plus
  299.      many advanced features
  300. Grammatik
  301.    a friend -- a proofreader
  302. closing
  303.    include odds/ends section 
  304.  
  305. One remarkable feature of Outliner is that you can observe varying levels of 
  306. complexity during this brainstorming process. With a simple keystroke you can 
  307. view only the main topics and then expand back to the sub-levels at will.  
  308. Another nice feature is the ability to create .TXT files of any displayed 
  309. level. The examples above are the ACTUAL Outliner screens, saved as text 
  310. files, one at a time. Then while writing this article, I simply inserted (^KR) 
  311. them in. (Talk about integrated software!)
  312.  
  313. In short, this is a handy tool. The above examples are only a preview of its 
  314. true potential. It can be used to write speeches, presentations, itineraries, 
  315. even the outline of an entire novel. Needless to say, the more organized you 
  316. are in the beginning, the easier it is later. With a good outline, the actual 
  317. work of writing can be easier and even fun.
  318.  
  319. Even with a simple outline, it is just a matter of expanding on the topics and 
  320. filling in the details with your favorite wordprocessor. I won't go on about 
  321. 'WordStar 4.0' [2]. It's been reviewed to death. I will say that for $90, 
  322. which is what I paid to be a registered owner, it is worth every penny. Sure, 
  323. it's big and slow, but it's also tried and true, and it is the standard by 
  324. which other such programs are measured. Running on a 1750 REU and my C128, it 
  325. is WONDERFUL. But I must admit, you need a RAM drive or a fast hard drive to 
  326. avoid the long pauses for disk accesses. After reading Dennis Fowler's review 
  327. of VDE in PIPMAG5 and Tom Mcenroe's article on ZDE in the same issue, I think 
  328. I might give one of these a try on my Osborne 1. WordStar 4.0 does run like a 
  329. dog off a floppy drive. For the most part though, WordStar and its clones are 
  330. the mainstay programs of CP/M, and there's not much to be added here.
  331.  
  332. After a writing session, I like to 'sleep on it'. The next day, I always find 
  333. a better way to say something (in fact, I could keep twiddling with ideas 
  334. forever if I didn't force myself to eventually give them up and move on).  
  335. Anyway, after your masterpiece is 'finished', a spellchecker is the next order 
  336. of business. Again, there are many PD as well as commercial programs 
  337. available.  There are two with which I have some experience. One is 
  338. 'Spellguard' [3]. It is menu driven with the regular Add/Mark/Ignore features 
  339. found in most spellchecker programs, where 'Add' -- adds words that are in 
  340. fact spelled correctly, but are not currently in the dictionary; 'Mark' -- you 
  341. can flag a misspelled word with a character of your choice, go back with your 
  342. wordprocessor, search for the character and then correct the misspelled word; 
  343. and 'Ignore' -- you can skip certain words that are okay, ie: names, 
  344. abreviations, etc. Perhaps the only problem with Spellguard is the wimpy 20K 
  345. word dictionary. Of course you can add your own word lists later, as it 
  346. includes some nifty maintenance utilities. To sum it up, Spellguard is not a 
  347. killer but a respectable and well documented commercial program.
  348.  
  349. Again, I promised not to go on about WordStar 4.0, but 'The Word Plus' which 
  350. is the spellchecker program provided with WS 4.0 is really something. Not only 
  351. does it have the Add/Mark/Ignore features, it also has 'Lookup' -- which looks 
  352. throughout the dictionaries (both main and user) for words that are similar to 
  353. the misspelled word. There is 'Correct' -- which allows you to use a word 
  354. found with Lookup, or simply type a correction at the prompt. You can 'Add' a 
  355. word to a user dictionary. You can also move to a 'Previous' word or the 
  356. 'Next' word in the misspelled word list during the same session! This is great 
  357. for those times when you get an afterthought, or you inadvertently made some 
  358. regrettable addition to your dictionary. But the feature that I find the most 
  359. powerful is 'View' -- you can view the misspelled word within the actual text. 
  360. I have found myself at times picking up a thesaurus (unfortunately, The Word 
  361. Plus does not include one) and even changing the misspelled word to an 
  362. entirely different word.
  363.  
  364. The Word Plus also includes some utilities; some unusual. There is 'Find' -- 
  365. which can be used with wildcards ('?') to solve crossword puzzles! There is 
  366. also 'Anagram' -- finding words within scrambled groups of letters. There is 
  367. 'Homonym' -- to help find similar sounding words with different meanings such 
  368. as: Bazaar vs. Bizarre, etc. And of course, there is 'WordCount' -- to count 
  369. the number of words in your document, and also 'WordFreq' -- to help you 
  370. analyze your choice of words. Indeed, these are helpful utilities. The Word 
  371. Plus has got to be among the top spellcheckers available for CP/M.
  372.  
  373. Now, you started with an outline, wrote your document, and checked the 
  374. spelling so that even my old sixth grade teacher Mrs. PruneJuice would find it 
  375. halfway acceptable. Most people would wrap it up and throw in the towel at 
  376. this point. But there is still another step to achieving good writing: having 
  377. a proofreader is a valuable asset. Afterall, the writer gets so close to his 
  378. work that perhaps he can't be objective; that and is going blind reading and 
  379. re-reading the darn thing. I have found 'Grammatik' [4] to be an indispensable 
  380. tool. What is Grammatik? It is a program designed to proofread your document 
  381. and help find the flaws in your grammar. This program is menu driven, much 
  382. like a spellchecker, but uses a dictionary of phrases as well as words. After 
  383. making some of the menu choices for ignoring certain WordStar format 
  384. characters, and setting up destination files and printer/display options, I 
  385. send the program off to proofread my document. The program flags errors for 
  386. such things as: vague adverb usage, wordy phrases, archaic or awkward usage, 
  387. redundant phrases, etc. The list goes on, and when the proofreading is 
  388. completed, I have a file with the errors flagged and ready for yet another 
  389. edit. Some of the suggestions offered are not always accurate, but I am always 
  390. amazed at just how much better my writing can be when I take another look.  
  391. Grammatik is a valuable utility for anyone who strives to write effectively.
  392.  
  393.                 Odds and Ends
  394.  
  395. [1] Outliner, release 1.0. Copyright 1987, David A. Usher, GEnie CP/M 
  396. RoundTable library #12, file #4846.
  397.  
  398. [2] WordStar 4.0, Copyright 1979,1987, Micro Pro. $89.95. phone 1-800-227- 
  399. 5609.
  400.  
  401. [3] Spellguard, version 2.0, Copyright 1980, Sorcim. *
  402.  
  403. [4] Grammatik, version 1.82, Copyright 1981, Aspen Software Co. *
  404.  
  405. * Note: Both of these programs can be purchased from Public Domain Software 
  406. Copying Company (PDSCC), 33 Gold St. 13, NYC, NY 10038. Phone: 1-800-221-7372. 
  407. Both cost $28 each, or $10 each with the purchase of WordStar 2.26 ($39). This 
  408. company sells many CP/M titles, some still in the shrink-wrap. If anything, 
  409. call and have them send you a free brochure.
  410.   
  411.  
  412.  
  413.              Creative Micro Designs HD-20
  414.  
  415.            A Hard Disk for Commodore Computers
  416.  
  417.  
  418.                   Review
  419.  
  420.                    by
  421.  
  422.              Brad Harris (BRAD-HARRIS)
  423.  
  424.  
  425. As 8-bit computers from Commodore slowly fade into the sunset, so goes third- 
  426. party support. One of the remaining few companies that still supports 
  427. Commodore computers, and without question one of the hottest, is Creative 
  428. Micro Designs. Their initial offering, JiffyDos, brought disk access speed up 
  429. to par with the rest of the computing world. The only thing still lacking was 
  430. a truly compatible hard disk drive that was both affordable and simple to 
  431. install and use. With the introduction this past spring of the HD series, that 
  432. void has been filled.
  433.   
  434. The drives come in three storage capacities. The basic model is the HD-20, 
  435. reviewed here, which is (logically enough) a 20 Megabyte unit. Also available 
  436. are the HD-40 and the HD-100, differing only in the amount of disk space they 
  437. offer.
  438.  
  439. Physically, the drives are slightly larger that a 1581 and use an external 
  440. power supply. They contain an SCSI controller and either a Seagate or Connor 
  441. SCSI drive. They also feature a battery-backed real-time clock-calender. On 
  442. the rear panel are the usual two serial ports, power connection and an on-off 
  443. switch. There is also an SCSI port for connecting other SCSI devices, and 
  444. auxiliary and parallel ports, neither of which are implemented at present. The 
  445. SCSI port can be used to expand the capacity of the unit by connecting 
  446. additional drives. There are no device number switches. Selection of the 
  447. unit's device number is done through software. Internally, there is no 
  448. traditional DOS ROM. Rather than burn the DOS onto a chip, CMD (Creative Micro 
  449. Designs) elected to put it in software and read it into the drive RAM at power- 
  450. up. This allows for easy upgrades. On the front panel are a set of status 
  451. lights and four buttons. The buttons allow you to swap the HD-20 with 
  452. whichever drive is currently device 8 or 9, write protect the whole drive, and 
  453. reset the unit. These buttons also allow you to change partitions, which can 
  454. be very helpful when in a program that doesn't allow you to send commands to 
  455. the drive.
  456.  
  457. The manual is contained in a loose-leaf binder. It is for the most part 
  458. extremely comprehensive although in a couple of areas it is painfully brief.  
  459. The table of contents is good, and the organization of the manual is fairly 
  460. logical (although in this writer's opinion, CP/M should come first). There is 
  461. no index.
  462.  
  463. Support is an area where CMD stands out. They offer help here on GEnie in the 
  464. Flagship RoundTable (Page 625) Bulletin Board, Category 21. They also have a 
  465. support area on another commercial system which for obvious reasons will 
  466. remain nameless. And they operate their own BBS system, using the only HD-200 
  467. in existence for storage.
  468.  
  469. The drive can be divided into a maximum of 254 separate partitions. Several 
  470. different partition type are supported, four of which emulate standard 
  471. Commodore drives to ensure maximum compatibility. These are the 1541, 1571, 
  472. 1581, and 1581 CP/M modes, and to the computer and most software, these ARE 
  473. the drives they emulate right down to the BAM, track and sector level. Copy- 
  474. protected programs (or copy programs, for that matter) that look for specific 
  475. data in the drive's ROM will not be fooled, however. To load copy-protected 
  476. programs onto the hard disk, a utility that removes the protection must be 
  477. used to create an unprotected version on another floppy disk. This can then be 
  478. copied to the HD-20.
  479.  
  480. Native mode partitions are variable in size. A partition may be as large as 16 
  481. Megabytes, or as small as 256 blocks. These can be further broken down into MS- 
  482. DOS style directories and sub-directories. In addition, two utilities, 1541SUB 
  483. and 1581SUB, are provided which will create 1541 or 1581 type subdirectories 
  484. for use with programs which expect to find the directory track in a specific 
  485. location on a disk.
  486.  
  487. Foreign mode partitions potentially allow the HD-20 to be shared with another 
  488. computer that uses an SCSI interface. This is done through the port on the 
  489. back of the drive, which is pin-compatible with the Apple Macintosh. However, 
  490. the manual only contains one paragraph on this.
  491.  
  492. Installing the drive is as simple as it can possibly be. One end of the serial 
  493. cable is plugged into the computer, or into another drive as part of a daisy 
  494. chain; the other end is plugged into the hard drive. Then, after making sure 
  495. that the switches on both the power supply and the drive are turned off, the 
  496. appropriate cords from the power supply are plugged into the wall socket and 
  497. the drive. Once all connections have been completed, turn everything on in 
  498. your usual order, and you're ready to go. My C128 won't recognize any drives 
  499. which are off when the computer is first powered up, so the HD-20 gets turned 
  500. on first. CMD recommends leaving the power supply plugged in and turned on at 
  501. all times and using the switch on the drive to turn it on and off, stating 
  502. that this will extend the life of the clock battery. Those of us who live in 
  503. lightning-prone areas will want to follow our usual procedure of unplugging 
  504. everything when not in use.
  505.  
  506. As shipped, the HD-20 is configured as device 12. It is already formatted and 
  507. is set up with at least one of each type of partition, with the contents of 
  508. the supplied utility disks already loaded into one of them. The device number 
  509. is changed from within the HD-TOOLS program, which is one of those utilities.  
  510. This program is also used to select the partition which the HD-20 is in at 
  511. power-up (default partition), view the partition table, and add or delete 
  512. partitions. Deleting a partition other than the last one automatically moves 
  513. up everything which follows it, to fill the void. This means that nothing in a 
  514. deleted partition can be recovered, as it has already been overwritten, and 
  515. the process can take a considerable amount of time. Take care when using this 
  516. command. A much safer way to go is to use the DOS NEW command instead.
  517.  
  518. The programs which come with the HD-20 include the aforementioned HD-TOOLS and 
  519. 1541SUB and 1581SUB. There is also a file copier, and a whole-disk copier 
  520. which doubles as a backup program; head parkers, a clock utility, an autoboot 
  521. maker, a track and sector editor, and a program to scan for and lock out bad 
  522. blocks. In addition, there are programs to upgrade the DOS, perform a low- 
  523. level format of the disk, configure the SCSI controller for additional drives, 
  524. and read the data from the manufacturer's information area of the hard disk.  
  525. There are a number of GEOS utilities. GEOS can be made to boot from the hard 
  526. disk, but you have to supply your own copy. Also included is software for the 
  527. above mentioned but still nameless commercial information system. Last, but 
  528. most important (at least to me), is SPORT.COM, a CP/M program that sends 
  529. commands to any device on the serial bus. This allows switching between CP/M 
  530. partitions without having to leave CP/M, make the switch, then reboot. More on 
  531. this in a bit.
  532.  
  533. The HD-20 is fairly fast. In conjunction with JiffyDos on a C64 or a C128 in 
  534. C64 mode it's nothing short of greased lightning, offering about an 88% 
  535. reduction in load times. On a C128 in native or CP/M mode, however, it is only 
  536. marginally faster than a 1581. I've been told that the limiting factor here is 
  537. the speed of the Commodore's serial bus. RAMLINK, a parallel adapter that is 
  538. in the works at CMD, and will offer RAM expansion capability as well, will 
  539. overcome this limitation and provide true hard disk speed. This will plug into 
  540. the cartridge port on a C64 or C128, and connect to the parallel port on the 
  541. HD-20. It's scheduled for release around the end of the summer (in other words 
  542. "Real Soon Now").
  543.  
  544. Speed aside, the main attraction of a hard disk is it's storage capacity. At 
  545. the beginning of this review I mentioned partitions of up to 16 Megabytes.  
  546. While this is true in Native mode partitions, these are only accessible in the 
  547. C64 and C128 modes of the computer. In CP/M mode only 1581 CP/M partitions can 
  548. be used. While you can create as many of these as you wish, and can switch 
  549. between them using either SPORT.COM or the front panel buttons, this is a 
  550. serious deficiency in the operating system.
  551.  
  552. SPORT.COM itself deserves a few words. This little utility (it's less than 900 
  553. bytes long, although it takes 2K of disk space) is one of the handiest thins 
  554. to hit the pike since perforated toilet paper. It allows you to send commands 
  555. to any device on the serial bus. In the case of the HD-20, this includes 
  556. things like switching partitions. But it's use isn't limited to the hard 
  557. drive. You can also use it to do things like send commands to the printer or 
  558. printer interface, or to any of your other drives. If you ever wanted to know 
  559. what Error: BDOS function 17 Filename ????????.??? means in plain Commodore- 
  560. speak, this is what you need to use to find out. Since it's a copyrighted 
  561. program, you have to buy an HD-20 to get it.
  562.  
  563. Using the HD-20 in its most basic functions is no harder than using any other 
  564. Commodore disk drive. All of the Commodore DOS commands are supported, 
  565. including direct block access; memory reads, writes, and executes; burst 
  566. commands; and utility (U) commands. Some of them don't really do anything, but 
  567. are just there for compatibility's sake, and a number of them are enhanced to 
  568. take advantage of the HD-20's features. Many of these enhanced features can 
  569. used in BASIC or machine language programs, and with JiffyDos can use a much 
  570. shorter syntax than is used normally.
  571. In most of the Commodore world, CP/M is viewed as a poor stepchild.  
  572. Unfortunately it seems that this is Creative Micro Designs' opinion too. The 
  573. ability to change partitions from the front panel helps increase the utility 
  574. of the drive, as does the SPORT.COM program. The Swap 8 button allows CP/M (or 
  575. anything else that must be run from the first floppy) to be booted from the HD- 
  576. 20, and this is also helpful. Still and all, what the HD-20 boils down to for 
  577. CP/M use is just a very expensive box of 3.5" disks, and if your primary use 
  578. of the C128 is for CP/M that's exactly what I recommend you buy. A 1581 drive 
  579. and 30 disks will cost you a lot less and give you more storage capacity, and 
  580. if you put the box of disks on top of the drive, won't take up any more desk 
  581. space.
  582.  
  583. An upgrade to the operating system which allowed the HD-20 to be used as a 
  584. real hard disk in CP/M mode would be reason for me to completely reverse the 
  585. above recommendation. Are you listening, CMD?
  586.  
  587. For the C64 user, or C128 user who doesn't do much with CP/M, the HD-20 is the 
  588. be-all and end-all of disk drives. In this case it offers massive storage 
  589. capacity and instant access. What more can you ask for?
  590.  
  591. The HD series of Commodore-compatible hard disk drives is available from:
  592.  
  593.      Creative Micro Designs, Inc.
  594.      50 Industrial Drive
  595.      P.O. Box 646
  596.      East Longmeadow
  597.      MA  01028
  598.  
  599.      Phone - (413) 525-0023
  600.      FAX - (413) 525-0147
  601.      BBS - (413) 525-0148
  602.  
  603.      HD-20 - $599.95
  604.      HD-40 - $799.95
  605.      HD-100 - $1299.95
  606.  
  607.      Shipping and handling - $25.00
  608.  
  609.      Prices and shipping higher for foreign orders
  610.   
  611.  
  612.  
  613.                 The CP/M PIPMAG      
  614.  
  615.  
  616.               The Art Of Conferencing
  617.                    or
  618.            How to get more out of a Conference
  619.  
  620.                    by
  621.  
  622.              Peter Jacobson (PETER-CPM)
  623.  
  624. If you haven't attended a formal or informal Real Time Conference on GEnie, 
  625. here are some tips to get you started with a minimum of fuss.
  626.  
  627. First off, you should choose a terminal program which has either a "split- 
  628. screen" or a "chat line" option. The reason for a "chat line" is that it will 
  629. allow you to "type ahead" your message without interference from others who 
  630. may be messaging at the same time. It also makes the screen easier to read 
  631. without "doubling" what you type in.
  632.  
  633. [Editor's note: The only CP/M terminal that I am aware of which offers a split- 
  634. screen "Chat" mode is David Goodenough's QTERM, file 7239. There are versions 
  635. or overlays available for a number of different computers.]
  636.   
  637. When you first enter the Conference Room, you should already have your "chat 
  638. line" enabled. After you enter, to promote a more friendly atmosphere, you 
  639. should add your first name to your GEMAIL "name" with the "/nam" command in 
  640. the RTC. The syntax is: /nam firstname <RTN>. While you're at it, say "hello" 
  641. and introduce yourself if you care to. For online HELP, type a "?" (without 
  642. the quotes) as the first character on a line and a RETURN.
  643.  
  644. At times when there is a "formal" Conference, you will usually be so informed 
  645. before you enter the Room or shortly thereafter. One way to determine this if 
  646. you're not sure is if after you do a "/nam" it does not appear onscreen. This 
  647. means that the Meeting Leader had put the Room in what is called "Listen Only" 
  648. mode. This is usually the case when there is a guest speaker. Listen Only 
  649. keeps others from "chatting" when the guest speaker has the "floor". If you 
  650. decide you would like to ask a question of the guest speaker, simply type in: 
  651. /RAI <RTN> and you will be put into a queue with others who have questions.  
  652. When it comes to your turn to ask your question you will be notified onscreen 
  653. by the meeting leader. Be sure to type in your question into your buffer and 
  654. be ready to hit <RTN> when your turn comes up. This tends to speed up the 
  655. Conference and keeps the Conference flowing.
  656.  
  657. Here is a rundown on the most commonly used commands in the RTC:
  658.  
  659. /HELp    - Gives a list of all the commands
  660. /BYE    - Leave the RTC
  661. /EXIt    - Return to the last menu
  662. /KNOck rr  - Knock on door of room 'rr' (used when room is 'locked')
  663. /MONitor rr - Monitor room 'rr'
  664. /NAMe nn  - Add first name 'nn' to GEMAIL address
  665. /QUIt    - Return to menu
  666. /RAIse-hand - Get the attention of the Meeting Leader
  667. /ROOm rr  - Move to room 'rr'
  668. /SENd jj m - Sends to job 'jj', message 'm'
  669. /SHOw hh  - Show job of address 'hh'
  670. /STAtus rr - See users in room 'rr'
  671. /TIMe    - Display time and day
  672. /USErs   - See number of users
  673. /WHO jj   - See address of JOB 'jj'
  674. /XMOnitor  - Exit monitor mode
  675.  
  676. Using /STA will give you the GEMAIL names of everyone who is in the Conference 
  677. Room. In the listing you will see a number in front of the name and either "L" 
  678. or "N". The number you see is the number you use when you want to send a 
  679. private message to someone in the Conference Room. The command you use is 
  680. /SEN. The syntax is: /SEN contents of your message <RTN>. It should be used 
  681. when you don't wish the message to be seen by others. If you wish to know who 
  682. the MEETING LEADER is, that is signified by the "L" near their name in the 
  683. /STA command.
  684.  
  685. For the most part, our Conferences in the CPM RT are informal. We tend to keep 
  686. them that way so that more can participate in discussions. It is the attendees 
  687. that make a conference what it is. Everyone is welcome to attend. Don't be shy 
  688. about asking questions or offering comments ... Some people tend to think they 
  689. shouldn't ask a question because they think it's "stupid". Well, there is no 
  690. such thing as a "stupid" question if you don't know the answer. We are here to 
  691. help you to make your adventure into CP/M a pleasant one. Come join us every 
  692. Wednesday night 10:00 PM ET for our regular Conferences and every Saturday 
  693. night at 10:00 PM ET for our CP/M Help Desk.
  694.  
  695.  
  696.  
  697.                 The CP/M PIPMAG      
  698.  
  699.  
  700.                The Z-System Corner
  701.  
  702.                   Jay Sage
  703.  
  704.     This article originally appeared in The Computer Journal, Issue
  705.     Number 42 (Copyright (C) 1990 by Technology Resources), and is
  706.     presented here with the permission of the author.
  707.  
  708. A number of newer TCJ readers have commented that with this column they feel 
  709. that they are coming into the middle of a very involved discussion that is 
  710. hard to catch on to. Of course, one answer to that problem is for new TCJ 
  711. readers to purchase back issues. I have been writing this column regularly 
  712. since issue #25, and I am quite sure that all those back issues are still 
  713. available. That solution notwithstanding, it is probably not a bad idea to 
  714. stand back every so often and try to comprehend a larger picture. That is one 
  715. of the tasks I will undertake this time.
  716.  
  717. Detailed technical content will not be forsaken entirely, however, since I 
  718. regard that as the primary purpose of my column. At this point, I suspect that 
  719. I am too much of a Z-System expert to talk about very many topics at a level 
  720. that is appropriate for beginners. To serve their needs, I have been very 
  721. actively soliciting articles from other authors. In this issue, for example, 
  722. we have the first of the columns I promised a couple of issues back on how to 
  723. set up a remote access system (aka bulletin board system) under the NZCOM auto- 
  724. install version of Z-System. Lee McEwen (aka Chris McEwen) has done a lovely 
  725. job with that assignment.
  726.  
  727. The technical discussion this time will focus on some issues that arose in 
  728. trying to install ZSDOS or ZDDOS on an SB180 computer with the XBIOS enhanced 
  729. operating system. Before you say "But I don't have an SB180," let me assure 
  730. you that the techniques have more general applicability. The specific XBIOS 
  731. problem is one that has come up often and has been the source of considerable 
  732. frustration to XBIOS users. [They are in good company, by the way. Just as I 
  733. was finishing this article, I got a call from Bridger Mitchell about this very 
  734. subject!] I am only sorry that it took me so long to get around to working on 
  735. it. Gene Pizzetta, a fellow Bostonian, was the squeaky wheel that finally got 
  736. my attention, and he has contributed a number of his own ideas to the solution.
  737.  
  738. Announcements
  739.  
  740. Before we get down to business, I have, as usual, a few announcements to make. 
  741. First I would like to remind readers once again about Bill Tishey's superb 
  742. collection of help files for the hundreds of Z-System programs now available.  
  743. Bill can now generate diskettes in many formats besides Apple (using his son's 
  744. Commodore 128), and he is willing to fill your diskettes with the files for 
  745. only $10. My column in issue #36 gave the following procedure to follow: (1) 
  746. send enough formatted diskettes (plainly labeled with the format) to hold at 
  747. least 1000K bytes (up from 800K back then); (2) use a reusable disk mailer or 
  748. enclose a mailer suitable for returning the diskettes to you; and (3) enclose 
  749. a return address label, return postage, and the $10 copying fee. Bill's 
  750. address is 8335 Dubbs Drive, Severn, MD 21144. If you prefer (or if you need 
  751. 96-tpi, 8" SSSD, or NorthStar hard-sector formats), you can send the diskettes 
  752. to me as well.
  753.  
  754. Second, I would like to make a special point of calling your attention to the 
  755. GEnie RoundTable discussions that take place every Wednesday at 10pm Eastern 
  756. time. The first such session of each month is devoted to Z-System, and I am 
  757. the moderator, so this is your chance for a real-time dialogue with me. Go to 
  758. page "685;2" on GEnie and enter "Room 2".
  759.  
  760. There are several changes to report in the roster of Z-Nodes. Regrettably, Bob 
  761. Paddock's node #38 in Franklin, PA, has gone off the air. To offset that loss, 
  762. however, node #73 in the St. Louis, MO, area has come back to life after being 
  763. down for several years. Sysop George Allen and co-sy sop Walt Stumper would be 
  764. happy to hear from you at 314-821-1078 (PC-Pursuit MO SLO/24). The equipment 
  765. is currently a Xerox 820-II with a 10 Meg drive, but the sysops hope to expand 
  766. soon to a 30+ Meg Ampro.
  767.  
  768. On the Z-Node front, I am also sorry to report that Z-Node Central (Lillipute) 
  769. was downed by hardware failures on both computers! They have been off the air 
  770. for a couple of months already as I write this, and sysop Richard Jacobson has 
  771. just faced the truth: that it will not be coming back. Ladera Z-Node (#2) in 
  772. Los Angeles will take over as Z-Node Central. Chicago area callers looking for 
  773. Z support should check out the Antelope Freeway system run by ZDOS-coauthor 
  774. Carson Wilson for CFOG (Chicago area FOG). This is one of a small number of 
  775. remote access systems running under the Z3PLUS flavor of Z-System. The phone 
  776. number is 312-764-5152 (PC-Pursuit ILCHI/24). We expect that its 'System One' 
  777. will soon be a Z-Node ('System Two' supports MS-DOS).
  778.  
  779. Finally, there have been some very significant developments with BDS C. Leor 
  780. Zolman completed some major additions to the Z version (BDS Z), and the final 
  781. release has just gone out as I write this column in mid October. Programs 
  782. generated by BDS Z now have a full Z-System header and can be linked as type-3 
  783. programs to load and run at an arbitrary address. ZDOS coauthor Cam Cotrill 
  784. has already released a substantial amount of BDS Z code for performing the 
  785. functions in the SYSLIB, VLIB, and Z3LIB assembly-language libraries that are 
  786. not already built into BDS Z.
  787.  
  788. Leor has now turned over all of the marketing and some of the development 
  789. responsibility for BDS C to me. Recognizing that the $90 price tag of the full 
  790. package, however reasonable for what one gets, is an impediment to new users 
  791. who want to experiment with C, we have prepared a low cost introductory 
  792. package that (1) includes only one version of the code (either standard CP/M 
  793. or Z-System), (2) contains only the essential files, and (3) comes with an 
  794. abridged version of the manual (and without the fancy BD Software binder).  
  795. This package will be offered for only $60. Other parts of the full package can 
  796. be added later: $25 for the second version of the compiler, $25 for the 
  797. support materials (RED editor, CDB debugger, and the parts of the manual 
  798. covering them), or $40 for both at once. If the whole package is ordered at 
  799. once, it comes complete with an attractive binder (also available with the 
  800. introductory package for $5 extra).
  801.  
  802. It should be noted that BDS Z generates programs that run perfectly well under 
  803. standard CP/M. Naturally, they will not recognize Z-System features like named 
  804. directories, but they will accept the now standard DU: extended drive/user 
  805. syntax instead of the older U/D: format of standard BDS C. The only 
  806. disadvantage of using BDS Z rather than BDS C on a standard CP/M system is 
  807. that the programs carry Z-System overhead (about 800 bytes) that don't provide 
  808. them with any functionality.
  809.  
  810. What is a Microcomputer Operating System For?
  811.  
  812. The basic function of an operating system is to make one's life -- one's 
  813. computing life, that is -- simpler. When microcomputers first came out, the 
  814. biggest burden was dealing with the hardware. It was no fun for the computer 
  815. user and programmer (largely synonymous in those days) to have to deal over 
  816. and over with the intricacies of the physical operation of the hardware, such 
  817. as getting characters to and from the terminal or paper tape reader/punch, not 
  818. to mention the dauntingly more complex task of managing data on a magnetic 
  819. tape or floppy diskette drive.
  820.  
  821. Gary Kildall's CP/M operating system provided a solution -- and a very good 
  822. one (by and large) in my opinion -- to those problems. It did so by 
  823. implementing a standardized and modular interface that handled the basic 
  824. device communication tasks. CP/M, which stood (I believe) for "Control Program 
  825. for Microcomputers," was the master program that one got running on the 
  826. computer right after power up. It would then allow one to load and run other 
  827. programs, with control always returning to the CP/M master program after each 
  828. user program finished.
  829.  
  830. Besides accepting and interpreting commands issued by the computer operator, 
  831. an operating system like CP/M also provides resident code (always ready in 
  832. memory) for performing certain functions that application programs will often 
  833. want to use. The simpler functions are things like sending a character to the 
  834. terminal screen; the more complex ones include fetching from or writing to a 
  835. floppy diskette the information associated with a logical entity known as a 
  836. file.
  837.  
  838. With these functions implemented in the operating system code, application 
  839. programs are easier to write and do not have to include the same code over and 
  840. over. More importantly, they can run on a variety of hardware platforms, since 
  841. the details of the physical hardware are handled by the operating system code, 
  842. and the program can deal with things at a logical level.
  843.  
  844. Logical vs. Physical
  845.  
  846. Perhaps this is a good time for a brief aside on this matter of logical versus 
  847. physical. We use the adjective "physical" when we are talking about things 
  848. that are actually in the hardware. In the case of a floppy disk, for example, 
  849. the physical items are the bits of data stored as magnetization patterns.  
  850. These bits are grouped into sectors, and the sectors into tracks. In the case 
  851. of a terminal screen, the physical items are the patterns of illuminated dots 
  852. that we recognize as letters, numbers, and other symbols.
  853.  
  854. On the other hand, we use the adjective "logical" to describe those things 
  855. which are essentially the creation of our minds (and programs). For example, 
  856. there is no such physical thing as a "file." No matter how you examine a 
  857. diskette, you will never find a file on it (as such); you will find only 
  858. sectors and tracks. It is our choice to organize the data on the disk in a way 
  859. that associates groups of such sectors with a file names and to store the file 
  860. names in a particular group of sectors on the disk.
  861.  
  862. Modularity
  863.  
  864. CP/M is modular in the sense that it divides up the functions of the operating 
  865. system into separate packages. One part is called the BIOS (basic input/output 
  866. system). This part, which lives at the very top of the memory address space, 
  867. deals directly with the hardware. It reads and writes physical sectors from 
  868. and to a diskette; it determines whether or not a key has been pressed on the 
  869. keyboard and, if so, which key; and it sends characters to the screen. The 
  870. BIOS  is the only part of CP/M that is different for each hardware 
  871. implementation of a CP/M computer.
  872.  
  873. The second CP/M module is called the BDOS (basic disk operating system). It 
  874. deals with logical constructs. We have already spoken of files. When a file is 
  875. referred to, the BDOS figures out which physical tracks and sectors contain 
  876. the data for that file. Another logical construct is lines of text. The BDOS 
  877. has a function to send a complete line of text to the screen (as opposed to 
  878. the BIOS, which can send only a single character), and it has another function 
  879. to get a complete line of text from the user, allowing a limited amount of 
  880. editing. These functions make it much easier for the application programmer to 
  881. write his or her program.
  882.  
  883. The last CP/M module is called the CCP (console command processor). It gets a 
  884. command typed by the user at the console and takes the appropriate action to 
  885. carry out that command. Some commands, such as DIR or ERA, are implemented 
  886. directly in the CCP code. Others require that a COM file be loaded from 
  887. diskette and executed.
  888.  
  889. Command Processing Under CP/M
  890.  
  891. For the most part, CP/M accomplishes the functions it was designed to perform 
  892. in admirable fashion. However, it was so concerned with solving the hardware 
  893. interface problem (the programmer interface) that it devoted relatively little 
  894. attention to the user interface. To be fair, it was born in the days when 16K 
  895. of memory cost about $500 (in 1970s dollars, no less) and occupied an entire S- 
  896. 100 card (bigger by far than a whole SB180FX computer with 512K). Today we 
  897. might not think that 64K is very much (some say that OS/2 feels dreadfully 
  898. cramped in less than 3 Megs!), but it makes a lot of things possible that 48K 
  899. (or even less) would not allow.
  900.  
  901. CP/M's command processor did little more than the minimum it was required to 
  902. do, namely to run a few resident commands and to load external commands from 
  903. disk. It did not provide many services to make the operator's life easier. You 
  904. had to specify rather exactly the command you wanted performed; no leeway was 
  905. allowed. And if you made a mistake, CP/M did not try to help; it just shrugged 
  906. its shoulders and emitted a question mark.
  907.  
  908. The Niceties of Z-System
  909.  
  910. The Z-System has evolved over a period of nearly a decade now, but its goal 
  911. from the very beginning has always been to make it easier and more convenient 
  912. to operate the computer. My ideal is to have the computer do everything that 
  913. it possibly can do for the user and leave to the user only those tasks that no 
  914. computer could possibly figure out on its own. The command processor 
  915. improvements I have introduced and the utilities I have written have all been 
  916. directed toward that goal. I will now run through a short summary of Z-System 
  917. features and try to indicate how they make the operator's life easier. This 
  918. list is adapted from my book, "The ZCPR33 User's Guide."
  919.  
  920. User Area Access
  921.  
  922. CP/M introduced the concept of disk "user" areas, which allowed the operating 
  923. system to group files into separate logical directories (physically the files 
  924. are all stored in the same directory, but they are tagged to indicate the user 
  925. area). Unfortunately, CP/M provided no practical way to access files across 
  926. user areas, which made them almost useless.
  927.  
  928. Back in the days when disks held only about 100K, there wasn't much need for 
  929. this kind of organization, but today floppy diskettes commonly have a capacity 
  930. between 350K and 1.3 Meg. Hard disks with many tens of megabytes are also 
  931. inexpensive and common. Under these circumstances, a single logical drive can 
  932. hold hundreds or even thousands of files, and some way to organize them 
  933. becomes essential.
  934.  
  935. Z-System makes it very easy and convenient to organize your files based on 
  936. user numbers. Where CP/M allowed only a drive prefix to a file name 
  937. (D:NAME.TYP), Z-System allows drive and/or user number prefixes (DU:NAME.TYP) 
  938. so that files in other user areas as well as other drives can be referenced 
  939. directly. In addition, Z-System allows meaningful names (similar to DOS 
  940. subdirectory names) to be assigned to drive/user areas. This provides an 
  941. interface that is far more suitable to the way people think and remember. With 
  942. the DU: form, the operator has to think about the hardware (something he or 
  943. she should not have to do, remember?); with named directories, the operator 
  944. thinks in terms of function (TEXT: for text files, BDSC: for the C compiler, 
  945. DBASE: for database files, and so on).
  946.  
  947. Terminal Independence and the Environment
  948.  
  949. While some would argue that the DOS hardware and software  standards 
  950. established by IBM's market dominance have resulted in an enforced mediocrity, 
  951. there is no doubt that having a single environment in which to operate makes 
  952. life much easier for applications programmers. Programs for DOS generally work 
  953. right out of the box on any IBM compatible computer. Configuration is required 
  954. only for fine-tuning.
  955.  
  956. CP/M, on the other hand, was designed to allow programs to run on an extremely 
  957. wide variety of hardware. In those days, "personal" computer took on a 
  958. different meaning -- each person designed and built his own hardware. CP/M 
  959. could be made to work with all of them, but elaborate configuration procedures 
  960. were generally required, especially to match programs to the particular 
  961. terminal used. To this day, we still have to deal with this hardware diversity.
  962.  
  963. What CP/M could have but failed to provide was a means for conveying to 
  964. application programs information about the operating environment. Z-System has 
  965. several modules that afford such communication. An area called the environment 
  966. descriptor (ENV) contains information about the system configuration. Another 
  967. system area called the message buffer (MSG) stores information that one 
  968. program can leave for another program that runs later to read.
  969.  
  970. Part of the ENV is a section called the TCAP or Terminal-CAPability 
  971. descriptor. The TCAP allows a program running under Z-System to determine the 
  972. type of terminal in use and to adapt to the control codes it uses for special 
  973. video operations. The ENV has information about the size of the screen and the 
  974. printer's page. It also contains such information as the CPU clock speed and 
  975. which disk drives are available (why allow attempts to log into drive C: if 
  976. there is no drive C: -- it often just hangs the computer). The Z-System 
  977. supports many optional operating system features contained in optional 
  978. modules, and the ENV contains information about these modules also.
  979.  
  980. The ENV and TCAP not only relieve the user of the nuisance of installing progra
  981.  
  982.            (text lost - replace from TCJ #42)
  983.  
  984. erfect for the clock/stamp module. ZDOS even has special facilities for taking 
  985. advantage of this buffer. LDTIM can automatically determine the location of 
  986. that buffer and install the drivers there, and a special patch to NZCOM 
  987. (included with the ZDOS package) gives NZCOM the ability to reconnect the 
  988. drivers automatically after a new DOS is loaded.
  989.  
  990. XBIOS's SYSBLD utility, unfortunately, does not support such a user buffer 
  991. (this is true even in the 1.2 version that is able to load ZRL files). There 
  992. is a way to trick the system into making some room for extra memory modules.  
  993. This is to assign the extra memory space needed to one of the standard 
  994. modules, such as the RCP. For example, if you use an RCP of the usual 2K (16 
  995. record) size and need one page (two records) of memory for a ZDDOS clock 
  996. driver, you simply specify an 18-record RCP space. Then, when SETUPZST asks 
  997. you for the address to which the clock driver should be loaded, you give it 
  998. the starting address of the last page of this RCP space.
  999.  
  1000. Once these steps have been followed, ZDDOS should be running with date 
  1001. stamping. ZSDOS could be installed similarly except that even more extra space 
  1002. would have to be allocated to the RCP. Although what I have described so far 
  1003. will get the system running, there is some danger that an oversize RCP could 
  1004. be loaded by accident and overwrite the clock driver. To prevent this, the ENV 
  1005. module should be patched to indicate that only the actual 16 records (10H) are 
  1006. available.
  1007.  
  1008. For those who do not face the problem of installing ZDOS on an XBIOS- equipped 
  1009. SB180, there are other uses of this kind of trick. For people who do not have 
  1010. the necessary tools (e.g., MOVCPM) to move the BIOS down to make room for 
  1011. special drivers (such as RAM disk drivers and special I/O boards), this same 
  1012. trick can be applied to open up protected-memory space for them. Other people 
  1013. may find it useful for quick experiments with special drivers before going to 
  1014. the trouble of moving the operating system around.
  1015.  
  1016. There is one final refinement I would like to mention. It is something I 
  1017. learned from Gene Pizzetta, who took my general recommendations above and 
  1018. worked out the details (see his file, ZD-XB11.LBR, available on many Z-Nodes). 
  1019. I have usually used either the IOP or RCP modules for this trick, but Gene 
  1020. recommended using the NDR instead. The reason for this is that the IOP, RCP, 
  1021. and FCP get allocated in 128-byte chunks, while the NDR gets allocated in much 
  1022. smaller 18-byte chunks, the space required for one name. If your clock driver 
  1023. takes, for example, 270 bytes (10EH), you would have to allocate three extra 
  1024. records, because the driver is a tiny bit over two records. If you steal space 
  1025. from an NDR, you can add just two records, but reduce the number of names in 
  1026. the NDR by 1.
  1027.  
  1028. Changing Command Processors
  1029.  
  1030. Generating a new CCP using JetLDR is a little trickier than changing the DOS.  
  1031. JetLDR could, as it does with a DOS or BIOS module, load the new CCP into its 
  1032. operating position in memory, but this would be of questionable value, since 
  1033. the CCP would survive only until the next warmboot. So, instead, when 
  1034. processing a CCP ZRL module, JetLDR normally writes the resulting absolute- 
  1035. code CCP to a file ZCCP.CCP (in the root directory, I believe).
  1036.  
  1037. This is where CFG files come into play. They are special code modules that 
  1038. JetLDR uses to perform special processing (see the file JLTOOLS.LBR on Z-Nodes 
  1039. for more detailed information). For example, CCPCFG.ZRL is one that tells 
  1040. JetLDR how to deposit the absolute CCP code that it generates directly into 
  1041. the XBIOS ram image of the CCP in banked memory (from which it is loaded on 
  1042. each warm boot). A similar CFG file could be written to tell JetLDR how to 
  1043. install the new CCP onto the system tracks of the current drive-A disk, but so 
  1044. far no one has done this. I would be happy to provide the CCPCFG module to 
  1045. XBIOS owners who would like it or to others who would like to use it as a 
  1046. model for writing other CFG files (send me a formatted disk with your copy of 
  1047. JetLDR, return mailer, etc.).
  1048.  
  1049. -------------------------------------------------------------------------------
  1050.  
  1051. JetLDR for Z-Systems (ZCPR3), Version 1.00
  1052. Copyright (c) 1988 Bridger Mitchell
  1053.  
  1054. Syntax:
  1055.   JetLDR [du:][library][.lbr] member1.typ member2.typ ...
  1056.  or
  1057.   JetLDR [du:]file1.typ [du:]file2.typ [du:]file3.typ ...
  1058.  
  1059.  ENV - environment        FCP - flow commands
  1060.  IOP - input/output        RCP - resident commands
  1061.  NDR - named directories     Z3T - terminal capabilities
  1062.  ZRL or REL - module in SLR or MS-relocatable (REL) format
  1063.    with member name: RCP, FCP, IOP, CCP, CP3, DOS, DO3, BIO, CFG or BSX
  1064.  
  1065. Notes:
  1066.  If first file is a library, extract remaining files from it.
  1067.  An ENV file must be the first loaded.
  1068.  Preceed special modules (DOS, RSX, BSX, ...) with appropriate CFG file.
  1069.  
  1070. Use Path: YES  Root Only: NO  Scan Current: YES  Explicit Directory: A0:
  1071.  
  1072.              -------------------------
  1073.  
  1074. Figure 1. This is the internal help screen displayed by the command
  1075. "JETLDR //". It shows how flexible a package loader JetLDR is.
  1076.  
  1077. -------------------------------------------------------------------------------
  1078.  
  1079.                 Editor's Note
  1080.  
  1081. The Computer Journal is published six times a year. It covers a broad range of 
  1082. computing topics, ranging from discussions of the new and esoteric to good old 
  1083. CP/M. I highly recommend it. For a subscription, send a check for $18.00 US 
  1084. drawn on a US bank to:
  1085.  
  1086.      The Computer Journal
  1087.      190 Sullivan Crossroad
  1088.      Columbia Falls, MT 59912
  1089.   
  1090.  
  1091.  
  1092.                 The CP/M PIPMAG      
  1093.  
  1094.  
  1095.               Zen and the Art of CP/M
  1096.  
  1097.                    by
  1098.  
  1099.              Robert Coleman (R.COLEMAN3)
  1100.  
  1101.  
  1102. It was late. Maybe midnight, and quiet in the house. Upstairs, my wife and son 
  1103. were probably asleep. I could hear the faint sound of the TV droning; that and 
  1104. the soft breeze outside my opened window. Whoosh! Drive A on my computer was 
  1105. busy at work. I was backing up some files and doing general housekeeping after 
  1106. a long session at the keyboard. Tic-tic, whoosh, tic-tic! Drive B kicked in. I 
  1107. watched. I had to smile. It was noisier than drive A -- always was (I could 
  1108. close my eyes and tell which of my drives were running, just by the sounds 
  1109. they made). Drive B was perhaps the better of the two. It was newer. But they 
  1110. were both slow; just as slow and tired as I was now. I looked up at the window 
  1111. and felt the cool breeze on my skin. No, they weren't the fastest drives. Not 
  1112. like the 1.2 Meg on my 386 at work. That was much faster; faster by a country 
  1113. mile. And I pushed it too -- pushed the hell out of it. But that was work.  
  1114. Now, just being here late at night with this old CP/M computer, it was somehow 
  1115. different...
  1116.  
  1117. Zen and the Art of CP/M? (...like Motorcycle Maintenance? [1]) Crazy? Hey, I'm 
  1118. not the first to get this feeling of religious fervor over a computer 
  1119. operating system. How about 'The SOUL of CP/M' and 'The CP/M BIBLE' [2,3]. Mr. 
  1120. Waite and associates, they too had reverence for this IDEA. In spite of MS- 
  1121. DOS, countless thousands still cling to CP/M. Why? Good question. Perhaps it 
  1122. has more to do with the intangibles -- faith, acceptance, quiet devotion, and 
  1123. a brand of grass-roots, seat-of-the-pants wisdom. The CP/Mer assumes a tongue- 
  1124. in-cheek posture; all the while, watching the rest of the computer world spin 
  1125. its wheels in a deluge of glitter, gloss and Madison Avenue hype. It appears 
  1126. that regardless of the odds, in an era of disposable widgets and planned 
  1127. obsolescence, in the face of such staunch and resolute adversity, CP/M is here 
  1128. to stay. In the words of one PIPMAG author, Jim Taylor, CP/M is 'the peoples 
  1129. operating system'.
  1130. It is interesting that in spite of CP/M's continued popularity, the name 
  1131. 'CP/M' has been interpreted to mean several things: The CP/M Bible refers to 
  1132. it as 'control program for microprocessor'. In one Digital Research, Inc. CP/M 
  1133. Users Manual dated 1979,  it is referred to as 'control program for 
  1134. microcomputer'. Still, I have heard it referred to as 'control program 
  1135. monitor'. These discrepancies of course only add to the mystique. I guess any 
  1136. CP/Mer worth his salt has read the basics, but just where DID CP/M come from?  
  1137. Where does it fit into the computer world as we enter the 1990s?
  1138.  
  1139. Perhaps the largest MAINFRAME computer, and the grand-daddy of them all, was 
  1140. the UNIVAC computer of 1950. Built entirely of vacuum tubes, it was so big it 
  1141. filled a large room. And the PDP-8 MINICOMPUTER, costing a mere $50,000, 
  1142. brought computing to corporate business in the mid-60s. But it was the advent 
  1143. of the microprocessor that made the MICROCOMPUTER a reality.
  1144.  
  1145. In 1969, engineers at Datapoint Corporation of San Antonio, Texas, designed a 
  1146. simple central processing unit and contracted both Intel and Texas Instruments 
  1147. to implement the design on a single piece of silicon. Intel succeeded, but the 
  1148. product ran ten times slower than had been agreed upon, so Datapoint backed 
  1149. out of the deal. Intel decided to go ahead and market the device and called it 
  1150. the 8008 microcomputer [4]. Little did they know that this humble device 
  1151. signaled the beginning of the microcomputer revolution.
  1152.  
  1153. The 8008 was truly limited, and was used as a controller such as in robot 
  1154. stepper motors and push button TVs. The 8080, more-or-less its direct 
  1155. descendent, was the first microprocessor with an instruction set powerful 
  1156. enough to do real data processing. But these were still humble beginnings. In 
  1157. 1974, a microcomputer kit was sold to hobbyists called the Altos 8000. It 
  1158. featured switches to enter data, and LEDs as a monitor device. There was no 
  1159. keyboard, no CRT, and no floppy drives, which meant no stored programs. All 
  1160. programs had to be tediously entered by hand, byte by byte. This was indeed 
  1161. the stone age of microcomputing. They say that necessity is the mother of 
  1162. invention -- thus the birth of an operating system. CP/M was originally 
  1163. developed by Gary Kildall in 1973 for testing 8" Shugart disk drives. Later, 
  1164. in 1976, he founded Digital Research, Inc. and released CP/M, targeted at 8080 
  1165. microcomputer hobbyists [5]. But the 8080 was slow, and needed three different 
  1166. voltage levels and several support ICs to operate. It was soon replaced by the 
  1167. 8085 which required only +5 volts to run. Then, later came the Z80. It was not 
  1168. only 8080/8085 software compatible, but included many additional, more 
  1169. powerful instructions. By 1980, with the Z80, CP/M had truly become the 
  1170. industry standard.
  1171.  
  1172. This is where Big Blue enters the picture. Microcomputers by this time were 
  1173. starting to find use in the business world. IBM realized the vast commercial 
  1174. potential and was gearing up for a major onslaught. They had been associated 
  1175. with quality mainframe computers, and most experts agreed that they would 
  1176. become the leader in the microcomputer field -- in essence, they would decide 
  1177. the future of microcomputing. IBM chose the 8088 microprocessor by Intel, and 
  1178. with Microsoft,  they developed a new operating system called  PC-DOS 
  1179. (essentially the same as MS-DOS -- Microsoft's stand alone version). Today, PC 
  1180. doesn't just mean personal computer -- it means IBM compatible.
  1181.  
  1182. For the uninitiated, let's take a look inside these machines and see what all 
  1183. the fuss is about. The 8088/8086 microprocessor, which is used in the PC-XT 
  1184. and its clones, is vaguely similar to our 8080 (the NEC V20 version can run 
  1185. 8080 instructions). It has an 8-bit data bus but 16-bit internal architecture 
  1186. and is considered a 16-bit microprocessor. The 8086 is an upgrade with a full 
  1187. 16-bit data bus. The major feature of the 8088/8086 is the ability to address 
  1188. up to 1M of RAM using 'segment address-extension' registers. This method is 
  1189. similar to CP/M 3.0's method of using multiple banks, only in the 8088/8086, 
  1190. this technique is used to the fullest. Much like the 8080, the 8086 can only 
  1191. use 64K at a time, but it has 10 banks of 64K each. This makes a total of 640K 
  1192. of RAM. By using other tricks it can access many megabytes of additional 
  1193. memory.
  1194.  
  1195. Another member of the 8086 family is the 80286. It provides 12 Mhz operation, 
  1196. a crude form of multi-tasking (running several SMALL programs at once) and is 
  1197. used in the PC-AT and its clones. The 80386 is another upgrade which provides 
  1198. up to 33 Mhz operation, a full 32-bit bus and addressing up to 4 Gigabytes of 
  1199. memory. And the 80486 is yet the latest upgrade, which provides further 
  1200. streamlining with a built-in cache memory controller and a coprocessor to 
  1201. speed up floating point calculations. These microprocessors are currently 
  1202. considered the 'leading edge technology' and are the darlings of the micro 
  1203. world [6]. But even now, there is talk of MS-DOS being replaced in the 1990s 
  1204. with UNIX, a true multi-user/multi-tasking operating system.
  1205.  
  1206. There is another class of super microprocessors, such as the Motorola 88000.  
  1207. These new devices use RISC technology (RISC -- 'Reduced Instruction Set 
  1208. Computer'). They provide even faster execution by implementing a more 
  1209. efficient set of instructions and executing these within one machine cycle.  
  1210. Whew!
  1211.  
  1212. Okay, so what does this mean for CP/M? The microcomputer, which started out as 
  1213. an experiment and a boon for hobbyists has now become the workhorse of the 
  1214. corporate business establishment. The 80286-386-486 explosion is being fueled 
  1215. by big business, where money is no object and there is a constant demand for 
  1216. ever more speed and efficiency. Through CAD (Computer Aided Design), these 
  1217. powerful microcomputers are now being used by scientists and engineers. By 
  1218. connecting them together with LANs (Local Area Networks), some experts predict 
  1219. microcomputers will be direct competition for the minicomputer market which 
  1220. has already taken a beating in recent times. But while these advances are 
  1221. impressive, it leaves one piece of the puzzle missing. What about the 
  1222. consumer? It is true, most people can afford a simple XT. What does that mean 
  1223. really? Today, most GOOD software written for MS-DOS is expensive. And to 
  1224. enjoy the fruits of the leading edge, you have to constantly upgrade your 
  1225. equipment. The latest software offerings for PCs aren't designed to run on two 
  1226. floppies -- a hard drive is MANDATORY. A VGA monitor alone can cost more than 
  1227. an entire monochrome XT package. Getting caught up in this spiraling staircase 
  1228. of madness is frightening and can lead to gross over-spending and perhaps even 
  1229. what I like to call 'PC-phobia' -- the fear of owning an inferior computer. In 
  1230. reality, the PC revolution could be thought of as a plush banquet, where Big 
  1231. Business is picking up the tab, and the gamers are picking up the crumbs, 
  1232. hanging on to Sugar Daddy's coat tails.
  1233.  
  1234. The dream among countless, now defunct computer manufacturers in the early 80s 
  1235. of fully automated lifestyles with a computer in every home was just that, a 
  1236. dream, and one that I fear will not soon be realized. Let's face it, using a 
  1237. computer requires some effort, some learning on the part of the user. You 
  1238. can't just turn it on like a VCR or a Nintendo. Even the 'point and click' fad 
  1239. is too strenuous for most of the general public. I venture to say that there 
  1240. is NO well defined home computer market. All the non-IBM/clone platforms are 
  1241. beginning to fall away; ie: Commodore C-series, Atari, even some Apple II- 
  1242. series. The only true home computer market is really the COMPUTER HOBBYIST, 
  1243. and CP/M is still the ideal operating system for such a phenomenon.
  1244.  
  1245. It is conceivable that a CP/M supercomputer could be designed to have many of 
  1246. the bells and whistles of MS-DOS.  The HD64180 is an integrated Z80 
  1247. microcontroller with several built-in features: 10 Mhz operation, two DMA 
  1248. controllers, two serial ports, and a programmable timer. But the most notable 
  1249. feature is the ability to address up to 1 Meg of memory using a built-in MMU 
  1250. (Memory  Management  Unit -- similar to the 'segment  address-extension 
  1251. registers' in the 8086 family, previously mentioned). A SCSI bus (Small 
  1252. Computer System Interface) could be used to interface up to eight devices; ie: 
  1253. hard drives, floppy drives, tape drives, printers, etc. This system could have 
  1254. high-resolution bit-mapped graphics, and perhaps even some form of multi- 
  1255. tasking (MP/M-II). The only problem is that CP/M as we know it has no 
  1256. provisions for handling graphics, let alone 1 Meg of memory! Alas, I have 
  1257. found myself fantasizing at times about such a machine. I have personally 
  1258. designed several 68000 microprocessor-driven systems, and it would not be 
  1259. exceptionally difficult to implement the 64180. Of course, outside of a few 
  1260. crazies like myself, such a machine would have no commercial value in light of 
  1261. the current technologies. It would merely be one CP/Mers dream of power and 
  1262. glory. (NOTE: anyone out there who has similar ideas of building a CP/M 
  1263. supercomputer or who knows of such a beast, please drop me a line via GEnie 
  1264. mail.)
  1265.  
  1266. Anyway, what makes CP/M so special? Well, to begin with, it was the first 
  1267. successful disk operating system. Living life as a microcomputerist before 
  1268. CP/M was akin to living without indoor plumbing. And to think that a boni fide 
  1269. computer system like the UNIVAC, that once filled an entire room, could now 
  1270. sit on a table top, I find astonishing. And further, the BDOS/BIOS concept is 
  1271. ingenious. The compatablitily of CP/M operated systems allows the user to 
  1272. share the experience with dissimilar hardware platforms -- thus a whole 
  1273. computing community is enriched. And even more, anyone who lives in the MS-DOS 
  1274. world can feel comfortable with CP/M. After all, MS-DOS really grew out of 
  1275. CP/M; many of the commands and file handling schemes are similar. But more 
  1276. than anything else, maybe SIMPLICITY is what makes CP/M so appealing. As in 
  1277. Art,  there  is a beauty in simplicity and symmetry,  combined  with 
  1278. functionality.  And CP/M is just that, a simple, straight-forward solution to 
  1279. operating a personal microcomputer system.
  1280.  
  1281. I guess personal computing is different for others. There's Dan-the-man, my 
  1282. snippidy next door neighbor, the one with the super AT with VGA. I have been 
  1283. to his house to marvel over his computer before, and it IS a remarkable 
  1284. machine. It would be ridiculous to ignore the fact that this is no doubt a far 
  1285. superior machine to anything in the CP/M world. The speed is overwhelming, the 
  1286. graphics dazzling. It is awe inspiring, the shear, unbridled power! (Excuse 
  1287. me, I get excited about computers -- any flavor.) Dan-the-man is indeed one 
  1288. happy camper, as well he should be. But I am baffled. What I find unsettling 
  1289. is the way he PERCEIVES personal computing.
  1290.  
  1291. Case in point: No sooner did he get this amazing machine, then he was planning 
  1292. to buy another, more powerful one. Why? I'm not sure. Is it the 'first on the 
  1293. block' syndrome, or is it that he really needs that kind of computing power?  
  1294. Dan-the-man plays many computer games and experiments with various software 
  1295. packages. Now six months later, he's ready for a new machine. He hasn't even 
  1296. learned how to use THIS one yet. Speaking of falling in love with one's 
  1297. computer; Dan-the-man not only has no loyalty, he is a technological flirt! In 
  1298. this relationship, there seems to be something missing. Hmmm...
  1299.  
  1300. Anyone who would care to notice, would be astounded at the longevity of the 
  1301. Commodore 64 computer. True, this little machine is edging its way to 
  1302. obsolescence, but what a journey it has seen! Nearly eight years after its 
  1303. debut, there is still a large group of devotees. There are, as a rough 
  1304. guesstimate, about seven or eight million of these machines around the world.  
  1305. Not all gamers either I remind you; there are multitudes of application 
  1306. programs that have been written for it. With its handful of ROM-based kernel 
  1307. calls  and  its  graphics  capabilities,  the  C64  is  a  veritable 
  1308. programmer/hacker's delight. How many imaginations have been stirred by these 
  1309. 8-bit wonders? How many computer software careers do you suppose have been 
  1310. launched by these little 'toy' computers? I have read articles in some trade 
  1311. magazines by professional programmers who STILL enjoy hacking on them. These 
  1312. people really love the little computer. In this relationship, there seems a 
  1313. great deal of dedication. Obviously, personal computing means different things 
  1314. to different people.
  1315.  
  1316. Meanwhile, back in my den, whoosh-tic! Both drives came to a halt. I read the 
  1317. directory of the backed-up floppy. Everything looked good. I wondered, should 
  1318. I check for bad sectors? But then again, the format command should have 
  1319. detected any of these. I yawned. Now I yearned for sleep. Inadvertently, I ran 
  1320. scan.com to look for a bad sector, only I entered the A drive by mistake. I 
  1321. cringed as I realized that my boot disk was now being scanned for bad sectors. 
  1322. This is NOT what I had intended. So much for working when I was tired. But 
  1323. behold! There was a bad sector detected on my boot floppy! I glared at the 
  1324. message on the monitor with disbelief. I thought to myself, maybe the A drive 
  1325. was overheating. That had to be it. I ran scan.com again with the boot disk in 
  1326. the B drive. Again -- a bad sector -- the same one. I decided to fix the 
  1327. problem NOW. No matter how tired I was, I couldn't go to sleep having my boot 
  1328. disk corrupted. No way. That would be sacrilege. I pulled out my back-up boot 
  1329. disk (yes, I had a back-up, but that is a different story!). I pip'd the 
  1330. contents to my RAM drive and then reformatted the corrupted boot disk. Outside 
  1331. my window, I heard a bird call, close in, near the house. I looked briefly to 
  1332. the open window, then back to the task at hand. Once again, I ran scan.com. 
  1333. Good! No bad sectors. Patiently, I waited as the RAM disk contents were copied 
  1334. back onto the boot floppy.
  1335.  
  1336. 'Booting' -- what an odd term. In the early 1970s, practically all memories 
  1337. were magnetic core types. These memories had tiny toroid-shaped magnets spaced 
  1338. between a lattice-work of wires. The direction of the current through one wire 
  1339. determined the logic value, and current through the other determined whether 
  1340. that value was read or written into the magnet-element. These devices were non- 
  1341. volatile, and held their contents even when the power was removed. But when 
  1342. this data was corrupted, a small program had to be entered to load the system 
  1343. code. This was a tedious process in those days -- done either with switches or 
  1344. paper tape input. The solution? A small loader program was entered manually 
  1345. which loaded another program which actually loaded the system code.  This 
  1346. small loader program was called a 'bootstrap' loader. The system was loaded, 
  1347. or pulled up by its own bootstraps. Hence the term -- 'boot' [7].
  1348.  
  1349. Whoosh-tic! The A drive came to a stop. I then rebooted. It was done. All was 
  1350. fine in the world. Again, there was the bird outside my window. I got up and 
  1351. walked over to have a look. Again, I heard the cooing. It came from the bushes 
  1352. near the tree out front. It was really too dark to see. Up in the sky, I could 
  1353. see the crescent moon hanging lazily in the heavens, amidst a slight veil of 
  1354. wispy cloud. I listened and heard silence. In the dim light, I glanced back at 
  1355. my computer; my reconditioned boot disk. Yes... all WAS fine in the world. I 
  1356. was ready for sleep.
  1357.  
  1358. It has been said that perhaps the true delight is not in arriving at the 
  1359. destination, but in the journey itself; to occasionally stop and enjoy the 
  1360. view. If even just to simply smell the fragrance of flowers, or ponder over a 
  1361. private thought. I, myself, find the personal computing experience to be just 
  1362. that -- PERSONAL. It is a quiet time alone, away from the stress and strain of 
  1363. everyday life. And it is during these times that I learn about strength and 
  1364. weakness, success and failure; the value of work; and play for the sake of 
  1365. play; and ways of acceptance. Perhaps it is in this process of DOING that I 
  1366. find the real reward. Knowing the joy of getting a five page, hand typed 
  1367. program to finally run. Learning to accept that slow, noisy drive. Learning 
  1368. that there is always another corner to turn, another page to read. Learning 
  1369. that maybe there is wisdom in discovering even just one little, simple thing 
  1370. each day. If only for this, it has been worth the while. Oh yes, it could be 
  1371. model cars, or stamp collecting, or flower arranging. But it is when these 
  1372. things cease to be mere objects and become vehicles, taking us someplace else, 
  1373. to some secret, private place, they bring us closer to the inner self. By 
  1374. pouring over the tired guts of my old CP/M computer, cursing myself for having 
  1375. misplaced my screw driver AGAIN, perhaps I learn a little more about myself.
  1376.  
  1377.              References / Odds and Ends 
  1378.  
  1379. 1. Zen and the Art of Motorcycle Maintenance, Robert M. Pirsig, Bantam. This 
  1380. book is not about fixing motorcycles, or even CP/M, but I strongly recommend 
  1381. it.
  1382.  
  1383. 2. The Soul of CP/M, The Waite group, Howard Sams. Out of print, but a real 
  1384. gem for programmers. I have read excerpts from some old copies of Computers 
  1385. and Electronics magazine, but I don't own a copy myself. I'm still looking but 
  1386. to no avail. (If anyone knows of an available copy please let me know.)
  1387.  
  1388. 3. The CP/M Bible, Waite and Angermeyer, Howard Sams. Out of print. This book 
  1389. is useful for someone running several versions of CP/M. It includes a handy 
  1390. cross reference section for 1.X, 2.X, and 3.X systems. I found a NEW hard- 
  1391. bound copy in a used book shop for $4. Note: Many CP/M computer books are now 
  1392. out of print but can be found at 'fire-sale' prices in used book stores. With 
  1393. little money, you can build an impressive CP/M library.
  1394.  
  1395. 4. An Introduction to Microcomputers, Vol. 1 Basic Concepts, Adam Osborne, 
  1396. Osborne/Mcgraw Hill. A good book for newcomers or anyone who wants to know 
  1397. generally how a microcomputer works.
  1398.  
  1399. 5. TC128 Compendium #1, Issue #2, CP/M Update, by Todd Madson. Any one who 
  1400. uses a C128 should subscribe to Twin Cities 128 magazine. It deals ONLY with 
  1401. the Commodore 128. But I must say, I wish there was more CP/M coverage.
  1402.  
  1403. 6. EDN magazine, #24, Nov. 23, 1989. The Annual uP/uC directory. This magazine 
  1404. is written for professional electronic design engineers and is a good source 
  1405. of info on new technology.
  1406.  
  1407. 7. CP/M Assembly Language Programming, Ken Barbier, Prentice Hall. As far as I 
  1408. know, this book is out of print. However, it is an excellent tutorial on CP/M 
  1409. system programming with the 8080 instruction set.
  1410.  
  1411.              ----- About the Author -----
  1412.  
  1413. Robert Coleman is an electronics engineer for Data General, Telecommunication 
  1414. Products Division. Besides designing microprocessor-based electronic circuits, 
  1415. and fiddling around with CP/M in his spare time, he enjoys reading, writing 
  1416. and playing bass in a part-time rock 'n' roll band.
  1417.   
  1418.  
  1419.  
  1420.                 The CP/M PIPMAG      
  1421.  
  1422.                  Why ZMODEM?
  1423.              A discussion of the various
  1424.                protocols on GEnie
  1425.  
  1426.                    by
  1427.  
  1428.               Brian Moore (BRIAN-CPM)
  1429.  
  1430.  
  1431. GEnie has various methods for downloading files. Which method you use can save 
  1432. you time (and money) while downloading files on GEnie. In this article, I will 
  1433. explain how each protocol works and which will work best on GEnie.
  1434.  
  1435. The XMODEM protocol is the oldest and simplest of GEnie protocols. This sends 
  1436. out 128 bytes of data in each block with a few extra bytes for error checking. 
  1437. When your computer receives a block, it checks to see if it is okay, and if it 
  1438. is, it sends an 'acknowledgement' back to GEnie. If the block does not check 
  1439. out on your end, your computer will send back a 'negative acknowledge' and 
  1440. GEnie will try again.
  1441.  
  1442. This is why XMODEM is an 'error-checking' protocol. It will keep resending a 
  1443. block until your system receives it with no errors. You can use XMODEM to 
  1444. download files with no fear of line noise corrupting a 200k download.
  1445.  
  1446. XMODEM-1K is a simple improvement to standard XMODEM. Instead of sending 
  1447. blocks of about 128 bytes, it sends blocks with 1k of data and the same number 
  1448. of header bytes. This speeds things up a bit when dealing with network 
  1449. computers, as there are less 'acknowledgements' for the sender to wait for.
  1450.  
  1451. YMODEM adds some enhancements over XMODEM-1k, most notably the ability to send 
  1452. a batch of files. If you wish to get more than one file from a RoundTable, you 
  1453. can select the files and go watch TV while it sends them one after another.  
  1454. (But remember to come back to log off!) You don't have to ask GEnie to send 
  1455. the files one by one. Like XMODEM, though, GEnie will stop sending while 
  1456. waiting for your system to acknowledge the last block of data.
  1457.  
  1458. Which leads us right up to ZMODEM. ZMODEM was developed especially for systems 
  1459. like GEnie that are running on huge networks. It, like YMODEM, has the ability 
  1460. to accept batch downloads. Remember that for X/YMODEM, GEnie has to stop 
  1461. sending while it waits for your system to acknowledge the block. ZMODEM was 
  1462. designed to send (literally) all the data your system can take in one 
  1463. continuous stream and not wait for any acknowledgements.
  1464.  
  1465. Does this mean it doesn't correct errors? No, it still does that: it will 
  1466. resend a block if your computer requests it, but unlike the other protocols, 
  1467. it won't wait for your system to ask for the next block. In, fact, that also 
  1468. allows a special feature for ZMODEM for _continuing_ an aborted download.
  1469.  
  1470. Suppose for example that you begin downloading a 200k file. A friend shows up 
  1471. at your front door and you decide to leave. Since you don't want to leave your 
  1472. computer logged on while you are out, you abort the download and sigh as you 
  1473. realize the last 20 minutes of downloaded were wasted.
  1474.  
  1475. Well, with MOST protocols that would be the case: you would have to start from 
  1476. the beginning of the file and download it all over again. ZMODEM, though, has 
  1477. the ability for the receiving system to request sending after a certain point. 
  1478. If you have downloaded the first 100k of a 200k file and then come back later 
  1479. to finish it, ZMODEM will only send the last 100k. (ZMP will ask if you wish 
  1480. to continue an aborted transfer. Answering 'yes' will continue from where you 
  1481. left off.)
  1482.  
  1483. In addition to all that, ZMODEM has a special auto-start feature. Once you 
  1484. tell it to start sending, it will tell your terminal program that it wants to 
  1485. send a file and your terminal program will handle the rest (provided, of 
  1486. course, that it knows how to do ZMODEM).
  1487.  
  1488. So which protocol should you use? Well, if you have ZMP, the public domain 
  1489. ZMODEM program for CP/M, you should certainly use ZMODEM. It beats all the 
  1490. other protocols hands down for speed, error detection, and even recovers from 
  1491. severe problems. (I have unplugged my modem data cable and picked up the phone 
  1492. while downloading with Zmodem. When I put things back, ZMODEM was still 
  1493. running and not at all upset about the noise, or the fact that my system was 
  1494. several thousand bytes behind what GEnie was sending.) ZMODEM protocol will 
  1495. save you connect time and thus, money.
  1496.  
  1497. If you don't have ZMP, then you have two choices: Use the best protocol your 
  1498. program supports (in order of abilities, highest to lowest: YMODEM, XMODEM-1k, 
  1499. XMODEM), or you could get ZMP for your system. ZMP is very easy to use (menus 
  1500. are provided and are only a keystroke away) as well as flexible.
  1501.  
  1502. The file with ZMP and its documentation is ZMP15.LBR in the CP/M RT on GEnie 
  1503. (file #6912). ZMP has already been installed for a variety of systems and most 
  1504. (if not all) of these are also available on GEnie. Use the 'Search File 
  1505. Directory' and look for 'ZM' to get a list of these. To get you started, here 
  1506. is a list of files for the more popular systems:
  1507.  
  1508.    File#  Name     Size
  1509.    6955  ZMO-KP11.ZZ0 10080   Overlay for Kaypros
  1510.    6923  ZMP15KP.LBR 21420   ZMP _installed_ for Kaypro
  1511.    6954  ZMO-MD05.ZZ0 7560   Morrow MD-3
  1512.    6964  ZMO-1805.ZZ0 10080   SB180-fx
  1513.  
  1514. There is not at present an overlay for C128 users, but anyone with a C128 and 
  1515. programming experience is welcome to write one! If your system isn't among the 
  1516. 30 or so that already have overlays on GEnie and you write one or find it 
  1517. somewhere else, please upload it!
  1518.  
  1519. Remember: uploads are free on GEnie, and you will be helping out a lot of 
  1520. people using the same system as you.
  1521.   
  1522.  
  1523.  
  1524.                 The CP/M PIPMAG      
  1525.  
  1526.  
  1527.               Pipmag According to Brad
  1528.  
  1529.                    or
  1530.  
  1531.         Who Can You Ask When You Can't Ask No-one At All
  1532.  
  1533.  
  1534. Welcome to PIPMAG. This is the sixth in the series, the third since I took 
  1535. over the editorial duties, and in my not too humble opinion the best to date.  
  1536. Before I give you a rundown of the goodies there are a couple of news items I 
  1537. think will be of interest.
  1538.  
  1539.  
  1540.  
  1541.            New ZMODEM Version Works With ZMP
  1542.  
  1543. A new version of ZMODEM has been installed in the CP/M RoundTable, and is 
  1544. compatible with ZMP.  This means that you can now download files at 
  1545. unprecedented speeds with full error checking and correction. (Uploads are 
  1546. still restricted to XMODEM.) The secret to this is that while most protocols 
  1547. send packets of fixed size, then wait for some sort of checksum to be sent 
  1548. back in order to check for transmission errors, ZMODEM sends continuously, as 
  1549. much as the receiving machine can take. And not only is there full error 
  1550. checking, but ZMODEM can pick up an interrupted download where it left off.  
  1551. How is this miracle accomplished? I haven't the faintest idea, and although I 
  1552. suspect magic is involved I am told otherwise. If all goes well here in the 
  1553. CP/M RoundTable, expect to see this version of ZMODEM throughout GEnie. Many 
  1554. thanks are due CP/M SysOp BRIAN-CPM among many others, without whose tireless 
  1555. efforts this would not be possible.
  1556.  
  1557. ZMP is available here in CP/M Library 20 as ZMP15.LBR, File 6912. Overlays are 
  1558. available for a wide range of computers from A to (I just have to say this) Z.
  1559.  
  1560.  
  1561.       Commodore 64 Transmits Data At 38,400 Bits Per Second
  1562.                  (Film at 11)
  1563.  
  1564. A new cartridge is available for Commodore computers which contains the 
  1565. communication chip that these machines have always needed but Commodore left 
  1566. out. The SwiftLink-232 plugs into the expansion port and can be used in 
  1567. conjunction with a RAM Expander. It has been found in testing to achieve 
  1568. reliable speeds of up to 38,400 BPS over a null-modem cable. Again I suspected 
  1569. that magic was involved, but I've been assured by Kent Sullivan of Dr. Evil 
  1570. Laboratories, the developer of the cartridge, that there is a purely technical 
  1571. explanation.
  1572.  
  1573. The $29.95 package includes the cartridge, and communication (terminal) 
  1574. programs for the C64, the C128 in native mode, and the C128 in CP/M mode. I 
  1575. have one, and it works exactly as advertised. For more information see Message 
  1576. 1 in Category 8, Topic 49 of the CP/M Bulletin Board. If you ever needed a 
  1577. reason to figure out how to use the BB, this is it. Look for an article from 
  1578. Kent in the next issue of PIPMAG.
  1579.  
  1580.  
  1581.      The CP/M RoundTable Is Proud To Support "Hot Summer Nights"
  1582.  
  1583. In support of GEnie's "Hot Summer Nights" promotion, going on throughout the 
  1584. month of August, the CP/M RoundTable has scheduled some special Real Time 
  1585. Conferences (RTC's), and other goodies. These conferences are in addition to 
  1586. those regularly scheduled every Wednesday and Saturday. This information may 
  1587. change at any time, so watch the Bulletin Board for updates.
  1588.  
  1589.          RTC's in the CP/M RT for Hot Summer Nights
  1590.  
  1591.    August 11th SwiftLink-232 RTC
  1592.    August 22 CP/M RTC (regular)
  1593.    August 23 Chat with the CP/M Sysops (Thursday)
  1594.    August 24 Harrass Harris, Pipmag Editor
  1595.    August 25 CP/M Help desk
  1596.  
  1597.            Other RTC's for Hot Summer Nights
  1598.  
  1599.    August 10th Meet the CP/M Sysops, GEnius RT (10pm)
  1600.  
  1601.                Freebies for CP/M RT
  1602.  
  1603.    August 19 to 25th Free time on Page 688 (PIPMAG)
  1604.    August 25th to 31st Free CP/M B.B.
  1605.  
  1606.    Also watch for exciting news, film at 11:00!!
  1607.  
  1608. The conferences, except as noted, will be held in Conference Room 2 in the 
  1609. CP/M RoundTable, and will start at 10:00 PM Eastern Standard Time, which 
  1610. should be late enough to let our left coast members get home from work and 
  1611. have a bit of dinner first. The titles were chosen (and spelled) by our own 
  1612. SysOp C128-BILL, whose real name is Mud.
  1613.  
  1614.  
  1615.           PIPMAG Announces New Submission Policy
  1616.  
  1617. While getting articles for this issue turned out to be less of a problem than 
  1618. I expected, things were a little touch and go for a while. In order to 
  1619. encourage more of you to share your accumulated CP/M wisdom with the rest of 
  1620. us, I'm happy to announce that beginning with PIPMAG7 and continuing for as 
  1621. long as I can, the author of any article submitted which is accepted for 
  1622. publication will receive a week of weekdays (that's Monday through Friday) 
  1623. free connect time in the CP/M RoundTable. If you think you could write 
  1624. something but don't know what, just scan the Bulletin Board. There are a LOT 
  1625. of questions begging extended answers, and I've posted a few messages on the 
  1626. subject.
  1627.  
  1628. Articles needn't be original, but if you send me one that has appeared 
  1629. elsewhere you must have the ability to grant me permission to use it. Anyone 
  1630. who gets me sued for Copyright violation will be cordially invited to join the 
  1631. party.
  1632.  
  1633. And now, in no particular order and without further ado....
  1634.  
  1635.  
  1636.                 In This Issue
  1637.  
  1638. This issue is once again kind of heavy with articles on the perennial number 
  1639. one use of computers, word processing. Along with a follow-up to my last 
  1640. Wordstar piece we have an article on how to get the output you want from your 
  1641. printer from Tom McEnroe (T.MCENROE1), and one on a number of writer's tools 
  1642. from Robert Coleman (R.COLEMAN3).
  1643.  
  1644. Conventional wisdom, which is like common sense in that it's in fact 
  1645. nonexistent, says that keeping track of a checking account is no job for a 
  1646. computer because it can be done just as easily with a pocket calculator. This 
  1647. explains why checking programs are at or near the top of the best-selling 
  1648. software lists month after month. This time around, we have for your reading 
  1649. pleasure an article about one such program for CP/M computers by Wade Baugher 
  1650. (W.BAUGHER).
  1651.  
  1652. Finally there's a hard disk for Commodore computers that's affordable, easy to 
  1653. install, and easy to use. Sounds like just what we've all been waiting for, 
  1654. but is it? Read the review by yours truly.
  1655.  
  1656. Been afraid to get into the online Real Time Conferences? The short article 
  1657. here by SysOp PETER-CPM should help you get into the swing of things.
  1658.  
  1659. In another article from Robert Coleman he talks about the Zen of CP/M 
  1660. computing. After reading it I'm sure you'll be able to identify with it.
  1661.  
  1662. You've been seeing the "Hot Summer Nights" notices when you log on but you 
  1663. might still be wondering what it's all about. The article by GEnie's own Laura 
  1664. Staley (L.STALEY) should help answer your questions.
  1665.  
  1666. Summer is thunderstorm season. Is your computer protected. Find out why it may 
  1667. not be in the article by Chris Bannister (C.BANNISTER).
  1668.  
  1669. In a lighter vein, find out why there aren't any CP/M viruses in the piece by 
  1670. Jim Taylor (JF.TAYLOR).
  1671.  
  1672. Dennis  Fowler (D.FOWLER2) talks a bit about some of the trials and 
  1673. tribulations of being the local CP/M guru.
  1674.  
  1675. The response to the new Letters To The Editor column has been a little 
  1676. disappointing, but I did get two.
  1677.  
  1678. Brian Moore (BRIAN-CPM) gives us a short discussion of the download protocols 
  1679. XMODEM, XMODEM 1K, YMODEM and ZMODEM.
  1680.  
  1681. And last, but hardly least, world famous Z-System developer and guru Jay Sage 
  1682. (JAY.SAGE) joins these pages (files?) at long last with an article from The 
  1683. Computer Journal.
  1684.  
  1685.  
  1686.                 Closing Notes
  1687.  
  1688. Have you seen PIPMAG on a BBS or system other than GEnie? I've recently 
  1689. learned that it's made it as far as Yurrup, Japan, and Australia. I'd be 
  1690. interested in knowing where else it's been and just how famous I am :)
  1691.  
  1692. I'm looking for information on the PCZ, otherwise known as the Grudge. Anyone 
  1693. who has one, has one on order, or has tried to order one, please get in 
  1694. contact with me.
  1695.  
  1696. I have a new GEMail address, BRAD-HARRIS. As always, you can send comments, 
  1697. questions, and articles to PIPMAG$. Articles can also be uploaded to any CP/M 
  1698. RT Library (FREE), with PIPMAG in either the short or long file description.
  1699.  
  1700. That's all until next time. Remember ...
  1701.  
  1702.           N - E - E - D  I - N - P - U - T !!!
  1703.   
  1704.  
  1705.                 The CP/M PIPMAG      
  1706.  
  1707.           PIPMAG Article and Submission Guidelines
  1708.  
  1709.                    by
  1710.  
  1711.            Brad Harris (BRAD-HARRIS), Editor
  1712.  
  1713.  
  1714. Rule 1:  There are no rules.
  1715.  
  1716. Rule 2:  See Rule 1
  1717.  
  1718. Seriously, It's my feeling that many of you out there have vast knowledge of 
  1719. various aspects of the CP/M world. The spreading of that knowledge is what 
  1720. keeps this world viable. In other words, we all need to pass on our experience 
  1721. in order to insure that CP/M continues to thrive.
  1722.  
  1723. PIPMAG is your magazine. Your input is needed. Almost anything submitted will 
  1724. be considered for publication. The author of the BEST PIPMAG article will be 
  1725. be awarded 3 days of Free Connect Time in the CP/M RoundTable!
  1726.  
  1727. Have the hot set-up for the latest term program? Write it up and send it in!  
  1728. Have a template for dBASE or PCFILE that you think others could use or learn 
  1729. from? Send it in! Have you found something that would make using our CP/M 
  1730. machines easier or more enjoyable? Send it!
  1731.  
  1732. Opinions are welcome. So are reviews. Have a humorous anecdote that relates to 
  1733. CP/M? Send it in!
  1734.  
  1735. I would especially like articles about games (which I don't play enough of), 
  1736. and Z-System.
  1737.  
  1738. If you have developed a commercial product that you would like to advertise - 
  1739. well, maybe. Contact me via GEMail and we'll see.
  1740.  
  1741. The only things that will be rejected out-of-hand are outright obscenity, and 
  1742. anything legally actionable (y'know, slander, libel, violations of Copyright, 
  1743. and like that).
  1744.  
  1745. Submissions may be uploaded to any CP/M library (free), or sent to me via 
  1746. GEMail at either PIPMAG$, or BRAD-HARRIS. If uploaded to the libraries, be 
  1747. sure to note that it is for PIPMAG in either the short or long file 
  1748. description. Wordstar or straight ASCII format for text is appreciated.  
  1749. Compression types supported are ARK, ARC, ZIP, ZOO, LZH, or within .LBRs, 
  1750. SQUEEZE, CRUNCH, and LZH.
  1751.  
  1752. Remember ...
  1753.  
  1754.           N - E - E - D  I - N - P - U - T !!!
  1755.   
  1756.  
  1757.