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 >
Wrap
Text File
|
1990-10-16
|
11KB
|
294 lines
CTask - A Multitasking Kernel for C.
Version 2.2, Released 90-10-12.
Public Domain Software written by Thomas Wagner
Home Address: Business Address:
Patschkauer Weg 31 Ferrari electronic GmbH
D-1000 Berlin 33 Beusselstrasse 27
Germany D-1000 Berlin 21, Germany
Phone: (49-30) 396 50 21
Fax: (49-30) 396 80 20
BIX: twagner
UUCP: oeschi@netmbx.UUCP (attn: Thomas Wagner)
This software is in the Public Domain. No registration is required,
and no license fees or royalties must be paid.
You are using this software at your own risk. There is no warranty on
fitness for any purpose, and the author can not be held liable for
any damages whatsoever.
Re-distribution by any media, disk or BBS, is expressly encouraged.
Please distribute freely, but please leave the archives intact when
re-posting. If there is a technical need to split up the archives,
please include this read.me with all parts, and tell the user where
to find the other parts. The on-line version 2.2 consists of two
archives, one with all sources and documentation, the other with the
precompiled libraries only. If you intend to re-compile the sources
anyway, you only need the source archive. The binary archive is
provided for those who want to get started right away, without the
hassle of setting up the compilation environment. If you received
CTask version 2.2 on disk, there is only one self-extracting archive
containing both sources and binaries.
Versions released so far:
0.1 (Beta) 88-03-01
1.1 88-07-01
1.1a 88-12-29
1.1b 89-05-30
2.0 89-12-24
2.1 90-07-23
2.1a 90-08-13
2.1b 90-08-14
2.2 (this) 90-10-12 (READ.ME last updated 90-10-16)
If you want to receive future updates, I recommend joining BIX. You
will not only have access to the newest version of CTask, you will
also get direct support from me through E-mail or the CTask support
topic in the ibm.other conference. Please see the manual for
more information on BIX, and for the complete support policy.
If BIX is too expensive, or for other reasons unavailable to you, I'm
also willing to send you new versions on disk. However, I do have to
charge you for this service. I've been sending out more and more
disks for free with each release, and the postage is starting to
hurt. See the file ORDER.DOC for more information.
----------------------------
Version 2.2 was released mainly to correct a number of known bugs in
2.1. To avoid further delays, and continued problems due to the bugs,
I made this version public even though there are two problem areas
remaining:
If you want to use the 80x87 support in CTask, please be aware that
the NDP support is not yet tested. It is quite likely that your
program will crash if you set NDP to true in tskconf.h, so get your
debugger ready. Please report your experiences. Also, floating point
emulation is not supported. The emulation entries apparently are not
reentrant.
Version 2.2 will not work correctly with Windows 3.0 in enhanced 386
mode if CTask is installed as TSR before starting Windows. The reason
(communication between virtual machines) is known, but a solution
would be rather complex. I will try to solve this problem in the next
release. CTask will work fine with Windows 3.0 if started in a
DOS-window, or if used with the real-mode version.
----------------------------
When compiling some of the files, you will get warnings about
unreferenced formal parameters. This is normal, and should be
ignored. The Turbo C pragma for turning off those warnings is not
compatible with Microsoft, so it is not used in the current version.
----------------------------
Note that the Turbo C batch and make files refer to "lib" and
"tmake", where Turbo users would normally use "tlib" and "make". This
is to resolve naming conflicts in my own configuration. To use the
files in a "standard" Turbo configuration, you may have to edit the
files, or provide suitable alias definitions.
----------------------------
CAUTION: DO NOT use TASM 1.0 to assemble the CTask routines. Version
1.0 of Borland's TASM has severe problems with the extended model
directives, which will cause Assembly time errors, and, if you get
past them, run time crashes.
Versions 1.01 and 2.0 of TASM are safe to use. Please check with
Borland for an update.
You can also use MASM 5.1 for the TC version, just edit the make
files to change the assembler name.
----------------------------
Turbo C++ 1.0 problems
The original release of Turbo C++ 1.0 has a number of bugs in include
files and run-time routines. Patches for the known bugs are available
in the borland conference on BIX, and on other Borland-supported
online services. If you don't have access to BIX, contact Borland for
the patches.
The main problem with CTask is that the definitions for the intrinsic
functions "inportb" and "outportb" are missing from the TC++
header-file "dos.h". This leads to those functions being compiled as
external functions, and the resulting library is model dependent. To
correct this, copy the lines defining the intrinsics from the old TC
2.0 header file into the new dos.h:
unsigned char _Cdecl __inportb__(int __portid);
void _Cdecl __outportb__ (int __portid, unsigned char __value);
#define inportb __inportb__
#define outportb __outportb__
In this version (2.2) only, the TSK.H file also contains those
definitions. They will likely be removed from tsk.h in future
releases.
----------------------------
The manual included is ready for printing. No fancy formatting
was used, and the page length was chosen to fit the short
American sized paper. The only control character your printer
must understand is the formfeed.
----------------------------
Well, this guy is giving all that away - there must be a catch
somewhere, you say? Right you are! You are REQUIRED to read my
sales blurb in the file FERRARI.DOC in this library IMMEDIATELY,
or this software will self-destruct in thirty seconds... ;-)
----------------------------
Files in the archives:
Binary archive (CTBIN22.LZH)
Compiled CTask kernel and support routines
READ.ME This file
CTASKMS.LIB CTask kernel, Microsoft C (any model)
CTSUPMSL.LIB CTask support routines, MS-C (large model)
CTASKTC.LIB CTask kernel, Turbo C (any model except Tiny & Huge)
CTSUPTCL.LIB CTask support routines, Turbo C (large model)
Source Archive (CTASK22.LZH)
Documentation
READ.ME This file
CTASK.DOC Documentation for CTask, ready for printing
FERRARI.DOC Commercial advertising, required reading
ORDER.DOC Information on ordering CTask disks
CTASK.DEF Periscope debugger record definition file
Include Files
KBD.H Keyboard scan code and flag definitions for Hotkeys
PRT.H Include file required for printer driver
SIO.H Include file required for serial driver
TSK.H Include file required for CTask kernel
TSKCONF.H CTask configuration options (C and Assembler)
TSKDEB.H Debug mode configuration (C and Assembler)
TSKLOCAL.H Include file for internal CTask use
TSKPRF.H Function prototypes for printf replacement routines
TSKSUP.H Include file required for support routines
TSK.MAC Assembler include file
Source files for the CTask kernel
TSKASM.ASM Scheduler and miscellaneous ASM routines
TSKBIOS.ASM AT BIOS wait/post handler (INT 15)
TSKDOS.ASM DOS multiplex interface for CTask
TSKEMS.ASM EMS support routines
TSKINT17.ASM BIOS printer interface (INT 17)
TSKKBD.ASM Keyboard interface and hotkey handler
TSKNDP.ASM Numerioc coprocessor support routines
TSKPRTI.ASM Printer driver interrupt stack switcher
TSKQUE.ASM Queue handling
TSKRES.ASM CTask residency check
TSKSEC.ASM DOS and Keyboard interface routines
TSKSIOI.ASM Serial driver interrupt stack switcher
TSKSTCK.ASM Stack switch routine
TSKSTUB.ASM Code sharing function stubs/entry table
TSKTIM.ASM Timer tick interface (INT 8)
TSKBUF.C Buffer events
TSKCNT.C Counter events
TSKFLG.C Flag events
TSKGRP.C Group creation/removal
TSKHOT.C Hotkey creation
TSKINST.C Main kernel installation/removal
TSKMAIN.C Main CTask installation routines
TSKMEMW.C Memory watches
TSKMSG.C Mailbox events
TSKNAME.C Name searching
TSKPORW.C Port watches
TSKPIP.C Pipe events
TSKPRT.C Printer driver
TSKRSC.C Resource events
TSKSIO.C Serial I/O driver
TSKSUB.C Subroutines for internal CTask use
TSKTASK.C Main task related routines
TSKTICK.C Ticker handling
TSKTOPS.C Timeout and watch routines
TSKTSUB.C Timer/watch helper subroutines
TSKTTSK.C Timer task
TSKTUTL.C Task utility subroutines
TSKUTIL.C Miscellaneous utilitiy routines
TSKWPIP.C Word pipe events
Support routine source files
CONOUT.C Console output support
TSKALLOC.C Memory allocation RTL interface
TSKSNAP.C Snapshot dump utility
TSKPRF.ASM Printf replacement routines
Sample application sources
MINRES.ASM Minimal resident CTask
TESTMOD.ASM Check for model independence
RES.C CTask TSR
SNAP.C Snapshot dump
SPAWN.C Spawn DOS
TEST.C General Test
TPRT.C Test printer driver
TSIO.C Test serial driver
Batch files to make kernel and samples
MS.BAT Make Kernel and support routines, MS-C
SAMPMS.BAT Make Sample applications, MS-C
CTC.BAT Make Kernel and support routines, Turbo C
SAMPTC.BAT Make Sample applications, Turbo C
TCH.BAT Make Kernel and support routines, Turbo C Huge model
Microsoft Make files for Microsoft C/MASM
CTASK.MS Make Kernel
CTSUP.MS Make Support Routines
MINRES.MS Make MINRES.ASM
RES.MS Make RES.C
SNAP.MS Make SNAP.C
SPAWN.MS Make SPAWN.C
TEST.MS Make TEST.C
TESTMOD.MS Make TESTMOD.ASM
TPRT.MS Make TPRT.C
TSIO.MS Make TSIO.C
Borland Make files for Turbo C/TASM
CTASK.TC Make Kernel
CTSUP.TC Make Support Routines
CTASKH.TC Make Kernel, Huge model
CTSUPH.TC Make Support Routines, Huge model
MINRES.TC Make MINRES.ASM
RES.TC Make RES.C
SNAP.TC Make SNAP.C
SPAWN.TC Make SPAWN.C
TEST.TC Make TEST.C
TESTMOD.TC Make TESTMOD.ASM
TPRT.TC Make TPRT.C
TSIO.TC Make TSIO.C