home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 330_02 / read.me < prev    next >
Text File  |  1990-10-16  |  11KB  |  294 lines

  1. CTask - A Multitasking Kernel for C.
  2. Version 2.2, Released 90-10-12.
  3.  
  4. Public Domain Software written by Thomas Wagner
  5.  
  6.       Home Address:              Business Address:
  7.       Patschkauer Weg 31         Ferrari electronic GmbH
  8.       D-1000 Berlin 33           Beusselstrasse 27
  9.       Germany                    D-1000 Berlin 21, Germany
  10.                                  Phone: (49-30) 396 50 21
  11.                                  Fax:   (49-30) 396 80 20
  12.  
  13.       BIX:  twagner
  14.       UUCP: oeschi@netmbx.UUCP  (attn: Thomas Wagner)
  15.  
  16.  
  17. This software is in the Public Domain. No registration is required,
  18. and no license fees or royalties must be paid. 
  19.  
  20. You are using this software at your own risk. There is no warranty on
  21. fitness for any purpose, and the author can not be held liable for
  22. any damages whatsoever.
  23.  
  24. Re-distribution by any media, disk or BBS, is expressly encouraged.
  25. Please distribute freely, but please leave the archives intact when
  26. re-posting. If there is a technical need to split up the archives,
  27. please include this read.me with all parts, and tell the user where
  28. to find the other parts. The on-line version 2.2 consists of two
  29. archives, one with all sources and documentation, the other with the
  30. precompiled libraries only. If you intend to re-compile the sources
  31. anyway, you only need the source archive. The binary archive is
  32. provided for those who want to get started right away, without the
  33. hassle of setting up the compilation environment. If you received
  34. CTask version 2.2 on disk, there is only one self-extracting archive
  35. containing both sources and binaries.
  36.  
  37.  
  38. Versions released so far:
  39.    0.1 (Beta)  88-03-01
  40.    1.1         88-07-01
  41.    1.1a        88-12-29
  42.    1.1b        89-05-30
  43.    2.0            89-12-24
  44.    2.1         90-07-23
  45.    2.1a        90-08-13
  46.    2.1b        90-08-14
  47.    2.2 (this)  90-10-12  (READ.ME last updated 90-10-16)
  48.  
  49. If you want to receive future updates, I recommend joining BIX. You
  50. will not only have access to the newest version of CTask, you will
  51. also get direct support from me through E-mail or the CTask support
  52. topic in the ibm.other conference. Please see the manual for
  53. more information on BIX, and for the complete support policy. 
  54.  
  55. If BIX is too expensive, or for other reasons unavailable to you, I'm
  56. also willing to send you new versions on disk. However, I do have to
  57. charge you for this service. I've been sending out more and more
  58. disks for free with each release, and the postage is starting to
  59. hurt. See the file ORDER.DOC for more information.
  60.  
  61.                 ----------------------------
  62.  
  63. Version 2.2 was released mainly to correct a number of known bugs in
  64. 2.1. To avoid further delays, and continued problems due to the bugs,
  65. I made this version public even though there are two problem areas
  66. remaining:
  67.  
  68. If you want to use the 80x87 support in CTask, please be aware that
  69. the NDP support is not yet tested. It is quite likely that your
  70. program will crash if you set NDP to true in tskconf.h, so get your
  71. debugger ready. Please report your experiences. Also, floating point
  72. emulation is not supported. The emulation entries apparently are not
  73. reentrant. 
  74.  
  75. Version 2.2 will not work correctly with Windows 3.0 in enhanced 386
  76. mode if CTask is installed as TSR before starting Windows. The reason
  77. (communication between virtual machines) is known, but a solution
  78. would be rather complex. I will try to solve this problem in the next
  79. release. CTask will work fine with Windows 3.0 if started in a
  80. DOS-window, or if used with the real-mode version.
  81.  
  82.                 ----------------------------
  83.  
  84. When compiling some of the files, you will get warnings about
  85. unreferenced formal parameters. This is normal, and should be
  86. ignored. The Turbo C pragma for turning off those warnings is not
  87. compatible with Microsoft, so it is not used in the current version.
  88.  
  89.                 ----------------------------
  90.  
  91. Note that the Turbo C batch and make files refer to "lib" and
  92. "tmake", where Turbo users would normally use "tlib" and "make". This
  93. is to resolve naming conflicts in my own configuration. To use the
  94. files in a "standard" Turbo configuration, you may have to edit the
  95. files, or provide suitable alias definitions.
  96.  
  97.                 ----------------------------
  98.  
  99. CAUTION: DO NOT use TASM 1.0 to assemble the CTask routines. Version
  100. 1.0 of Borland's TASM has severe problems with the extended model
  101. directives, which will cause Assembly time errors, and, if you get
  102. past them, run time crashes.
  103.  
  104. Versions 1.01 and 2.0 of TASM are safe to use. Please check with
  105. Borland for an update. 
  106.  
  107. You can also use MASM 5.1 for the TC version, just edit the make
  108. files to change the assembler name.
  109.  
  110.                 ----------------------------
  111.  
  112. Turbo C++ 1.0 problems
  113.  
  114. The original release of Turbo C++ 1.0 has a number of bugs in include
  115. files and run-time routines. Patches for the known bugs are available
  116. in the borland conference on BIX, and on other Borland-supported
  117. online services. If you don't have access to BIX, contact Borland for
  118. the patches.
  119.  
  120. The main problem with CTask is that the definitions for the intrinsic
  121. functions "inportb" and "outportb" are missing from the TC++
  122. header-file "dos.h". This leads to those functions being compiled as
  123. external functions, and the resulting library is model dependent. To
  124. correct this, copy the lines defining the intrinsics from the old TC
  125. 2.0 header file into the new dos.h:
  126.  
  127.   unsigned char _Cdecl __inportb__(int __portid);
  128.   void _Cdecl __outportb__ (int __portid, unsigned char __value);
  129.   #define inportb __inportb__
  130.   #define outportb __outportb__
  131.  
  132. In this version (2.2) only, the TSK.H file also contains those
  133. definitions. They will likely be removed from tsk.h in future
  134. releases.
  135.  
  136.                 ----------------------------
  137.  
  138. The manual included is ready for printing. No fancy formatting 
  139. was used, and the page length was chosen to fit the short 
  140. American sized paper. The only control character your printer 
  141. must understand is the formfeed. 
  142.  
  143.                 ----------------------------
  144.  
  145. Well, this guy is giving all that away - there must be a catch 
  146. somewhere, you say? Right you are! You are REQUIRED to read my 
  147. sales blurb in the file FERRARI.DOC in this library IMMEDIATELY, 
  148. or this software will self-destruct in thirty seconds... ;-) 
  149.  
  150.                 ----------------------------
  151.  
  152. Files in the archives:
  153.  
  154.                 Binary archive (CTBIN22.LZH)
  155.  
  156. Compiled CTask kernel and support routines
  157.  
  158.    READ.ME      This file
  159.  
  160.    CTASKMS.LIB  CTask kernel, Microsoft C (any model)
  161.    CTSUPMSL.LIB CTask support routines, MS-C (large model)
  162.  
  163.    CTASKTC.LIB  CTask kernel, Turbo C (any model except Tiny & Huge)
  164.    CTSUPTCL.LIB CTask support routines, Turbo C (large model)
  165.  
  166.  
  167.                 Source Archive (CTASK22.LZH)
  168.  
  169. Documentation
  170.  
  171.    READ.ME      This file
  172.    CTASK.DOC    Documentation for CTask, ready for printing
  173.    FERRARI.DOC  Commercial advertising, required reading
  174.    ORDER.DOC    Information on ordering CTask disks
  175.  
  176.    CTASK.DEF    Periscope debugger record definition file
  177.  
  178. Include Files
  179.  
  180.    KBD.H        Keyboard scan code and flag definitions for Hotkeys
  181.    PRT.H        Include file required for printer driver
  182.    SIO.H        Include file required for serial driver
  183.    TSK.H        Include file required for CTask kernel
  184.    TSKCONF.H    CTask configuration options (C and Assembler)
  185.    TSKDEB.H     Debug mode configuration (C and Assembler)
  186.    TSKLOCAL.H   Include file for internal CTask use
  187.    TSKPRF.H     Function prototypes for printf replacement routines
  188.    TSKSUP.H     Include file required for support routines
  189.  
  190.    TSK.MAC      Assembler include file
  191.  
  192.  
  193. Source files for the CTask kernel
  194.                 
  195.    TSKASM.ASM   Scheduler and miscellaneous ASM routines
  196.    TSKBIOS.ASM  AT BIOS wait/post handler (INT 15)
  197.    TSKDOS.ASM   DOS multiplex interface for CTask
  198.    TSKEMS.ASM   EMS support routines
  199.    TSKINT17.ASM BIOS printer interface (INT 17)
  200.    TSKKBD.ASM   Keyboard interface and hotkey handler
  201.    TSKNDP.ASM   Numerioc coprocessor support routines
  202.    TSKPRTI.ASM  Printer driver interrupt stack switcher
  203.    TSKQUE.ASM   Queue handling
  204.    TSKRES.ASM   CTask residency check
  205.    TSKSEC.ASM   DOS and Keyboard interface routines
  206.    TSKSIOI.ASM  Serial driver interrupt stack switcher
  207.    TSKSTCK.ASM  Stack switch routine
  208.    TSKSTUB.ASM  Code sharing function stubs/entry table
  209.    TSKTIM.ASM   Timer tick interface (INT 8)
  210.  
  211.    TSKBUF.C     Buffer events
  212.    TSKCNT.C     Counter events
  213.    TSKFLG.C     Flag events
  214.    TSKGRP.C     Group creation/removal
  215.    TSKHOT.C     Hotkey creation
  216.    TSKINST.C    Main kernel installation/removal
  217.    TSKMAIN.C    Main CTask installation routines
  218.    TSKMEMW.C    Memory watches
  219.    TSKMSG.C     Mailbox events
  220.    TSKNAME.C    Name searching
  221.    TSKPORW.C    Port watches
  222.    TSKPIP.C     Pipe events
  223.    TSKPRT.C     Printer driver
  224.    TSKRSC.C     Resource events
  225.    TSKSIO.C     Serial I/O driver
  226.    TSKSUB.C     Subroutines for internal CTask use
  227.    TSKTASK.C    Main task related routines
  228.    TSKTICK.C    Ticker handling
  229.    TSKTOPS.C    Timeout and watch routines
  230.    TSKTSUB.C    Timer/watch helper subroutines
  231.    TSKTTSK.C    Timer task
  232.    TSKTUTL.C    Task utility subroutines
  233.    TSKUTIL.C    Miscellaneous utilitiy routines
  234.    TSKWPIP.C    Word pipe events
  235.  
  236. Support routine source files
  237.  
  238.    CONOUT.C     Console output support
  239.    TSKALLOC.C   Memory allocation RTL interface
  240.    TSKSNAP.C    Snapshot dump utility
  241.    TSKPRF.ASM   Printf replacement routines
  242.  
  243. Sample application sources
  244.  
  245.    MINRES.ASM   Minimal resident CTask
  246.    TESTMOD.ASM  Check for model independence
  247.  
  248.    RES.C        CTask TSR
  249.    SNAP.C       Snapshot dump
  250.    SPAWN.C      Spawn DOS
  251.    TEST.C       General Test
  252.    TPRT.C       Test printer driver
  253.    TSIO.C       Test serial driver
  254.  
  255. Batch files to make kernel and samples
  256.  
  257.    MS.BAT       Make Kernel and support routines, MS-C
  258.    SAMPMS.BAT   Make Sample applications, MS-C
  259.    CTC.BAT      Make Kernel and support routines, Turbo C
  260.    SAMPTC.BAT   Make Sample applications, Turbo C
  261.    TCH.BAT      Make Kernel and support routines, Turbo C Huge model
  262.  
  263. Microsoft Make files for Microsoft C/MASM
  264.  
  265.    CTASK.MS     Make Kernel
  266.    CTSUP.MS     Make Support Routines
  267.  
  268.    MINRES.MS    Make MINRES.ASM
  269.    RES.MS       Make RES.C
  270.    SNAP.MS      Make SNAP.C
  271.    SPAWN.MS     Make SPAWN.C
  272.    TEST.MS      Make TEST.C
  273.    TESTMOD.MS   Make TESTMOD.ASM
  274.    TPRT.MS      Make TPRT.C
  275.    TSIO.MS      Make TSIO.C
  276.  
  277. Borland Make files for Turbo C/TASM
  278.  
  279.    CTASK.TC     Make Kernel
  280.    CTSUP.TC     Make Support Routines
  281.  
  282.    CTASKH.TC    Make Kernel, Huge model
  283.    CTSUPH.TC    Make Support Routines, Huge model
  284.                 
  285.    MINRES.TC    Make MINRES.ASM
  286.    RES.TC       Make RES.C
  287.    SNAP.TC      Make SNAP.C
  288.    SPAWN.TC     Make SPAWN.C
  289.    TEST.TC      Make TEST.C
  290.    TESTMOD.TC   Make TESTMOD.ASM
  291.    TPRT.TC      Make TPRT.C
  292.    TSIO.TC      Make TSIO.C
  293.  
  294.