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.