home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / znode3 / tcj / tcj51.ws < prev    next >
Encoding:
Text File  |  1994-09-02  |  25.3 KB  |  562 lines

  1. R60
  2.                       Z-System Corner
  3.  
  4.                The Trenton Computer Festival
  5.  
  6.                           Jay Sage
  7.  
  8.  
  9. Announcements
  10.  
  11.    The announcements for this time are about some excitingì
  12. price reductions. A small band of programmers has longì
  13. enjoyed the help of the wonderful DSD (Dynamic Screenì
  14. Debugger) in getting the bugs out of our code. The $130ì
  15. price tag, however, was a deterrent to many. I recentlyì
  16. located and spoke with the author, John Otken, and suggestedì
  17. that there would be a great advantage in reducing the price.ì
  18. More people would get to take advantage of his superbì
  19. program, and he would actually make more money because ofì
  20. the increased sales. He agreed to my suggested price of $50!
  21.  
  22.    I hope that many more of you will take advantage of thisì
  23. opportunity. DSD is not only a powerful aid in debuggingì
  24. problems with code; it is also a wonderful way to learnì
  25. about how programs work. The full-screen display allows oneì
  26. to see everything that is happening during programì
  27. execution. One sees a section of disassembled source code,ì
  28. the contents of the CPU registers, the contents of theì
  29. stack, and two blocks of memory. In all cases, symbolic asì
  30. well as numeric data can be seen, and all user entries canì
  31. make use of defined symbols.
  32.  
  33.    There have been two price reductions of interest toì
  34. owners of SB180 computers. XBIOS has been reduced from $75ì
  35. to $50, as a reflection of the fact that it is no longerì
  36. actively supported. We have also acquired the remainingì
  37. stock of the excellent Electronic Technical Servicesì
  38. ETSIO180+ board. Its low power CMOS design includes aì
  39. battery-backed real-time clock, two high speed (115.2 kbps)ì
  40. serial ports, 24 bits of parallel I/O, and an SCSI interfaceì
  41. for hard disk drives. It is fully supported by XBIOS (whichì
  42. is required to run the board). I use the ETSIO180+ on my ownì
  43. computer and have been very satisfied with it. The originalì
  44. price was $280; we will sell the remaining stock (currentlyì
  45. about six boards) for just $100 each (or $145 includingì
  46. XBIOS).
  47.  
  48.  
  49. The Trenton Fiascos
  50.  
  51.    The main contents of my column for this month wereì
  52. originally intended for publication in the printedì
  53. proceedings for this year's Trenton Computer Festival.ì
  54. Although _our_ session there was again a great successì
  55. (because of the speakers), the organization of TCF hasì
  56. deteriorated alarmingly over the past few years.
  57.  
  58.    When I originally sent in my speaker form for TCF, Iì
  59. checked the box indicating that I would contribute a writtenì
  60. piece. Shortly before the deadline, when they had notì
  61. received my submission, I was called by Sol Libes, who runsì
  62. the conference, asking if I was going to write something. Iì
  63. told him that I was still interested if there was time. Heì
  64. said that it could be accepted if I got it in by the end ofì
  65. the next weekend. We agreed that I would upload it to theì
  66. board run by the Amateur Computer Group of New Jersey. Onceì
  67. it was there, I was to call Sol.
  68.  
  69.    I worked extremely hard for a couple of days, staying upì
  70. until 3 am to get it finished and uploaded to the ACGNJì
  71. board. As instructed, I placed a voice call to Sol. He wasì
  72. not there, so I left a message on his answering machine.ì
  73. When he did not call back, I called several more times,ì
  74. leaving messages each time. Finally he returned my call, andì
  75. we agreed that he would call me again if there was anyì
  76. problem with the file I had left for him. I never heardì
  77. anything further.
  78.  
  79.    You can imagine my dismay when I learned during theì
  80. festival that my article had not been included. I still haveì
  81. no idea why, as no one has had the courtesy to contact me.ì
  82. Was its omission deliberate? I'm inclined to think it wasì
  83. administrative incompetence, since most other aspects of theì
  84. conference organization were also handled poorly.
  85.  
  86.    On my speaker registration form I had checked boxesì
  87. indicating the equipment that I wanted them to supply in ourì
  88. meeting room. My speaker confirmation form indicated thatì
  89. the information had been recorded, but I telephoned theì
  90. program coordinator the day before I drove down just to beì
  91. absolutely sure. Do you think the equipment was there? No.ì
  92. And do you think that anyone at TCF knew what to do aboutì
  93. it? No. We had to struggle through a couple of talks before,ì
  94. almost by accident, we stumbled upon the people who had theì
  95. equipment (no one had told them we needed it).
  96.  
  97.    I had hoped that the following material would be read byì
  98. an audience that might include many people with CP/Mì
  99. computers who did not know that magazines like TCJ andì
  100. advances like Z-System existed. So that my effort on thisì
  101. composition was not totally wasted, I am presenting it here.
  102.  
  103.  
  104.                      CP/M Is Not Dead!
  105.  
  106.    I'm sure you all know the famous Mark Twain anecdote.ì
  107. Somehow the newspapers picked up a story that he had died. ì
  108. At his next public appearance he delighted in relating thatì
  109. his reported death was, as he put it, "greatly exaggerated." ì
  110. The rumored death of CP/M, the granddaddy of microcomputerì
  111. operating systems, is similarly exaggerated!
  112.  
  113.    Unfortunately, the erroneous impression about CP/M isì
  114. much harder to correct. Were it simply the result of falseì
  115. reports in the media, one could bring the truth to theì
  116. media's attention and have them publish a correction.ì
  117. Regrettably, the belief that CP/M is dead arises via a ì
  118. mechanism that cannot be used to correct the view.
  119.  
  120.    I will try here to give you some impression of theì
  121. vitality that continues to flourish in the CP/M world,ì
  122. particularly in connection with the development of the Z¡
  123. System, a highly advanced successor operating system toì
  124. CP/M. While maintaining total compatibility with CP/M andì
  125. its software base, the Z-System brings concepts and featuresì
  126. that are as advanced as can be found on any computerì
  127. anywhere. Nothing can give a 4-MHz Z80 with 64 kilobytes ofì
  128. memory the raw computing horsepower of a 33-MHz 80386ì
  129. microprocessor with several megabytes of memory, but the Z-ì
  130. System can give an old CP/M computer a surprisingly powerfulì
  131. user interface and can turn it into a fun, educational, andì
  132. productive machine.
  133.  
  134.    At the end of this article, I have listed three magazinesì
  135. with strong CP/M support. By subscribing to them you will beì
  136. able to learn about sources for public-domain programs andì
  137. the names and addresses of vendors who actively supportì
  138. 8-bit software and hardware products. You are also welcomeì
  139. to call me.
  140.  
  141.  
  142. Why Do People Think CP/M Is Dead?
  143. =================================
  144.  
  145.    The community did not learn of the death of CP/M, as withì
  146. Mark Twain, by reading a report; they inferred it fromì
  147. personal experience. The mainline computer magazines, suchì
  148. as Byte, gradually carried less and less news about CP/Mì
  149. until eventually they carried none. Why did they stop? ì
  150. Basically because the volume of interest shifted naturallyì
  151. enough to MS-DOS and the newer hardware. There was no longerì
  152. much activity in CP/M hardware development or sales, andì
  153. almost all mainline software houses stopped developing newì
  154. CP/M programs. Soon most of them stopped even offering theirì
  155. old CP/M programs for sale. Some, like Borland, have evenì
  156. gone so far as to deny that CP/M products they once offeredì
  157. were _ever_ offered by their company! (I swear I remember aì
  158. Borland Turbo Modula 2, but many people tell me that whenì
  159. they contact Borland they are _assured_ that Borland _never_ì
  160. offered that product.)
  161.  
  162.    This situation notwithstanding, a very high level of CP/Mì
  163. activity did continue, but not in the spotlight. There wereì
  164. smaller, specialty magazines that continued to focus onì
  165. hobbyist computing, and there were also smaller softwareì
  166. vendors who continued to support CP/M with great ì
  167. enthusiasm. For veteran CP/M users there was some chance ofì
  168. their learning about these alternate sources of supportì
  169. before the mainline sources shut the door on CP/M, but evenì
  170. many of the veterans lost touch.
  171.  
  172.    For new owners of CP/M computers -- and though it mightì
  173. surprise you, there are many -- the situation is worse. ì
  174. Typically, they have inherited a retired CP/M computer fromì
  175. a family member, friend, user group, or even a stranger. ì
  176. When they try to contact the sources for CP/M informationì
  177. and support listed in their old documentation, they findì
  178. them to be either out of business totally or at least out ofì
  179. the CP/M business. And these days the sales representativesì
  180. at the software houses have often never even heard of CP/M! ì
  181. No wonder these new CP/M computer owners conclude that CP/Mì
  182. is dead.
  183.  
  184.  
  185. The Real Story
  186. ==============
  187.  
  188.    It is natural that the major focus of interest inì
  189. computers will continually shift toward the latest, mostì
  190. advanced, and most widely sold hardware. Nevertheless, aì
  191. tremendous level of activity still exists in the CP/M world,ì
  192. most of it centered on the further development of the Z-ì
  193. System.
  194.  
  195.    Why would someone still be interested in CP/M? Theì
  196. special spirit that persists in the CP/M world is oneì
  197. important factor. As in the Unix world, there is a veryì
  198. strong sense of community and sharing. This includes a wellì
  199. established tradition of public-domain software, that is,ì
  200. programs written specifically for the benefit of the generalì
  201. community and shared totally with that community. Byì
  202. contrast, the MS-DOS world has what they misleadingly callì
  203. "shareware." These programs are distributed for free, butì
  204. users are told that they must send money to the author ifì
  205. they continue to use them.
  206.  
  207.    A second attraction in the CP/M world is the intellectualì
  208. challenges and rewards it offers. The relative simplicity ofì
  209. the Z80 microprocessor and the CP/M operating system allowì
  210. easy entry to new programmers. Although extremely rare inì
  211. the DOS world, it is nearly universal in the CP/M world thatì
  212. programs are published with source code. This has severalì
  213. far-reaching consequences. In terms of quality, it meansì
  214. that the development of a program is not limited to theì
  215. conceptual and coding ability of a single author. Others inì
  216. the community can take that source code, make improvementsì
  217. to the program, and return the results to the community.ì
  218. Many of the most important CP/M programs have a very longì
  219. history of development involving many authors.
  220.  
  221.    Reading source code is also an indispensable vehicle forì
  222. learning about how a computer system works. New programmersì
  223. can quickly learn coding techniques and apply them to newì
  224. applications. Amazingly, source code is available not onlyì
  225. for the numerous utility programs but also for at least ì
  226. some versions of all parts of the operating system as well.
  227.  
  228.    The seminal event in the survival of CP/M took placeì
  229. almost exactly a decade ago. Richard Conn, eager to make hisì
  230. own contribution to a community that he felt had helped himì
  231. so much, spearheaded a group effort to write replacementì
  232. code for the Console Command Processor (CCP) portion of theì
  233. CP/M operating system. The result, named ZCPR for Z80ì
  234. Command Processor Replacement, was released to the public inì
  235. February, 1982.
  236.  
  237.    Not much later, I discovered this much improved commandì
  238. processor and installed it on my CP/M computer. Then I didì
  239. something even more significant: I looked at the sourceì
  240. code. To my amazement, I discovered that the operatingì
  241. system, that "holy of holies," is nothing more than a ì
  242. computer program, rather like any other, and that I, albeitì
  243. untrained in systems programming, could not only understandì
  244. it but experiment with changing it! Discoveries like thisì
  245. from reading source code continue to inspire new CP/Mì
  246. hobbyist programmers, and computer bulletin boards and userì
  247. group meetings continue to be scenes of intense discussion.
  248.  
  249.  
  250. The Features of Z-System
  251. ========================
  252.  
  253.    The ZCPR command processor has gone through severalì
  254. stages of evolution, and the same approach has now beenì
  255. applied as well to the Basic Disk Operating System (BDOS)ì
  256. component of the CP/M operating system. The combined resultì
  257. is now referred to as the Z-System, and it represents a ì
  258. remarkable point in the development of microcomputerì
  259. operating systems. It has many, many features inspired byì
  260. minicomputer and mainframe operating systems and some notì
  261. available even on those powerful machines. When I use my DOSì
  262. 386 machine at work, there are many Z-System features that Iì
  263. sorely miss, and I am constantly amazed at their absenceì
  264. from an operating system whose code is bigger than theì
  265. entire memory address space on a CP/M machine!
  266.  
  267.    For the most part, the original Digital Research CP/Mì
  268. accomplished in admirable fashion the essential functions itì
  269. was required to perform: to run a few resident commands andì
  270. to load external commands from disk. However, it devotedì
  271. little attention to the user interface and did not provideì
  272. many services to make the operator's life easy. To be fair,ì
  273. of course, CP/M was born in the days when 16K of memory costì
  274. about $500 (in 1970s dollars, no less) and occupied anì
  275. entire S-100 card, roughly the size of the motherboard of aì
  276. modern DOS machine.
  277.  
  278.    The central goal of the Z-System since the beginning hasì
  279. been to make it easier and more convenient to operate theì
  280. computer. My own ideal has been to have the computer performì
  281. all tasks that it can handle on its own and to leave to theì
  282. user only those tasks that a computer cannot figure out byì
  283. itself. In other words, the computer should take care of allì
  284. the routine matters; the human operator should handle onlyì
  285. the thinking. I will now run through a short summary of Z¡
  286. System features and try to indicate how they make theì
  287. operator's life easier.
  288.  
  289. User Area Access
  290.  
  291.    CP/M introduced the concept of disk "user" areas, whichì
  292. allowed the operating system to group files into separateì
  293. logical directories. Unfortunately, CP/M provided noì
  294. practical way to access files across user areas, which madeì
  295. them almost useless.
  296.  
  297.    Z-System makes it very easy and convenient to organizeì
  298. your files. Where CP/M allowed only a drive prefix in fileì
  299. specifications (e.g., B:TEXT.DOC), Z-System allows driveì
  300. and/or user number prefixes (e.g., A3:WORK.WS) so that filesì
  301. in other user areas as well as other drives can beì
  302. referenced directly. In addition, Z-System allows meaningfulì
  303. names (similar to DOS subdirectory names) to be assigned toì
  304. drive/user areas (so we might have LETTERS:JOE.WS). Thisì
  305. provides an interface that is far more suitable to the wayì
  306. people think and remember.
  307.  
  308. Terminal Independence and the Environment
  309.  
  310.    While some would argue that the DOS hardware and softwareì
  311. standards established by IBM's market dominance haveì
  312. resulted in an enforced mediocrity, there is no doubt thatì
  313. having a single environment in which to operate makes lifeì
  314. much easier for applications programmers. Programs for DOSì
  315. generally work right out of the box on any IBM-compatibleì
  316. computer. Configuration is required only for fine-tuning.
  317.  
  318.    CP/M, on the other hand, was designed to allow programsì
  319. to run on an extremely wide variety of hardware. In thoseì
  320. days, "personal" computer took on a different meaning --ì
  321. each person designed and built his own hardware. CP/M couldì
  322. be made to work with all of them, but elaborate ì
  323. configuration procedures were generally required, especiallyì
  324. to match programs to the particular terminal used. To thisì
  325. day, we still have to deal with this hardware diversity.
  326.  
  327.    What CP/M could have provided, but didn't, was a meansì
  328. for conveying to application programs information about theì
  329. operating environment. Z- System has several modules thatì
  330. afford such communication. An area called the environmentì
  331. descriptor (ENV) contains information about the system ì
  332. configuration. Another system area called the message bufferì
  333. (MSG) stores information that one program can leave for useì
  334. by another program that runs later.
  335.  
  336.    Part of the ENV is a section called the TCAP or Terminal¡
  337. CAPability descriptor (if you know Unix, you will recognizeì
  338. this). When the appropriate TCAP has been loaded, a Z-Systemì
  339. program will automatically use the right video control codesì
  340. for that terminal.
  341.  
  342. Command Processing Enhancements
  343.  
  344.    Under CP/M, you had to specify where the COM file to beì
  345. run was located (otherwise the current drive was assumed). ì
  346. This is a perfect example of something that a computer canì
  347. easily be smart enough to do for you, and Z-System does. Asì
  348. with modern versions of DOS (which took many years to catchì
  349. on to this Z-System feature), you specify a list ofì
  350. directory areas that the operating system will scan for aì
  351. requested COM file. Unlike DOS, Z-System does not insistì
  352. that the current directory be first in the path; it canì
  353. appear wherever you want it to, or not at all.
  354.  
  355.    With Z-System one is also no longer limited to issuingì
  356. commands one at a time (DOS has been even slower to catch onì
  357. to this). A single line of command input can contain a wholeì
  358. sequence of commands. As a result, you do not have toì
  359. interrupt your thinking to wait for one command to finish ì
  360. before you can specify the second and subsequent steps in aì
  361. process. You can work out a strategy for what you want toì
  362. accomplish and issue all the commands at once, before youì
  363. forget or get confused.
  364.  
  365.    Many oft-repeated computational tasks involve sequencesì
  366. of commands (e.g., editing, spell-checking, printing). Inì
  367. such cases, the Z-System alias facility (similar in someì
  368. ways to CP/M's submit or DOS's batch operations but far moreì
  369. flexible -- more akin to Unix scripts) can be used to defineì
  370. a new command name, which, when invoked, performs the entire ì
  371. sequence. This saves the user a lot of typing but moreì
  372. importantly eliminates the need to remember exactly what theì
  373. sequence is. Basically, you solve the problem once and putì
  374. the solution into an alias script. From then on, theì
  375. computer is smart enough to take care of the complex ì
  376. details for you.
  377.  
  378. Conditional Command Execution
  379.  
  380.    There is only so much one can accomplish on a computerì
  381. (or in life) without making decisions. Have you ever seen aì
  382. programming language with no ability to perform tests andì
  383. act in different ways depending on the results? Flow controlì
  384. (IF/ELSE/ENDIF) is unique to the Z-System command ì
  385. processor. Other operating systems that offer flow controlì
  386. at all limit it to operation inside a batch or scriptì
  387. language. A special set of Z-System commands can test a wideì
  388. range of conditions, and the tests can be nested to a depthì
  389. of eight levels.
  390.  
  391. Command Processor Shells
  392.  
  393.    If you do not want to deal with the operating system atì
  394. the command level or if you want to have a command processorì
  395. with extended features, the Z-System shell facility allowsì
  396. you to install substitute user interfaces of your own choiceì
  397. at will. They can even be nested within each other.
  398.  
  399.    Shells come in two common varieties: menu shells andì
  400. history shells. The menu interfaces allow the user to pickì
  401. tasks with single keystrokes and have the shell programì
  402. generate the complex sequences of commands required toì
  403. perform those tasks. The menu system shields the user from ì
  404. complexity, saves typing, and greatly reduces the chance ofì
  405. error.
  406.  
  407.    History shells are enhanced command processors thatì
  408. remember your commands and allow you to recall and editì
  409. previous command lines. I wish the Apollo Domainì
  410. minicomputer system I use at work (not to mention my DOS ì
  411. computer) had a history shell as nice as Z-System's LSH. Itì
  412. works like a wordprocessor on the command history, allowingì
  413. searching and extensive editing.
  414.  
  415. What If You Make a Mistake
  416.  
  417.    This is one of the other areas in which most operatingì
  418. systems behave in an abominably primitive manner. When youì
  419. issue a command that cannot be performed, they just issue anì
  420. error message and then dump you back to square one. Oftenì
  421. you are not even told what sort of error occurred (considerì
  422. DOS's wonderfully helpful "bad command" message).
  423.  
  424.    The Z-System behaves in a civilized manner under theseì
  425. circumstances. When an error occurs, the command processorì
  426. turns the bad command line over to a user-specified errorì
  427. handler. The most sophisticated error handlers allow theì
  428. operator to edit the command and thus recover easily fromì
  429. typing mistakes.
  430.  
  431.    The system environment even contains an error type, whichì
  432. the error handler can use to give you more specificì
  433. information about what went wrong. It may be the familiarì
  434. error of a COM file that could not be found, but there areì
  435. many other possible causes for the difficulty. A file that ì
  436. you specified as an argument might not have been foundì
  437. (e.g., "TYPE FILENAM" when you meant "TYPE FILENAME"), orì
  438. you may have specified an ambiguous file name to a programì
  439. that cannot accept one (e.g., "TYPE *.DOC").
  440.  
  441. System Security
  442.  
  443.    Like minicomputer and mainframe operating systems, the Z¡
  444. System is a secure operating system. This means that it hasì
  445. mechanisms for limiting what any particular user can do orì
  446. get access to. Commands that perform dangerous operationsì
  447. (such as erasing, copying, or renaming files) can be ì
  448. disabled when ordinary users are operating the system butì
  449. enabled when a privileged user is at work. Areas of yourì
  450. disk can be restricted from access for storage ofì
  451. confidential or other sensitive information. These securityì
  452. features come in very handy in the implementation of aì
  453. remote access system or bulletin board.
  454.  
  455. Summary
  456.  
  457.    To sum it up, the goal of the Z-System is to provide anì
  458. operating environment that can be tailored extensively toì
  459. user preferences and that can be made to handle on its ownì
  460. and automatically as many computational details as it can,ì
  461. leaving the user free to concentrate solely on those ì
  462. aspects of computer operation that require humanì
  463. intelligence.
  464.  
  465.  
  466. Z-System, The State of the CP/M Art
  467. ===================================
  468.  
  469.    Now that you've seen the remarkable features of the Z¡
  470. System, you might be curious about how it can be installedì
  471. on your CP/M computer. In this regard, the most spectacularì
  472. step in the evolution of Z-System took place about threeì
  473. years ago. At that time some major programming breakthroughs ì
  474. made it possible to configure and install the Z-System as ifì
  475. it were an application program running on the CP/M computer. ì
  476. Before that, you really had to be a rather skilled assemblyì
  477. language programmer to get Z-System running.
  478.  
  479.    The new Z-System comes in two flavors: NZCOM forì
  480. computers that use version 2.2 of CP/M and Z3PLUS forì
  481. computers running CP/M-Plus. Joe Wright, Bridger Mitchell,ì
  482. and I were the main developers.
  483.  
  484.    NZCOM and Z3PLUS embody, I believe, some of the mostì
  485. exciting and remarkable developments in the history ofì
  486. microcomputer operating systems. With all the microcomputersì
  487. I have had experience with, the operating system has been aì
  488. static entity. You boot up the computer, and there you haveì
  489. the operating system, fixed and immutable. Few computersì
  490. offer more than one operating system. With those that do,ì
  491. changing the operating system usually requires rebooting andì
  492. starting over. And never do you, the user, get to define theì
  493. characteristics of the operating system. You just take whatì
  494. the manufacturer decides to give you.
  495.  
  496.    With NZCOM and Z3PLUS the operating system becomes aì
  497. flexible tool just like an application program. You canì
  498. change operating system configurations at any time, evenì
  499. right in the middle of a multiple command line sequence. Youì
  500. can do it manually, or alias scripts can do it ì
  501. automatically in response to conditions in the system!
  502.  
  503.    You can change the whole operating system or just a partì
  504. of it. Would you like a different command processor? Noì
  505. problem. With a simple command, NZCOM or Z3PLUS will loadì
  506. another one. No assembly or configuration is required. Ifì
  507. you want to experiment with a new disk operating systemì
  508. (BDOS), NZCOM can load a new one in a jiffy. This makes forì
  509. a whole new world of flexibility and adaptability, learningì
  510. and experimentation.
  511.  
  512.    Do you need more memory to run a big application program? ì
  513. Fine. While that application is running, just load a smallì
  514. operating system without some of the bells and whistles. ì
  515. Then, after that task is finished, go back to the big systemì
  516. with named directories, lots of resident commands, orì
  517. special input/output facilities (such as keyboard redefinersì
  518. or redirection of screen or printer output to disk). Untilì
  519. you try NZCOM or Z3PLUS, it is hard to imagine how easy itì
  520. is to do these things.
  521.  
  522.  
  523. Sources of Support
  524. ==================
  525.  
  526.    Here are three magazines that provide significant CP/Mì
  527. support. By reading them you will learn about sources forì
  528. public-domain software (both by modem and on disk) and aboutì
  529. vendors who sell CP/M commercial software (a vendor listing,ì
  530. CPMSRC.LST, posted on bulletin boards runs to 15 printedì
  531. pages).
  532.  
  533.    The major, professional publication with strong coverageì
  534. of Z-System and CP/M is "The Computer Journal." Its sixì
  535. issues per year have a broad hobbyist focus, with articlesì
  536. on several operating systems, programming languages,ì
  537. embedded controllers, hardware projects, and many otherì
  538. topics.
  539.  
  540.         The Computer Journal ($18/yr)
  541.         P.O. Box 12
  542.         S. Plainfield, NJ 07080-0012
  543.         voice: 908-755-6186
  544.         modem (Z-Node #32): 908-754-9067
  545.         on GEnie as $TCJ
  546.  
  547. Two other, more informal magazines of interest to the 8-bitì
  548. community are:
  549.  
  550.         The Z-Letter ($15/yr)
  551.         Lambda Software Publishing
  552.         720 S. Second Street
  553.         San Jose, CA 95112
  554.         voice: 408-293-5176
  555.  
  556.         Eight Bits and Change ($15/yr)
  557.         Small Computer Support
  558.         24 East Cedar Street
  559.         Newington, CT 06111
  560.         voice: 203-666-3139
  561.         modem (Z-Node #12): 203-665-1100.
  562.