From the Editor
Written by Steve Luzynski
month was a big one for OS/2 developers. The new PDK CDROM, including
all kinds of great OS/2 tools from IBM, was released at the incredible
price of $15. Look for a new PM mail program from me soon now that I have
the TCP/IP developer's kit...
The other big news this month was the release of Borland C++ for OS/2. My copy came in on the 11th - about a week after I ordered it. I'm very impressed with this first offering from Borland...
Borland C++ for OS/2
In fact, I'm impressed enough that I'm going to talk about it with the rest of my space. Borland C++ came in Borland's new style packaging - a slick blue & white box. Included are seven disks and 8 manuals.
I installed all 28 megs (including all sample code) and sat down to read the manuals while I waited. Apparently, Borland supplied a DOS based decompressor program - my guess is that the install time will drop dramatically after they rewrite their compression program for OS/2.
After the install completed, I made all the changes listed in the README file. I would suggest that anyone installing it do the same - otherwise a few things won't work quite right. I would also suggest deleting the IBM Toolkit and its associated CONFIG.SYS lines before installing to keep things from getting confused. Besides, BC comes with everything the Toolkit includes EXCEPT the SOM reference (.INF) file. Copy it out if you need it.
Most of the sample code was ported directly from the toolkit. I compiled one to make sure everything worked (it did) and started on converting one of my EMX programs to BC.
Converting from EMX to BC
The first thing I noticed when I compiled my program under BC was a lot of invalid conversions. EMX let me get away without explicitly casting some type conversions; BC demanded casts for most of these. I also found that NULL and 0L are not the same thing under BC; this required determining what it was I really meant when I had used NULL under EMX.
After fixing these two problems (which were really the only ones I had), I immediately noticed how much faster Borland is at compiling - especially when using precompiled headers. It is also possible to continue editing while BC is compiling - something I could never satisfactorily do when using Emacs as my development environment.
I would have liked to have shown before and after code; unfortunately, in my excitement I didn't save the old EMX version. Rest assured that it isn't really all that difficult - I suspect many of my problems were caused by using an OS/2 1.3 book as a reference, something I have since rectified.
You may have noticed that this issue is a little smaller than the last one. This came about for a number of reasons:
From Raja Thiagarajan
First of all, thanks for the nice job you did converting my article from raw ASCII to INF. You did an excellent job of covering my complete ignorance of VIEW.
As long as I'm here, I've got a couple of clarifications I'd like to make to my "Unofficial Guide to Palette Manager" article.
The first is a warning: TRIDENT VIDEO CARDS *DO* ALSO SUFFER FROM THE FATAL BUG. That is, if you're running the Service Pack and the Trident driver that was released shortly afterwards, changing the palette and then moving an icon will LOCK YOUR MACHINE, exactly as with ET4000s. Also as with ET4000s, the problem goes away if you use the 2.1 beta. Thanks to James Justice for testing and verifying this.
Finally, I'd also like to say that I've discovered one more video platform that supports Palette Manager: If you install the 2.1 beta on IBM's new ThinkPad 700C, you can use a 640x480x256-color mode that supports Palette Manager. Unfortunately, it suffers from the Universal, GpiBitBlt, and Scaling bugs that I documented in my article. But it sure is nice to do pretty paletted graphics while lying on your stomach!
Raja Thiagarajan / email@example.com / 3-23-93