home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 145_01 / ibm.doc < prev    next >
Text File  |  1979-12-31  |  6KB  |  129 lines

  1. .m4 4
  2. .m1 4
  3. .ow 72
  4. .rm 72
  5. .in 3
  6. .nf
  7. MS-DOS version of ROFF4 modified by Glenn Nelson
  8. .in +5
  9. 17 November 1984.
  10. 418B Locust St.
  11. Santa Cruz, CA 95060
  12. 408-429-4235 (work), 408-429-8-429 (home)
  13. .in -5
  14. .fi
  15. .sp
  16. This document can be printed by typing ^Broff4#mx80#ibm.doc#>#prn^b.
  17. It should work with other printers as defined in the files on this disk,
  18. but one warning - I used italics, defined similar to bold.
  19. If your printer cannot recognize carat-I sequences
  20. (Icouldn't figure out
  21. how to print carats!), just read this file.
  22. .sp 2
  23. This document briefly describes changes and bugs in the version
  24. of ROFF4 that now works on MS-DOS systems that emulate an IBM-PC.
  25. You can use it by ^Broff4#[options]#^Ifile1#[file2#...]^i#>#prn^b,
  26. to output directly to your printer. If you want the wall chart
  27. listing (^B-g^b#option), the ^B-g^b should be last on the line
  28. (before the re-direct). UNIX user's should note that unlike nroff,
  29. macro files are included as ordinary files on the command line,
  30. and not as -m options. Hence ^Broff4#mx80#^Imyfile^i#>#prn^b for output
  31. with special graphics on an Epson.
  32. .sp
  33. ^BCompiling and Linking^b
  34. .br
  35. To compile and link with DeSmet C, type ^BROFF^b, the batch file
  36. does the rest.
  37. Note new file ^Ibdsjunk.h^i - some things that are noramlly
  38. in ^Ibdscio.h^i, and FERR has been added to ^Istdio.h^i from DeSmet.
  39. There are batch files and other files on this disk that apply
  40. to C86 (Computer Innovations); good luck to anyone who wastes their
  41. time with it.
  42. .sp
  43. All the source has been modified for conditional compiles for BDS,
  44. DeSmet, and Computer Innovations (C86).  I finally got it working
  45. with DeSmet when I found out that they had fixed the re-direct bug
  46. in version 2.4. 
  47. (It used to be that stderr got re-directed along
  48. with stdout.  With ROFF4 this is a real disaster since so much goes
  49. out to stderr, assumed to always be the operator's display.)
  50. .sp
  51. I have a Micromint (Steve Ciarcia's computer from BYTE) running
  52. PC-DOS version 2.00 - that's right, PC-DOS, not MS-DOS. Although
  53. my COM ports don't work with most software, the printer port works
  54. fine with ROFF4.
  55. ROFF4 has been compiled with DeSmet C (from C Ware in Sunnyvale),
  56. and has been tested to
  57. do things as complicated as producing the wall chart of
  58. special characters for an Epson MX-80. However, I probably won't
  59. be using this much as we just got an Imagen laser printer and
  60. Knuth's TeX phototypesetter software in our lab. Well, this was
  61. a fun project.
  62. .sp
  63. ^BBDS-C exceptions^b
  64. .br
  65. The program may no longer compile with BDS, due to usage of #if
  66. conditionals. It definitely will not link properly after what I did
  67. to ^Iroff4.h^i. I prefixed all declarations with ^Bextern^b,
  68. and renamed the old ^Iroff4.h^i as ^Iroffdata.c^i. Thus all globals
  69. are declared in one file, and merely named as externs in a universal
  70. include file. This was necessary for C86, though not for DeSmet;
  71. it is a big mistake for BDS, but is the correct thing for UNIX.
  72. fortunately DeSmet takes it either way.
  73. .sp
  74. ^BBUGS^b
  75. .br
  76. I fixed a few bugs, most notably the notorious char vs. int problem.
  77. The form of the #if statements is a little gross, but DeSmet didn't like
  78. expressions in the conditional, and one or both of them didn't
  79. recognize #elseif.  C86 could handle some expressions, but not something
  80. like #if (BDS || C86). In places you will see code in conditional
  81. compiles that is no different.  It's probably there because I thought
  82. it might be a problem, or was too lazy to clean it up.
  83. .sp
  84. I noticed when printing this that when bold then later italics
  85. were turned on, if the line continues on to the next line
  86. before italics is turned off, then even the bold-only text gets
  87. italicized.
  88. .sp
  89. ^BEditorial, Flames and Apology^b
  90. .br
  91. When I found out the stderr bug in DeSmet had been fixed I gladly
  92. abandoned my efforts with C86,
  93. called C Ware and paid for my bootleg
  94. copy, informing them of such. I'm happy to say that they were
  95. thankful for my honesty and praise, rather than angry with my theft;
  96. I am once again a student, a partial explanation for my stinginess.
  97. The new compiler arrived the next day!
  98. .sp
  99. Just as with BDS-C for 8-bitters, this a
  100. great product for the MS-DOS world at a price that can't be beat.
  101. I use their visual editor all the time because it's so fast and
  102. simple. If you like ^Ivi^i, you'll appreciate this.
  103. They deserve your support in terms of $$$. I pay for it because I use
  104. it and prefer nothing else at any price.
  105. .sp
  106. I never got it working with C86.
  107. The only reason I tried was because of the above mentioned DeSmet
  108. re-direct problem.
  109. I know this is an optimizing compiler and must produce better code
  110. but in my limited experience there is little difference in size.
  111. Not only that, but C86 is a 4 pass compiler with each pass a seperate
  112. file on disk! It honestly takes more than 8 times as long to compile
  113. and link ROFF4 - over 15 minutes as opposed to less than 2!
  114. It doesn't have a symbolic debugger, costs $350, and I never got
  115. ROFF4 working! And this is supposed to be the best around!
  116. .sp
  117. The problem with C86 was never determined. Every time I ran ROFF4
  118. I got different output. I was testing it with ^Broff4#mx80#-g#>#prn^b,
  119. which should create a wall chart of the Greek and other symbols that
  120. have been defined. Sometimes I got no stderr messages at all. At best
  121. I would get the wall chart, but every character translated into itself!
  122. I think the stack may have been too small - presumably then problem
  123. is with the C86 - IBM linker interface.
  124. .sp
  125. ^BThe End^b
  126. .br
  127. I hope this is useful to many, and I'm glad I finally got a chance
  128. to make a contribution to our favorite user's group.
  129.