MCPNT009.ZIP MCPOS, QUMC, and WriteLED Release 00.09 (11 Feb 2003)
WLDN009C.ZIP WriteLED Source code for DOS/NT
Content by Unal Z (original mirrored HERE). Edited by Major Tom.
Introduction
MCPOS is a kernel-mode Windows NT driver providing port I/O services
for user-mode programs to query the Programmable Option Selects (POS) registers
of Micro Channel machines and operate the LED display of IBM PS/2 Server
95.
MCPOS is installed as a Windows NT system device and can be started manually
or loaded at system boot time. The driver has been developed and tested under
Windows NT 4.0 SP6. No operability statements can be made for earlier NT
versions.
Release Notes
The 00.09 package is for Windows NT
4.0 systems only. MCPOS Beta 00.08 users should upgrade and update their copies
of MCPOS, QUMC and WriteLED.
Package contents:
- MCPOS Beta 00.09 - Micro Channel POS and LED Display Windows NT driver
- QUMC Beta 00.13 - identify installed Micro Channel adapters
- WriteLED Beta 00.09 - write to the LED display output
- Regini - system registry utility
- Installation and operating instructions for Windows NT 4.0.
- Sample sources to demonstrate the MCPOS API for user-mode programs.
Port I/O
MCPOS has been designed to directly manipulate the system ports, despite the
fact that Windows NT provides a device level system call (HAL) to retrieve POS
data. The port I/O method has been chosen to allow to retrieve extended POS
data since the Windows NT call ignores subaddressing. The port I/O method
allows us to read the planar ID as well.
MCPOS synchronizes (serializes) user-mode device requests to eliminate
possible interference. Two or more threads cannot write simultaneously to the
LED display or attempt to query POS data. To test this behavior, try to start
a second instance of WriteLED in another window and observe how the second
WriteLED instance cannot open the MCPOS device.
MCPOS POS API
MCPOS provides a service to retrieve the POS bytes for a given slot. System
slots are numbered from 1 to 8. MCPOS assigns a slot number of 0 to the planar.
To query a desired slot or the planar ID, it suffices to pass the slot number.
MCPOS fills in the output structure with the POS bytes in the range 100h - 107h
resp. with more bytes if extended POS bytes have been retrieved.
For example, the generic call QuerySlot(2,
POSBytes) will retrieve the POS bytes for slot 2 and place the result in
the array POSBytes. The application interprets the
returned POS bytes.
MCPOS LED Display API
MCPOS provides a service to write a string to the LED display. The cells of
the LED display are logically numbered from 1 to 8, starting with the leftmost
cell. At most 8 characters can be written to the display. Writing begins from
the indicated LED cell position and continues for the desired number of
characters.
For example, a generic call such as WriteToLEDDisplay("Hi
Everybody", 3, 6) will produce **Hi Eve* on
the display, where * indicates any previous character
on the display. Writing begins from cell number 3 and only the first 6
characters of the input string Hi Everybody will be
written as indicated by the last argument.
Driver Installation Instructions
MCPOS is installed as a Windows NT system device and can be started manually
or loaded at system boot time, depending on the settings in the system
registry. The driver has been developed and tested under Windows NT 4.0. At
this moment, no operability statements can be made for other Windows NT
versions.
Before you proceed with the driver test, you might want to consider
performing the tests in an individual hardware profile. Create a new hardware
profile by copying your existing profile, then shutdown and reboot with the new
test hardware profile.
Follow the steps below for a quick and easy installation:
- Open a command-line (console) window and create a directory mcpos. Unpack the self-extract or unzip the package in this
directory.
- Copy the MCPOS driver file mcaport.sys to the
C:\WINNT\system32\drivers directory of your Windows
NT installation (replace C with the drive letter of your installation).
- Run regini mcaport.ini to manually registrate
the driver in the system registry. The MCPOS default settings are for manual
driver loading. Once you have registrated the driver, you will not need any
more to run regini.
- Shutdown and reboot to activate the system registry changes.
- Open a command-line (console) window and change to the mcpos directory. On the command line, enter net start mcpos. You should get a system message announcing the
start of the driver.
- Run QUMC by entering qumcnt on the command line.
To be able to see and scroll the QUMC output in its entirety, set aside a DOS
window buffer of about 200 lines (click on the icon of the DOS console window
and select Properties, then Screen).
- Run WriteLED by entering writeled on the command
line. Run writeled -h to get a help information
about command line options.
- If you wish to unload the driver enter net stop
mcpos. You can enter the net start / net stop
commands from any other window or directory.
- When you have verified that MCPOS works correctly on your system, you can
copy QUMC and WriteLED to your favorite programs directory.
- If you wish that MCPOS be automatically loaded at boot time, select
System-Settings-Devices from the Start menu. Scroll
down to the mcpos entry in the device list and click
on the Start Type button (or similar) in the menu on
the right. Check the desired start type.
Known Problems
MCPOS has been tested at this moment only on Micro Channel computers (PS/2
9577, 9595). The behaviour of the driver is yet unknown on non-Micro Channel
machines.
- User-mode programs requesting the POS Query service of MCPOS may fail to
identify certain onboard components, when these cannot be identified through
the normal POS query procedure. The onboard SCSI controller on IBM PS/2 Model
9577 is an example for such a component.
- Writing to the LED display of IBM Server 720 fails because of a different
display panel handling.
|