12:59 PM 11/8/2006 DISCLAIMERS: To start off, I'm not a professional programmer; my real job is being a banker. Before this project I never programmed directly for the Win32 platform (although I developed a few small Visual BASIC apps), and I never used C. So, not only did I have to learn the C language, but I've had to learn Win32 programming. I have always been a fan of the "Inside..." and "Undocumented..." books in the Andrew Schulman Programming Series so before this project, I was able to read and understand programs written in C for the Windows platform, but as anyone who has studied a foreign language knows, it's one thing being able to read a language and it's another to speak it. Often times I'd implement a feature knowing nothing about the "correct" way to do it. Typically I'd peruse one of the Win32 books I have, do some web searches, check out the MSDN site and sometimes look at source code from other Windows apps. Often it was enough to see a key function or message listed in the WinAPI section of MSDN to enable me to get on with the solution. In other instances I'd take it as "black magic" and just rip a snippet of code from elsewhere and trust that it would work for me until I could really understand what was going on. I've got to believe that a lot of Windows programmers work this way too. Also, the Altair32 project is a bit different from your run of the mill development project in that I didn't write it from scratch. I adopted this project from Claus Giloi, a programmer at Microsoft who in his spare time cobbled together the Altair and IMSAI emulator programs (which differ only in appearance) from nothing but the Intel data sheets and some random information on the Web. So, if you look through the code, you'll see ample evidence of its lineage. With each revision of the code, I've attempted to clean-up the code, add some structure to it and add plenty of comments to make it more readable to the casual programmer. Code formatting is a small project unto itself. The code was developed by a long series of slight improvements and a few large undertakings. The large undertakings included verifying and re-engineering the 8080 processor code, integrating the Solace debugger into the Altair, integrating the disk image support and developing working console code. BUILDING THE PROGRAM: Altair32 was built using Microsoft Visual Studio .NET 2003, and was developed under Windows XP SP2. It has been tested on Windows NT 4.0 SP6a, Windows 2000 and Windows XP and seems to work on those platforms well. Some of the Windows API functions used require an NT-based OS to work. Therefore, the minimum supported OS is Windows NT4. Note that a few files are loaded from the emulator assuming a certain directory hierarchy (namely, the help files and the program files). If you execute Altair32 from MSVS, the notion of "current directory" at program startup is from the build directory, and those files won't be found. Either copy the resulting binary up a level or edit the source to access whatever directory you desire. In order to successfully compile the emulator, you need to install the Html Help Compiler package from Microsoft. This package contains a linker library that you have to put in a directory your linker can find. SUPPORT: A support bulletin board has been established at http://www.altair32.com. Follow the link found on that page to the Support BBS. MISCELLANEOUS: Should you feel motivated to improve the emulator in a major way, or even a minor way, that you think would be of interest to other Altair32 users, please let me know and I'll integrate your change (if I also think it is useful to a larger audience) to the "official" source code base. I should also mention that I tried to build a faithful emulation of a real machine, not an emulation of a souped-up one that could have never existed "in the day." Ultimately I took-on this project because I have no realistic hope of ever owning a real Altair and the opportunity to contribute something to the hobby of "classic computing" presented itself. Thanks for trying the Altair32 Emulator. Enjoy. Rich Cini altair32@optonline.net