ET-4000 chipset VGA card on OS/2 1.2 or 1.3 in the 1024x768 mode

From OS2World.Com Wiki
Revision as of 21:33, 2 June 2020 by Martini (talk | contribs) (Created page with "By Scott E. Trosien Hello! This file is intended for those of you who have a VGA card based upon the ET-4000 chipset and wish to run OS/2 1.2 or 1.3 in the 1024x768 mod...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

By Scott E. Trosien


This file is intended for those of you who have a VGA card based upon the ET-4000 chipset and wish to run OS/2 1.2 or 1.3 in the 1024x768 mode. If your card does not use this chipset then this info will be of little use to you.

Please note that you must have obtained the file 1024_164.DLL for you to make this patch. I have seen it on some boards as ET1024.ZIP and it is also included in a file called VIDEO.ZIP found on several OS/2 boards. Also included in VIDEO.ZIP is the 800x600x16 driver which appears to function OK. You can find the drivers on the MAGNUM OS/2 BBS: 1-818-706-9805

These two drivers which are circulating the boards are the original beta drivers which were released by Tseng Labs. The only problem is when using the 1024x768x16 driver with some (all???) ET4000 video cards, the icons stay the same size as the VGA (640x480) icons. It was really silly looking to have tiny text with huge icons. But on June 29,1991, Gary Archer (a Senior Programmer at IBM) left a message on the Orchid Technical Support BBS with instructions on how to patch the 10x7 driver such that the icons would be the correct size.

Here is a summary of Gary's instructions: You will need some kind of hex editor such as debug, The Norton Utility, etc...

(Please note that if you already renamed the 1024_164.DLL to DISPLAY.DLL and placed it in C:\OS2\DLL then OS/2 won't let you edit it as long as OS/2 is running).

  1. Edit the 1024_164.DLL file and goto absolute offset of 2DE02.
  2. There you will find the hexadecimal value of 40. Change this this to 20.
  3. Do the same thing at offset 2DE04.

If you don't find 40's at these two locations then something isn't right. Perhaps you may want to search for the hexadecimal '0040004000' string as in Gary's instructions. Don't forget, you want the LAST occurance of the string in the file.

Anyways . . . assuming you have found the correct locations . . .

According to Gary, the values in these two locations can be set to one of three values in oreder to get three different sizes of icons:

  Hex       Icon
 Value      Size
 -----     ---------------------------------------------------------------
  40h   =   64x64    (default as found in the Beta driver from Tseng Labs)
  20h   =   32x32    (the proper size for 1024x768)
  28h   =   40x40    (the "device independent" icon size)

Gary also stated that one of the reasons this driver is beta is because of the inablity to easily select the icon size. Before making this modification make sure you have another copy of the .DLL in case you toast the copy you are working on. After you successfully edit the file, copy it to the C:\OS2\DLL directory and rename it DISPLAY.DLL. Of course OS/2 can't be running when you do this.

Also . . . Here is Gary's message as was posted on the Orchid BBS:

  /Video #667 30-JUN-91 13:34  (Reply to #653)
  From: Gda
    To: Dennisb
    Re: ProDesigner IIs OS/2 1.3

  You can change the ICONS by using a binary editor.  Edit the DISPLAY.DLL
  file (ie the one you copied frm the driver into DISPLAY .dll)  look for
  the pattern 0040004000  near it you will also see the pattern 0020002000
  there are several matches in the file, go to the last one.  Change the
  0020's to 0040's and the 0040's to 0020's.  This changes the default
  icon size from 64x64 (hex 40) to 32x32 (hex '20) and vice-versa.  One
  of the reasons this is a beta driver is the fact you can't select the
  icon size.   You'll find that this is much better.  (You can try
  changing the 40's to 28's and experiment with the device indepentend
  40x40 icon.  Beware.. keep a back up of your DISPLAY.DLL.  (ALSO you
  can't make this change when running OS/2.  (I just exited and took
  a look at DISPLAY.DLL the 20's start at absolute offset 1B834 in the
  1024x768 display.dll the 40's are at 1B840.

I didn't have any luck starting with the starting addresses Gary mentioned so, I experimented a little and found the exact addresses.

In retrospect perhaps it would have been quicker to just upload a copy of the modified file to a couple boards . . . but its a little late for that now.

Best of luck,

Scott E. Trosien

Detroit, Mi