Re: Sphere 1.5, 1.6 beta
Reply #89 –
I recently learned that Corona was maintained for a time by someone unrelated to Sphere, who added a lot of useful stuff. Chad Austin then, relatively recently, began maintaining and improving it again.
That, combined with what I've learned about modern SpiderMonkey, almost made me want to try and build a new version of Sphere based on the original sources.
But the biggest issue is that no one really knows how most of the old engine works anymore. Audiere is a particularly thorny library, it doesn't work with newer OS X or Linux (either through OpenAL/CoreAudio or ALSA), only the OSS interface which only BSD and Solaris still use. There is a lot of stuff that is undocumented about the 1.6 branch. There are things that kind of make no sense. It would be pretty easy to work on Sphere 1.6, if I actually had written any part of it.
To be fair, SM 1.8.5 is like Java 6. A lot of stuff is still stuck using it, when it really shouldn't be.
With TurboSphere incorporating the more experimental sphere stuff I work on, it wasn't too appealing to fully grok the old Sphere code. With Minisphere, the other promise of proper compatibility is less interesting as well, since it is rather close, and has not accumulated the 15 years of cruft that Sphere has. For its age and complexity, Sphere's code is easy to read. But 15 years is a long time for any project to be in active development.
Finishing my Unix-based OS X release wouldn't have been too useful, either. No one really wanted it that bad, even me. I've only used my OS X build a handful of times. At that point, truly fixing the underlying issues with my OS X build would be more work than either writing full compatibility wrappers for TurboSphere, trying to make some fork of Minisphere that uses SpiderMonkey, or fixing up my Turbo runtime to work in a pre-ES5 environment.