Path: utzoo!mnetor!uunet!cbmvax!carolyn From: carolyn@cbmvax.UUCP (Carolyn Scheppner CATS) Newsgroups: comp.sys.amiga Subject: Re: Backwards compatibility Message-ID: <3156@cbmvax.UUCP> Date: 18 Jan 88 15:40:09 GMT References: <1606@ssc-vax.UUCP> <4972@well.UUCP> <16343@watmath.waterloo.edu> <1958@s.cc.purdue.edu> Reply-To: carolyn@cbmvax.UUCP (Carolyn Scheppner CATS) Organization: Commodore Technology, West Chester, PA Lines: 30 In article <1958@s.cc.purdue.edu> ain@k.cc.purdue.edu.UUCP (Patrick White) writes: >>ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) wrote: >>> Due to a bug in 1.0/1.1, which had to be preserved to prevent >>>breaking anything, sprites are exactly one pixel off on the X axis. > > I thought this is what the version numbers were for when you open >libraries -- so you could have new code, open an old version of the >library, and have the new code act exactly like the old version did? > Is this right, or am I hosed? Hosed. In most cases, there is no room in the ROM for an old function and a new version. When a fix is necessary but will break people, sometime a new modified function can be provided (like NewModifyProp) with it's own entry point. If you call the new function, you get the new function. If you're calling the old function, it's still there. But in most cases, there is just one version of each function in the ROM, and only fixes that won't break valid programs can be done. The library version in OpenLibrary() is basically for programmers whose code requires new functions that didn't exist in previous OS versions. (So they can exit with an error message when the OpenLibrary() fails instead of jumping to non-existent library offsets and crashing). -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Carolyn Scheppner -- CATS >>Commodore Amiga Technical Support<< UUCP ...{allegra,ihnp4,rutgers}!cbmvax!carolyn PHONE 215-431-9180 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=