home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / games / vmsnet / ldb / part03 < prev    next >
Internet Message Format  |  1993-04-07  |  49KB

  1. Path: uunet!zaphod.mps.ohio-state.edu!usc!news.service.uci.edu!unogate!mvb.saic.com!dayton.saic.com!dayvd.dayton.saic.com!ake
  2. From: ake@dayvd.dayton.saic.com (Earle Ake)
  3. Newsgroups: vmsnet.sources.games
  4. Subject: ldb - Long Distance Backgammon [03/16]
  5. Date: 8 Apr 93 10:49:59 EST
  6. Organization: Science Applications Intl Corp - Dayton, OH
  7. Lines: 1136
  8. Message-ID: <1993Apr8.104959.1@dayvd.dayton.saic.com>
  9. NNTP-Posting-Host: dayvd.dayton.saic.com
  10. Xref: uunet vmsnet.sources.games:664
  11.  
  12. -+-+-+-+-+-+-+-+ START OF PART 3 -+-+-+-+-+-+-+-+
  13. X`20`20`20`20`20`20`20`20`20`20going`20to`20move`20are`20highlighted.
  14. X
  15. X`20`20`20`20`202`20`20`20`20The`20board`20after`20your`20opponent's`20last`20
  16. V`20move.`20`20`20It`20`20shows
  17. X`20`20`20`20`20`20`20`20`20`20the`20`20condition`20`20of`20the`20board`20after
  18. V`20your`20opponent's`20last
  19. X`20`20`20`20`20`20`20`20`20`20move,`20with`20the`20pieces`20he`20moved`20highl
  20. Vighted.
  21. X
  22. X`20`20`20`20`203`20`20`20`20The`20current`20board.`20`20This`20is`20the`20"rea
  23. Vl"`20board`20that`20shows
  24. X`20`20`20`20`20`20`20`20`20`20the`20current`20state`20of`20the`20game.`20`20No
  25. Vthing`20is`20highlighted.
  26. X
  27. X`20`20`20`20`20By`20default,`20ldb`20displays`20the`20Current`20board`20at`20a
  28. Vll`20times.`20`20If
  29. X`20`20`20`20`20you`20`20want`20`20to`20`20see`20`20the`20`20other`20boards,
  30. V`20use`20the`20Board`20command
  31. X`20`20`20`20`20(provided`20it`20is`20in`20`20the`20`20current`20`20menu).`20
  32. V`20`20This`20`20will`20`20cycle
  33. X`20`20`20`20`20through`20the`20three`20boards`20in`20the`20order`20they`20are
  34. V`20listed`20above.
  35. X`20`20`20`20`20The`20second`20line`20of`20the`20`20screen`20`20tells`20`20you
  36. V`20`20which`20`20board`20`20is
  37. X`20`20`20`20`20displayed`20(near`20the`20left).`20`20When`20you`20roll,`20ldb
  38. V`20automatically
  39. X`20`20`20`20`20switches`20to`20the`20current`20board`20if`20it`20is`20not`20al
  40. Vready`20up.`20`20`20You
  41. X`20`20`20`20`20can`20`20set`20`20which`20of`20these`20three`20boards`20is`20in
  42. Vitially`20displayed
  43. X`20`20`20`20`20via`20the`20_`08i_`08n_`08i_`08t_`08i_`08a_`08l_`08b_`08o_`08a_
  44. V`08r_`08d`20setting`20in`20.ldbrc.
  45. X
  46. XENTERING`20COMMENTS
  47. X`20`20`20`20`20Whenever`20you`20send`20a`20move`20to`20your`20opponent,`20you
  48. V`20are`20given`20the
  49. X`20`20`20`20`20opportunity`20`20to`20`20enclose`20a`20two`20line`20comment.
  50. V`20`20While`20entering
  51. X`20`20`20`20`20your`20comment,`20certain`20keys`20have`20special`20meaning.
  52. V`20`20These`20are:
  53. X
  54. X`20`20`20`20`20BS/DEL
  55. X`20`20`20`20`20`20`20`20`20`20The`20backspace`20and`20delete`20(or`20rubout)
  56. V`20`20keys`20`20both`20`20erase
  57. X`20`20`20`20`20`20`20`20`20`20the`20`20last`20`20character`20typed.`20`20You
  58. V`20can`20backspace`20from`20one
  59. X`20`20`20`20`20`20`20`20`20`20line`20to`20the`20previous`20one.
  60. X
  61. X`20`20`20`20`20`5EW/`5EB
  62. X`20`20`20`20`20`20`20`20`20`20The`20`5EW`20and`20`5EB`20(control-W`20and`20con
  63. Vtrol-B)`20keys`20both`20erase
  64. X`20`20`20`20`20`20`20`20`20`20the`20last`20word`20typed.`20`20Words`20are`20de
  65. Vlimited`20by`20spaces.
  66. X
  67. X`20`20`20`20`20`5EX/`5EU
  68. X`20`20`20`20`20`20`20`20`20`20The`20`5EX`20and`20`5EU`20(control-X`20and`20con
  69. Vtrol-U)`20keys`20erase`20`20the
  70. X`20`20`20`20`20`20`20`20`20`20current`20`20line`20and`20move`20to`20the`20end
  71. V`20of`20the`20previous`20line,
  72. X`20`20`20`20`20`20`20`20`20`20or`20to`20the`20beginning`20of`20the`20first`20l
  73. Vine`20if`20`20used`20`20on`20`20the
  74. X`20`20`20`20`20`20`20`20`20`20first`20line.
  75. X
  76. X
  77. X
  78. X
  79. XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
  80. V`20`20`20`20`20`20`20`20`20`20`20`20`2017
  81. X
  82. X
  83. X
  84. X
  85. X
  86. X
  87. XLDB(1)`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20USER`20COMMANDS
  88. V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20LDB(1)
  89. X
  90. X
  91. X
  92. X`20`20`20`20`20RETURN
  93. X`20`20`20`20`20`20`20`20`20`20If`20you`20press`20return`20on`20an`20empty`20li
  94. Vne,`20or`20`20on`20`20the`20`20last
  95. X`20`20`20`20`20`20`20`20`20`20line,`20`20the`20`20comment`20is`20finished.`20
  96. V`20Otherwise,`20the`20cursor
  97. X`20`20`20`20`20`20`20`20`20`20moves`20to`20the`20next`20line.
  98. X
  99. X`20`20`20`20`20ESC`20`20The`20`20escape`20`20key`20`20aborts`20`20the`20`20ope
  100. Vration`20`20(e.g.`20`20Send),
  101. X`20`20`20`20`20`20`20`20`20`20restores`20`20the`20`20previous`20`20comment,
  102. V`20`20and`20`20returns`20`20to`20the
  103. X`20`20`20`20`20`20`20`20`20`20previous`20menu.`20`20This`20allows`20you`20to
  104. V`20change`20your`20mind`20and
  105. X`20`20`20`20`20`20`20`20`20`20back`20out`20of`20an`20operation.
  106. X
  107. X`20`20`20`20`20All`20other`20keys`20are`20entered`20into`20the`20comment.`20
  108. V`20When`20you`20reach
  109. X`20`20`20`20`20the`20end`20of`20a`20line,`20ldb`20word-wraps`20to`20the`20next
  110. V`20line,`20or`20beeps
  111. X`20`20`20`20`20if`20you`20are`20at`20the`20end`20of`20`20the`20`20last`20`20li
  112. Vne.`20`20`20Note`20`20that`20`20the
  113. X`20`20`20`20`20superkey`20is`20still`20active`20while`20entering`20comments,
  114. V`20and`20cannot
  115. X`20`20`20`20`20be`20entered`20into`20a`20comment.
  116. X
  117. XCONTROLLING`20A`20GAME
  118. X`20`20`20`20`20The`20-_`08c_`08o_`08n_`08t_`08r_`08o_`08l`20option`20permits
  119. V`20you`20to`20`20control`20`20your`20`20games`20`20in
  120. X`20`20`20`20`20certain`20ways.`20`20Each`20of`20your`20current`20games`20are
  121. V`20displayed,`20one
  122. X`20`20`20`20`20at`20a`20time,`20just`20as`20they`20are`20when`20you`20are`20
  123. V`20playing,`20`20allowing
  124. X`20`20`20`20`20you`20`20to`20`20perform`20`20any`20`20of`20the`20functions`20o
  125. Vn`20the`20control`20menu.
  126. X`20`20`20`20`20The`20control`20menu`20has`20the`20following`20commands:
  127. X
  128. X`20`20`20`20`20Invert
  129. X`20`20`20`20`20`20`20`20`20`20This`20allows`20you`20to`20invert`20the`20board
  130. V`20for`20this`20game.`20`20The
  131. X`20`20`20`20`20`20`20`20`20`20board`20`20will`20`20invert`20`20immediately`20o
  132. Vn`20your`20screen,`20so`20you
  133. X`20`20`20`20`20`20`20`20`20`20can`20see`20if`20you`20like`20it.`20`20Pressing
  134. V`20_`08I_`08n_`08v_`08e_`08r_`08t`20again`20will`20put
  135. X`20`20`20`20`20`20`20`20`20`20it`20back`20to`20normal.`20`20Inverting`20the
  136. V`20board`20does`20not`20affect
  137. X`20`20`20`20`20`20`20`20`20`20the`20point`20numbering`20or`20the`20color`20you
  138. V`20`20play,`20`20it`20`20merely
  139. X`20`20`20`20`20`20`20`20`20`20draws`20the`20board`20with`20the`20low-numbered
  140. V`20points`20at`20the`20top
  141. X`20`20`20`20`20`20`20`20`20`20of`20the`20screen`20rather`20than`20the`20bottom
  142. V.`20`20You`20may`20find`20`20it
  143. X`20`20`20`20`20`20`20`20`20`20easier`20`20to`20`20make`20`20all`20`20of`20`20y
  144. Vour`20`20games`20`20play`20`20a`20certain
  145. X`20`20`20`20`20`20`20`20`20`20direction.
  146. X
  147. X`20`20`20`20`20Resend
  148. X`20`20`20`20`20`20`20`20`20`20From`20time`20to`20time,`20messages`20may`20be
  149. V`20lost`20due`20`20to`20`20faulty
  150. X`20`20`20`20`20`20`20`20`20`20mailers`20`20or`20`20human`20`20error.`20`20`20I
  151. Vf`20`20your`20last`20message`20gets
  152. X`20`20`20`20`20`20`20`20`20`20lost,`20you`20can`20regenerate`20it`20with`20
  153. V`20the`20`20_`08R_`08e_`08s_`08e_`08n_`08d`20`20command.
  154. X`20`20`20`20`20`20`20`20`20`20There`20`20is`20no`20harm`20in`20regenerating
  155. V`20messages,`20as`20ldb`20will
  156. X`20`20`20`20`20`20`20`20`20`20ignore`20duplicate`20messages.`20`20If`20you`20
  157. V`20and`20`20your`20`20opponent
  158. X`20`20`20`20`20`20`20`20`20`20have`20forgotten`20whose`20move`20it`20is,`20the
  159. V`20easiest`20way`20to`20get
  160. X`20`20`20`20`20`20`20`20`20`20going`20again`20is`20for`20both`20of`20`20you
  161. V`20`20to`20`20resend`20`20your`20`20last
  162. X`20`20`20`20`20`20`20`20`20`20message.`20`20`20The`20`20one`20that`20got`20los
  163. Vt`20will`20be`20accepted,`20and
  164. X`20`20`20`20`20`20`20`20`20`20the`20game`20will`20be`20off`20and`20running`20a
  165. Vgain.`20`20`20So`20`20that`20`20you
  166. X`20`20`20`20`20`20`20`20`20`20can`20resend`20the`20last`20move`20of`20a`20game
  167. V,`20completed`20games`20are
  168. X`20`20`20`20`20`20`20`20`20`20kept`20in`20your`20.ldbdata`20for`201`20week,
  169. V`20after`20which`20they`20`20are
  170. X`20`20`20`20`20`20`20`20`20`20deleted.`20`20`20They`20`20may`20`20be`20deleted
  171. V`20sooner`20with`20the`20Delete
  172. X`20`20`20`20`20`20`20`20`20`20Game`20command.`20`20Note`20also`20`20that`20
  173. V`20games`20`20that`20`20have`20`20been
  174. X`20`20`20`20`20`20`20`20`20`20waiting`20`20for`20your`20opponent`20for`20more
  175. V`20than`201`20week`20have`20an
  176. X`20`20`20`20`20`20`20`20`20`20automatic`20`20resend`20`20performed`20`20whenev
  177. Ver`20`20you`20`20run`20`20`20ldb.
  178. X`20`20`20`20`20`20`20`20`20`20Resend`20is`20disabled`20if`20it`20is`20your`20t
  179. Vurn.
  180. X
  181. X
  182. X
  183. X
  184. XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
  185. V`20`20`20`20`20`20`20`20`20`20`20`20`2018
  186. X
  187. X
  188. X
  189. X
  190. X
  191. X
  192. XLDB(1)`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20USER`20COMMANDS
  193. V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20LDB(1)
  194. X
  195. X
  196. X
  197. X`20`20`20`20`20Get`20Resend
  198. X`20`20`20`20`20`20`20`20`20`20This`20allows`20you`20to`20send`20a`20message
  199. V`20`20to`20`20your`20`20opponent's
  200. X`20`20`20`20`20`20`20`20`20`20ldb`20`20requesting`20a`20resend.`20`20This`20sa
  201. Vves`20your`20opponent`20the
  202. X`20`20`20`20`20`20`20`20`20`20trouble`20of`20getting`20into`20-_`08c_`08o_`08n
  203. V_`08t_`08r_`08o_`08l,`20`20finding`20`20which`20`20game
  204. X`20`20`20`20`20`20`20`20`20`20you're`20`20talking`20`20about,`20and`20resendin
  205. Vg.`20`20Instead,`20he`20can
  206. X`20`20`20`20`20`20`20`20`20`20just`20feed`20your`20resend`20request`20message
  207. V`20into`20ldb`20like`20`20it
  208. X`20`20`20`20`20`20`20`20`20`20was`20`20a`20`20regular`20move.`20`20Version`201
  209. V.0`20of`20ldb`20not`20only`20does
  210. X`20`20`20`20`20`20`20`20`20`20not`20support`20this`20feature,`20but`20will`20c
  211. Vrash`20`20if`20`20a`20`20resend
  212. X`20`20`20`20`20`20`20`20`20`20request`20packet`20is`20sent`20to`20it,`20so`20-
  213. V_`08c_`08o_`08n_`08t_`08r_`08o_`08l`20will`20check`20to
  214. X`20`20`20`20`20`20`20`20`20`20make`20sure`20your`20opponent`20is`20running`20t
  215. Vhe`20`20proper`20`20version
  216. X`20`20`20`20`20`20`20`20`20`20before`20`20sending`20`20the`20message.`20`20"Ge
  217. Vt`20Resend"`20is`20disabled
  218. X`20`20`20`20`20`20`20`20`20`20for`20games`20that`20are`20over.
  219. X
  220. X`20`20`20`20`20Screen`20Dump
  221. X`20`20`20`20`20`20`20`20`20`20This`20command`20makes`20an`20exact`20copy`20of
  222. V`20the`20screen`20`20in`20`20the
  223. X`20`20`20`20`20`20`20`20`20`20file`20`20"ldb_screen.dmp".`20`20`20This`20`20co
  224. Vuld`20`20be`20useful`20if`20you
  225. X`20`20`20`20`20`20`20`20`20`20want`20to`20mail`20the`20board`20to`20someone
  226. V`20or`20print`20it`20out.
  227. X
  228. X`20`20`20`20`20Delete`20Game
  229. X`20`20`20`20`20`20`20`20`20`20This`20command`20marks`20a`20game`20for`20deleti
  230. Von.`20`20`20The`20`20game`20`20is
  231. X`20`20`20`20`20`20`20`20`20`20not`20`20deleted`20until`20you`20quit,`20and`20y
  232. Vou`20can`20undelete`20it`20by
  233. X`20`20`20`20`20`20`20`20`20`20pressing`20D`20again.`20`20Normally,`20you`20sho
  234. Vuld`20`20not`20`20delete`20`20a
  235. X`20`20`20`20`20`20`20`20`20`20game`20in`20this`20manner,`20you`20should`20play
  236. V`20until`20someone`20wins
  237. X`20`20`20`20`20`20`20`20`20`20or`20concedes.`20`20The`20_`08D_`08e_`08l_`08e_
  238. V`08t_`08e`20_`08G_`08a_`08m_`08e`20command`20can`20`20be`20`20used`20`20to
  239. X`20`20`20`20`20`20`20`20`20`20get`20rid`20of`20games`20where`20your`20opponent
  240. V`20doesn't`20answer`20his
  241. X`20`20`20`20`20`20`20`20`20`20mail,`20or`20doesn't`20want`20to`20play,`20etc.
  242. X
  243. X`20`20`20`20`20Next`20Game
  244. X`20`20`20`20`20`20`20`20`20`20The`20next`20game`20is`20displayed.`20`20If`20th
  245. Vere`20is`20no`20next`20`20game,
  246. X`20`20`20`20`20`20`20`20`20`20this`20choice`20is`20equivalent`20to`20_`08Q_
  247. V`08u_`08i_`08t.
  248. X
  249. X`20`20`20`20`20Quit`20This`20allows`20you`20to`20exit`20from`20-_`08c_`08o_
  250. V`08n_`08t_`08r_`08o_`08l`20.`20If`20you`20made`20any
  251. X`20`20`20`20`20`20`20`20`20`20changes`20`20`20to`20`20`20your`20`20`20games,
  252. V`20`20you`20`20will`20`20be`20`20given`20`20the
  253. X`20`20`20`20`20`20`20`20`20`20opportunity`20to`20save`20these`20changes,`20the
  254. Vn`20ldb`20will`20exit.
  255. X
  256. XVMS`20NOTES
  257. X`20`20`20`20`20VMS`20users`20have`20a`20few`20unique`20considerations:
  258. X
  259. X`20`20`20`20`20On`20VMS,`20the`20default`20file`20names`20are`20`20changed`20
  260. V`20from`20`20.ldb*`20`20to
  261. X`20`20`20`20`20ldb.*.`20`20This`20groups`20all`20ldb`20files`20together.
  262. X
  263. X`20`20`20`20`20VMS`20mail`20doesn't`20append`20messages`20to`20`20an`20`20exis
  264. Vting`20`20file,`20`20it
  265. X`20`20`20`20`20creates`20`20new`20`20versions.`20`20`20To`20`20accommodate`20t
  266. Vhis,`20vms-compiled
  267. X`20`20`20`20`20executables`20will`20search`20all`20versions`20of`20a`20file
  268. V`20`20by`20`20default.
  269. X`20`20`20`20`20This`20`20applies`20to`20files`20specified`20on`20the`20command
  270. V`20line`20as`20well
  271. X`20`20`20`20`20as`20the`20file`20specified`20in`20your`20ldb.rc.`20`20You`20ca
  272. Vn`20disable`20`20this
  273. X`20`20`20`20`20in`20`20either`20`20case`20`20by`20`20specifying`20`20a`20`20ve
  274. Vrsion`20`20number,`20`20or`20by
  275. X`20`20`20`20`20specifying`20version`20number`200`20to`20get`20the`20most`20cur
  276. Vrent`20version.
  277. X`20`20`20`20`20The`20`20`20`20default`20`20`20`20setting`20`20`20`20in`20`20
  278. V`20`20ldb.rc`20`20`20`20is`20`20`20`20to`20`20`20scan
  279. X`20`20`20`20`20sys$login:ldb.rcv;*.`20`20You`20`20might`20`20want`20`20to`20
  280. V`20change`20`20this`20`20to
  281. X`20`20`20`20`20ldb.txt;*,`20since`20that`20is`20the`20default`20extension`20ad
  282. Vded`20by`20mail
  283. X`20`20`20`20`20when`20you`20extract`20a`20file.`20`20If`20you`20use`20multiple
  284. V`20versions,`20`20you
  285. X
  286. X
  287. X
  288. XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
  289. V`20`20`20`20`20`20`20`20`20`20`20`20`2019
  290. X
  291. X
  292. X
  293. X
  294. X
  295. X
  296. XLDB(1)`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20USER`20COMMANDS
  297. V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20LDB(1)
  298. X
  299. X
  300. X
  301. X`20`20`20`20`20should`20be`20careful`20not`20to`20PURGE`20until`20after`20you
  302. V`20have`20run`20ldb.
  303. X
  304. X`20`20`20`20`20If`20you`20have`20the`20Eunice`20package,`20ldb`20`20will`20
  305. V`20compile`20`20and`20`20run
  306. X`20`20`20`20`20under`20`20it`20fine,`20but`20any`20files`20created`20by`20the
  307. V`20Eunice-compiled
  308. X`20`20`20`20`20version`20(most`20notably`20the`20games`20file)`20will`20`20be
  309. V`20`20incompatible
  310. X`20`20`20`20`20with`20`20the`20VAX`20C-compiled`20version.`20`20Use`20the`20un
  311. Vixtovms`20command
  312. X`20`20`20`20`20to`20convert.
  313. X
  314. X`20`20`20`20`20Ldb`20`20is`20`20available`20`20in`20`20vms_share`20`20format
  315. V`20`20with`20`20the`20`20manual
  316. X`20`20`20`20`20preformatted.`20`20If`20you`20have`20MMS,`20you`20can`20use`20t
  317. Vhe`20makefile.vms
  318. X`20`20`20`20`20provided`20by`20entering:
  319. X`20`20`20`20`20`20`20`20`20`20$`20rename`20makefile.vms`20makefile.
  320. X`20`20`20`20`20`20`20`20`20`20$`20make
  321. X`20`20`20`20`20If`20you`20don't`20have`20a`20make`20available,`20you`20can`20c
  322. Vompile`20with:
  323. X`20`20`20`20`20`20`20`20`20`20$`20@makeldb
  324. X`20`20`20`20`20After`20ldb`20is`20compiled,`20you'll`20`20probably`20`20want
  325. V`20`20to`20`20define`20`20a
  326. X`20`20`20`20`20symbol`20such`20as:
  327. X`20`20`20`20`20`20`20`20`20`20$`20ldb`20:==`20$dua0:`5Bme.ldb`5Dldb
  328. X`20`20`20`20`20so`20you`20can`20run`20it.
  329. X
  330. X`20`20`20`20`20The`20VMS`20implementation`20spawns`20a`20subprocess`20with`20
  331. V`20no`20`20command
  332. X`20`20`20`20`20when`20`20the`20`20superkey`20is`20pressed.`20`20You`20can`20en
  333. Vter`20LOGOUT`20or`20EOJ
  334. X`20`20`20`20`20to`20return`20to`20the`20game.`20`20If`20you`20define`20a`20com
  335. Vmand`20to`20run`20`20when
  336. X`20`20`20`20`20the`20`20superkey`20`20is`20`20pressed,`20the`20command`20will
  337. V`20be`20run,`20but`20you
  338. X`20`20`20`20`20will`20still`20need`20to`20logout`20of`20the`20`20subprocess
  339. V`20`20to`20`20return`20`20to
  340. X`20`20`20`20`20ldb.
  341. X
  342. XBUGS
  343. X`20`20`20`20`20A`20game`20file`20created`20by`20ldb`20under`20Eunice`20must
  344. V`20be`20run`20`20through
  345. X`20`20`20`20`20"unixtovms"`20before`20the`20VAX-C`20ldb`20can`20read`20it.
  346. X
  347. X`20`20`20`20`20The`20superkey`20function`20only`20works`20when`20ldb`20is`20wa
  348. Viting`20`20for`20`20a
  349. X`20`20`20`20`20key.`20`20`20If`20`20ldb`20`20is`20`20doing`20`20something`20ti
  350. Vme-consuming,`20such`20as
  351. X`20`20`20`20`20calculating`20legal`20moves,`20the`20superkey`20will`20`20not
  352. V`20`20work`20`20until
  353. X`20`20`20`20`20the`20calculation`20is`20complete.
  354. X
  355. X`20`20`20`20`20There`20should`20be`20a`20way`20to`20play`20`20interactively
  356. V`20`20(using`20`20socket
  357. X`20`20`20`20`20connections,`20for`20example),`20rather`20than`20via`20e-mail.
  358. X
  359. X`20`20`20`20`20Under`20Eunice,`20there`20`20is`20`20a`20`20bug`20`20when`20
  360. V`20delmail`20`20is`20`20enabled,
  361. X`20`20`20`20`20received`20mail`20is`20in`20a`20file`20with`20multiple`20versio
  362. Vns,`20and`20these
  363. X`20`20`20`20`20versions`20are`20entered`20on`20the`20`20command`20`20line`20
  364. V`20(as`20`20opposed`20`20to
  365. X`20`20`20`20`20being`20`20specified`20`20by`20`20a`20`20pattern`20in`20.ldbrc)
  366. V.`20`20Eunice`20handles
  367. X`20`20`20`20`20multiple`20versions`20by`20appending`20a`20dot`20and`20the`20ve
  368. Vrsion`20`20number
  369. X`20`20`20`20`20to`20all`20versions`20of`20the`20file`20but`20the`20newest`20ve
  370. Vrsion,`20to`20which
  371. X`20`20`20`20`20it`20`20appends`20`20nothing.`20`20`20When`20`20the`20`20most
  372. V`20`20recent`20`20version`20`20is
  373. X`20`20`20`20`20deleted,`20the`20next`20older`20version`20becomes`20the`20most
  374. V`20recent,`20and
  375. X`20`20`20`20`20has`20no`20version`20suffix`20attached.`20`20This`20file`20will
  376. V`20be`20`20skipped,
  377. X`20`20`20`20`20since`20`20its`20`20name`20`20changed`20between`20the`20time
  378. V`20the`20file`20list`20was
  379. X`20`20`20`20`20created`20and`20the`20file`20is`20opened.`20`20All`20`20other
  380. V`20`20files`20`20will`20`20be
  381. X`20`20`20`20`20scanned`20`20properly.`20`20The`20work-around`20for`20this`20is
  382. V`20to`20not`20use`20a
  383. X`20`20`20`20`20pattern`20like`20'ldb`20ldb.txt*'`20on`20the`20command`20line
  384. V`20`20to`20`20specify
  385. X
  386. X
  387. X
  388. XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
  389. V`20`20`20`20`20`20`20`20`20`20`20`20`2020
  390. X
  391. X
  392. X
  393. X
  394. X
  395. X
  396. XLDB(1)`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20USER`20COMMANDS
  397. V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20LDB(1)
  398. X
  399. X
  400. X
  401. X`20`20`20`20`20all`20`20versions`20`20of`20`20the`20`20file,`20`20but`20rather
  402. V`20use`20'ldb`20ldb.txt.*
  403. X`20`20`20`20`20ldb.txt'`20so`20that`20the`20most`20recent`20`20version`20`20is
  404. V`20`20scanned`20`20(and
  405. X`20`20`20`20`20thus`20`20deleted)`20`20last.`20`20`20Alternatively,`20`20the
  406. V`20`20pattern`20`20can`20be
  407. X`20`20`20`20`20quoted`20so`20that`20ldb`20interprets`20it`20instead`20of`20the
  408. V`20shell.
  409. X
  410. X`20`20`20`20`20The`20-_`08m_`08y_`08a_`08d_`08d_`08r`20command`20line`20option
  411. V`20should`20override`20`20the`20`20myaddr
  412. X`20`20`20`20`20line`20in`20the`20people`20file.
  413. X
  414. X`20`20`20`20`20Version`201.0`20of`20ldb`20only`20allowed`20the`20colors`20red,
  415. V`20`20white,`20`20and
  416. X`20`20`20`20`20black,`20`20represented`20`20by`20r,`20w,`20and`20b,`20respecti
  417. Vvely.`20`20Although
  418. X`20`20`20`20`20ldb`201.0`20will`20allow`20games`20to`20be`20started`20and`20pl
  419. Vayed`20`20correctly
  420. X`20`20`20`20`20with`20`20different`20colors,`20the`20move`20blocks`20will`20ha
  421. Vve`20the`20string
  422. X`20`20`20`20`20"*BAD`20COLOR*"`20displayed`20where`20the`20color`20should`20be
  423. V,`20making`20it
  424. X`20`20`20`20`20difficult`20`20to`20`20figure`20`20out`20`20which`20`20color
  425. V`20`20you`20`20are`20`20playing.
  426. X`20`20`20`20`20Upgrading`20to`20a`20newer`20ldb`20will`20fix`20`20this.`20`20
  427. V`20Nevertheless,`20`20if
  428. X`20`20`20`20`20you`20`20are`20`20playing`20someone`20who`20is`20using`20ldb
  429. V`201.0,`20you`20may`20want
  430. X`20`20`20`20`20to`20restrict`20your`20color`20choices`20to`20r,`20w,`20and`20b
  431. V.
  432. X
  433. X`20`20`20`20`20Occasionally,`20ldb`20will`20print`20a`20spurious`20message`20t
  434. Velling`20`20you
  435. X`20`20`20`20`20that`20`20you`20`20only`20have`20one`20legal`20move.`20`20Usual
  436. Vly`20when`20it`20prints
  437. X`20`20`20`20`20this,`20it`20is`20right,`20but`20in`20the`20special`20case`20
  438. V`20where`20`20you`20`20have
  439. X`20`20`20`20`20one`20`20piece`20`20left`20to`20bear`20off,`20one`20of`20your
  440. V`20rolls`20is`20less`20than
  441. X`20`20`20`20`20you`20need`20to`20bear`20it`20off,`20and`20the`20other`20roll
  442. V`20is`20big`20enough`20to
  443. X`20`20`20`20`20bear`20off`20by`20itself,`20ldb`20will`20want`20you`20to`20use
  444. V`20the`20smaller`20die
  445. X`20`20`20`20`20first,`20`20then`20`20bear`20`20off`20`20with`20`20the`20`20big
  446. Vger`20`20one.`20`20`20This`20`20`20is
  447. X`20`20`20`20`20consistent`20with`20the`20rules`20that`20say`20you`20must`20use
  448. V`20both`20dice`20if
  449. X`20`20`20`20`20you`20can,`20but`20is`20not`20correct`20in`20this`20case.`20
  450. V`20Note`20that`20you`20can
  451. X`20`20`20`20`20either`20`20use`20`20both`20dice`20like`20ldb`20wants,`20or`20i
  452. Vgnore`20the`20message
  453. X`20`20`20`20`20and`20bear`20off`20`20with`20`20the`20`20larger`20`20die.`20
  454. V`20`20Your`20`20move`20`20will`20`20be
  455. X`20`20`20`20`20accepted`20either`20way.
  456. X
  457. X
  458. X
  459. X
  460. X
  461. X
  462. X
  463. X
  464. X
  465. X
  466. X
  467. X
  468. X
  469. X
  470. X
  471. X
  472. X
  473. X
  474. X
  475. X
  476. X
  477. X
  478. X
  479. X
  480. X
  481. XSun`20Release`204.1`20`20`20Last`20change:`20October`206,`201992`20`20`20`20
  482. V`20`20`20`20`20`20`20`20`20`20`20`20`2021
  483. X
  484. X
  485. X
  486. $ call unpack LDB.DOC;1 1230471664 ""
  487. $!
  488. $ create 'f'
  489. X.`5C"`20ldb.man`09`098/4/91
  490. X.`5C"
  491. X.`5C"`20Copyright`201991`20`20Perry`20R.`20Ross
  492. X.`5C"
  493. X.`5C"`20Permission`20to`20use,`20copy,`20modify,`20and`20distribute`20this`20s
  494. Voftware`20and`20its
  495. X.`5C"`20documentation`20without`20fee`20is`20hereby`20granted,`20subject`20to
  496. V`20the`20restrictions
  497. X.`5C"`20detailed`20in`20the`20README`20file,`20which`20is`20included`20here
  498. V`20by`20reference.
  499. X.`5C"`20Any`20other`20use`20requires`20written`20permission`20from`20the`20aut
  500. Vhor.`20`20This`20software
  501. X.`5C"`20is`20distributed`20"as`20is"`20without`20any`20warranty,`20including
  502. V`20any`20implied
  503. X.`5C"`20warranties`20of`20merchantability`20or`20fitness`20for`20a`20particula
  504. Vr`20purpose.
  505. X.`5C"`20The`20author`20shall`20not`20be`20liable`20for`20any`20damages`20resul
  506. Vting`20from`20the
  507. X.`5C"`20use`20of`20this`20software.`20`20By`20using`20this`20software,`20the
  508. V`20user`20agrees
  509. X.`5C"`20to`20these`20terms.
  510. X.`5C"
  511. X.`5C"`20VMS`20bug`20fixes`20and`20additions`20by`20Earle`20F.`20Ake`20<ake@day
  512. Vton.saic.com>
  513. X.`5C"
  514. X.TH`20LDB`201`20"October`206,`201992"
  515. X.nh
  516. X.nr`20si`205n
  517. X.ie`20`5CnT`20.pl`20`5CnTv
  518. X.UC`204
  519. X.SH`20NAME
  520. Xldb`20`5C-`20Play`20backgammon`20by`20e`5C-mail
  521. X.SH`20SYNOPSIS
  522. Xldb`20`5Boptions`5D`20`5Binput`20files...`5D
  523. X.br
  524. X.SH`20DESCRIPTION
  525. X.I`20Ldb
  526. Xallows`20two`20people`20to`20play`20backgammon`20over`20a
  527. Xnetwork`20using`20electronic`20mail.`20`20It`20runs`20on`20character`5C-orient
  528. Ved
  529. Xterminals,`20or`20emulators`20thereof,`20using`20the
  530. X.I`20curses
  531. Xscreen`20package.`20`20It`20will`20run`20on`20most`20UNIX`20dialects,`20as
  532. Xwell`20as`20VAX`5C-C`20under`20VMS`205.0`20and`20above.
  533. X.I`20Ldb
  534. Xwill`20display`20a`20picture`20of`20the`20board,`20prompt`20the`20user`20to
  535. Xenter`20a`20move,`20check`20the`20move`20for`20legality,
  536. Xand`20send`20the`20move`20to`20the`20opponent.
  537. XWhen`20it`20arrives,`20it`20will`20be`20displayed`20on`20the`20opponent's`20sc
  538. Vreen,
  539. Xafter`20which`20the`20opponent`20will`20be`20prompted`20for`20a`20move`20to
  540. Xbe`20sent`20back.
  541. X.SH`20FEATURES
  542. X.IP`20"Multiple`20Games"
  543. X.I`20Ldb
  544. Xcan`20keep`20track`20of`20an`20arbitrary`20number`20of`20games`20simultaneousl
  545. Vy,
  546. Xand`20will`20display`20them`20one`20at`20a`20time`20for`20you`20to`20play.
  547. XYou`20can`20exit`20from
  548. X.I`20ldb
  549. Xat`20any`20time;`20when`20you`20run`20ldb`20again,`20it`20will`20pick`20up
  550. Xyour`20games`20where`20you`20left`20off.
  551. X.IP`20"Move`20Checking"
  552. XBoth`20your`20moves`20and`20your`20opponent's`20moves`20are`20checked`20for
  553. V`20legality.
  554. XThis`20includes:
  555. X.IP`20`5C-
  556. XLanding`20on`20an`20occupied`20point.
  557. X.IP`20`5C-
  558. XBearing`20off`20before`20your`20inner`20table`20is`20full.
  559. X.IP`20`5C-
  560. XTrying`20to`20move`20pieces`20that`20are`20on`20the`20board`20when`20you
  561. Xhave`20a`20piece`20on`20the`20bar.
  562. X.IP`20`5C-
  563. XTrying`20to`20bear`20off`20a`20piece
  564. Xwhen`20there`20is`20a`20piece`20on`20a`20higher`20point,`20and
  565. Xthe`20roll`20is`20not`20being`20used`20exactly.
  566. X.IP`20`5C-
  567. XTrying`20to`20leave`20a`20usable`20move`20unused.
  568. X.IP`20`5C-
  569. XTrying`20to`20leave`20a`20move`20unused`20when`20it`20is`20usable`20and`20has
  570. Xa`20higher`20roll`20than`20the`20move`20that`20is`20used.
  571. X.IP`20`5C-
  572. XTrying`20to`20double`20when`20you`20doubled`20last.
  573. X.IP`20`5C-
  574. XTrying`20to`20double`20in`20a`20Crawford`20rule`20game.
  575. X.IP`20"Message`20Reliability"
  576. X.I`20Ldb
  577. Xdetects`20(and`20rejects)`20duplicate`20messages,`20and`20can
  578. Xregenerate`20lost`20messages.
  579. X.IP`20"Remote`20Start"
  580. X.I`20Ldb
  581. Xcan`20start`20a`20game`20between`20two`20players`20on`20remote`20hosts.
  582. XThis`20is`20used`20to`20set`20up`20"game`20starter"`20hosts,
  583. Xwhere`20people`20interested`20in`20finding`20new`20opponents`20are
  584. Xmatched`20by`20some`20criteria`20(such`20as`20ability,`20or`20by`20a
  585. Xtournament`20schedule),`20and`20have`20their`20games`20started
  586. Xautomatically.`20`20For`20a`20current`20listing`20of`20game
  587. Xstarter`20hosts,`20see`20the`20README`20file.
  588. X.IP`20"Game`20Value"
  589. X.I`20Ldb
  590. Xdetects`20the`20end`20of`20the`20game,`20gammons,`20and`20backgammons,
  591. Xand`20notifies`20both`20players`20of`20the`20game`20value`20when`20the
  592. Xgame`20is`20over.`20`20The`20Jacoby`20rule`20may`20be`20enabled,
  593. Xas`20may`20European`20scoring,`20to`20calculate`20the`20game`20value
  594. Xas`20desired.
  595. X.IP`20"Online`20Help`20Screen"
  596. X.I`20Ldb
  597. Xhas`20an`20online,`20context`20sensitive`20help`20facility
  598. Xthat`20lists`20the`20available`20commands`20for`20the`20current`20screen.
  599. X.IP`20"Match`20Play"
  600. X.I`20Ldb
  601. Xcan`20support`20matches`20that`20play`20to`20any
  602. Xdesired`20point`20total,`20and`20will`20continue`20to
  603. Xstart`20games`20until`20one`20player`20reaches`20that`20total.
  604. X.PP
  605. X.SH`20OPTIONS
  606. X.IP`20"`5CfB-read`20`5CfP"
  607. XMail`20is`20read,`20and`20the`20games`20are`20updated`20and`20saved.
  608. XThe`20user`20is`20not`20prompted`20for`20his`20moves.
  609. XIf`20neither`20`5C-read`20nor`20`5C-play`20are`20given,
  610. Xboth`20are`20assumed.
  611. X.IP`20"`5CfB-play`20`5CfP"
  612. XAny`20games`20that`20are`20waiting`20for`20local`20input`20are
  613. Xdisplayed`20for`20the`20user`20to`20process.`20`20No`20mail`20is`20read.
  614. XIf`20neither`20`5C-read`20nor`20`5C-play`20are`20given,
  615. Xboth`20are`20assumed.
  616. X.IP`20"`5CfB-color`20xy`5CfP"
  617. XThe`20colors`20for`20the`20game`20started`20by`20this`20ldb`20run`20are`20set
  618. V`20to`20x`20and`20y.
  619. XThe`20first`20color`20is`20played`20by`20the`20local`20user,`20and`20the
  620. Xother`20is`20played`20by`20the`20opponent.`20`20Legal`20color
  621. Xcharacters`20are`20any`20printing`20character,`20except`20that`20x
  622. Xand`20y`20may`20not`20be`20the`20upper`20and`20lower`20case`20of`20the`20same
  623. Xcharacter.
  624. XThe`20default`20is`20"`5C-color`20rw".
  625. X.IP`20"`5CfB-direction`20up/down`5CfP"
  626. XThis`20sets`20the
  627. Xdirection`20of`20play`20for`20the`20local`20user
  628. Xfor`20the`20game`20started`20by`20this`20ldb`20run.
  629. XThe`20default`20is`20"`5C-direction`20up".
  630. X.IP`20"`5CfB-myaddr`20addr`5CfP"
  631. XYour`20mail`20address`20is`20set`20to
  632. X.I`20addr
  633. Xfor`20games`20started`20on`20this`20ldb`20run.
  634. XThis`20overrides`20the`20address
  635. Xspecified`20in
  636. X.I`20.ldbrc.
  637. X.IP`20"`5CfB-start`20user`5CfP"
  638. XA`20game`20is`20started`20with`20the`20specified`20user.
  639. XThe
  640. X.I`20user
  641. Xargument`20may`20be`20any`20e`5C-mail`20address`20that`20is`20valid`20for
  642. Xyour`20host.`20`20Some`20e`5C-mail`20addresses`20will`20need`20to`20be`20quote
  643. Vd
  644. Xif`20they`20contain`20shell`20metacharacters.
  645. XThe
  646. X.I`20user
  647. Xargument`20may`20also`20be`20an
  648. X.I`20alias
  649. Xfor`20an`20opponent`20you`20have`20played`20before.
  650. XAliases`20are
  651. Xdefined`20in`20the`20people`20file,
  652. Xand`20are`20initialized`20to`20the`20first`20name`20of
  653. Xthe`20opponent,`20with`20all`20upper-case`20letters`20changed`20to`20lower.
  654. XThe`20`5C-start`20option`20is`20deferred`20until`20all`20command`20line
  655. Xoptions`20have`20been`20scanned,`20so`20the`20position`20of`20the
  656. X`5C-start`20option`20on`20the`20command`20line`20is`20not`20important.
  657. XOnly`20one`20`5C-start`20may`20be`20used`20per`20ldb`20run.
  658. X.IP`20"`5CfB-remotestart`20user1`20user2`5CfP"
  659. XA`20game`20is`20started`20between`20user1`20and`20user2.`20`20The`20local
  660. Xhost`20sends`20a`20remote`20start`20message`20to`20user1`20instructing
  661. Xit`20to`20start`20a`20game`20with`20user2.`20`20The`20local`20host
  662. Xdoes`20not`20participate`20thereafter`20in`20the`20game.
  663. XFor`20the`20purposes`20of`20the`20`5C-color`20and`20`5C-direction`20options,
  664. Xuser1`20is`20considered`20the`20local`20user.
  665. XThe`20`5C-remotestart`20option`20is`20deferred`20until`20all`20command`20line
  666. Xoptions`20have`20been`20scanned,`20so`20the`20position`20of`20the
  667. X`5C-remotestart`20option`20on`20the`20command`20line`20is`20not`20important.
  668. XOnly`20one`20`5C-remotestart`20may`20be`20used`20per`20ldb`20run.
  669. X.IP`20"`5CfB-notify`20addr`5CfP"
  670. XThis`20option`20affects`20games`20started`20by`20either`20-start`20or
  671. X-remotestart`20on`20this`20ldb`20run.
  672. XA`20message`20is`20sent`20to`20the`20specified`20address`20when`20the`20game
  673. Xthat`20is`20started`20by`20the`20-start`20or`20-remotestart`20option`20ends.
  674. XThis`20message`20includes`20the`20termination`20code`20of`20the`20game,
  675. Xthe`20game`20value,`20and`20a`20gammon/backgammon`20flag.`20`20This`20option
  676. Xis`20mainly`20for`20the`20use`20of`20game`20starters`20that`20wish`20to`20eith
  677. Ver
  678. Xkeep`20score`20or`20start`20new`20games`20when`20the`20old`20ones`20finish.
  679. XEven`20though`20-notify`20is`20only`20used`20by`20the`20player`20that`20starts
  680. V
  681. Xthe`20game`20(or`20the`20game`20starter`20that`20uses`20-remotestart),`20both
  682. Xplayer's`20ldb`20will`20send`20a`20message`20when`20the`20game`20ends.
  683. X.IP`20"`5CfB-jacoby`5CfP"
  684. XThe`20Jacoby`20rule`20is`20enabled`20for`20the`20game`20started`20by`20this
  685. V`20ldb`20run.
  686. XThis`20rule`20specifies`20that`20gammons
  687. Xand`20backgammons`20count`20as`20a`20single`20point`20if`20neither`20player
  688. Xdoubled`20during`20the`20game.`20`20This`20option`20may`20only`20be`20enabled
  689. Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
  690. Vy
  691. Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
  692. Xnot`20support`20the`20Jacoby`20rule,`20it`20is`20disabled`20and`20the`20game
  693. Xproceeds`20as`20if`20it`20were`20never`20enabled.
  694. X.IP`20"`5CfB-crawford`5CfP"
  695. XThe`20Crawford`20rule`20is`20enabled`20for`20the`20game`20started`20by`20this
  696. V`20ldb`20run.
  697. XThis`20rule`20specifies`20that`20neither
  698. Xplayer`20may`20double`20for`20the`20first`20game`20of`20a`20match`20after
  699. Xeither`20player`20is`20within`201`20point`20of
  700. Xwinning`20the`20match.`20`20If`20match`20play`20is`20not`20enabled,`20this
  701. Xargument`20has`20no`20meaning.
  702. XThis`20option`20may`20only`20be`20enabled
  703. Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
  704. Vy
  705. Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
  706. Xnot`20support`20the`20Crawford`20rule,`20it`20is`20disabled`20and`20the`20game
  707. V
  708. Xproceeds`20as`20if`20it`20were`20never`20enabled.
  709. X.IP`20"`5CfB-european`5CfP"
  710. XThe`20European`20rule`20is`20enabled`20for`20the`20game`20started`20by`20this
  711. V`20ldb`20run.
  712. XThis`20rule`20specifies`20that`20backgammons
  713. Xcount`20as`20double,`20rather`20than`20triple,`20the`20score`20shown`20on`20th
  714. Ve`20cube.
  715. XThis`20option`20may`20only`20be`20enabled
  716. Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
  717. Vy
  718. Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
  719. Xnot`20support`20the`20European`20rule,`20it`20is`20disabled`20and`20the`20game
  720. V
  721. Xproceeds`20as`20if`20it`20were`20never`20enabled.
  722. X.IP`20"`5CfB-permanent`5CfP"
  723. XThe`20game`20started`20by`20this`20ldb`20run
  724. Xis`20marked`20permanent.`20`20Permanent`20games
  725. Xare`20automatically`20restarted`20when`20they`20end.`20`20This`20is`20for
  726. Xpeople`20you`20play`20with`20constantly,`20and`20it`20saves`20you`20the`20trou
  727. Vble
  728. Xof`20restarting`20the`20game`20when`20it`20is`20over.
  729. XThis`20option`20may`20only`20be`20enabled
  730. Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
  731. Vy
  732. Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
  733. Xnot`20support`20permanent`20games,`20the`20permanent`20flag`20is`20disabled
  734. V`20and`20the`20game
  735. Xproceeds`20as`20if`20it`20were`20never`20enabled.
  736. X.IP`20"`5CfB-match`20points`5CfP"
  737. XThis`20option`20enables`20match`20play`20and`20specifies`20the`20number`20of
  738. V`20points
  739. Xthe`20match`20is`20to`20play`20to.`20`20Games`20that`20are`20part`20of`20a`20m
  740. Vatch`20have`20additional
  741. Xinformation`20displayed`20above`20the`20board`20to`20show`20the`20current`20ma
  742. Vtch`20score
  743. Xand`20the`20number`20of`20points`20being`20played`20to.`20`20When`20a`20game
  744. V`20that`20is`20part
  745. Xof`20a`20match`20ends,`20and`20the`20specified`20number`20of`20points`20has
  746. V`20not`20been`20reached,
  747. Xthe`20game`20is`20restarted.
  748. XThis`20option`20may`20only`20be`20enabled
  749. Xby`20the`20user`20starting`20the`20game,`20and`20may`20not`20be`20disabled`20b
  750. Vy
  751. Xthe`20other`20player.`20`20If`20the`20opponent's`20version`20of`20ldb`20does
  752. Xnot`20support`20match`20play,`20the`20game
  753. Xproceeds`20as`20if`20it`20were`20a`20normal`20game.
  754. X.IP`20"`5CfB-score`5CfP"
  755. XThe`20cumulative`20score`20for`20all`20opponents`20is`20printed.`20`20This`20c
  756. Vonsists
  757. Xof`20points,`20games,`20gammons,`20backgammons,`20and`20matches`20that`20have
  758. Xbeen`20won`20and`20lost
  759. Xfor`20each`20opponent.`20`20A`20total`20over`20all`20opponents`20is`20also`20p
  760. Vrinted.
  761. X.IP`20"`5CfB-broadcast`20`5Bfile`5D`5CfP"
  762. XThe`20specified`20file`20is`20mailed`20to`20all`20current`20opponents.
  763. XThis`20is`20useful`20for`20announcing`20vacation`20absences,`20etc.
  764. XIf`20the`20file`20argument`20is`20not`20given,`20standard`20input`20is
  765. Xread`20and`20sent`20to`20all`20opponents.
  766. X.IP`20"`5CfB-control`5CfP"
  767. XThis`20option`20puts`20ldb`20into`20a`20special`20mode`20that`20does`20not`20a
  768. Vllow
  769. Xgames`20to`20be`20played,`20but`20instead`20displays`20them`20one`20at`20a`20t
  770. Vime
  771. Xand`20allows`20certain`20"overhead"`20functions`20to`20be`20performed.
  772. XThese`20are`20described`20fully`20in`20the`20section`20titled`20"CONTROLLING
  773. V`20A`20GAME".
  774. X.IP`20"`5CfB-reconstruct`20file`5CfP"
  775. XThis`20option`20allows`20your`20game`20file`20to`20be`20reconstructed`20if`20y
  776. Vou`20accidentally
  777. Xclobber`20it.`20`20It`20does`20this`20by`20extracting`20the`20information`20fr
  778. Vom`20your
  779. Xopponent's`20data`20file`20and`20"reversing"`20it`20so`20you`20can`20use`20it.
  780. V
  781. XTo`20use`20the`20reconstruct`20option,`20ask`20all`20of`20your`20opponents`20t
  782. Vo`20send
  783. Xyou`20their`20.ldbdata`20files.`20`20Extract`20these`20from`20your`20mail`20in
  784. Vto`20files
  785. Xon`20your`20system,`20strip`20the`20mail`20headers,`20and`20feed`20them`20one
  786. V`20at`20a`20time
  787. Xinto`20ldb.`20`20For`20each`20game`20found`20listing`20you`20as`20the`20oppone
  788. Vnt,`20you`20will
  789. Xbe`20prompted`20to`20enter`20the`20opponent's`20e-mail`20address`20or`20alias
  790. X(and`20his`20name`20if`20he
  791. Xis`20not`20in`20your`20people`20file),`20and`20the`20game`20will`20be`20added
  792. V`20to`20your
  793. Xgame`20file.
  794. X.IP`20""
  795. XThe`20reconstruct`20function`20cannot`20recover`20games`20that`20were`20in`20t
  796. Vhe
  797. Xprocess`20of`20starting`20(i.e.`20in`20their`20initial`20roll`20stage),`20or
  798. V`20that
  799. Xhave`20already`20completed`20(why`20bother?).`20`20Your`20opponent`20should
  800. Xread`20any`20mail`20files`20you`20sent`20before`20your`20data`20file`20got`20c
  801. Vlobbered,
  802. Xand`20should`20make`20his`20move`20and`20send`20it`20before`20sending`20you
  803. V`20his`20data`20file.
  804. XYou`20will`20not`20need`20to`20process`20the`20move`20he`20sent,`20though,`20s
  805. Vince`20all
  806. Xthat`20data`20is`20in`20his`20file`20anyway.`20`20It`20won't`20hurt`20if`20you
  807. V`20do,
  808. Xldb`20will`20just`20ignore`20it.
  809. X.IP`20"`5CfB-help`5CfP"
  810. XThis`20prints`20a`20one-line`20description`20of`20each`20option,`20in`20case
  811. V`20you
  812. Xforget`20later`20on.
  813. X.PP
  814. X.SH`20SCREEN
  815. XThe`20screen`20displays`20the`20following`20items`20of`20interest:
  816. X.IP`20`5CfBOpponent`5CfP
  817. XThe`20e`5C-mail`20address`20and`20personal`20name`20of`20the`20opponent`20are
  818. V`20displayed
  819. Xon`20the`20top`20line`20of`20the`20screen.`20`20This`20can`20help`20identify
  820. V`20the
  821. Xgame`20if`20you`20have`20many`20games`20in`20progress`20at`20once.
  822. X.IP`20"`5CfBBoard`20Label`5CfP"
  823. X.I`20Ldb
  824. Xdisplays`20one`20of`20three`20possible`20board`20images`20at`20a`20time;
  825. Xthe`20name`20of`20the`20board`20currently`20displayed`20is`20shown`20on
  826. Xthe`20second`20line`20of`20the`20screen,`20near`20the`20left.
  827. XThe`20significance`20of`20these`20three`20boards`20is`20explained`20below.
  828. X.IP`20"`5CfBFlags`5CfP"
  829. XThis`20area`20displays`20any`20special`20rules`20in`20effect`20for
  830. Xthe`20game.`20`20Each`20special`20rule`20causes`20one`20character`20to
  831. Xbe`20displayed.`20`20These`20are:
  832. X.nf
  833. X`20`20`20`20`20J`20`20`20`20`20Jacoby`20rule
  834. X`20`20`20`20`20C`20`20`20`20`20Crawford`20rule
  835. X`20`20`20`20`20E`20`20`20`20`20European`20rule
  836. X`20`20`20`20`20P`20`20`20`20`20Permanent`20game
  837. X.fi
  838. XIn`20addition,`20the`20Crawford`20rule`20indicator`20is`20shown`20in
  839. Xreverse`20video`20if`20the`20Crawford`20rule`20game`20is`20currently
  840. Xbeing`20played.
  841. X.IP`20"`5CfBMatch`20Score`5CfP"
  842. XThe`20current`20match`20score`20is`20displayed`20next`20to`20the`20board`20lab
  843. Vel,
  844. Xas`20is`20the`20number`20of`20points`20the`20match`20plays`20to.
  845. XIf`20the`20game`20being`20displayed`20is`20not`20part`20of`20a`20match,
  846. Xthis`20area`20is`20blanked`20out.
  847. X.IP`20"`5CfBPip`20Count`5CfP"
  848. XNear`20the`20right`20of`20the`20screen`20on`20the`20second`20line`20is`20the
  849. Xpip`20count`20for`20the`20board`20being`20displayed.
  850. X.IP`20"`5CfBBoard`5CfP"
  851. XThe`20board`20is`20displayed`20near`20the`20left`20side`20of`20the`20screen,
  852. V`20and`20takes
  853. Xup`20most`20of`20the`20screen`20area.`20`20It`20consists`20of`20an`20outline,
  854. V`20drawn
  855. Xwith`20ASCII`20characters,`20and`2028`20"points"`20where`20pieces`20can`20resi
  856. Vde.
  857. XOf`20these,`2024`20are`20the`20normal`20points`20making`20up`20the`20main`20bo
  858. Vdy`20of`20the
  859. Xboard`20(numbered`201`5C-24),
  860. X2`20are`20the`20"BAR"`20points,`20located`20between`20the`20left
  861. Xand`20right`20halves`20of`20the`20main`20board,`20and`202`20are`20the`20"OFF"
  862. Xpoints`20(where`20pieces`20go`20when`20they`20are`20borne`20off),`20located
  863. V`20to`20the
  864. Xleft`20of`20the`20board.`20`20Pieces`20are`20represented`20by`20upper`20or`20l
  865. Vower`20case`20letters.
  866. XTo`20help`20you`20remember`20which`20direction`20you
  867. Xare`20playing,`20there`20are`20arrows`20drawn`20at`20the`20four`20corners`20of
  868. V`20the
  869. Xboard`20indicating`20your`20direction`20of`20play.
  870. XThe`20bar`20is`20indicated`20by`20the`20word`20"BAR";`20this`20changes`20to
  871. X"---"`20if`20neither`20player`20can`20hit.
  872. X.IP`20"`5CfBDoubling`20Cube`5CfP"
  873. XThe`20current`20value`20of`20the`20doubling`20cube`20is`20displayed`20in`20rev
  874. Verse
  875. Xvideo`20on`20the`20left`20side`20of`20the`20screen.`20`20The`20cube`20will`20a
  876. Vppear
  877. Xnext`20to`20the`20home`20board`20of`20the`20owner`20of`20the`20cube,
  878. Xor`20in`20the`20middle`20if`20neither`20player
  879. Xhas`20doubled.`20`20For`20example,`20if`20the`20player`20whose`20home`20board
  880. V`20is
  881. Xat`20the`20bottom`20of`20the`20screen`20doubled`20last,`20the`20cube`20will
  882. V`20appear
  883. Xbeside`20the`20top`20of`20the`20board.
  884. X.IP`20"`5CfBMove`20Blocks`5CfP"
  885. XThe`20move`20blocks`20are`20located`20on`20the`20right`20of`20the`20screen.
  886. V`20`20There
  887. Xare`20two`20move`20blocks;`20one`20for`20you,`20and`20one`20for`20your`20oppon
  888. Vent.
  889. XYou`20will`20use`20your`20move`20block`20to`20enter`20your`20moves,`20and`20yo
  890. Vu`20will
  891. Xsee`20your`20opponent's`20moves`20displayed`20in`20his`20move`20block.`20`20A
  892. V`20move
  893. Xblock`20consists`20of`20a`20header,`20which`20identifies`20the`20owner`20of
  894. V`20the
  895. Xmove`20block,`20and`20two`20columns`20of`20either`20two`20or`20four`20lines.
  896. XEach`20line`20in`20a`20move`20block`20is`20one`20roll,`20and`20shows`20the`20v
  897. Value
  898. Xof`20the`20roll`20(in`20the`20range`201`5C-6)`20and`20how`20that`20roll`20has
  899. V`20been`20used.
  900. XIf`20doubles`20were`20rolled,
  901. Xthe`20third`20and`20fourth`20lines`20will`20also
  902. Xbe`20used`20to`20display`20the`20two`20additional`20rolls`20that`20may`20be
  903. V`20used.
  904. X.IP`20"`5CfBCommand`20Box`5CfP"
  905. XThe`20bottom`20right`20corner`20of`20the`20screen`20contains`20a`20small`20box
  906. V
  907. Xthat`20displays`20the`20commands`20that`20are`20legal`20at`20any`20given`20tim
  908. Ve.
  909. XYou`20can`20execute`20a`20command`20by`20typing`20the`20first`20letter;`20you
  910. Xshould`20not`20hit`20return`20afterwards.`20`20There`20may`20be`20legal`20comm
  911. Vands
  912. Xother`20than`20those`20shown`20in`20the`20command`20box,`20depending`20on
  913. Xthe`20state`20the`20game`20is`20in.`20`20Press`20"h"`20or`20"?"`20for`20a`20co
  914. Vmplete`20listing
  915. Xof`20legal`20commands.
  916. X.IP`20"`5CfBMessage`20Area`5CfP"
  917. XThe`20bottom`206`20lines`20of`20the`20screen`20are`20reserved`20for`20messages
  918. V`20of
  919. Xvarious`20types.`20`20The`20bottom`20line`20is`20used`20for`20error`20and`20in
  920. Vformative
  921. Xmessages`20that`20occur`20as`20a`20game`20is`20played.`20`20The`20top`20line
  922. V`20in`20this
  923. Xarea`20displays`20messages`20pertaining`20to`20the`20status`20of`20a`20game,
  924. V`20such`20as
  925. Xblots`20hit`20by`20an`20opponent's`20move.`20`20The`20remaining`204`20lines
  926. V`20are`20used`20to
  927. Xenclose`20a`20message`20to`20your`20opponent`20with`20your`20move,`20and`20to
  928. V`20display
  929. Xthe`20one`20your`20opponent`20sent`20to`20you.`20`20These`20messages`20may`20b
  930. Ve`20up`20to
  931. X2`20lines`20of`2056`20characters.
  932. X.PP
  933. X.SH`20"STARTUP`20FILE"
  934. XThe`20first`20time`20you`20run
  935. X.I`20ldb,
  936. Xit`20will`20ask`20you`20if`20you`20want`20to
  937. Xcreate`20a
  938. X.I`20.ldbrc
  939. Xfile.`20`20You`20should`20answer`20"yes",`20unless`20you`20have`20a`20reason
  940. Xnot`20to.`20`20If`20you`20want`20the`20ldb`20startup`20file`20to`20be`20named
  941. V`20something
  942. Xother`20than
  943. X.I`20.ldbrc,
  944. Xyou`20should`20set`20the`20environment`20variable`20LDBRC`20to`20the
  945. Xname`20you`20want`20before
  946. Xrunning`20ldb`20for`20the`20first`20time.
  947. XIf`20you`20do`20this,`20the`20LDBRC`20variable`20must`20be`20set
  948. Xevery`20time`20you`20run`20ldb.
  949. X.I`20Ldb
  950. Xmoves`20to`20the`20directory`20in`20the`20HOME`20environment`20variable,
  951. Xif`20it`20is`20set,`20before`20accessing`20any`20files.
  952. XThis`20makes`20all`20files`20(including`20.ldbrc)`20relative
  953. Xto`20$HOME.
  954. X.PP
  955. XThe
  956. X.I`20.ldbrc
  957. Xis`20organized`20as`20a`20sequence`20of`20name/value`20pairs,`20one`20per`20li
  958. Vne,
  959. Xin`20the`20format
  960. X.I`20"name=value".
  961. XThere`20should`20be`20no`20spaces`20before
  962. X.I`20name
  963. Xor`20before`20or`20after`20the`20equals`20sign.`20`20Comments`20are`20indicate
  964. Vd
  965. Xby`20a`20pound`20sign`20(#)`20in`20column`201,`20and`20extend`20to`20the`20end
  966. V`20of`20the`20line.
  967. XThe`20following`20names`20are`20defined:
  968. X.IP`20myname
  969. XThis`20line`20is`20where`20you`20enter`20your`20(human)`20name.
  970. XIt`20is`20sent`20to`20your`20opponent`20when`20a`20game`20is`20started,`20to
  971. Xmake`20things`20a`20little`20more`20personal.`20`20You`20can`20put`20anything
  972. Xyou`20like`20here,`20of`20course,`20but`20I`20highly`20recommend`20you`20just
  973. Xstick`20to`20your`20name.
  974. XThe
  975. X.I`20myname
  976. Xline`20is`20mandatory;`20if`20you`20don't`20want`20your`20name
  977. Xsent`20to`20people,`20you`20can`20just`20put`20your`20email`20address`20instea
  978. Vd,
  979. Xbut`20you`20must`20have`20something.
  980. X.IP`20myaddr
  981. XThis`20line`20defines`20your`20e`5C-mail`20address.`20`20This`20is`20sent`20to
  982. V`20your
  983. Xopponent`20when`20you`20start`20a`20game`20so`20they`20know`20how`20to`20send
  984. Xmail`20back`20to`20you.`20`20For`20people`20with`20multiple`20mail`20paths,
  985. V`20put
  986. Xthe`20one`20here`20you`20use`20the`20most`20(e.g.`20the`20Internet`20domain
  987. V`5C-style
  988. Xpath),`20and`20for`20games`20that`20need`20to`20use`20a`20different`20address,
  989. V
  990. Xuse`20the
  991. X.I`20`5C-myaddr
  992. Xcommand`20line`20argument`20to`20override`20the`20path`20in
  993. X.I`20.ldbrc.`20`20Note`20that`20the`20first`20time`20you`20start`20a`20game
  994. Xwith`20someone,`20the`20address`20you`20use`20is`20saved`20in`20your
  995. Xpeople`20file.`20`20Subsequent`20games`20you`20start`20with`20this`20person
  996. Xautomatically`20use`20this`20same`20address,`20so`20the
  997. X.I`20`5C-myaddr
  998. Xoption`20will`20be`20unnecessary.
  999. XThe
  1000. X.I`20myaddr
  1001. Xline`20is`20mandatory.
  1002. X.IP`20peoplefile
  1003. XThis`20line`20sets`20the`20file`20name`20that`20is`20used`20to`20store`20infor
  1004. Vmation
  1005. Xabout`20your`20opponents.`20`20In`20addition`20to`20storing`20your`20opponents
  1006. V'
  1007. Xnames,`20addresses,`20and`20aliases,`20it`20records`20the`20number`20of
  1008. Xgames,`20points,`20gammons,`20backgammons,`20and`20matches`20you`20have
  1009. Xwon`20or`20lost`20to`20that`20opponent.`20`20It`20also`20stores`20something
  1010. Xcalled`20the
  1011. X.I`20fence,
  1012. Xwhich`20is`20the`20start`20time`20of`20the`20most`20recently`20finished`20game
  1013. V.
  1014. XThis`20allows`20start`20messages`20from`20old`20games`20to`20be`20discarded.
  1015. XThe`20peoplefile`20line`20is`20optional,`20and`20if`20it`20is`20not`20given,
  1016. Xthe`20people`20file`20defaults`20to
  1017. X.I`20.ldbpeople.
  1018. X.IP`20gamefile
  1019. XThis`20line`20sets`20the`20file`20name`20that`20is`20used`20to`20store`20games
  1020. V
  1021. Xin`20progress.`20`20It`20is`20optional,`20and`20if`20it`20is`20not`20given,
  1022. V`20the
  1023. Xgame`20file`20defaults`20to
  1024. X.I`20.ldbdata.
  1025. XMy`20advice,`20if`20you`20care,`20is`20that`20you`20should`20avoid
  1026. Xusing`20a`20file`20name`20containing`20the`20string
  1027. X.I`20games
  1028. Xor`20any`20other`20giveaway`20string`20that`20would`20let`20your`20boss,`20sys
  1029. Vadmin,
  1030. Xor`20other`20local`20Nazi`5C-type`20know`20that`20you're`20using
  1031. Xa`20very`20expensive`20piece`20of`20high`5C-tech`20equipment`20to`20goof`20off
  1032. V,
  1033. Xwhen`20you`20could`20do`20that`20with`20nothing`20more`20exotic`20than
  1034. Xa`20rubber`20band`20and`20some`20spitballs.
  1035. X.IP`20backupfile
  1036. XThis`20is`20the`20file`20your`20old
  1037. X.I`20gamefile
  1038. Xwill`20be`20moved`20to`20just`20before`20a`20new
  1039. Xone`20is`20created.`20`20It`20defaults`20to
  1040. X.I`20".oldldbdata."
  1041. X.IP`20mailfile
  1042. XThis`20line`20is`20where`20you`20tell`20ldb`20how`20to`20find`20the`20mail`20m
  1043. Vessages
  1044. Xyour`20opponents`20have`20sent.`20`20There`20are`20several`20ways`20to`20do
  1045. V`20this.
  1046. XThe`20simplest`20one`20is`20to`20just`20put
  1047. Xsome`20file`20name`20here`20(the`20default`20is`20ldb.rcv)`20and,`20when`20you
  1048. V`20receive
  1049. Xmail`20containing`20an
  1050. Xldb
  1051. Xmove,`20just`20save`20it`20to`20this`20file.`20`20When`20you`20are`20done`20re
  1052. Vading`20your`20mail,
  1053. Xrun`20ldb,`20and`20it`20will`20scan`20this`20file`20and`20extract`20all`20your
  1054. V`20incoming
  1055. Xmoves.`20`20If`20your`20mail`20program`20is`20like`20most,`20it`20will
  1056. Xappend`20messages`20if`20the`20file`20you`20are`20saving`20to`20already`20exis
  1057. Vts,
  1058. Xwhich`20is`20just`20what`20you`20want.
  1059. X.I`20Ldb
  1060. Xwill`20silently`20ignore`20moves`20that`20it`20has`20already`20seen`20for`20ga
  1061. Vmes`20in
  1062. Xprogress,`20so`20you`20don't`20have`20to`20clean`20them`20out`20of`20your`20ma
  1063. Vilfile
  1064. Xif`20you`20don't`20want`20to.
  1065. XNote`20however`20that`20if`20anything`20happens`20to`20your`20people`20file,
  1066. Xand`20you`20have`20old`20start`20messages`20in`20your`20input`20file,
  1067. Xldb`20could`20start`20a`20spurious`20game`20(i.e.`20one`20your`20opponent's
  1068. V`20ldb
  1069. Xknows`20nothing`20about).`20`20Also,`20if`20your`20input`20file`20gets`20reall
  1070. Vy`20long,
  1071. Xldb`20will`20take`20a`20while`20to`20start`20up.
  1072. XSo`20the`20best`20course`20is`20to`20delete`20all`20messages
  1073. Xafter`20ldb`20has`20read`20them.
  1074. X.IP`20""
  1075. XFor`20UNIX`20users,`20a`20much`20easier`20way
  1076. Xis`20to`20set`20the`20mailfile`20to`20point`20to`20your
  1077. Xactual`20mail`20file`20(e.g.`20/usr/spool/mail/$USER),`20and`20let`20ldb
  1078. Xscan`20your`20mail`20directly.`20`20This`20will`20only`20work`20if`20your`20sy
  1079. Vstem
  1080. Xkeeps`20mail`20in`20ASCII`20format,`20but`20many`20do.`20`20Ldb`20will`20not
  1081. Xdelete`20these`20messages`20from`20your`20mail
  1082. Xso`20you`20will`20have`20to.
  1083. X.IP`20""
  1084. XThe`20third`20option`20is`20to`20set`20the`20mailfile`20to`20a`20pattern`20ins
  1085. Vtead
  1086. Xof`20a`20filename.`20`20Ldb`20will`20scan`20all`20matching`20files`20for`20mov
  1087. Ves.
  1088. XThis`20is`20good`20for`20mailers`20that`20don't`20append`20on`20save,`20and
  1089. Xdon't`20store`20in`20ascii`20format,`20such`20as`20on`20VMS.`20`20Note`20that
  1090. Xon`20VMS,`20if`20no`20version`20number`20is`20defined,`20mailfile`20defaults
  1091. Xto`20scanning`20all`20versions.
  1092. XVMS`20users`20should`20read`20the`20section`20entitled`20"VMS`20NOTES"
  1093. Xfor`20more`20information`20on`20extracting`20mail.
  1094. X.IP`20delmail
  1095. XThis`20option`20causes`20any`20mail`20files`20scanned`20by`20ldb`20to`20be`20r
  1096. Vemoved`20after
  1097. Xthey`20have`20been`20scanned.`20`20This`20is`20a`20hideously`20dangerous`20opt
  1098. Vion,
  1099. Xso`20I`20recommend`20you`20try`20it`20in`20a`20friend's`20account`20first.
  1100. XIt`20will`20delete`20ANY`20file`20that`20matches`20the`20pattern`20specified
  1101. V`20in
  1102. Xthe`20mailfile`20line,`20with`20the`20exception`20that,`20under`20UNIX,
  1103. Xit`20will`20refuse`20to`20delete`20any`20file`20starting`20with`20"/".
  1104. XUse`20it`20with`20great`20care.`20`20This`20option`20defaults`20to`20no;
  1105. Xto`20enable`20it,`20set`20it`20to`20"yes".
  1106. X.IP`20lockfile
  1107. XThis`20line`20sets`20the`20name`20of`20the`20ldb`20lock`20file.
  1108. XIt`20defaults`20to
  1109. X".ldb_lock",
  1110. Xand`20there's`20no
  1111. Xreal`20reason`20to`20change`20it`20unless`20by`20some`20chance`20it`20conflict
  1112. Vs
  1113. Xwith`20a`20file`20name`20you`20might`20use.
  1114. XWhen`20ldb`20starts,`20it`20checks`20to`20see`20if`20this`20file`20exists;
  1115. Xif`20it`20does,`20ldb`20exits.`20`20Otherwise,`20it`20creates`20it`20and`20goe
  1116. Vs`20on.
  1117. XThis`20prevents`20more`20than`20one`20ldb`20from`20running`20in`20the`20same
  1118. Xaccount`20at`20the`20same`20time,`20and`20thereby`20garbling`20the`20data`20fi
  1119. Vles.
  1120. X.IP`20sendcmd
  1121. XThis`20tells`20ldb`20how`20to`20send`20a`20file`20with`20your`20particular
  1122. Xmail`20command.`20`20This`20string`20is`20passed`20to`20the`20system,`20after
  1123. V`20making`20the
  1124. Xfollowing`20substitutions:
  1125. X.IP`20"`20`20`20`20`20$a"`2010n
  1126. Xis`20substituted`20with`20the`20address`20to`20mail`20to.
  1127. X.IP`20"`20`20`20`20`20$f"`2010n
  1128. Xis`20substituted`20with`20the`20file`20containing`20the`20message.
  1129. X.IP`20"`20`20`20`20`20$s"`2010n
  1130. Xis`20substituted`20with`20the`20subject`20of`20the`20message.
  1131. X.IP`20""`205n
  1132. XMost`20mail`20systems`20will`20work`20fine`20with`20the`20default,`20which`20i
  1133. Vs
  1134. X.nf
  1135. X`20`20`20`20`20mail`20`5C-s`20'$s'`20$a`20<`20$f
  1136. X.fi
  1137. X.IP`20""
  1138. Xor,`20on`20VMS,
  1139. X.nf
  1140. X`20`20`20`20`20MAIL/SUBJECT="$s"`20$f`20IN%"""<$a>"""
  1141. X.fi
  1142. X.IP`20""
  1143. XNote`20that`20the`20$`20substitutions`20are
  1144. Xmade`20by`20ldb,`20not`20by`20a`20shell,`20and`20thus`20are`20not`20subject
  1145. V`20to
  1146. Xany`20quoting.`20`20If`20you`20need`20a`20$`20in`20the`20string,`20use`20$$.
  1147. +-+-+-+-+-+-+-+-  END  OF PART 3 +-+-+-+-+-+-+-+-
  1148.