home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-12-13 | 80.1 KB | 3,498 lines |
-
-
-
-
-
-
-
-
-
- -------------------------
- | |
- | |
- | |
- | V M i X 3 8 6 |
- | |
- | for |
- | |
- | MSDOS Environments |
- | |
- | |
- | |
- | Multiuser Operating |
- | Supervisor |
- | |
- | for the |
- | |
- | I B M PC / XT / AT |
- | |
- | |
- | Version 2.6X |
- | |
- | Technical Reference |
- -------------------------
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- By
-
- J. Anthony Borras
- Commercial Software Associates
- Post Office Box 36
- Corona del Mar, California 92625
- (714) 720-1214
-
- IBM PC/XT/AT are trademarks of the IBM Corp.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This manual was written by:
-
-
- Commercial Software Associates
- Post Office Box 36
- Corona del Mar, California 92625
-
-
-
-
-
-
- COPYRIGHT NOTICE
-
- Copyright (c) 1991 by: J. Anthony Borras
- All rights reserved
-
- No part of this program or related
- documentation may be copied, reproduced,
- stored in a retrieval system, or
- transmitted in any form or by any means
- electronic, mechanical, photocopied,
- recorded, or thereby translated into any
- language, without the prior written
- permission of the publisher. You may
- only make a copy of the program for
- backup purposes.
-
-
-
- LIMITED SHAREWARE LICENSE
-
- VMiX 386 may be copied for others to
- tryout, subject to the following copying
- restrictions specified by this time
- limited license:
-
- All copies distributed to others must
- include a copy of the Copyright Notice,
- the Limited Shareware License, Disclaimer
- of All Warranties and Liabilities, and
- Liabilities, and the Software License
- Agreement.
-
-
-
- Disclaimer of
- All Warranties and Liabilities
-
- Commercial Software (ComSoft) Associates
- makes no warranties, either expressed or
- implied, with respect to this manual or
- to the software described there in, its
- quality, performance, merchantability,
- or fitness for any particular purpose.
- VMiX 386 is sold or licensed `as is',
- and is for use by the original
- purchaser only, except as expanded by
- the Limited Shareware License described
- above. The entire risk, as to the
- quality and performance, of the VMiX
- experimental system is with the buyer.
- In the event of loss or damage caused
- or alleged to be caused by the VMiX 386
- program, the buyer (and not ComSoft, its
- distributors, or its retailers) assumes
- the entire cost of all necessary
- servicing, repair, or correction and
- any incidental or consequential damages
- resulting from any defect in the
- software or its use, even if ComSoft has
- been advised of the possibility of such
- damages.
-
-
-
-
-
- SOFTWARE LICENSE AGREEMENT
-
-
- The party, agrees that they will use the
- software entitled `VMiX 386' exclusively
- for their private use in their own
- personal system, not to exceed 3 CPU's.
- The party agrees that all copies of the
- VMiX 386 software package are the
- property of Commercial Software
- Associates, Westwood California and that
- all copies will display the original
- copyright.
-
- The party agrees that the location of all
- copies will be reported to Commercial
- Software Associates upon written demand.
- The licensee agrees to fill out and mail
- this registration form and license
- within 30 days of the start of the try-
- out period specified by the Limited
- Shareware License shown above. Support
- will be provided to registered licensees
- only.
-
- The party agrees that unauthorized use
- under this agreement will cause great
- damage to the licensor, Commercial Soft-
- ware Associates.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ---------------------------------------
- |
- |
- |
- |
- |
- CONTENTS |
- |
- |
- |
- |
- |
- ---------------------------------------
-
-
-
-
- INTRODUCTION Page
-
- Copyright Notice ................... 3
- Software License Agreement ......... 4
- Table of Contents .................. 5
- Quick Overview .................... 7
-
- The Shell Commands ................. 1- 1
- Command 1 - debug 1- 2
- Command 2 - rshell 1- 3
- Command 3 - remote 1- 4
- Command 4 - swap 1- 6
- Command 5 - chprio 1- 7
- Command 6 - exec 1- 8
- Command 7 - dosjob 1-10
- Command 8 - spawn 1-11
- Command 9 - kill 1-13
- Command 10 - quit 1-14
-
- The Debugger Commands .............. 2- 1
- Command 1 - assign 2- 2
- Command 2 - deassign 2- 6
- Command 3 - init 2- 7
- Command 4 - examine 2- 8
- Command 5 - set 2- 9
-
- The Utilities ...................... 3- 2
- Utility 1 - ps 3- 3
- Utility 2 - dstat 3- 4
- Utility 3 - dpath 3- 5
- Utility 4 - loadup 3- 6
- Utility 5 - outside 3- 7
- Utility 6 - monitor 3- 8
- Utility 7 - vsetup (.ini) 3-10
- Utility 8 - vt 3-13
- Utility 9 - vw 3-15
-
-
-
-
-
-
-
-
-
-
-
-
-
- ---------------------------------------
- |
- |
- |
- |
- |
- FIGURES: |
- |
- |
- |
- |
- |
- ---------------------------------------
-
-
-
- FIGURE DESCRIPTION Page
-
- Fig. 1 Default Channel Assignments 1- 4
- 2 Object type name definitions 2- 2
- 3 Terminal Emulations Supported 2- 9
- 4 Valid Baud Rates 2-10
- 5 Color Keys 2-12
- 6 Color Codes 2-13
- 7 Window Sizing Coordinates 2-14
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- QUICK OVERVIEW
-
-
- * VMiX provides the services of a multiuser operating system
- supervisor. The VMiX kernel ties tightly between the host
- operating system I/O services and the user applications.
- The goal of the VMiX kernel is to arbitrate the use of system
- resources by individual tasks, in an environment providing up
- to 16 megabytes of physical memory and virtualized devices.
-
- * The console screen can be automatically partitioned into up to
- four windows, for a total of 4 tasks executing from the console.
- The active task controls and responds to the console keyboard.
- The active task can be switched, at any time, by pressing the
- hot key, Shift-Tab. In 386 mode, you can have fully virtualized
- foregrounds, so each can be divided into up to four windows or
- you can have full screen foregrounds ('dosjob -W') independent
- from partitioned foregrounds.
-
- * VMiX does not need to operate in protected mode to multitask.
- Hence, it can be used in 8088 PCs. In 80286 mode, VMiX will
- use protected mode only during task swapping. In 80386 mode,
- VMiX operates in protected mode at all times. System services
- are provided in SYSGATE.ASM to execute your own functions in
- protected mode.
-
- * REMOTE permits a user to call a remote PC running VMiX, and
- teleoperate, as if he were at the console of the remote PC.
- Useful for remote customer support of application programs,
- offsite login and operations. VMiX terminal drivers provide
- full CGA text mode emulation at a COMM port and will redirect
- direct video writes when in 386 mode.
-
- * Multiple BASIC or GWBASIC interpreter sessions are supported.
- Programs that write directly to video memory will also operate
- from a COMM port when using VMiX in 386 mode. In non-386
- computers you need to use a remote host utility like 'Remote
- Console'tm in conjunction with VMiX. 'Remote Console'tm is a
- product of Louis Wheeler (805) 481-5687.
-
- * Supports a maximum of five users (only because of COMM port
- limitations), each with multiple processes up to a maximum of
- 8 total.
-
- * SPAWN or '&' permits a script of VMiX shell commands to be
- submitted to a background process executing the VMiX shell.
- This allows for background jobs like compiling or printing by
- a concurrent child process.
-
- * DOSJOB permits keyboard interactive applications to be
- partitioned and managed as concurrent video display tasks.
- The -W option allows a new task to use virtualized video memory
- for their own separate display screen. Their display screen
- can be toggled to and from the foreground display.
-
- * VMiX supports graphics in CGA, MCGA, EGA, or VGA video modes.
- Loadable fonts and up to 80 line displays (with VMiX font
- type 1).
-
-
-
-
-
-
-
-
- * As explained in the manual, there are (5) five ways to execute
- a DOS command, .BAT file, .COM file, or .EXE program:
- with 'exec' (now optional),
- with a command line trailing '&',
- with 'spawn -c ???? ...',
- with the 'dosjob [-W]' command,
- or (the easiest way) by pressing Shift-Enter
- at the end of your command line.
-
- When VMiX starts, unless you issued an 'exec -m<size in Kbytes>'
- at the command line, VMiX will use memory partitions of 224Kb
- for (8088/80286) programs or partitions of 576Kb in 386/486
- processors.
-
- * Command line driven multitasking (default).
- Optional pull-down menus user shell.
- Optional VMiX.INI configuration file.
-
- * A remote session facility for linking two or more VMiX hosts.
- Remote user access passwords.
- Remote user program scripts.
-
- * Console operator status line 'set video -s'
-
- * Built-in debugger
- 'debug'
- 'monitor -f'
- 'monitor -r'
-
- * Memory manager and memory mapper
- 'monitor -m'
- 'monitor -p'
- 'examine mcb'
- 'examine memory'
-
- * A TSR load-hi utility for 386 mode.
-
- * User specified windows at either the console or VT-100 COMM
- terminal, with direct video write support.
-
- * Assembly and High Level Language interface.
- Interrupt 15h VMiX System Services.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C O M S O F T VMiX 386
-
-
-
-
-
-
-
-
-
-
-
-
- PART ONE
-
-
- VMiX 386
-
-
-
-
-
-
-
-
- REFERENCE
-
-
- THE SHELL COMMANDS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-1
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: debug
- ____
-
- OUTLINE:
- _______
-
- Purpose: To invoke the VMiX debugger shell.
- _______ This token is now obsolete, since all the debug
- commands can be invoked without the 'debug' prefix
- (from the Root Shell).
-
-
- DESCRIPTION:
- ___________
-
- debug is a root shell token. This command has 6 sub-tokens:
-
- set, init, examine, assign, deassign, and quit.
-
- 'debug', by itself, invokes the VMiX debugger shell. The
- debugger shell prompt is '- __________'. Once in the debugger
- shell, all the debug sub-tokens become first level tokens and
- you do not have to preceed them with the token 'debug'.
-
- VMiX accepts numeric input in two forms, decimal or hexadecimal.
- To enter hexadecimal numbers, preceede the number with the
- characters '0x'.
-
- To return to the root shell, from the debugger use the token
- 'quit'.
-
- NOTE: All six debugger sub-tokens can be used from the root
- shell level, whether you precede them with the token 'debug',
- or not. If used with the prefix 'debug', you will moved to the
- debugger shell when the current command completes. Without the
- prefix, you will remain at the root shell level.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-2
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: rshell
- ____
-
- OUTLINE:
- _______
-
- Purpose: To start a new VMiX/DOS command shell.
- _______
-
-
- DESCRIPTION:
- ___________
-
- 'rshell' is intended for use with the 'dosjob' command. When
- used with 'dosjob', a new process will be started and an rshell
- will be used as the command interpreter, in other words a new
- VMiX shell will be started. The 'quit' command will close
- the shell and terminate the process.
-
- When 'rshell' is used as a command, by itself, a new nested
- shell will be started under the current VMiX shell. The 'quit'
- command will cause a return to the previous shell.
-
- You would use this command in VMiX.INI under the [remote
- startup] Section, if you wished to have passwords checked
- during a remote login (See VSETUP.EXE).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-3
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: remote
- ____
-
- OUTLINE:
- _______
-
- -a " toggles global polling ON/OFF"
- -c " sets remote console channel"
- -i " toggles fast RS232 ON/OFF"
- -l " sets terminal login channel"
- -x " toggles remote logins ON/OFF"
-
- Purpose: To control your PC's remote serial capabilities via a
- _______ modem or terminal connection.
-
-
- DESCRIPTION:
- ___________
-
- Normally, VMiX only polls the channel specified with the
- 'remote -l' command or the 'set remote -l' command for new
- user logins. The default channel is 1, equivalent to COM1.
- Other tasks can be currently using other channels, this command
- only affects which channel is currently being listened to for
- new user logins.
-
- The 'remote -a' command is equivalent to the 'set remote -a'
- command it tells VMiX to listen on all ports. This slows the
- scheduler, so it is not the default.
-
- The root shell command 'remote -c' will terminate VMiX, but
- it first assigns STDIO to the channel specified after the -c
- switch. Therefore, MS-DOS resumes at the device associated
- with the channel. This command is different from the command
- 'set remote -c', which relocates the console but does not
- terminate VMiX.
-
- Pressing <Ctrl> F from the terminal, followed by a <Ctrl> Z,
- will effect an emergency return to the console video and
- keyboard. The correct way to return is to use the 'assign' to
- PROCESS command and assign the process channel 0.
-
- The 'remote -i' command is used to toggle RS-232 communications
- between polled or interrupt driven I/O. When you 'set baud' for
- a COMM channel above 9600 Baud, the serial port associated with
- the channel will be automatically programmed for interrupt
- driven I/O. However, you must toggle interrupts TRUE, with
- this command, if you want a baud rate below 19200 to use
- interrupts. In the few cases where you might want to use this
- command, you must use it BEFORE you 'set baud'.
-
- The 'remote -l' command is equivalent to the 'set remote -l'
- command. Both set the currently polled channel for new logins.
- Use 'examine status' to display the current assignment.
-
-
-
-
- The Shell Commands page 1-4
-
-
- C O M S O F T VMiX 386
-
-
- The 'remote -x' command is equivalent to the 'set remote -x'
- command. They act as a toggle to disable or enable all logins.
- The default state is logins enabled. Use 'examine status' to
- display the current state.
-
-
- DEFAULT CHANNEL ASSIGNMENTS:
-
- 0 CONSOLE
- 1 COM1 serial port
- 2 COM2 serial port
- 3 COM3 serial port
- 4 COM4 serial port
- 5 LPT1 printer device
-
- Example batch file to start VMiX and go remote to COM1. If the
- terminal type is to be a VT-100, then the batch file would
- contain the command line:
-
- vm_boot set terminal -t4 / remote -c1
-
-
- While in REMOTE mode, FUNCTION KEY emulation can be toggled by
- pressing the <Ctrl> F keys (one beep) from the terminal's
- keyboard.
-
- Note that the digit (numbers) keys on the terminal's keyboard
- will now act as [F0] through [F9] keys. The [Ins], [Del], and
- [End] keys can now be invoked by pressing ^I, ^D, and ^E
- respectively. The terminal's arrow keys and [Home] key will
- simulate these keys and the terminal's <Shift> key will act as
- the IBM PC's <Alt> key (See Figure 3).
-
- Press ^F a second time (two beeps) to return to numeric keys.
-
-
-
-
-
- Refer to the 'set baud' command for information about setting
- the baud rate for remote channels.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-5
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: swap
- ____
-
- OUTLINE:
- _______
-
- Purpose: To swap a task to/from extended memory.
- _______
-
-
- DESCRIPTION:
- ___________
-
- This is the VMiX task switcher function. It will move a task
- to and from extended memory. When a task is in extended memory
- it will be inactive until swapped back by the user. If you have
- toggled the swapper with the 'set system -s' command, then the
- VMiX scheduler will regularly move the task down to conventional
- memory for a timeslice of the computer and swap it back to let
- other tasks execute.
-
- The command syntax is:
-
- swap [ process id ]
-
-
- If a process is in low memory, it will be swapped to extended
- memory. If the process is already swapped, then it will be
- moved back to low memory and resume execution.
-
- Swapped processes will not normally execute, and will stay
- suspended until they are swapped again to low memory.
-
- To allow swapped tasks to also execute, (less frequently than
- in-memory tasks) use the command 'set system -s' to inform the
- scheduler to include swapped tasks. The default is no
- time-slice scheduling for swapped tasks.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-6
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: chprio
- ____
-
- OUTLINE:
- _______
-
- Purpose: To change the executing priority of a VMiX process.
- _______
-
-
- DESCRIPTION:
- ___________
-
- All VMiX processes are assigned a default base priority of 7,
- at start-up. Priorities are adjusted constantly by the
- scheduler. They dynamically change within the range 2 through
- the assigned base maximum for the process. When you use the
- command 'chprio', you set the base maximum priority a process is
- allowed to float to. VMiX uses this float, for example, to 'up'
- the priority of a process, when the keyboard is used. Task
- switching, also adjusts the current priority. A process with a
- base priority of 14 will execute twice as fast as another at
- priority 7, all other things being equal. A process with
- priority 1 will not execute at all. It will sleep until you
- 'up' the priority above 1, with 'chprio'.
-
- VMiX priorities range from a high of 31 to a low of 0. The
- scheduler always chooses the process with the highest current
- priority. The scheduler round robin's processes with the same
- priority. After a task executes for its timeslice duration, its
- current priority is dropped by 1, to allow other lower priority
- tasks to execute. When the priority drops to 2, the priority of
- the process is reset to the base maximum.
-
- The token 'chprio' is used to change the base and current
- priority of any process to a new value. The effect of the
- command is to set the base maximum priority for the process and
- at the same time make the current priority equal to the
- specified base.
-
- The command syntax is:
-
- chprio [ pid [ / priority ] ]
-
- where, pid is the process id of the target process, and
- priority is a value between 0 - 31. If only chprio is entered,
- then the shell will prompt for the two arguments. The default
- pid, if you only press <ENTER>, is the current process id
- The default priority is the base priority of the target process.
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-7
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: exec
- ____
-
- OUTLINE:
- _______
-
- -m " sets transient program memory partition size:
- (0 - 1024K)"
-
- Purpose: To execute a valid MS-DOS file or command or to set
- _______ the program partition size in kilobytes.
-
-
- DESCRIPTION:
- ___________
-
- This command provides a direct but limited interface to MS-DOS.
- The 'exec' token can be used (with no switches) to execute any
- MS-DOS command string from within a VMiX root shell. The main
- purpose of exec is to execute an MS-DOS file. It can be invoked
- by itself or in conjunction with the spawn token.
-
- 'exec' is normally not explicitly used from a VMiX shell, since
- VMiX passes commands it does not recognize to MS-DOS. However,
- in case of a name conflict between a VMiX comand and an MS-DOS
- command, you would need to use 'exec' explicitly. Example:
- 'exec set' or 'exec debug.com'.
-
- The command syntax is:
-
- exec [ MS-DOS command ]
-
- The utility of 'exec' for invoking executable images from within
- a VMiX process is limited because 'exec' uses the MS-DOS
- command.com loader. The MS-DOS loader makes assumptions about
- memory allocation, which do not conform to a multiuser
- environment like VMiX.
-
- In non-386 mode, two or more VMiX processes can use the 'exec'
- command to access MS-DOS provided that:
-
- a) All transient program memory has not been previously
- grabbed by a program (.COM programs will do this, as well
- as some .EXE program).
-
- The -m switch is used with the 'exec' command to control the
- amount of memory that .COM or .EXE programs will be allowed
- to grab. The amount of memory made available to individual
- programs, is refered to as the partition size.
-
- The command syntax is:
-
- exec -m [ max. Kbytes ]
-
- where, the number of Kbytes specified sets the partition size
- and limits the amount of memory that a program can allocate.
-
-
- The Shell Commands page 1-8
-
-
- C O M S O F T VMiX 386
-
-
- Example: 'exec -m128<ENTER>', will limit programs to a
- maximum of 128 kilobytes.
-
-
- b) MS-DOS is not busy with a nested function call beyond the
- initial 'exec' call from VMiX. If another VMiX process has
- also invoked MS-DOS services that have not completed, then
- VMiX will wait for MS-DOS to say that it can handle another
- request.
-
- When VMiX encounters this situation, it will print a message:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-9
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: dosjob
- ____
-
- OUTLINE:
- _______
-
- -W " gives process the full screen"
-
- Purpose: To execute an MS-DOS command, and/or a series of VMiX
- _______ shell commands, in full screen or automatic window.
-
-
- DESCRIPTION:
- ___________
-
- 'dosjob' spawns a child process that executes a string of
- commands, input immediately following, and on the same
- line as the 'dosjob' token.
-
- This command provides the main interface to multitasking and
- MS-DOS. The main purpose of 'dosjob' is to execute an MS-DOS
- file or command. It can also be invoked in conjunction with
- other VMiX shell commands. For example, a 'dosjob', can include
- another 'dosjob' command in its job string.
-
- The difference between 'dosjob' and 'exec', is twofold.
- 'dosjob' will start a new process to execute the job string,
- while 'exec' will use the current process. Second, 'dosjob',
- (without the -W option) will open a new window for the process,
- while 'exec' will use the bounds of the current shell process.
-
- The command syntax is:
-
- dosjob [-W] [ MS-DOS command ]
- [ / [ command ] /... ]
-
-
- NOTE: 'dosjob' essentially performs an 'assign' of a new
- SRCSINK channel to the console, followed by a 'set
- video -W' and a 'spawn' of a new child process, to
- execute the input command string.
-
-
- NOTE: There is a direct keyboard combination to invoke a
- 'dosjob'. Pressing Shift-Enter or Shift-Shift-Enter,
- will start a new task, just as if you had typed 'dosjob'.
- The Shift-Enter is used, instead of just the Enter key,
- after typing a command. If both Shift toggles are
- pressed when the Enter key is hit, the new task will use
- the full screen. If only one Shift is held down, the
- task will start in a new window.
-
-
-
-
-
-
-
- The Shell Commands page 1-10
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: spawn
- ____
-
- OUTLINE:
- _______
-
- -c " sets spawn I/O channel and shell script"
-
- Purpose: To dispatch a background task to be performed
- _______ independently and concurrently with everything else.
-
-
- DESCRIPTION:
- ___________
-
- 'spawn' creates a new child process, owned by the invoking
- shell. The channel specified immediately after the -c switch
- becomes the STDIO channel for the new process. After the
- channel number, a script of VMiX shell commands can be entered.
- Multiple commands are input, separated by a valid VMiX delimiter
- ('/' ',' tab or space).
-
- The command syntax is:
-
- spawn -c???? [ [ command ] /... ]
-
- A way to implement EMAIL in your system, is to have a user spawn
- an exec job to somebody else's channel, where the 'exec' merely
- types a newly created text message file:
-
- spawn -c1 / exec type b:\news\myfile.txt
-
-
- A more elegant way is to assign a new channel to the device COM1
- or COM?, so that we can create a window without disturbing the
- user. If a window is created on the user's own channel, then we
- have modified his environment from our side.
-
- By using 'dstat -a', we can determine the port # to use to talk
- with our target user. In VMiX, ports refers to physical
- devices, and channels are logical connections to those devices.
- Assume we determined that he is using COM1. From the debugger
- shell, we first enable system messages, to see what channel
- number VMiX will allocate during our 'assign' command:
-
- set system -m (enables manager msgs.)
-
- then we grab a channel,
-
- assign srcsink 1 (the 1 requests COM1, if you prefer to be
- prompted, just type 'assign')
-
- assume that we were informed that channel 6 was assigned, then:
-
-
-
-
-
- The Shell Commands page 1-11
-
-
- C O M S O F T VMiX 386
-
-
- now we 'spawn' to channel 6,
-
- spawn -c6 / set video -w1 40 10 79 / type b:\news\myfile.txt
-
-
- This created a 10 x 40 window (via channel 6) at the top right
- corner of his display. In the example above, the command
- 'set video -W' could have been used, in place of our manual
- 'set video -w....' .
-
- Still, a better EMAIL system could be written using the VMiX
- API System Services listed in sysgate.asm.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-12
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: kill
- ____
-
- OUTLINE:
- _______
-
- Purpose: To terminate the execution of an image (.EXE or .COM)
- _______ from a process other than the owner. If the target
- process shell is not executing an image, then the
- process is killed.
-
-
- DESCRIPTION:
- ___________
-
- 'kill' allows a hard terminate of a process or image to be
- commanded from another process. This command has two levels
- of action. If the target process shell is executing an image
- started by a previous exec call, then that image is terminated
- via an MS-DOS INT 20h system call. If no image is being
- executed then 'kill' will terminate the target process.
-
- The command syntax is:
-
- kill [ process id ]
-
- The utility 'PS.EXE', will list all active (pid's) process id's.
-
- SECURITY: The kill command will normally not allow a user to
- ________ terminate another user's process. Only root or the
- 'su' superuser has the access priviledge to terminate
- all/any. A regular user can only terminate his own
- spawned processes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-13
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: quit
- ____
-
- OUTLINE:
- _______
-
- Purpose: To terminate the shell and exit.
- _______
-
-
- DESCRIPTION:
- ___________
-
- 'quit' decrements a process's shell level (number of nested
- shells) by one and returns to the previous shell, if any.
- The root shell is VMiX's top shell for any given user process
- If this command is invoked at the root shell level, the user
- process is ended.
-
- Normally, the first process started at the console has root
- privilege. If the process has privilege and is also the root
- VMiX process, then VMiX is also terminated.
-
- In other words, if you are at the first VMiX shell you type
- 'quit' to end VMiX and return to DOS, otherwise 'quit' will just
- terminate the current shell or process.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Shell Commands page 1-14
-
-
- C O M S O F T VMiX 386
-
-
-
-
-
-
-
-
-
-
-
-
- PART TWO
-
-
- VMiX 386
-
-
-
-
-
-
-
-
- REFERENCE
-
-
- THE DEBUGGER COMMANDS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Debugger Commands page 2-1
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: assign
- ____
-
- OUTLINE:
- _______
-
- 'assign' allocates a VMiX channel to an owner UID (universal id)
- and assigns a VMiX object to the channel.
-
- 'assign' allocates extended memory.
-
- 'assign gdt' allocates a VMiX 386 global descriptor table entry,
- returning a new segment selector for either code or data.
-
-
- DESCRIPTION:
- ___________
-
-
- VMiX CHANNEL MANAGER OVERVIEW
- _____________________________
-
- The function of the channel manager is usually transparent to
- the user, but experienced users can make use of the low level
- interface and manipulate channels directly.
-
- The VMiX input/output system consists of I/O objects and I/O
- channels. All VMiX objects are assigned an universal identifier
- or UID, including processes. The 'assign' command is provided
- to establish connections between objects by assigning channels
- that link the connection, usually to an external port number.
- These assigned channels can then be referenced by other VMiX
- commands.
-
- The basic VMiX objects consist of the following:
-
- OBJECT TYPE NAME DEFINITIONS
-
- PROCESS type is a process
- SRCSINK type is a tty terminal
- CHRSINK...type is a printer
- DSKFILE type is a file
- MEMORY type is a memory block
- BLKSINK type is a disk drive
- MANAGER type is an obj manager or driver
- MAILBOX type is a mailbox
- DATLINK type is a data link
-
-
- PORTS these are external resources like serial COMM ports
- or LPT printer ports (they are sequentially numbered
- starting at 0).
-
-
-
-
-
-
- The Debugger Commands page 2-2
-
-
- C O M S O F T VMiX 386
-
-
- Internally, objects are assigned a numeric identifier or UID.
- These can be listed by the utility 'DSTAT.EXE'. Channel numbers
- are assigned sequentially on a first use basis. Deassigned or
- free channel numbers are reused. 'assign' can be used to
- allocate extended memory, to establish channels to external
- ports, and to assign channels to processes.
-
-
- The general syntax for the 'assign' command is:
-
- assign [ client UID / process id ] [ object type ]
- [ target port / channel id ]
-
- where,
-
- UID is the identification of the new owner for the channel.
- Note: if the owner is to be a process, the PID is equivalent to
- the UID of the process.
-
- If client process id is omitted, it defaults to the current
- process.
-
-
- The object type is one of the 9 type names described above.
- The complete name must be typed, in upper or lower case.
-
- Ports available for use with SRCSINK type objects (terminals):
-
- 0 The Root Console
- 1 COM1:
- 2 COM2:
- 3 COM3:
- 4 COM4:
-
-
- Ports available for use with CHRSINK type objects (printers):
-
- 1 LPT1:
- 2 LPT2:
-
-
-
- This command syntax creates a channel by linking it to a port:
-
- If object type is SCRSINK, then the third argument is a COMM
- port (0-4), where 0 refers to the console and 1 - 4 are serial
- ports.
-
- If object type is CHRSINK, then the third argument is an LPT
- port (1-2).
-
-
-
- This command syntax assigns a previously created channel to a
- running process:
-
- If object type is PROCESS, then the third argument is a
- previously assigned channel id.
-
-
- The Debugger Commands page 2-3
-
-
- C O M S O F T VMiX 386
-
-
- You can use the 'assign process' syntax to assign a new STDIO
- channel to your executing process. The original STDIO channel
- of the process will remain available for restoring the process
- back to its original state. You must repeat the 'assign', and
- give the process its old channel id.
-
- The general syntax for the 'assign process' command is:
-
- assign [ client process id ] PROCESS
- [ channel id to assign ]
-
- If client process id is omitted, it defaults to the current
- process. The new channel you assign must already exist.
-
- You can reassign a process standard I/O (keyboard and video) to
- the console, to a COMM port, or to a printer type channel. For
- example, to redirect process #1 (use PS.EXE to get the process
- id) to COM2 (channel #2), you would type:
-
- assign 1 PROCESS 2
-
- Again, VMiX will prompt you for any arguments missing after the
- 'assign' command, except for the first argument which is an
- optional argument.
-
-
-
- This command syntax assigns an extended memory block:
-
- If object type is MEMORY, then the third argument is a block
- size in bytes, to assign to the channel. The size will be
- rounded-up to the nearest 64k block. Only extended memory can
- be allocated by this command.
-
- The extended memory pool can be listed with the utility
- 'MONITOR.EXE -p'.
-
-
- NOTE: To be informed, on the screen, of the channel assigned by
- this command, use the debugger command 'set system -m' to enable
- channel manager messages, before the assign.
-
- NOTE: When assigning a channel to a SRCSINK that is going to be
- used for logins, the UID identifing the new owner of the channel
- must be set to 0, to indicate the UID of the scheduler,
- (example, 'assign 0 srcsink 1').
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Debugger Commands page 2-4
-
-
- C O M S O F T VMiX 386
-
-
- Assigning 386 Global Descriptors:
-
- The command syntax is:
-
- assign gdt [ access [ / size ] [ / segment ] ]
-
-
- where,
-
- access is usually entered as the word 'code', if the segment is
- a code segment or as the word 'data', if the access byte of the
- gdt descriptor is to be set to data segment access rights. The
- user can also enter a decimal or hexadecimal value, if he wishes
- to override the default access rights value that VMiX uses for
- its segments.
-
- The parameters can be entered in hexadecimal, using the format
- 0x???? (example, 'assign gdt 0x9B 10 0xF000'
- or 'assign gdt code 10 0xF000').
- size is the size that the segment is to have, specified as the
- number of 512 Byte pages.
-
- segment is the segment address in physical memory that the
- selector is to translate to, when loaded onto a segment
- register.
-
- If mamager messages are enabled, this command will return a new
- selector id.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Debugger Commands page 2-5
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: deassign
- ____
-
- OUTLINE:
- _______
-
- 'deassign' deallocates a VMiX channel.
-
- 'deassign gdt' deallocates a VMiX gdt selector.
-
- 'deassign mem' deallocates a VMiX extended memory block.
-
-
- DESCRIPTION:
- ___________
-
- The command syntax is:
-
- deassign [ channel ]
-
- where,
-
- channel specifies the channel number to deassign. This can be a
- dangerous command to execute, since STDIO to the root console
- (channel 0) could be deassigned, freezing the console. If no
- other shell is running, there is no way to assign the STDIO to
- the root console again.
-
- NOTE: To be informed, on the screen, of the channel and
- IO Request Packets (IRP) deassigned by this command, use the
- debugger shell command 'set system -m' to enable channel manager
- messages, before the 'deassign'.
-
-
-
- The command syntax is:
-
- deassign gdt [ selector ]
-
-
- where,
-
- selector is the gdt selector returned by an 'assign gdt'.
-
-
-
- The command syntax is:
-
- deassign mem [ page ]
-
-
- where, page is the extended memory page to return to the free
- memory pool. The memory was previously assigned with the
- 'assign' command.
-
- The extended memory pages can be listed with the utility
- 'MONITOR.EXE -p'.
-
- The Debugger Commands page 2-6
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: init
-
- OUTLINE:
-
- comm
- -c " sets communications:
- chan, baud, parity, word, stop"
-
- print
- -p " inits parallel port: chan"
-
-
- DESCRIPTION:
- ___________
-
- (See 'set baud'.)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Debugger Commands page 2-7
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: examine
- ____
-
- OUTLINE:
- _______
-
- mcb " displays information on the MS-DOS memory control
- blocks"
-
- memory " displays or modifies memory"
-
- status " displays system configuration"
-
-
- DESCRIPTION:
- ___________
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Debugger Commands page 2-8
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: set
- ____
-
- OUTLINE:
- _______
-
- This is the basic configuration function. There are several
- keywords that can be given after the 'set' token to further
- specify the area for configuration.
-
- baud
- -c " sets communications:
- chan, baud, parity, word, stop"
-
- dos
- -f " toggles DOS process file inherit ON/OFF"
- -n " sets DOS INT21 function maximum nesting level"
- -p " sets DOS current process PSP: nuPSP(seg)"
- -s " sets DOS virtual size: nusize (4Kb blocks)"
-
- font
- -t " sets font type: (0 - 3)"
-
- pool
- -a " adjusts program memory: MCB(seg), nusize(para)"
- -m " sets program partition size: (0 - 1024K)"
- -o " sets program memory owner: MCB(seg), nuPSP(seg)"
-
- process
- -b " sets process shell buffer size: (0 - 127)"
- -e " toggles environment protection ON/OFF"
- -h " toggles hardware priviledge ON/OFF"
- -s " toggles system priviledge ON/OFF"
- -w " sets preemption I/O wait cycles: count"
-
- remote
- -a " toggles global polling ON/OFF"
- -c " sets remote console channel"
- -i " toggles fast RS232 ON/OFF"
- -l " sets terminal login channel"
- -x " toggles remote logins ON/OFF"
-
- system
- -c " toggles cursor emulation ON/OFF"
- -d " sets duration of task slice: tickcnt - 1"
- -m " toggles operator messages ON/OFF"
- -s " toggles swapper ON/OFF"
- -t " toggles scheduler ON/OFF"
- -v " toggles maximum DOS size ON/OFF"
- -w " sets shutdown wait delay: seconds"
-
- terminal
- -t " sets terminal type: (0 - 9)"
-
-
-
-
-
- The Debugger Commands page 2-9
-
-
- C O M S O F T VMiX 386
-
-
- video
- -c " sets video background/foreground colors"
- -C " sets window background/foreground colors"
- -m " sets video mode: (0 - 18)"
- -p " sets video page: (0 - 3)"
- -s " toggles status display ON/OFF"
- -w " sets window size: row0, col0, row1, col1"
- -W " auto partitions task windows (Shift-Tab toggles kbd)"
-
-
- DESCRIPTION:
- ___________
-
-
- VMiX SERIAL COMMUNICATIONS
- __________________________
-
- set baud
-
- A valid channel (normally equivalent to a COMM port 1 to 4) must
- be given after the -c switch.
-
- The command syntax is:
-
- set baud -c [ channel id ] [ baud rate ] [,] [ parity ] [,]
- [ word size ] [,] [ stop bits ]
-
- VALID BAUD RATES
-
- 300 [ same as 30 ]
- 1200 [ same as 12, 120 ]
- 2400 [ same as 24, 240 ]
- 4800 [ same as 48, 480 ]
- 9600 [ same as 96, 960 ] (Default Baud Rate)
- 19200 [ same as 192, 1920 ] (Always interrupt driven)
- 38400 [ same as 384, 3840 ] (Always interrupt driven)
- 115200 [ same as 115, 1152 ] (Always interrupt driven)
-
-
- All parameters, except the channel number and the Baud Rate
- are optional.
-
- There can only be one channel at a baud rate above 9600, at any
- one time. To set a different channel to a high baud rate, you
- must first close (reset) the current interrupt driven channel
- by using the command 'set baud -c????' (where ???? is the
- channel id). Note that no new baud rate is specified. After
- this command completes, you may set baud, specifying a new
- channel.
-
-
- VMiX INT 14h - Driver Note:
-
- When programming to the BIOS INT 14h Serial Service, VMiX uses
- the BIOS codes for:
- 110 Baud as the code for 19200 Baud
- 150 Baud as the code for 38400 Baud
- 600 Baud as the code for 115200 Baud
-
-
- The Debugger Commands page 2-10
-
-
- C O M S O F T VMiX 386
-
-
- set terminal
-
- The 'set terminal -t' command is used to specify one of 7
- terminal emulations available at the VMiX serial ports
- . Depending what you have connected as a user station to one of
- the host ports, you might need to select a different emulation
- than the default ANSI.
-
- TERMINAL EMULATIONS SUPPORTED
-
- -t0 = TELEVIDEO 910/920
- -t1 = ADM3A
- -t2 = VT-52
- -t3 = ZENITH H19
- -t4 = VT-100
- -t5 = Ansi (Default terminal emulation)
- -t9 = tty
-
-
-
- VMiX MEMORY
- ___________
-
- set pool
-
- The -m switch can be used to control the amount of memory .COM
- or .EXE programs can grab. This command is equivalent to 'exec
- -m'.
-
- The command syntax is:
-
- set pool -m [ max. K bytes ]
-
-
- The -a switch is provided with the 'set pool' command, to
- allow for the release of memory previously allocated by MS-DOS
- or to change the size of an MS-DOS memory control block. This
- option can also be used to increase or decrease a VMiX memory
- control block, and hence the number of pages of memory in the
- conventional memory pool. The function depends on whether the
- segement address passed is for an MS-DOS MCB, or a VMiX MCB. In
- the later case, the paged memory pool is affected. This can be
- a dangerous option. To help in determining the arguments for
- this switch, use the command 'examine mcb'. It will list the
- memory control block chain, in low memory.
-
- The command syntax is:
-
- set pool -a [ MCB address [ / nusize ] ]
-
-
- where,
-
- the segment address of the MCB and nusize must be specified only
- in hexadecimal format. (example, 'set pool -a 26F0 / AF8).
-
-
-
-
-
- The Debugger Commands page 2-11
-
-
- C O M S O F T VMiX 386
-
-
- The -o switch is provided to allow for the change of ownership
- of memory previously allocated by MS-DOS.
-
- The command syntax is:
-
- set pool -o [ MCB address [ / nuPSP ] ]
-
-
-
- VMiX SCREEN COLOR SELECTION
- ___________________________
-
- Alphanumeric Text Modes:
-
- The command syntax is:
-
- set video -c [ color code ]
- set video -C [ color code ]
-
-
- The color code is a 2 digit hexadecimal number of the form:
-
- 0xBF
-
-
- where,
-
- B is the background color key and F is the foreground color key,
- selected fron the table below. To use this method, the color
- code argument must be entered in hexadecimal format. Because
- the argument is in hexadecimal, it must be preceeded by an '0x'.
-
-
- COLOR KEYS
-
- B BACKGROUNDS F FOREGROUNDS
-
- 0 black 0 black 8 gray
- 1 blue 1 blue 9 lt. blue
- 2 green 2 green A lt. green
- 3 cyan 3 cyan B lt. cyan
- 4 red 4 red C lt. red
- 5 magenta 5 magenta D lt. mag
- 6 brown 6 brown E yellow
- 7 white 7 white F brt white
-
-
- Graphics Modes:
-
- The command syntax is:
-
- set video -c [ color code ]
- set video -C [ color code ]
-
- The color code is a decimal or hexadecimal number which
- represents the pixels on(1) or off(0) binary patterns on the
- screen. See the color code table given below.
-
-
-
- The Debugger Commands page 2-12
-
-
- C O M S O F T VMiX 386
-
-
- COLOR CODES
-
- DECIMAL HEXADECIMAL
-
- 0 0x00 00000000 black
- 85 0x55 01010101 gray
- 170 0xAA 10101010 gray
- 255 0xFF 11111111 white
-
-
-
- VMiX CONSOLE STATUS LINE
- _______________________
-
-
- set video
-
- -s " toggles status display ON/OFF"
-
-
- The VMiX status line displays at the bottom of the console
- display, when enabled with the command 'set video -s' from the
- Root Shell. You should enable the status line BEFORE other
- tasks are started. If the status line is enabled after other
- windows are running, the screen for those tasks might not
- display the correct number of program lines.
-
- The status line displays:
-
- the time
- the current console VIO channel and task name
- the current console video mode
- the keyboard toggle keys
- [Ins]
- [Num Lock]
- [Caps Lock]
- [Scroll Lock]
-
-
-
- VMiX WINDOW SIZING
- __________________
-
-
- set video
-
- -w " sets root window size: y0, x0, y1, x1"
-
-
- The -w switch is used to specify the bounds of a new root
- window. A root window is where all user dialog with the
- operating system takes place.
-
-
-
-
-
-
-
-
- The Debugger Commands page 2-13
-
-
- C O M S O F T VMiX 386
-
-
- 0
- --------------------------------------------------------
- | VMiX.386 2.6X Copyright ComSoft, Inc.1991|
- |--------------------------------------------------------|
- | |
- | |
- r | TOP left corner |
- | *---------------------------- |
- Y o | |y,x | |
- | | WINDOW | |
- w | | | |
- | | y,x| |
- | ----------------------------* |
- | BOTTOM right corner |
- | |
- | |
- 24 --------------------------------------------------------
- 0 column 79
- X
-
-
- The command syntax is:
-
- set video -w [ [ top row ]
- [ , top col ]
- [ , bot row ]
- [ , bot col ] ]
-
-
-
- VMiX AUTO SCREEN PARTITIONING
- _____________________________
-
-
- set video
-
- -W, " auto partitions task windows
- (Shift-Tab moves kbd between windows)"
-
- Supports multitasking from the console (up to 4 windows).
- Note that the 'W' must be typed in upper-case, to distinguish
- it from the manual Size Window command, described above.
-
-
- The command syntax is:
-
- set video -W
-
-
- This command is sensitive to the number of channels that have
- been assigned to COM0, the console. It uses this count to
- determine the number of windows to divide the screen.
-
- The 'set video -W' command, is intended to work in cunjunction
- with the 'assign' command. The purpose is to split the screen
- to accomodate a new channel assigned for a console task, yet to
- be spawned.
-
-
-
- The Debugger Commands page 2-14
-
-
- C O M S O F T VMiX 386
-
-
- The nominal set of commands needed to manually start a
- background/windowed task at the console is:
-
- 'set system -m' will enable operator messages
-
- 'assign srcsink 0' will grab a new console (device 0)
- channel and display its id # ????
-
- 'spawn -c???? set video -W / exec .....' will spawn a new
- background task to
- channel ?? assigned
- and partition the
- screen
-
- (press Shift-Tab to move the keyboard to the new task
-
- The above sequence can be replaced by the simpler to use,
- single command:
-
- 'dosjob .....'
-
- where ..... is the same user job string input with spawn, above.
-
- 'dosjob set video -W / exec .....'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Debugger Commands page 2-15
-
-
- C O M S O F T VMiX 386
-
-
-
-
-
-
-
-
-
-
-
-
- PART THREE
-
-
- VMiX 386
-
-
-
-
-
-
-
-
- REFERENCE
-
-
- THE UTILITIES
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-1
-
-
- C O M S O F T VMiX 386
-
-
-
-
- VMiX includes 8 utility programs:
-
- PS.EXE
- DSTAT.EXE
- DPATH.EXE
- LOADUP.EXE
- OUTSIDE.EXE
- MONITOR.EXE
- VT.EXE
- VW.EXE
-
-
- These programs assist VMiX users and are described below.
-
- Note that you do not need to be in a VMiX shell to execute one
- of the utilities. VMiX only needs to be resident. You may
- shell out of a word processing program running under VMiX and
- execute a utility from DOS.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-2
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: ps.exe
- ____
-
- OUTLINE:
- _______
-
- ps " displays all processes status"
-
-
- DESCRIPTION:
- ___________
-
- This utility displays a list of all currently active processes.
- Information on the job being executed, the current priority and
- assigned STDIO channel are listed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-3
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: dstat.exe
- ____
-
- OUTLINE:
- _______
-
- dstat " displays all VMiX objects and channel information"
-
- -a " selects only assigned objects"
- -r " selects only free objects"
-
-
- DESCRIPTION:
- ___________
-
- This utility display the object id's of VMiX objects, the type
- of object and assigned channels. If no channel is assigned,
- then -1 is displayed. The scheduler (process id 0) owns free
- objects and channels.
-
- If a channel is associated with a COMM port, dstat will
- also display the current baud rate setting for the channel.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-4
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: dpath.exe
- ____
-
- OUTLINE:
- _______
-
- dpath " sets directory search PATH for data files"
-
- -v " sets verbose mode (default)"
- -q " sets quiet mode"
- -r " allows data read only"
- -w " allows data read/write (default)"
- -h " displays help"
-
-
- DESCRIPTION:
- ___________
-
- DPATH is a public domain utility, modified to work with VMiX.
- This utility is similar to the MS-DOS command 'append' and lets
- you specify a path for DOS to use when searching for program
- data files (See DPATH.DOC).
-
- VMiX allows independent default disk drives for separate tasks
- (or shells) but only one default directory per drive. You will
- need to use DPATH when running multiple applications on the same
- drive which require different default directories. You use
- DPATH the same way you use the MS-DOS command PATH to specify
- the search path for executables.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-5
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: loadup.exe
- ____
-
- OUTLINE:
- _______
-
- loadup " VMiX loadhi utility to place TSRs above 640Kb"
-
-
- DESCRIPTION:
- ___________
-
- This utility can be executed from inside VMiX to load a TSR to
- upper memory above segment C000h. (386 Mode Only!)
-
- The loaded TSR will be visible only to the process that started
- it, since each VMiX task is virtually mapped to a separate
- virtual first megabyte. This means that you can have different
- (or the same) TSRs active for each partition.
-
- VMiX is compatible with XMS drivers, like HIMEM.SYS. However,
- VMiX will not work with other 80386 virtual memory managers,
- like EMM386.SYS, QEMM.SYS or 386MAX.SYS
-
- Since you can not use another extended memory manager when using
- VMiX, this utility has been provided to move TSRs to upper
- memory.
-
- The command syntax is:
-
- LOADUP [/help] [/segment=] [/size=] filespec
-
- We recommend that you do the first TSR load with /size=128
- (number of 1Kb blocks) and reduce the size if LOADUP reports
- memory unavailable.
-
- For subsequent TSR loads, invoke LOADUP with /size=0, since
- the upper memory block has already being assigned, but not
- necessarily all used. New TSRs will look for unused memory
- within the upper memory block assigned in the first LOADUP.
-
- When you first invoke LOADUP, you want to specify a size equal
- to the largest contiguous space available above your video ROM
- area (depending on your HDisk controller and other installed
- adapters, this area size is usually between 64 and 128
- kilobytes).
-
- If no size is given, LOADUP looks for 64 Kbytes in upper memory
- to load the TSR. The second, third, etc. time a TSR is loaded,
- you should specify a size of 0 (or if known, the actual size
- required by the TSR).
-
- If you know what you are doing, this utility will also allow
- you to specify the segment location (i.e., /segment=D000).
-
- If your TSRs requires less than 64 Kbytes, then 'LOADUP
- filespec' will work fine without any arguments.
-
- The Utilities page 3-6
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: outside.exe
- ____
-
- OUTLINE:
- _______
-
- outside " MS-DOS shelling utility for bulletin board
- software executing under VMiX"
-
- -c " selects the COMM port channel for the remote outside
- shell"
-
-
- DESCRIPTION:
- ___________
-
- Bulletin Board software usually allows you to install a program
- to execute when the SysOp desires to shell out to DOS to perform
- some maintenance.
-
- This utility allows you to shell to DOS, when running the BBS
- software under VMiX. 'Outside' will spawn a new task for the
- DOS shell, independent of the BBS task.
-
- -c1 shell to DOS on COM1 (default)
- -c2 shell to DOS on COM2
- -c3 shell to DOS on COM3
- -c4 shell to DOS on COM4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-7
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: monitor.exe
- ____
-
- OUTLINE:
- _______
-
- monitor " utility monitors process or system"
-
- -f " displays information on any open files on the system"
- -m " displays a memory map of the first megabyte of
- address space"
- -p " displays information on the VMiX paged memory pools
- in conventional and extended memory"
- -r " monitors process registers continuously: process id"
-
-
- DESCRIPTION:
- ___________
-
- The command syntax is:
-
- monitor [ -f ] [ -m ] [ -p ] [ -r ] [ process id ]
-
-
- If all switches are omitted, the process block of any specified
- process will be displayed. If no process id is given, you will
- be asked to supply one; if none is supplied, the default is the
- current process.
-
- When the '-r' switch is included before the process id, the
- process registers will be continuously monitored until the
- 'Esc' or the Ctrl Break key is pressed.
-
- While in the register viewing mode, pressing Ctrl S will put the
- process being viewed to sleep. Pressing Ctrl Q will wake the
- process.
-
- While in the register viewing mode, pressing the 'M' key will
- allow you to examine and/or modify memory locations.
-
- The address format is:
-
- segment [ : offset ] [ = byte ]
-
-
- where,
-
- the '= byte' is optional, for example:
-
- hex address? 550A displays segment 550A:0
- hex address? 550A:100 displays segment 550A:100
- hex address? 550A:100 = FF sets byte at 550A:100 to FF
-
- The 'examine memory' command does the equivalent from the VMiX
- shell.
-
-
-
- The Utilities page 3-8
-
-
- C O M S O F T VMiX 386
-
-
- 'monitor -f' allows all open files on a VMiX system to be
- globally monitored. Open files will be listed and revised until
- the 'Esc' key is pressed.
-
- 'monitor -m' displays a map of the first one megabyte of memory
- space. The screen displays memory in 1Kbyte (1024) blocks. If
- the block is in use by the system, then it is marked by a '$' or
- a solid black block, in graphics mode. If the block is in use
- by VMiX, then it is marked by a 'V' or a gray shaded block.
- Memory control blocks are distinguished by an '=' or a small
- solid black block with border, in graphics mode. Memory not in
- use is indicated by an '.' or a small solid white block with
- border.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-9
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: vsetup.exe
- ____
-
- OUTLINE:
- _______
-
- vsetup "Utility executed at startup to process the VMiX
- configuration file, VMiX.INI
-
-
-
- DESCRIPTION:
- ___________
-
- VMiX.INI is a text autoconfigure file that allows startup
- scripts, remote login passwords, and remote login scripts
- to be specified by the VMiX system administrator.
-
- This flexible configuration file assists you in:
-
- A) configuring VMiX startup - VMiX or DOS commands that
- get executed automatically, after you start the
- VM_BOOT.EXE program.
-
- B) entering passwords - up to 8 character long passwords
- used to provide controlled access to a VMiX system
- that has been configured to accept remote callers
- with the 'set remote -l' command.
-
- C) specifying user programs to autostart after a remote
- caller has logged-in via a COMM port.
-
-
- The configuration file is optional and it works in cunjunction
- with the VSETUP.EXE utility. This utility is normally invoked
- in two ways:
-
- 1. in the VMiX startup command line
-
- To ensure that VSETUP.EXE can always find VMiX.INI,
- the best way to start VMiX is with a full filespec and
- path for VM_BOOT.EXE,
-
- ie., C:\VMiX\VM_BOOT VSETUP (from the VMiX directory)
-
- then, you can change directories, and reset paths and
- VSETUP will always find VMiX.INI (during remote logins).
-
- 2. appended to the end of a 'set remote -l' command
- (for example: set remote -l2 vsetup).
-
- 'set remote -l????' by itself, without VSETUP.EXE
- restores the default VMiX shell (where access passwords
- are not checked).
-
-
-
-
- The Utilities page 3-10
-
-
- C O M S O F T VMiX 386
-
-
- VMiX.INI Configuration File Format
- __________________________________
-
-
- File type: ASCII text
-
- Comment Symbol: ;
-
- (everything after an ';' anywhere in a line
- is a comment)
-
- Sections: Three Labled Sections
-
-
- ;START
- [access passwords]
- . ;Multiple text passwords that will be
- . ;encrypted the first time VSETUP processes
- . ;this file.
- .
- .
-
- [remote startup]
- . ;A single line that can include multiple
- ;commands, executed only at remote loggin.
-
- [startup]
- . ;Multiple lines that can include multiple
- . ;commands per line, executed only at VMiX
- . ;startup.
- . ;It is better to use a single line per
- . ;'dosjob' command. For other commands,
- . ;concatenate as many as possible on a single
- . ;(each line is sequentially processed by
- . ;a new VMiX process).
- .
- ;END
-
-
- A self-documented sample VMiX.INI file is included as a
- template for you to make your own configuration file.
-
-
-
- VMiX.INI Configuration File Processing
- ______________________________________
-
-
- VSETUP.EXE is the only utility that reads the .INI file.
- This utility currently performs 3 functions:
-
- 1) If it finds an [access passwords] Section in VMiX.INI,
- it backups the file to VMiX.BAK and encrypts the text
- passwords, changing the Section name to [encrpt passwords].
-
- Remove the unencrypted file VMiX.BAK from your hard disk,
- so that the original passwords remain secret to all other
- users. You can copy VMiX.BAK back to VMiX.INI when you
- need to change the text password list.
-
- The Utilities page 3-11
-
-
- C O M S O F T VMiX 386
-
-
- 2) If invoked during startup, it will execute multiple command
- lines given in the [startup] Section. This is an alternative
- to typing all startup commands in the VM_BOOT command line.
- (System Startup Options, however, can ONLY be given at the
- command line, since VSETUP runs after VM_BOOT is started.
-
- 3) If invoked during a COMM port access, (you must have issued
- a 'set remote -l???? vsetup' command) it will prompt for
- an access password and match it against the encrypted list
- in VMiX.INI. After verifying access, it will dispatch the
- single command line listed under the [remote startup]
- Section. (The single line can have multiple commands,
- separated by a '/').
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-12
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: vt.exe
- ____
-
- OUTLINE:
- _______
-
- vt " utility to login to a remote VMiX host"
-
-
- DESCRIPTION:
- ___________
-
- VT can be used to connect to other VMiX hosts from a local
- shell. Essentially VT is a remote utility to serially link
- together two different VMiX hosts (115.2 Kbaud maximum).
- This utility form the basis for a VMiX distributed system in
- a network of two or more VMiX systems.
-
- VT will start a remote session with the second computer via the
- COMM port currently specified by 'set remote -l ????' (you can
- determine the current setting with the 'examine status'
- command). You can then execute from host-1 any program on
- host-2.
-
-
- To set up a single remote session from host-1 connected to
- host-2 use the following:
-
- host-1 host-2
-
- set remote -l1 set remote -l1 (COM1 for both)
- do vt.exe - (Request host-2 session)
- login -(host-2 asks for session name)
- (you are in)
-
-
- To set up dual links (one VT session on host-1 running on
- host-2, and another VT session on host-2 running on host-1
- use the following:
-
- host-1 host-2
-
- set remote -l1 set remote -l1 (COM1 for both)
- do vt.exe - (host-2 session)
- login - (session name)
- press Shift-Tab - (switch to Root)
- set remote -l2 set remote -l2 (COM2 for both)
- - do vt.exe (host-1 session)
- - login (enter name)
- press Shift-Tab - (return to VT)
-
- NOTE: To activate (and transmit to the remote host) the IBM
- function key equivalents (like Alt-X, PgUp, up-arrow, F3, etc.)
- you must toggle IBM emulation by pressing Ctrl-F. Then the
- application in the VT window will respond to the special keys
- (See Figure 3).
-
-
- The Utilities page 3-13
-
-
- C O M S O F T VMiX 386
-
-
- You will need to press Ctrl-F again to disable IBM emulation,
- after the special keys are used so that the keyboard Shift key
- will act correctly (this is a side effect of assuming that you
- could be at a terminal with no IBM special keys to press).
-
- NOTE: If you have started a VT session and type 'set baud -c1
- 2400', you will be setting the remote computer send baud rate,
- you will need to press Shift-Tab and switch to a local session
- to perform the same command for your local computer, so that
- both sides sync at the new baud rate.
-
- To quit VT.EXE press Alt-Z. This will terminate the VT program,
- but will not quit the remote session. You should 'quit' the
- remote session first (by typing 'quit'), before pressing Alt-Z.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-14
-
-
- C O M S O F T VMiX 386
-
-
-
-
- NAME: vw.exe
- ____
-
- OUTLINE:
- _______
-
- vw " VMiX pull-down menus utility"
-
- -i " interactive keyboard mode"
-
-
- DESCRIPTION:
- ___________
-
- VW can be used to start other programs or to set VMiX options.
- VW is an easy to use multiple thread environment.
-
- The menu bar displays five user menus:
-
- 'Commands' are a simulation of the tokens normally available
- from the VMiX shell.
-
- 'Memory' allows you to partition memory and configure memory
- utilization.
-
- 'Process' provides new task start-up and process maintenance.
-
- 'Examine' displays status information and resource utilization
- information.
-
- 'Options' is where most configuration choices reside.
-
- Move to the desired menu by pressing the right or left arrow
- keys. Select a menu by pressing the down arrow key, by pressing
- ENTER, or by typing the CAPITALIZED letter of the menu name.
-
- Select a pull-down menu option by first moving to the desired
- item with the down or up arrow keys and press ENTER to execute
- the option. Pull-down options that display a '->' indicate an
- additional pull-down menu, reachable by pressing ENTER or the
- right-arrow key. To exit from the vw utility or a pull-down
- menu press the 'Esc' key.
-
- When using VW from a remote PC, while running a remote console
- software product, you must tell VW to run in interactive mode
- with the command line option: 'VW.EXE -i'. In this mode, VW
- will not allow the scheduler to set it to sleep, when there is
- no input/output activity.
-
- VW asks for a video page or video mode when starting a new VMiX
- shell or MS-DOS shell with FULL screen (use only page 0, when in
- 386 mode).
-
- VW will respond to the [Home] key by repainting the menu bar.
- On non-386 computers, switching to tasks in different video
- pages or modes will sometimes not restore the VW menu bar on
- return to VW, so press [Home] to redisplay.
-
- The Utilities page 3-15
-
-
- C O M S O F T VMiX 386
-
-
- Windows are usually displayed automatically, when a new process
- is started. With VW you can size a custom window from the
- Options Menu. The 'Resize window' command will ask for the
- top-left and bottom-right coordinates, as shown above (Row and
- Column), for the new window.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Utilities page 3-16
-