MicroChannel POS and LED Display Driver for Windows NT
Released Februar 2003
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 MicroChannel 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.
• Download MCPOS.
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 behaviour, 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 MicroChannel computers (PS/2 9577, 9595). The behaviour of the driver is yet unknown on non-MicroChannel 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.
Please report any problems or bugs.
Remove prefix to contact.