home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / sigmv029.ark / CATALOG.048 < prev    next >
Encoding:
Text File  |  1984-04-29  |  9.3 KB  |  228 lines

  1. VOLUME 48    National CP/M Users Group
  2.         (CP/M is a trademark of Digital Research, Inc)
  3.  
  4. DESCRIPTION:    The BDS C Sampler Disk
  5.         November 29, 1980
  6.  
  7.     Compiled by Leor Zolman, BD Software
  8.  
  9. -  Manual for BDS-C to give you a "flavor" of the compiler
  10. -  Good programming examples in C
  11. -  Interesting games to play
  12. -  Good use of H19-H89 (Programs with <H> are H19-H89 only)
  13.  
  14. Most files are included in .COM form to allow you to execute
  15. them without having BDS-C.  Be careful of RALLY.COM as it needs
  16. to do hard-coded I/O to detect console OUT status.
  17.  
  18. NUMBER    SIZE    NAME        COMMENTS
  19.  
  20.      3K    -CATALOG.048    CONTENTS OF CP/M VOL. 48
  21.      6K    ABSTRACT.048    Abstracts of the programs
  22. 48.1    17K    BDS-C.DOC    BDS-C users manual (*)
  23. 48.2     7K    BDSCIO.H    The standard library used to
  24.                     compile the programs
  25. 48.3     8K    BUGS.C        <H> makes things crawl
  26. 48.4    11K    BUGS.COM        around on your screen
  27. 48.5     9K    HLIFE.C        <H> H19/H89 version of 48.9
  28. 48.6     8K    HLIFE.COM    <H>     "    "    ".10
  29. 48.7    13K    HSTONE.C    <H> "Awari" game program -
  30. 48.8    12K    HSTONE.COM    "    "
  31. 48.9     9K    LIFE.C        Good implementation of Conway's
  32. 48.10     8K    LIFE.COM        LIFE algorithm
  33. 48.11     5K    MM.C        Mastermind interesting guessing
  34. 48.12     7K    MM.COM            game.  Try it and see
  35. 48.13    11K    OTHELLO.C    Game program
  36. 48.14    12K    OTHELLO.COM      "
  37. 48.15     7K    PPONG.C        <H> "Polish Pong" bounce the
  38. 48.16     7K    PPONG.COM        ball off "/" and "\"
  39. 48.17     8K    PRESSUP.C    Game program
  40. 48.18     8K    PRESSUP.COM    "    "
  41. 48.19     1K    R2.MAP        <H> map for rally game
  42. 48.20    10K    RALLY.C        <H> road rally arcade game
  43. 48.21    10K    RALLY.COM    <H> .COM of 48.20, but...
  44.         ========= --->    Caution!! Hard-coded I/O req'd
  45. 48.22     2K    RALLY.MAP    <H> another map for 48.21
  46. 48.23    10K    STONE.C        "Awari" game with "very smart
  47. 48.24     9K    STONE.COM        computer" opponent
  48. 48.25     2K    TABIFY.C    Turn multiple spaces into
  49. 48.26     6K    TABIFY.COM        proper CP/M tabs
  50. 48.27     7K    TTT.C        Tic-Tac-Toe that "exhaustively"
  51. 48.28     6K    TTT.COM            tests for best move
  52. 48.29     3K    VOLUME48.DOC    Leor's own comments
  53.  
  54. (*) The original was 22K, but "TABIFY" deleted 5K of spaces!!
  55.  
  56.  
  57.     The BDS C Sampler Disk        For the CPMUG       November 29, 1980
  58.     ----------------------        ------------------------------------
  59.                     Compiled by Leor Zolman, BD Software
  60.  
  61.  
  62. This disk contains a collection of programs written in BDS C, both in source
  63. and compiled forms, along with a short document describing the BDS C package
  64. for those who've never seen it. Some of the programs have been distributed
  65. with the BDS C package in the past, but currently there are so many assembler
  66. sources provided with the package that there isn't much room for games; thus,
  67. if you have purchased v1.4 or a later version of the compiler, many of these
  68. programs will be new to you. 
  69.  
  70. Since H19 terminals and H89 computers are pretty popular among the company I
  71. keep, there are a lot of game programs here that require the H19 hardware. If
  72. you don't have either an H19 or access to one, non-H19 versions of some of
  73. the games are also provided for use on any kind of terminal.
  74.  
  75. -------------------------------------------------------------------------------
  76. Here are descriptions of the programs on this disk:
  77.  
  78. TABIFY.C:    utility to turn sequences of spaces into tabs where possible
  79.  
  80. PRESSUP.C:    "Pressups" board game, uses alpha-beta searching
  81.  
  82. STONE.C:    "Awari" board game (pits and stones); [HSTONE.C for H19/H89]
  83.  
  84. LIFE.C:        What can one say about this? [HLIFE.C for H19/H89]
  85.  
  86. MM.C:        Single-player mastermind, you guess and computer kibitzes.
  87.  
  88. TTT.C:        Invincible tic-tac-toe game.
  89.  
  90. OTHELLO.C:    The game of dramatic reversals.
  91.  
  92. RALLY.C:    Arcade game, for H19/H89 only. NOTE: this program uses the
  93.         console serial port parameters defined in BDSCIO.H, and so
  94.         will probably NOT run on your system until those parameters
  95.         are customized and the program recompiled (this is necessary
  96.         because the program must be able to poll the console OUTPUT,
  97.         to see if it is ready to send, and there is no way to do this
  98.         using CP/M bdos or bios calls...thus the bit numbers must be
  99.         built right into the program...)
  100.  
  101. BUGS.C:        Make bizzare thingies crawl around on your H19/H89 screen.
  102.  
  103. PPONG.C:    Polish Pong for H19/H89 only.
  104.  
  105. -------------------------------------------------------------------------------
  106. National CP/M Users Group disk 48 abstracts.
  107.  
  108. Leor Zolman's BDS-C is rapidly becoming one of the most popular
  109. non-BASIC high-level languages under CP/M, for both the
  110. hobbyist and the professional.  A nice structured language at
  111. a reasonable cost, with good documentation, and good execution
  112. speed.  ...AND totally integrated into CP/M.
  113.  
  114. "C" itself it a highly structured language, implementing the
  115. "classic" requirements for structured programming: It can
  116. either directly or indirectly perform DO WHILE, REPEAT UNTIL,
  117. DO CASE, as well as a rich "FOR"-type capability.
  118.  
  119. With a few exceptions, BDS-C implements "C" as covered in the
  120. Kernighan and Ritchie "The C Programming Language" book, which
  121. comes with BDS-C.  I quote the Lifeboat Ad:
  122.  
  123.     Supports structures, unions, 2 dimensional
  124.     arrays, pointers, recursion and overlays.
  125.     Features optimized code generator, variable    
  126.     sized buffers for file I/O, and capability
  127.     to produce ROMable code.  Includes macro
  128.     package to enable user to produce linkable
  129.     modules with MAC.  Floating point functions,
  130.     full run-time package and machine code
  131.     library sources provided.  Linker, library
  132.     manager, and textbook provided.  Compiler
  133.     lacks initializers, statics, floats, and longs.
  134.  
  135. For the convenience of "experienced" C programmers, BDS-C
  136. allows, for example, "register specification" for a variable,
  137. which, while not implemented, is syntactically accepted.  The
  138. most obvious thing missing is a data type of "float", but a
  139. floating point subroutine package is included, and a modified
  140. "printf" to support it.
  141.         ----------------
  142. Due to the more recent versions having very complete source
  143. code for run-time packages and the system libraries, many
  144. excellent programs have been "squeezed" off of the single
  145. density distribution disk.
  146.  
  147. This volume, in part, represents a source for these very good
  148. source programs, while offering several interesting .COM files
  149. for those who do not have the BDS-C compiler. 
  150.  
  151. The Users Group solicits additional BDS-C programs, and hopes
  152. to regularly come out with disks containing BDS-C programs.
  153.  
  154. The programs on the disk are primarily intelligent game pro-
  155. grams, with some H19/H89 programs which take advantage of this
  156. CRT's capabilities, such as graphics.  A good utility, TABIFY,
  157. is also included.  See Leor's own "VOLUME48.DOC" on the disk,
  158. for comments.
  159.         ----------------
  160. Here's some additional comments about the programs on the disk:
  161.  
  162. LIFE.COM: Nice implementation.  Enjoyable code to read,
  163. as are most of the programs.  An interesting touch when
  164. you decide the configuration is no longer interesting - 
  165. press your "del" key, and if you don't smile, you're made
  166. of stone.
  167.  
  168. MM.COM: So you want to play a simple game of letter guessing,
  169. eh?  Try this one.  But watch your ego: it can be deflated.
  170. MasterMind is a "simple" game, that makes you think.  The
  171. computer generates a random "word" consisting of 4 letters
  172. from A-F.  You simply "guess" 4 letters at a time, and MM tells
  173. you how many are "hits" i.e. the right letter in the right
  174. spot, and how many are misses.  Thus you deduce the missing
  175. pattern.  The game goes a bit slow, however (at least at 2MHz).
  176. Why?  MM is computing how many possible words exist based
  177. on the clues it has given you.  When this number reaches "1",
  178. it says: 
  179.     "You should have it by now".
  180. It becomes a real challenge to see how few times you can keep
  181. that message from coming out, and is a "real thrill" to "beat
  182. it" - especially a couple times in a row.  However, having it
  183. "know" YOU should "know", but you "missed" catching on for, say
  184. 5 turns, makes you feel like a real dummy.  I finally made a MM
  185. "worksheet" to try to be more efficient.  It looks like:
  186.  
  187.         AB | AB | AB | AB
  188.         CD | CD | CD | CD
  189.         EF | EF | EF | EF
  190.  
  191. Thus I guess:    A    B      C    D
  192. and hear:                0 hits, 2 misses.
  193.  
  194. I cross off A in the first column, B in the second, etc.  You
  195. can ONLY do this if there were 0 hits. Still you'll be amused.
  196.  
  197. OTHELLO.COM: Have you the patience to beat this one? 
  198.  
  199. PPONG.COM: fun H19/H89 game.  Deflect the ball with "/" and
  200. "\".  I was amazed how fast it was on a 9600 baud terminal!
  201.  
  202. PRESSUP.COM: A challenging game, not quite as bad as Othello.
  203.  
  204. RALLY: This sounds so interesting I almost bought an H19.  If
  205. I had actually seen it in operation, I bet I might.  Randy
  206. Suess ran it and said it was excellent, except that the screen
  207. flickered a bit due to lots of reverse video "...but I have an
  208. older H19 and the new ones may be better".
  209.  
  210. STONE.COM: You get to specify how "hard" the computer works to
  211. beat you, and if you let it work a while, it's nearly un-
  212. beatable.
  213.  
  214. TABIFY.COM: A nice utility to delete spaces from a file, in-
  215. serting tabs where appropriate, based on the CP/M convention.
  216.  
  217. TTT.COM:  Hmmm, what could be new in a Tic Tac Toe game?  Well,
  218. brains, and wit for two things.  Ex: it puts its "X", you put
  219. your "o", it thinks a while, and says "I've got ya".  If it
  220. thinks for a while, and after several pieces are on the board,
  221. doesn't say "I've got ya", then you MAY be on your way to a
  222. rare win, or more likely a "cat" game.  Play it and see.
  223.  
  224. VOLUME48.DOC: Leor's own comments.
  225.  
  226.                 Abstracts by
  227.                 Ward Christensen
  228.