                        APDMX  MICROKERNEL
-------------------------------------------------------------------------------

***** Presentation *****

Several succesful games -including DOOM (tm) by ID Software - use proprietary 
protected-mode kernels to manage the complexity of game development. Now, we want to make this technology affordable for individual programmers and small start-up companies.

A multitasking kernel allows you to split your game in many different concurrent tasks, so that you can concentrate in solving one problem at a time. For example, if some sprites are moving on the sreen, you could use a task for each sprite, which only takes into account the positions of the other sprites when it receives a collision message. If you don't use a kernel, you have to write a single big loop moving all the sprites, checking for collisions, checking user input and so on. It is obvious that the later approach is much more difficult to code and difficult to test.

Our kernel is based in the microkernel architecture, that is, basic functions, 
such as scheduling and message passing are performed by a tiny module, referred to as the "microkernel", and any other services, such as networking, peripheral management, etc, 
are implemented by "kernel daemons" (system tasks) which run on top of that small 
microkernel. You can configure your system by adding components depending of your actual needs. (Contact APD for the availability of such extensions).

Both the microkernel and the kernel daemons are intended to be embedded
into your own applications, that is, you link them with your code, and while
the underlying operating system sees your application as a single executable, 
it internally manages several concurrent tasks.

APDMX Microkernel comes in two flavors : one for Borland C++ 4.02 
& PowerPack 1.0 or later versions and other for Watcom C/C++32 compilers
(version 10.0 and later). These compilers were chosen because they are 
capable to generate 32 bit protected mode-code and both have royalty-free
32-bit DOS extenders. If you think we should support another C/C++ compiler,
please let us know by mail or e-mail.

***** Definition of Shareware *****

Shareware distribution gives users a chance to try software before buying it.
If you try a Shareware program and continue using it, you are required to
register it (or purchase the licensed version).

Copyright laws apply to both Shareware and retail software, and the
copyright holder retains all rights. 

Shareware is a distribution method, not a type of software.
The Shareware system makes fitting your needs easier, because you
can try before you buy. And because the overhead is lower, so are the prices.
Shareware has the ultimate money-back guarantee -- if you don't use the
product, you don't pay for it. 

***** Package Contents *****

The standard distribution package contains the following files:

* readme.txt                this file

* license.txt               conditions and terms of the use of the software

* report.txt                form to send your feedback to us

* UKvvrrcd.OBJ              microkernel itself ( see next section)

* IMvvrrcd.EXE              TSR used to interface with real-mode code

* mmkernel.h                include file for sources using microkernel services

* manual.txt                of course, the user's manual

* examples.exe              autoextract file with some small programs using
                            microkernel services

If any file is lost, or you suspect there is any modified file, 
contact us at the addresses below for a "fresh" package.

***** Which version are you using ? *****

We use the following coding for file names:

Microkernel:		UKvvrrcd.OBJ
Real Mode TSR:	IMvvrrcd.EXE

where
               vv  is the version number
               rr  is the release number
               c   identifies the compiler ('B' stands for Borland, 
                                            and 'W' for Watcom)
               d   says whether it is a debug module or not 
                   ('D' debug, 'P' production)

For example UK0101BP.OBJ refers to version 1.1 for Borland compilers
(production module).

There's no difference in the file names between shareware and 
registered packages.

***** Differences between shareware and registered versions *****

- Registered version supports up to 256 tasks and 256 semaphores, whereas
shareware version only admits 16 tasks and 32 semaphores.

- Registered users receive free unlimited tech support through both mail
and e-mail.

- Debug module is only available for registered users. The debug module is
a microkernel with additional features like thorough parameter checking, 
monitoring of corrupted memory blocks, task profiling, state dumps an so on. This slow down execution, so once you have finished to debug your code, you link 
with the production module to run at full speed.

- Registered users receive latest version with printed manual and an online
help file (in Windows .HLP format).

***** Why send feedback *****

If you provide us with information about your activities and interests as
a developer, you may influence the orientation of our work
in order to produce tools that fit your development needs. We will appreciate
very much any comment or suggestion about possible ways to improve our
products.

No matter whether you are a registered user or not, if you find any bug in the
software not previously found by other users, we will send you a fixed version
as soon as it is available (registered or shareware, depending on your current
status ).

***** How to contact APD *****

Mail address:
                  APD S.A.
                  Antonio Lopez 234
                  28026 Madrid (SPAIN)
                  Attn. Enrique Velasco
                  
E-mail address for commercial and tech support issues:

                  microkernel.support@id.gapd.es

E-mail addresses for  technical discussion:

		evd@id.gapd.es
		Enrique.Velasco@isi.infolink.es

We also follow comp.os.misc and several others Newsgroups devoted to 
Systems & PC Programming.

***** About APD *****

APD is a manufacturer of computer hardware, software and peripherals, 
from Unix servers  to PCs to embedded computer boards. Our Company has 
divisions devoted to both systems software and  applications software 
development.

We are currently working in fundamental & applied research projects; 
several among them are partially funded by the European Comission 
through the ESPRIT initiative. APDMX Microkernel is based in results
from the ESPRIT Moonlight project.

