home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / driver / graphic / sm1drv / readme < prev    next >
Text File  |  1993-10-12  |  14KB  |  321 lines

  1. OS/2 2.1GA small resource SVGA display driver for 1024x768x256
  2. --------------------------------------------------------------
  3.  
  4. Release date:     10 October 1993 (04 June 1993 release with updated documentation)
  5. Package source:    Daniel J Neades
  6.  
  7. CONTENTS
  8.  
  9.     Introduction
  10.     Contacting the author
  11.     Limitations
  12.     Disclaimer
  13.     Installation
  14.     Configuring Win-OS2 to use small fonts
  15.     How this driver was created
  16.     Blatant plug
  17.  
  18. INTRODUCTION
  19.  
  20. This driver basically gives you the resources used by the 640x480 display
  21. driver at 1024x768 resolution, thus effectively giving you more screen real
  22. estate. The main differences between this and the standard 1024x768x256 SVGA
  23. driver are:
  24.  
  25.     Small fonts
  26.         Small system fonts (esp. useful when viewing help)
  27.         8.Helv is now *really* tiny!
  28.  
  29.     Small icons
  30.         Full-sized icons are 32x32 pixels and not 40x40
  31.  
  32.     Small title bars
  33.         Title bars have shrunk along with everything else;
  34.         they are now the same height (in pixels) as in 640x480
  35.         resolution.
  36.  
  37. CONTACTING THE AUTHOR
  38.  
  39. This section is misleadingly titled since I am merely the modifier of the
  40. driver included with this package and not the author.
  41.  
  42. I would be grateful if you would let me know how you get on with this
  43. driver. Send me a post-card, even if just to say 'Thankyou'! I like
  44. post-cards :-) I welcome both positive and negative comments.
  45. This driver has been available for five months, and I have yet to
  46. receive a card :-(
  47.  
  48. My snail-mail address is
  49.  
  50.     Daniel J Neades
  51.     27 Kennmoor Close
  52.         Warmley
  53.         Bristol
  54.         BS15 5BD
  55.     England
  56.  
  57. I can also be contacted via Internet e-mail. My id is djn@arac.demon.co.uk
  58.  
  59. LIMITATIONS
  60.  
  61. This driver is only suitable as a replacement for 1024x768x256 resolution
  62. SVGA display drivers. It therefore supports cards such as those with Tseng
  63. and Trident chipsets. It will *not* work 8514 or XGA cards. Basically, if
  64. your card uses the IBMDEV32.DLL driver unpacked from SV768256.DLL on Display
  65. Driver Diskette 2 then this driver will probably work.
  66.  
  67. This driver is a modified version of that distributed with OS/2 2.1GA. It
  68. *may* work with the December or March 2.1 betas, but this is untested.
  69. If you attempt to use this driver with either beta (or even 2.0GA+SP),
  70. please let me know how you get on.
  71.  
  72.     NOTE
  73.     Some dialogs may be slightly cramped using this driver.
  74.     This is due to the way that OS/2 handles spacing of dialog box
  75.     components. This is a feature, not a bug :-) The media player
  76.     included with 2.1GA exhibits this problem.
  77.  
  78. This display driver is *very* similar to the standard distribution SVGA
  79. 1024x768x256 driver. Any bugs are therefore probably present in the 2.1GA
  80. SVGA driver. Having said that, I would like to know if you encounter
  81. problems.
  82.  
  83. DISCLAIMER
  84.  
  85. This driver was created for my own use only. I have made it available merely
  86. as a service to others who are also fed-up with having their screen
  87. resolution wasted. I accept no responsibility or liability for any loss or
  88. damage arising from or as a result of the use of this driver.
  89.  
  90. If anyone at IBM is upset that I've uploaded some modified OS/2 2.1GA code
  91. then I'm *really* sorry. You could sue me, but I haven't got any money so it
  92. probably wouldn't be worth it :-) Seriously, let me know if there are
  93. problems with making this driver available and I'll get it removed ASAP.
  94. What would be wonderful would be to have IBM make small resource 1024x768
  95. drivers available as part of the standard OS/2 distribution.
  96.  
  97. If anyone has any influence with the IBM people responsible for OS/2, please
  98. pressure them to include small font resource drivers with the standard
  99. distribution in future. It would be trivial for them...
  100.  
  101. INSTALLATION
  102.  
  103.     NOTE FOR MARCH BETA ONLY
  104.     The following procedure is for 2.1GA *only*. Even if this driver
  105.     works with the March beta (probable), the following instructions
  106.     may not work. For the March beta, you should copy both display
  107.     driver disks into a directory on your hard disk, copy SV768256.DL_
  108.     included with this package to that directory and then run dspinstl.exe
  109.     and point it at the directory.
  110.  
  111. Since you are reading this I assume that you have managed to unzip the file
  112. containing the replacement driver!
  113.  
  114. 1.    You should verify that your video card is supported by this driver
  115.     (see LIMITATIONS).
  116.  
  117. 2.    Ensure that OS/2 is currently running your display adapter in
  118.     1024x768x256 resolution.
  119.  
  120. 3.    Make a copy of Display Driver Diskette 2 (see the online help for
  121.     diskcopy if you are unsure how to do this). Label this disk
  122.     'Small resource 1024x768x256 SVGA display driver'.
  123.  
  124. 4.    Copy the file SV768256.DL_ included with this package onto the
  125.     copy of Display Driver Diskette 2 which you have just made.
  126.  
  127. 5.    Run the program DSPINSTL.EXE included with OS/2 2.1GA, and follow
  128.     the usual procedure for installing the display driver for your card.
  129.     When prompted for Display Driver Disk 2, insert the modified copy
  130.     made in steps 3 and 4.
  131.  
  132. 6.    If you have at some stage changed the default system font (for example,
  133.     by running the REXX script given in the OS/2 README file), then you
  134.     should run FONT.CMD. This resets the default system font to to
  135.     default.
  136.  
  137. 7.    Shut down and reboot. You should now have OS/2 running in 1024x768x256
  138.     resolution with small icons, fonts and title bars.
  139.  
  140.     NOTE
  141.     This procedure simply replaces the IBMDEV32.DLL in your \OS2\DLL
  142.     directory with the (unpacked) contents of SV768256.DL_ included
  143.     with this package. If you are an experienced OS/2 user, you
  144.     may wish to directly replace this file. Note that the file is 
  145.     locked whilst Presentation Manager is running, and so you will
  146.     need to boot OS/2 without Presentation Manager.
  147.  
  148. CONFIGURING WIN-OS2 TO USE SMALL FONTS
  149.  
  150. Win-OS2 defaults to enormous fonts for 1024x768x256 resolution (both seemless
  151. and full-screen). Fortunately, the 2.1GA distribution is capable of running
  152. Win-OS2 at 1024x768 with small fonts. Follow the procedure below to configure
  153. WIN-OS2 to use small fonts.
  154.  
  155.     NOTE
  156.     Re-installing the OS/2 display driver (for example, by following
  157.     the procedure above) will reset your Win-OS2 SYSTEM.INI settings.
  158.     You will therefore have to make the changes described below
  159.     *after* installing the OS/2 small resource driver.
  160.  
  161. 1.    Insert OS/2 Display Driver Disk 2 into drive A:
  162.  
  163. 2.    Type
  164.  
  165.         UNPACK A:\WSPDSF.DR_ X:
  166.         UNPACK A:\WSPDSSF.DR_ X:
  167.  
  168.     where X: is the drive on which Win-OS/2 is installed.
  169.  
  170. 3.    Edit the file X:\OS2\MDOS\WINOS2\SYSTEM.INI. Again, X:
  171.     is the drive on which Win-OS/2 is installed.
  172.  
  173. 4.    You now have to change several lines:
  174.  
  175.     Change the following lines in the [boot] section
  176.  
  177.         display.drv=wspdbf.drv
  178.         sdisplay.drv=wspdsbf.drv
  179.         fonts.fon=xgasys.fon
  180.         fixedfon.fon=xgafix.fon
  181.         oemfonts.fon=xgaoem.fon
  182.  
  183.     to
  184.  
  185.         display.drv=wspdsf.drv
  186.         sdisplay.drv=wspdssf.drv
  187.         fonts.fon=vgasys.fon
  188.         fixedfon.fon=vgafix.fon
  189.         oemfonts.fon=vgaoem.fon
  190.  
  191.     repectively.
  192.  
  193.     In the [boot.description] section will be two lines similar to
  194.     
  195.         display.drv=1024x768x256 Large fonts 1M ET4000
  196.         sdisplay.drv=1024x768x256 Large fonts 1M ET4000
  197.  
  198.     Note that 'ET4000' may be replaced with the name of your
  199.     SVGA card's chipset. This is unimportant. ALl you must do
  200.     is change the word 'Large' to 'Small' in both lines.
  201.  
  202. 5.    Save the SYSTEM.INI file, and quit your editor. Win-OS2 should
  203.     now be configured to run with small fonts.
  204.  
  205.     NOTE
  206.     If you follow this procedure, and the Win-OS2 fonts are not
  207.     displayed correctly, it may be that the small (VGA) Win-OS2
  208.     fonts are not installed. To correct this, install a low
  209.     resolution driver (640x480), reinstall the driver included with
  210.     this package and then follow the above instructions to instruct
  211.     Win-OS2 to use small fonts.
  212.  
  213. HOW THIS DRIVER WAS CREATED
  214.  
  215. If your video card isn't supported by this driver then you may wish (if
  216. you're feeling brave and/or foolish) to attempt to create a small resources
  217. driver of your own.  I therefore describe how I created the small resource
  218. driver.
  219.  
  220. Like many people, I was fed up with the large fonts and icons used in the
  221. standard 1024x768 SVGA display driver. Desiring an excuse to avoid doing
  222. revision for my finals, I downloaded a binary editor (beav) and dug out my
  223. copy of Borland's Resource Workshop for OS/2 (supplied with Borland C++ for
  224. OS/2). Then I played...
  225.  
  226. A little experimentation showed that IBMDEV32.DLL was the DLL responsible for
  227. the display resolution and resources used. In other words, IBMDEV32.DLL is
  228. the display driver. Cleverly, only one IBMDEV32.DLL is used for all the SVGA
  229. display cards supported by the OS/2 2.1.
  230.  
  231. Next, I made a copy of IBMDEV32.DLL and fired up Resource Workshop (RW from
  232. here on).  I deleted all the resources attached to the DLL and then saved
  233. the result to 1024.DLL.
  234.  
  235. I manually unpacked the 640x480x256 IBMDEV32.DLL from Display Driver Disk 2.
  236. I loaded this into RW and saved the resources as a .RES file (640.RES).
  237.  
  238. Feeling brave, I loaded 1024.DLL into beav. From my Windoze days I knew that
  239. the large font drivers had a device resolution of 120 something or others.
  240. The small font drivers had a resolution of 96. Knowing 120 to 78 hexadecimal
  241. (well, I didn't *know*, I used my trusty HP calculator :-), I browsed
  242. through 1024.DLL searching for something that might prove relevant.
  243. Eventually, I found two sequences of four bytes.  Both sequences were
  244. 78 00 00 00 (all numbers are hex). I changed the 78 to 60 in both instances
  245. (60 hex being 96 decimal). I saved 1024.DLL and quit beav.  Actually, I've
  246. made it sound simple. I could pretend that I got it right first time and
  247. impress you all, but then I'd be lying ;-) I'll spare you the grief...
  248.  
  249. Using RC.EXE (supplied with OS/2), I bound the contents of 640.RES to the
  250. newly modified 1024.DLL. Automagically, I had a small resource IBMDEV32.DLL
  251. (albeit called 1024.DLL, but that was easily changed).
  252.  
  253. Anyhow, I replaced my C:\OS2\DLL\IBMDEV32.EXE with the 1024.DLL just created.
  254. I rebooted.
  255.  
  256. Well, I had small icons and small title bars. Unfortunately, I still had that
  257. enormously large system font which IBM for some reason has seen fit to
  258. inflict upon all owners of display cards/monitors capable of at least
  259. 1024x768. Why they assume that we wish to waste our high resolution with
  260. enormous fonts I really don't know. I only have a 15" monitor and they're
  261. far too large for me. I pity those with 20" monitors. I guess they must have
  262. long keyboard leads and sit about six feet back from the screen...
  263.  
  264. Okay, "Simple!" I think to myself. The OS/2 2.1 lets you change the
  265. default system font (there's a little REXX script in the README).
  266. So I change it to 8.Helv.  Bad move. Sure, it worked. However, the WPS
  267. settings notebooks insisted on using the *real* (giant) system font, and not
  268. the default that I'd set. This would have been bearable had they not tried
  269. to space the dialog components according to the 8.Helv font metrics...
  270.  
  271. I reset the default system font to 10.System Proportional. I needed another
  272. solution.  I'm sure that there is some magic in IBMDEV32.DLL which dictates
  273. which sized system font to use (you know, sensible size, or stupid size).
  274. Most likely, it simply contains the resource ID of the font to use. However,
  275. Turbo Debugger GX wouldn't let me disassemble IBMDEV32.DLL to see what it
  276. was doing (it's not an executable program and so TDGX didn't want to know)
  277. and I wasn't brave enough to attempt to force IBMDEV32.DLL into submission
  278. with beav. I therefore cast my attentions elsewhere.
  279.  
  280. It turns out that DSPRES.DLL contains the system fonts (ISO System
  281. Proportional, non-ISO System Proportional and System VIO) used by OS/2.
  282. Further inspection revealed that there are three versions of both of the
  283. System Proportional fonts. Why three? I've no idea. I thought there were
  284. only two variations: small and large. Apparently not, but I digress. The
  285. System Proportional (ISO) font appears to be stored under resource IDs 100,
  286. 101 and 102. The non-ISO versions under 200, 201 and 202. Using my skill and
  287. cunning (okay, so I guessed :-) I copied the contents of resource 100 to 101
  288. and 102.  Likewise, I replaced 201 and 202 by the contents of resource 200.
  289. Then I saved DSPRES.DLL.
  290.  
  291. I replaced my C:\OS2\DLL\DSPRES.DLL with the new version and rebooted.
  292. Heaven! Bliss!  Screen space! Finally, I could use the available screen
  293. resolution in a sensible way.  Somewhere along the line, System VIO fonts
  294. had disappeared from the font palette, but that was a small price to pay...
  295.  
  296. 'Where', you cry, 'Where is DSPRES.DLL?' 'Why is it not included with this
  297. package?'
  298.  
  299. Well, I mentioned a couple of paragraphs ago that IBMDEV32.DLL contained
  300. some magic to make it use large fonts. Further investigation (with my
  301. trusty binary editor) revealed this magic. There is a sequence of four
  302. bytes: 65 00 00 00 which specifies that font resource 101 in DSPRES.DLL
  303. is to be used. Changing the 65 to 64 makes it use resource 100, which is
  304. a small font. There is therefore no longer any need to modify DSPRES.DLL.
  305. This has the welcome side effect of allowing you to continue to use
  306. the System VIO fonts from the Font Palette.
  307.  
  308. BLATANT PLUG
  309.  
  310. One final note, you may wish to try out my first ever PM program. It's a
  311. graphical process display/kill utility (standard stuff...) called PMps.
  312. It's on hobbes in pub/os2/2.x/sysutils/pmps.zip.
  313.  
  314. I've just finished writing a really whizzy little application which you'd
  315. all love.  Unfortunately, it's under wraps at the moment and so you'll have
  316. to wait for it...
  317.  
  318. If any of you would be interested in a free C++ class library for PM GUI
  319. stuff then let me know, and I might be persuaded to release the one that
  320. I wrote for the aforementioned application :-)
  321.