Short:        Fakes OpenLibrary() to open any version
Author:       Marcin Orlowski <carlos@amiga.com.pl>
Uploader:     Marcin Orlowski <carlos amiga com pl>
Type:         util/libs
Version:      0.1
Architecture: m68k-amigaos
Date:         Fri Jan 29 11:29:57 1999


 INTRODUCTION
 -----------------

 It seems not many OS 3.1 equipped Amiga programmers know, that while
 OS 3.0 was released, CBM (or whatever) did NOT bump version numbers
 of all OS components to v39. Due to this bug, if you target you app
 for OS 3.0 and above, you HAVE TO make sure, your program does NOT
 require all libraries with version 39.

 Hopefuly this 'version incompatibility' causes problems under very
 rare circumstances. As far as I know, you should remember, the
 following components of OS3.0 are not version 39:

  - keymap.library (is v37)

 This 'list' is not complete, but I don't expect it to be much
 larger. But it's their fault for sure, and it's up to you to work
 that around.

 HOW?  If you are programmer:  MAKE SURE YOU DO NOT DECLARE
 __oslibversion 39 IF YOU USE ANY OF MENTIONED LIBRARIES.
 Better lower the limit to 37 and e.g.  match exec library against v39
 by hand for instance.

 If you are NOT programmer: keymap.library resides in ROM, so don't
 look for it in LIBS: drawer. Either hardware (ROM) update, or soft
 kicked 3.1 can upgrade it.


 AFFECTED PROGRAMS 
 ------------------

 Hopefuly not many. So far I saw two:

  - Amiga VNC client (VAA) (take a look: http://www.orl.co.uk/vnc/)
  - very early AWeb 0.x or something (mentioned for statistics only ;-)


 WHY I CREATED IT?
 ------------------

 Because VVA's author seems to have network problems and my bug reports
 bounced. And I wanted to launch VNC ASAP. That's the story behing ;-)
 

 SO, WHAT DOES IT DO?
 ----------------------
 
 If you find any program that refuses to launch on your (mostly 3.0)
 system, and you are sure, it should work, first, check if you got all
 external files it wants like fonts etc (SnoopDos rules -> take it
 from Aminet).  Then if all files are available, check (SnoopDos
 again) if the program does not attempt to open any of the above
 mentioned libraries with inproper, unavailable on your system, version.
 If you discover it does, launch OpenLibPatch and try again.
 If that was the only reasonif failed, it should be cured now.
 I suggest to quit or disable OpenLibPatch as soon as you launch 'bad'
 program.


 TECHNICAL?
 --------------------------------

 OpenLibPatch is a commodity driven patch.  You can remove,
 disable and enable it using Exchange - standard system tool.  When
 the patch active (in Exchange - commodity is active), it
 redirects all OpenLibrary() call to OldOpenLibrary(name), which allows
 you to open any version of library if it exists. No matter what version
 you really have.  When disabled, it does nothing of course, except calling
 original OpenLibrary() function with passed arguments

 NOTE: this may cause your system to crash, if you try to launch OS3.x
       program on your OS2.0 equipped machine!  OpenLibPatch does NOT add
       any feature to your outdated system, just fools it a bit!.  Better
       upgrade to OS3.x and sleep well ;-)


 REQUIREMENTS
 ----------------------

 OS 2.x or better (for presence of commodities.library)


 BUGS?
 --------------------------------

 No check is made while removing the patch.  So if anything else
 (SnoopDos for instance) patched OpenLibrary() too, you should quit
 it BEFORE you quit OpenLibPatch or Guru may drop you a visit. 
 Yes, I know there is many software managers that helps solving this
 problem but I don't plan to develop this program any longer - it
 was quick hack for the needs.


 LEGAL MUMBO JUMBO
 --------------------------------

 This program is written and copyrighted by Marcin Orlowski
 <carlos@amiga.com.pl>. You may use it free of charge, spread, peek,
 poke, crunch, rename, delete, resource etc - I don't care.  If it
 crash your system or cause any data loss -> it's NOT my fault!

 Use this software at your own risk.

 Amen.