Software Structures, Inc.
            A Texas, USA Corporation
            Member of the Houston, Texas Better Business Bureau.

Home
Up
RPenaCover_Net
RPenaCover_CE&CENet
RPenaCover_DeviceDriver
RPenaCover_Trainer
RPenaCover_ShortOverview

Rafael E. Pena, Ph.D.

3200 South Gessner

Houston, Texas 77063

rpenaphd@SoftwareStructures.com

www.SoftwareStructures.com

 

June 2002

 

 

Concerning my Device Driver work:

 

 

I have been writing interrupt handlers and device drivers since 1993.  I have written device drivers for Windows 2000 and Windows NT, VXD's for Windows 3.1 and TSR's for MS-DOS.  This code was written in C, C++ and 80x86 Assembly.

 

 

This Device Driver work has addressed the following problems:


·         A Windows 2000 Layered Device Driver to Manage Serial Port Interrupts driven by an attached CAN (Cots Controller Area Network) Bus.
The kernel-mode driver manages exclusive read and write ownership of CAN Nodes by multiple user-mode WIN32 threads.
Tools: Numega's SoftIce Driver Studio for Windows 2000.


·         Development of a Training Course for writers of Windows NT Device Drivers:
“WRITING WINDOWS NT 4.0 KERNEL-MODE DEVICE DRIVERS.  A PRACTICAL HANDS-ON APPROACH.”
Currently 13 Chapters.  Material for a 5-day or 6-day course.  I wrote many kernel-mode device drivers for the course.
Tools: Numega's SoftIce for Windows NT.


·         A NT Kernel-Mode Virtual-Device Tracing Debugger.
The Debugger (a Kernel-Mode device driver) buffers run-time debug-traces generated by multiple, concurrent NT Kernel, WIN32 and Virtual DOS Machine VDM) (Windows On Windows 16 bit) threads.  The Debug-trace information is read by a WIN32 MFC (Microsoft Foundation Classes) application that displays the call-indented traces in a User-Mode Listbox.


·         A C++ Class Library for development of Windows NT 4.0/3.51 Kernel-Mode Device Drivers.


·         Two Windows 3.1 VXD's (Virtual Device Drivers)
Supporting a generic library that enables Visual Basic (or Windows) user-interfaces for DOS programs running in a Windows 3.1 Virtual-86 DOS Machine under 386 Enhanced Mode.  Messages are posted across Virtual Machine boundaries.  Access to VMM (Virtual Machine Manager) Services is available from either the V86 DOS-BOX or the Windows System machine.

·         A Real-Time TSR Monitoring System that Displays and Reports all 8086 Interrupt-Vector Activity in a DOS Machine.
A single interrupt handler installs itself on all PC interrupt vectors. Able to trace into-and-from all hardware and software interrupt handlers, irrespective of whether interrupt parameters are passed in registers or on the stack. For PC Text Mode, a Int 10h handler was written which on-the-fly repositions screen output in order to preserve the monitoring-system's real-time tracing windows.  System control and displays may be obtained under DOS or under Windows 3.1, across DPMI (Dos Protected Mode Interface) Virtual Machines.



In other low level work I have written: C drivers to control a stepper motor through an IBM-PC/AT's parallel port adapter; FORTRAN and C handlers for a direct parallel port link between a DEC LSI-11 and an IBM-PC/AT; and Motorola 6808 Microprocessor Interfacing training from a Zenith/Heath-Kit training course.



I am an excellent debugger.  My best debugging tool is, I am still sorry to say, Guessing!

 

 



Sincerely,

 

Rafael E. Pena, Ph.D.

Tel: (713) 781-6633