home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / CURS13_2.ZIP / README.NOW < prev    next >
Text File  |  1989-12-11  |  14KB  |  274 lines

  1.                PCCURSES v.1.3-2 Release Notes - 891211 
  2.         ===================================================
  3.   This unofficial release of PCCURSES includes support for compiling the
  4. standard PCCURSES v.1.3 source for use under OS/2.  The changes to the 
  5. code are limited to some new code in the CURSESIO.C.  This code is enabled
  6. during compilation by adding a '#define OS2' to the top of the CURSESIO.c
  7. file, or by compiling with a /DOS2 flag on the command line for MSC.  The 
  8. MAKEFILE.OS2 file is a simple conversion of the MAKEFILE.MSC file with this
  9. option added in.  I plan on carrying out more optimization of PCCURSES to 
  10. use under OS/2 as time permits.  Testing of the modifications has been 
  11. limited to testing of the changed routines in CURSESIO.C as well as 
  12. recompiling several applications which used PCCURSES under DOS and 
  13. verifying their function.  Please report any problems to comp.os.os2.
  14.                                                       --Mike Primm
  15.                                                         ander@pawl.rpi.edu
  16.          
  17.  
  18.                PCCURSES v.1.3 Release Notes - 881005
  19.         ===================================================
  20.  
  21.   This is the release note for the fourth version of PCcurses, v.1.3.
  22. Below this note, the release notes for v.1.0, v.1.1 and v.1.2 are in-
  23. cluded. Read those first.
  24.  
  25.   The file 'border.c' is now included. It allows you to explicitely speci-
  26. fy what characters should be used as box borders when the box() functions
  27. are called. If the new border characters are non-0, they override the bor-
  28. der characters specified in the box() call. In my understanding, this func-
  29. tionality is required for AT&T UNNIX sV.3 compatibility. Thanks for this
  30. goes to Tony L. Hansen (hansen@pegasus.UUCP) for posting an article about
  31. it on UseNet (newsgrou comp.unix.questions; the posting was not related at
  32. all to PCcurses).
  33.  
  34.   The only other difference between v.1.2 and v.1.3 is that the latter has
  35. been changed to avoid warning diagnostics if the source files are compiled
  36. with warning switches on (for MicroSoft this means '-W3', for Turbo'C' it
  37. means '-w -w-pro'). Of these, the Turbo'C' warning check is clearly to be
  38. used rather than MicroSoft, even if neither of them comes even close to a
  39. real UNIX 'lint'. Some of the warnings in fact indicated real bugs, mostly
  40. functions that did not return correct return values or types.
  41.  
  42.   The makefiles for both MSC and TRC have been modified to produce warning
  43. messages as part of normal compilation.
  44.  
  45.  
  46.  
  47.  
  48.                PCCURSES v.1.2 Release Notes - 881002
  49.         ===================================================
  50.  
  51.   This is the release note for the third version of PCcurses, v.1.2.
  52. Below this note, the release notes for v.1.0 and v.1.1 are included. Read
  53. those first.
  54.  
  55.   The changes from v.1.1 to v.1.2 are minor. The biggest change is that there
  56. was a bug related to limiting the cursor movement if the application tried to
  57. move it outside the screen (something that should not be done anyway). Such
  58. erronous application behaviour is now handled correctly.
  59.  
  60.   All modules have been changed to have a revison string in them, which makes
  61. it easier to determine what version is linked into a program (or what library
  62. version you have).
  63.  
  64.   There is now a 'cursesio.c' file. That file does the same as 'cursesio.asm'
  65. (i.e. it provides the interface to the lower-level system I/O routines). It
  66. is written in 'C' and thus it is (possibly) more portable than the assembler
  67. version (but still not so portable since it uses 8086 INT XX calls directly).
  68. When one creates new curses libraries, one chooses whether to use the assem-
  69. bler or the 'C' version of cursesio. The choice is made by commenting out the
  70. appropriate dependencies for cursesio.obj, near the end of the makefiles.
  71.  
  72.   There is now a 'setmode.c' file. That file contains functions that save and
  73. restore terminal modes. They do it into other variables than do savetty() and
  74. resetty(), so one should probably use either savetty()/resetty() or the new
  75. functions only - and not mix the both ways unless one really knows what one
  76. does.
  77.  
  78.   Diff lists vs v.1.0 are no longer included in the distribution. The make
  79. utility still is. PCcurses v.1.2 still compiles with MicroSoft 'C' v.4.0,
  80. and with Borland Turbo 'C' v.1.0. There is as far as I know no reason to be-
  81. lieve that it does not compile under MicroSoft 'C' v.3.0 and 5.x, or Turbo-
  82. 'C' v.1.5, but this has not been tested.
  83.  
  84.   There are two makefile's included, one for MicroSoft 'C', one for Turbo-'C'.
  85. They are both copies of my personal makefile's, and as such they reflect the
  86. directory structure on my own computer. This will have to be changed before
  87. you run make. Check $(INCDIR) and $(LIBDIR) in particular, and make the choice
  88. of ASM or 'C' cursesio version as mentioned above (the distribution version
  89. uses the 'C version of cursesio).
  90.  
  91.   The manual file (curses.man) has been changed at appropriate places.
  92.  
  93.   I would like to thank the following persons for their help:
  94.  
  95.         Brandon S. Allbery (alberry@ncoast.UUCP)
  96.                 for running comp.binaries.ibm.pc (at that time)
  97.                 and comp.source.misc.
  98.  
  99.         Steve Balogh (Steve@cit5.cit.oz.AU)
  100.                 for writing a set of manual pages and posting
  101.                 them to the net.
  102.  
  103.         Torbjorn Lindh
  104.                 for finding bugs and suggesting raw
  105.                 character output routines.
  106.  
  107.         Nathan Glasser (nathan@eddie.mit.edu)
  108.                 for finding and reporting bugs.
  109.  
  110.         Ingvar Olafsson (...enea!hafro!ingvar)
  111.                 for finding and reporting bugs.
  112.  
  113.         Eric Rosco (...enea!ipmoea!ericr)
  114.                 for finding and reporting bugs.
  115.  
  116.         Steve Creps (creps@silver.bacs.indiana.edu)
  117.                 for doing a lot of work - among others
  118.                 posting bug fixes to the net, and writing
  119.                 the new cursesio.c module.
  120.  
  121.         N. Dean Pentcheff (dean@violet.berkeley.edu)
  122.                 for finding bugs and rewriting cursesio.asm
  123.                 for Turbo 'C' 1.5.
  124.  
  125.   Finally, Jeff Dean (parcvax,hplabs}!cdp!jeff)
  126.                      (jeff@ads.arpa)
  127.         has had a shareware version of curses deliverable since
  128.         about half a year before I released PCcurses 1.0 on Use-
  129.         Net. He is very concerned about confusion between the two
  130.         packages, and therefore any references on the network
  131.         should make clear whether they reference Dean's PCcurses
  132.         or Larsson's PCcurses.
  133.  
  134.                PCCURSES v.1.1 Release Notes - 880306
  135.         ===================================================
  136.  
  137.   This is the release note for the second version of PCcurses, v.1.1.
  138. Below this note, the release note for v.1.0 is included. Read that first.
  139. The changes from v.1.0 to v.1.1 are minor. There are a few bug fixes, and
  140. new (non-portable) functions for verbatim IBM character font display have
  141. been added (in charadd.c and charins.c). The manual file (curses.man) has
  142. been changed at appropriate places.
  143.  
  144.   In the file v10tov11.dif there are listings of the differencies between
  145. version 1.0 and 1.1. The diff listings are in UNIX diff(1) format.
  146.  
  147.   Version 1.1 compiles with Turbo 'C' v.1.0, as well as MicroSoft 'C' v.3.0
  148. and v.4.0. On the release disk there is a make.exe utility which is very simi-
  149. lar to UNIX make (If the package was mailed to you, the make utility will be
  150. in uuencoded format - in make.uu - and must be uudecoded first). It is much
  151. more powerful than MicroSoft's different MAKE'S; the latter ones will NOT ge-
  152. nerate libraries properly if used with the PCcurses makefiles.
  153.  
  154.   There are three makefiles:
  155.  
  156.         makefile                generic MSC 3.0 makefile
  157.         makefile.ms             MSC 4.0 makefile
  158.         makefile.tc             Turbo 'C' 1.0 makefile
  159.  
  160.   To make a library with for example Turbo 'C', make directories to hold .H
  161. and .LIB files (these directories are the 'standard places'), edit makefile.tc
  162. for this, and type
  163.  
  164.         make -f makefile.tc all
  165.  
  166. and libraries for all memory models will be created in the .LIB directory,
  167. while the include files will end up in the .H directory. Also read what is
  168. said about installation below!
  169.  
  170.  
  171.  
  172.  
  173.                PCCURSES v.1.0 Release Notes - 870824
  174.         ===================================================
  175.  
  176.  
  177.  
  178.   This is the release notes for the PCcurses v.1.0 cursor/window control
  179. package. PCcurses offers the functionality of UNIX curses, plus some
  180. extras. Normally it should be possible to port curses-based programs from
  181. UNIX curses to PCcurses on the IBM PC without changes. PCcurses is a port/
  182. rewrite of Pavel Curtis' public domain 'ncurses' package. All the code has
  183. been re-written - it is not just an edit of ncurses (or UNIX curses). I
  184. mention this to clarify any copyright violation claims. The data struc-
  185. tures and ideas are very similar to ncurses. As for UNIX curses, I have
  186. not even seen any sources for it.
  187.  
  188.  For an introduction to the use of 'curses' and it's derivatives, you
  189. should read 'Screen Updating and Cursor Movement Optimization: A Library
  190. Package' by Kenneth C. R. C. Arnold, which describes the original Berkely
  191. UNIX version of curses. It is available as part of the UNIX manuals. The
  192. other source of information is 'The Ncurses Reference Manual' by Pavel
  193. Curtis. The latter is part of Curtis' ncurses package.
  194.  
  195.   The only other documentation provided is a 'man' page which describes
  196. all the included functions in a very terse way. In the sources, each
  197. function is preceded by a rather thourough description of what the
  198. function does. I didn't have time to write a nice manual/tutorial - sorry.
  199.  
  200.   PCcurses is released as a number of source files, a man page, and a make
  201. file. A uuencoded copy of a 'make' utility, and a manpage for the 'make' is
  202. also provided to make it easier to put together PCcurses libraries. Even if
  203. you are not interested in PCcurses, it may be worthwhile to grab the make.
  204.  
  205.   The makefile assumes the presence of the MicroSoft 'C' compiler (3.0 or
  206. 4.0), MicroSoft MASM and LIB, plus some MS-DOS utilities. The reason for
  207. supplying MAKE.EXE is that the MicroSoft 'MAKE:s' are much inferior to a
  208. real UNIX make. The supplied make is a port of a public domain make, pub-
  209. lished on UseNet. It is almost completely compatible with UNIX make. When
  210. generating the curses libraries, the makefile will direct make to do some
  211. directory creating and file copying, and then re-invoke itself with new
  212. targets. The workings of the makefile are not absolutely crystal clear at
  213. first sight... just start it and see what it does.
  214.  
  215.   For portability, the curses libraries depend on one assembler file for
  216. access to the BIOS routines. There is no support for the EGA, but both
  217. CGA, MGA, and the HGA can be used. The libraries are originally for Micro-
  218. Soft 'C', but all C modules should be portable right away. In the assembler
  219. file, segment names probably need to be changed, and possibly the parameter
  220. passing scheme. I think Turbo C will work right away - as far as I under-
  221. stand, all it's conventions are compatible with MicroSoft C.
  222.  
  223.   There are some parts left out between ncurses and PCcurses. One is the
  224. support for multiple terminals - not very interesting on a PC anyway. Be-
  225. cause we KNOW what terminal we have, there is no need for a termcap or
  226. termio library. PCcurses also has some things that neither curses nor
  227. ncurses have. Compared to the original UNIX curses, PCcurses has lots
  228. of extras.
  229.  
  230.   The BIOS routines are used directly, which gives fast screen updates.
  231. PCcurses does not do direct writes to screen RAM - in my opinion it is
  232. a bit ugly to rely that much on hardware compatibility. Anyone could fix
  233. that, of course...
  234.  
  235.   One of the more serious problems with PCcurses is the way in which nor-
  236. mal, cbreak, and raw input modes are done. All those details are in the
  237. 'charget' module - I do raw I/O via the BIOS, and perform any buffering
  238. myself. If an application program uses PCcurses, it should do ALL it's
  239. I/O via PCcurses calls, otherwise the mix of normal and PCcurses I/O may
  240. mess up the display. I think my code is reasonable... comments are welcome,
  241. provided you express them nicely...
  242.  
  243.   To install, copy all files to a work directory, edit 'makefile' to define
  244. the standard include and library file directory names of your choice (these
  245. directories must exist already, and their path names must be relative to the
  246. root directory, not to the current one). You must also run uudecode on
  247. make.uu, to generate MAKE.EXE. You can do that on your PC, if you have
  248. uudecode there, otherwise you can do it under UNIX and do a binary transfer
  249. to the PC. When you have MAKE.EXE in your work directory (or in your /bin
  250. directory), type make.
  251.  
  252.   Make will now create 4 sub-directories (one for each memory model), copy
  253. some assembler include files into them, copy two include files to your
  254. include directory, CHDIR to each sub-directory and re-invoke itself with
  255. other make targets to compile and assemble all the source files into the
  256. appropriate directories. Then the library manager is run to create the
  257. library files in your desired library directory. Presto!
  258.  
  259.   If you only want to generate a library for one memory model, type 'make
  260. small', 'make large', etc. The name of the memory model must be in lower
  261. case, like in the makefile.
  262.  
  263.   I think the package is fairly well debugged - but then again, that's
  264. what I always think. It was completed in May-87, and no problems found
  265. yet. Now it's your turn... Comments, suggestions and bug reports and
  266. fixes (no flames please) to
  267.  
  268. Bjorn Larsson
  269. INFOVOX AB
  270. Box 2503                                (...seismo!mcvax!enea!infovax!bl)
  271. S-171 02 Solna
  272. SWEDEN
  273. 
  274.