A new Microsoft DirectX version of the Cortex receive program, DXRECV.EXE, is now available. It is provided as an alternative to the receive program RVESACTX.EXE, which utilizes Scitech Display Doctor for its graphics capabilities. Please refer to document "Dual Computer Cortex Installation Instructions" for general information about how to set up the dual computer version of Cortex.
I. Installation of DirectX Driver
In order to use DXRECV.EXE, the graphics card in your receive computer must be supported by DirectX, and the DirectX 6.0 (or higher) driver must be loaded. If these criteria are not met, the DXRECV.EXE program may hang, and the WCSEND.EXE program (on the send computer) will report the error "Couldn’t initialize graphics board" upon startup. If this happens, you must install the DirectX driver on the receive computer.
The DirectX driver is freely available from the Microsoft web site. Go to the web page
http://www.microsoft.com/directx/homeuser/downloads/default.asp.
Download and install DirectX 7.0 (the current version). If you are only interested in running DXRECV.EXE, you only need to download the DirectX driver. If you are interested in changing and recompiling the DXRECV code, see the section below, entitled "How to Build DXRECV.EXE".
If you are interesting in running AVI, MPEG, or QuickTime movies in DXRECV.EXE, you must also have Microsoft Internet Explorer version 4.0 or higher, installed on your computer.
II. Running DXRECV.EXE
DXRECV.EXE is a Windows console application, which must be run from Windows (not DOS). The easiest way to run it, is to make a shortcut on the desktop of the receive computer to the executable, \WCORTEX\DXRECV.EXE. When you want to run the program, just double-click on the DXRECV.EXE shortcut icon.
The Greenleaf CommLib communications package that is used to provide the serial communication between the send and receive computers is compatible between DOS and Windows. Therefore, the send program, \REMOTE32\WCSEND.EXE, still must be run from DOS. For details on how to boot up the send computer into DOS, please refer to the document "Dual Computer Cortex Installation Instructions".
III. Known Bugs and Limitations in version 5.9.3
- PCX and JPEG image file formats are not supported. Only .BMP files and the legacy Cortex image file format (.CTX) are supported.
- Source transparency is only available for .BMP files.
- If a pattern file is specified, it will appear in monochrome (black and white) instead of the specified color.
The bits per pixel setting (bpp) can not be changed dynamically through Run:General:Parameters. Instead, you must exit Cortex, and then change the bpp setting in the GRAPHICS_SPECS line of CORTEX.CFG. When you restart Cortex, it will use the new bpp setting.
- When using greater than 8 bpp, a custom background color may not appear correctly.
- There is an intermittent problem whereby the taskbar clock will sometimes appear on the display. If this happens, change your TaskBar Properties from the Windows desktop so that the "Show Clock" checkbox is not selected.
- In order to prevent background Windows processes from interrupting the graphics display, the DXRECV.EXE program is created with "REALTIME" priority. "Realtime" is the highest priority that can be given on the Windows system. While this means that the timing of the graphics will not be interrupted, it also means that the keyboard and mouse can not be used. Therefore, you will not be able to task switch out of the DXRECV.EXE program like you can for other Windows applications.
IV. Advantages of using DXRECV.EXE
- The Microsoft DirectX driver has a wider support of graphics cards than Scitech Display Doctor has. In fact, the main reason for converting the receive program to DirectX was that I had just received new desktop and laptop computers, and found that neither computer contained a graphics card that was supported by Scitech. With DirectX, I can run the DirectX receive program from either computer. As an aside, Scitech is supposed to release a new version of the Display Doctor very soon, which will support more graphics cards. Cortex will continue to support the Scitech Display Doctor version of the receive program.
- The Microsoft DirectX driver is free of charge.
- The DirectX receive program is able to perform source transparency blitting. This means that every pixel in the source bitmap, which matches a certain color, will be transparent. The transparency criterion color has been preset to the background color. Therefore, the bitmap must contain the Cortex background color to possess any noticeable transparency. This feature is useful if you want an image to overlay another object, without the rectangular extents of the image blocking out the underlying object.
- The sound component of the DirectX receive program has more functionality than the DOS version of the sound code. For example, DirectX supports the overlaying of multiple sounds, the ability to continually loop a sound, the individual control of the volume of each sound, and the ability to stop each sound one at a time. DirectX also allows the user to specify what kind of speakers are being used, and also the orientation of the stereo speakers, in order to optimize the sound produced.
- The DirectX receive program has the capability of displaying AVI, MPEG, and QuickTime movies. Not all codecs for QuickTime are supported.
V. How to Build DXRECV.EXE
The source code and project files for DXRECV.EXE can be found in the directory \DXSource\. The subdirectories are organized as follows:
- \DXGDP\ contains all the DirectX graphics specific code.
- \REMCORT\ contains the receive code that was changed to allow for Windows serial communication.
- \INCLUDE\ contains the include files that were changed in order for the C++ code to compile.
- \LIB32MSC\ contains the library for the Windows serial communications. Please note that the licensing of the DirectX SDK does not allow me to redistribute the DirectX libraries. Therefore, if you want to rebuild DXRECV.EXE, you must download the DirectX SDK and DirectX Media SDK from the Microsoft web site (http://www.microsoft.com/directx/developer/downloads/default.asp). The DirectX 7.0 SDK is now available to download. I used DirectX SDK 6.0 to build this code.
- \DXRECV\ contains the project workspace files necessary to build the executable using Microsoft Visual Studio, version 5.0. The debug workspace configuration includes the settings necessary to generate an executable that can be debugged using the NuMega SoftIce debugger. The release workspace configuration does not include debug information, so it builds a smaller (and supposedly faster) executable.
VI. Reporting Bugs
A conference entitled "DirectX Receive Program Beta" has been added to the Cortex discussion groups. The "DirectX Receive Program Beta" conference should be used to report bugs in DXRECV.EXE, rather than in the general "Cortex Technical Support" conference. For more information on the Cortex discussion groups, please see the Discussion section of the Cortex web page.