home *** CD-ROM | disk | FTP | other *** search
-
- smx Dynamic Load Module Demo
-
- I. Introduction.
-
- This disk contains a demonstration of the smx Dynamic Load Module
- (smxDLM) environment. smxDLM is an enhancement to smx that allows the
- loading and executing of smx .exe files as tasks independent of the
- resident smx program that loads them. Source code for one of the DLM's
- is provided as an example. See prempt.c.
-
- If you wish to view the demo files now, you can exit to DOS (Ctrl-X).
- Otherwise, DLMdemo will run shortly after you are done viewing this file.
-
- Now that the demo files have been installed, you can run DLMdemo dir-
- ectly from your hard disk, if you wish, without going through rundemos
- again. To do this, change to the DLM subdirectory. Type, "dlm".
-
-
- II. Running DLMdemo.
-
- When DLMdemo first starts, it looks very simple. You only see the
- 'disk demo' task running. This task is in the resident part of the
- application. The other tasks are in DLM's which you can load or unload
- as you wish. A message at the bottom of the screen reminds you of their
- names to help when loading.
-
- In the middle of the screen are some statistics. On the bottom are
- instructions on loading and displaying DLM programs.
-
- Once you have loaded all of the DLM's, the screen looks much like our
- standard DOSdemo. This is because DLMdemo was adapted from DOSdemo,
- putting a single task in each DLM.
-
- Note that smxDLM allows multiple loading of DLM's, even though this demo
- does not permit it. In fact, this is a particularly useful feature, espec-
- ially when several tasks share the same code.
-
-
- III. Quick Guided Tour.
-
- To see a quick demonstration of smxDLM follow these steps:
-
- Type ^L (control L).
- Type 'sleep'. This is one of three previously prepared
- programs. Notice that where the 'WAKEUP' appears, on the
- 'timout task' line, there is also a flashing 'DLM' text
- string. This occurs every 3 ticks. Note: There seems to
- be some sort of conflict between rundemos and DLMdemo.
- WAKEUP appears properly when running directly rather than
- through rundemos. In rundemos, WAKEUP is continuously
- displayed, for some reason.
- Type ^U then 'sleep' and it will stop. This step is optional
- as any number of DLMs may be loaded and concurrently run.
-
- Type ^L again.
- Type 'prempt'. This loads a new, dynamically loaded 'preempter'
- task. It will appear below the line on which the resident
- preempter task displays. You may unload it by typing ^U and
- 'preempt' if you desire, or just let it continue.
-
- Type ^L to load the third prepared program. Its title is 'msg',
- so type that too. 'msg' will await a message from another task.
- To send it a message type ^T then, in reponse to the prompt,
- type any text string you want. When you press your keyboard's
- Enter key your message will be displayed by the 'msg' task,
- following the 'DLM received...' string. You do not have to wait
- until 'msg' is loaded to send a message. You may send it long
- before it is loaded, send as many as you like while its running,
- or send one after you've unloaded the 'msg' task. The latter
- message will appear as soon as you reload 'msg'.
-
- Enjoy,
- Ron Schow & David Moore
- 7/12/93.