John, here is the spreadsheet I made years ago. A word of explanation about how it is set up:
In the upper left corner, you can enter the diameter of the ball, the amount of crossfeed that you get with one complete revolution of your crossfeed screw, what you want to use as the start setting for X (the lathe carriage position - really this is the Z dimension on a lathe, but I found it easier to think of it as X), and what you want to use as the starting setting for Y (the crossfeed position, which is really X, but again ... easier for me to think of it as Y). As shown above, my lathe has an 8 tpi crossfeed screw, so each revolution of the dial is .125". I chose to "start" from an X setting that was roughly equal to the radius, but negative - more about this below - and with the crossfeed set to 60 when it is at the farthest-in position (no particular reason for choosing that value - not sure why I did the last time I used this spreadsheet).
You will also see a "rough" and a "smooth" setting, in the case above, .025" and .005" - this represents the amount of carriage travel (what I am incorrectly calling X) each time. This allows a roughing pass to remove the bulk of the material, followed by a finishing pass that will give very smooth results. The first column of results contains the readings using the rough settings; the next three columns contain the readings when using the smooth settings. Hopefully obvious, but just in case - when making the rough cuts, I stayed "outside" the final dimensions. Note also that for my own convenience, I translated the actual "Y" (crossfeed) position into the turns and readings needed to achieve that position - but a better approach would likely be to put a dial indicator on the crossfeed. Best yet would be to have a DRO for both the carriage and crossfeed!
To use this, I used a narrow-angled tool with a rounded-tip lathe tool and set the carriage so that the tool is in the middle of the material that will become the ball. I set up a dial indicator such that it could measure the travel to either side of the full radius of the ball; e.g., for the example above, I "loaded" the dial carriage with at least .200" or so, so that it would not run out of travel before it got to the end of the ball. I then set the dial to zero (thus needing to set the "Start" to a negative "X" setting). I then moved beyond the stock and wound in the carriage to where the tool was just at the center line, and either set the crossfeed dial to .060, or perhaps this is what it wound up at (maybe that is why I chose that as the "Y-offset").
I don't know how clear any of this is when described in words ... I'm happy to try to clarify anything as needed. A word of warning: this spreadsheet does not account for the width of the tool tip, so it will not produce a perfectly spherical result. As I recall - it's been years since I used this - it did produce very good results that were more than acceptable for my needs, and didn't take nearly as long as one might expect. I started to work up a spreadsheet that would account for the width of the tool, but never finished it; I would be happy to make it available if anyone wants to work on it.