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 / SIMTEL20 / DOC / ZAS-SLR2.DOC < prev    next >
Text File  |  2000-06-30  |  12KB  |  217 lines

  1.             THE LIBRARIES, ZAS, AND THE SLR ASSEMBLERS -- PART 2
  2.  
  3.                                   Jay Sage
  4.                              September 11, 1986
  5.  
  6.  
  7.                                  Background
  8.  
  9.      After reading Richard Conn's article on the libraries in Micro/Systems 
  10. Journal (MSJ), I felt that Richard had been highly misleading in his 
  11. statements such as the following:
  12.  
  13.      SYSLIB Version 3.6 (the most recent version) is written in the 
  14.      ZAS assembler language and can only be assembled by the ZAS 
  15.      assembler (SYSLIB.REL is provided in the distribution, so it is 
  16.      not necessary to be able to assemble SYSLIB in order to use it).
  17.      
  18. This statement and an identical one about Z3LIB Version 1.3 imply that 
  19. anyone who wants to work with the library source code has to go out and buy 
  20. ZAS.  I felt that this impression needed to be corrected, especially where 
  21. (in my opinion) ZAS is at best a mediocre assembler, particularly in 
  22. contrast to the superb assemblers from SLR systems that are available at 
  23. nearly the same price.  I released the file ZAS-SLR.DOC to clarify matters.  
  24. Richard has now released his rebuttal in ZAS-STD.DOC.  While Richard's 
  25. comments in MSJ were merely misleading, some of those in ZAS-STD.DOC could 
  26. well be construed as an affront to what is left of the 8-bit programmer 
  27. community.  More on that a little later.  First I would like to deal 
  28. specifically with Richard's comments in rebuttal to mine.
  29.  
  30.  
  31.                        Rebuttal to Richard's Rebuttal
  32.  
  33.      In Richard's responses to my comments I thought I was reading something 
  34. composed by the State Department -- a lot of semantic sidestepping to 
  35. distract one's attention from the real issue, the misleading statements in 
  36. the MSJ article.
  37.  
  38.      First Richard corrects me concerning his employment by Echelon.  OK, 
  39. let's use the words "very closely associated, including financially" 
  40. instead.  Actually, I may indeed have been wrong.  I had been told several 
  41. months ago by someone definitely in a position to know that Richard was 
  42. working full time for Echelon.  Perhaps I misunderstood; perhaps things did 
  43. not work out as planned; perhaps the legal relationship is technically not 
  44. employment.  It really doesn't matter.  The real issue is that Richard is 
  45. using ZAS not because he examined a lot of assemblers and found ZAS to be 
  46. the best.  He uses it, I submit, because it is the product promoted by 
  47. Echelon.  AND THERE IS NOTHING WRONG WITH THAT.  There would also be nothing 
  48. wrong with his being employed by Echelon and supporting his employer by 
  49. using and promoting the employer's products (the fact that Richard makes no 
  50. money directly from the sales of ZAS is irrelevant; I don't make any money 
  51. directly from my employer's sales either).  What is wrong is to promote 
  52. those products in a misleading way.
  53.  
  54.      Richard pointed gleefully to my admission that SLR's Z80ASM assembler 
  55. could not fully assemble the SYSLIB source as released.  I ask the rest of 
  56. the community out there: Do you think that, in the nearly three hundred 
  57. modules and thousands of lines of code, five lines with ".IN LUDDEF" that 
  58. have to be changed to "INCLUDE LUDDEF.LIB" justify conveying the impression 
  59. that you better go out and buy ZAS if you want to use the source code?  I 
  60. find it very hard to believe that anyone who would know what to do with the 
  61. source code would have any trouble whatsoever converting the source back to 
  62. one of the standard assembler formats.
  63.  
  64.      Richard states that SLR's Z80ASM cannot assemble the latest Z3LIB 
  65. without completely editing the source (though in the same text he also 
  66. states that he has never seen or used the SLR assembler!).  In fact, Z80ASM 
  67. assembles the latest releases of Z3LIB (1.3) and VLIB (1.1) without any 
  68. problems at all.  Perhaps Richard was referring to a future version of the 
  69. libraries.  Is he planning to make deliberate use of idiosyncrasies of the 
  70. ZAS assembler to make sure that only ZAS can be used?  Even then I am sure 
  71. there would be no serious difficulty in converting the code to a format 
  72. suitable for conventional assemblers.
  73.  
  74.      To sum all this up, I repeat my previous statement that if Richard had 
  75. said something like "the most recent versions of the libraries are written 
  76. in the ZAS assembler language and might require some minor changes for use 
  77. with other assemblers" I would have had no problem and would not have 
  78. written ZAS-SLR.DOC.
  79.  
  80.  
  81.                             Two Technical Asides
  82.  
  83.      While I was running the code through the SLR assemblers, I decided to 
  84. check my speculation that the libraries contained only 8080-compatible 
  85. opcodes (Richard implied repeatedly in the article that the older releases 
  86. of the libraries were for 8080 but that the current versions were for Z80 
  87. and HD64180 only).  SLR's fancier, virtual-memory assembler Z80ASM+ has an 
  88. option to flag any non-8080 instructions as errors (its further ability to 
  89. flag absolute jumps that could be replaced by relative jumps saved 
  90. significant code in VFILER 4.1).  I ran it on all modules of all three 
  91. libraries.  Only four modules contained any Z80-specific opcodes.  These 
  92. were in the same library-utility modules that have the ZAS-specific ".IN" 
  93. pseudo-ops.  Since these are the newest routines, they suggest that Richard 
  94. is now writing code that will not support 8080- and 8085-based computers.  
  95. This in not a criticism; I also think it is time to start taking advantage 
  96. of the Z80 opcodes.  (The SLR assemblers carry this to a very high degree, 
  97. increasing speed and efficiency by making extensive use of alternate and 
  98. index registers.)  I would leave it to the minority with 8085s to convert 
  99. the source and release 8080 versions of the libraries.
  100.  
  101.      While I am on asides, let me note another technical shortcoming of the 
  102. coding in the libraries (in ZAS-SLR.DOC I noted a few inconsistencies in 
  103. symbol names).  None of the routines place their uninitialized data space 
  104. into data segments (DSEGs).  As a result, COM files made using the libraries 
  105. include useless bytes that slow down loading and take up extra disk space.  
  106. This has been a problem with all Z programs.  It's not an earthshaking 
  107. matter, but it is completely unnecessary.  VFILER Version 4.1 is the first Z 
  108. program (to my knowledge) where the main program has support for DSEGs.  I 
  109. am now in the process of modifying the libraries code for VFILER.  The 
  110. linking step is more complicated (except with SLR's virtual-memory linker 
  111. SLRNK+, which does it automatically), requiring two linking operations, one 
  112. to determine the end of the program space (CSEG) and a second one to perform 
  113. the linkage with the data space ORGed immediately after the program space.  
  114. With SLRNK this is no big deal, since it will perform two linkages in less 
  115. time than other linkers can do one.  And during development there is no need 
  116. to place the data space precisely at the end of the code space.
  117.  
  118.  
  119.                      The Standard for 8-Bit Assemblers
  120.  
  121.      Now I turn my attention to the part of Richard's ZAS-STD.DOC that I 
  122. feel is a real chutzpah.  In that file we learn that Richard Conn (King 
  123. Richard, perhaps) has decreed a new standard for assembly language that we 
  124. all must follow if we want to be a part of the Z programming community.  He 
  125. argues very eloquently and convincingly for the value of standards, pointing 
  126. to the example of Ada, his other major interest.
  127.  
  128.      I, too, place a high value on standards, especially when they are a 
  129. help to everyone.  But consider how standards are usually arrived at in a 
  130. democratic society.  Several steps are involved:
  131.  
  132.     1.  Notice is given to the community that a standard is being 
  133.         considered;
  134.     
  135.     2.  A committee of experts and interested parties is formed to 
  136.         oversee the development of the standard;
  137.     
  138.     3.  Existing products are examined, studied, and evaluated;
  139.     
  140.     4.  Input is solicited from the community at large.
  141.     
  142.      Richard Conn, as far as I can tell, has done none of these things!  
  143. First, the announcement of "The ZAS Standard" in ZAS-STD.DOC fell like a 
  144. bombshell.  I have not seen any notice in Z-News or on Z-Node Central of the 
  145. intention to formulate and enforce an assembler standard.  There is a BIG 
  146. difference between ZAS as the only assembler sold and supported by Echelon 
  147. and ZAS as THE STANDARD assembler.  Any company may choose to market a 
  148. particular product, but only IBM then declares it to be a world standard 
  149. (actually, even IBM doesn't do that; their choice just becomes the de facto 
  150. standard).
  151.  
  152.      Second, there has been no committee of experts, at least not a public 
  153. one.  Richard Conn, perhaps with others on the "Echelon Team", seems to have 
  154. appointed himself.  Does Echelon really think it is the IBM of the 8-bit 
  155. world?!
  156.  
  157.      Third, from Richard's own text we see that no examination of existing 
  158. products has been conducted.  He states plainly in that text that he has 
  159. never seen the SLR assemblers.  Anyone who keeps himself at all informed 
  160. about activities in the computer world other than his own would surely have 
  161. noticed the advertisements for the SLR tools.  The utterly outrageous (but 
  162. true!) claims in those ads should have at least led a standards setter to 
  163. investigate.
  164.  
  165.      Fourth, since the community was not even notified of an impending 
  166. standard, its input was neither solicited nor given consideration.  We have 
  167. been presented with a fait accompli.  I, and I am sure others, would like to 
  168. ask that Richard Conn show some genuine respect for the rest of the 8-bit 
  169. programming community by paying a little attention to our ideas in addition 
  170. to his own.  That means not only listening to us when we talk directly to 
  171. him but more importantly looking at the new programs and program 
  172. enhancements that we release and at the dialogue on Z-Node Central and the 
  173. other Z-Nodes.  And it also means actively soliciting input before he makes 
  174. decisions that he expects the whole community to follow.
  175.  
  176.      Richard's actions would be open to criticism even if the standard 
  177. decreed for us were a good one, but it is not.  When Echelon first offered 
  178. ZAS, many of us in the community wanted to and tried to support it.  
  179. Unfortunately, we found it to be a very mediocre assembler plagued with a 
  180. continuing series of problems and deficiencies (I don't want to go into them 
  181. here).  I have reached the point where I am no longer willing to expend the 
  182. effort to check my code for ZAS compatibility; Joe Wright, a member (or 
  183. former member?) of the Echelon Team, has even consented to be quoted in the 
  184. SLR advertisements (I would, too).
  185.  
  186.      It is with regret that I make the above statements about ZAS.  In 
  187. general, the Echelon product line is a superb one that lives up to Echelon's 
  188. image of excellence.  Many of the products (the DSD debugger and REVAS3 
  189. disassembler) are, I think, the best available.  Joe Wright's auto-install Z 
  190. System packages are marvels of ingenuity; ZRDOS offers excellent new 
  191. functionality; ZCPR3 itself, the centerpiece, is dazzling.  ZAS, 
  192. unfortunately, stands out like a sore thumb in this list.  When I first used 
  193. the SLR assemblers, my immediate reaction was: There are the assemblers that 
  194. belong in the Echelon product line!
  195.  
  196.  
  197.                               A Silver Lining
  198.  
  199.      There is a silver lining I am happy to report.  Yesterday Richard sent 
  200. a message over the INFO-CPM mailing list on the Defense Data Network (ARPA-
  201. NET), where our previous round of files also appeared, noting that he had 
  202. just received copies of the SLR assemblers and, though he had not yet used 
  203. them, was impressed with them based on the documentation.  He also reported 
  204. that Echelon and SLR Systems are talking.  Perhaps this false start at 
  205. standard-setting will be set aright, and we will all benefit.
  206.  
  207.  
  208.                                Final Footnote
  209.  
  210.      Lest anyone take the above remarks excessively seriously, I would like 
  211. to temper them by adding that under circumstances such as these I am given 
  212. to a degree of overstatement.  After all, with nothing but a steady stream 
  213. of superb new Z programs week after week, one looks for something to break 
  214. the monotony.  And why should Frank Gaude' with his Z-News be the only one
  215. to provide some color?  Of course, Frank's style and mine are not exactly
  216. the same, and I prefer Cabernet Sauvignon to Zinfandel.