home *** CD-ROM | disk | FTP | other *** search
- 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
-
-