ok, the commands to mess with are:
$13/E56D BD 00 20 LDA $2000,x
$13/E110 7D 00 20 ADC $2000,x
$13/E580 BD 40 20 LDA $2040,x
and
$13/E118 7D 40 20 ADC $2040,x
Basically, these commands determine the position of each planet (and moon) depending on some constantly-rotating data in the 7E:2000 area of RAM.
Each planet's data has a relative location in this bank, separated by an increment (x).
So, for the first planet, x=00, and the game looks at 7E:2000. For the second planet, x=2, and the same command makes the game look at 7E:2002. Then x=4 and the game looks at 7E:2004, and so on in that fashion.
The trick is to take away the indexing...
That is, instead of
LDA $2000,xit'll just say
LDA $2000
or, instead of
ADC $2000,xit'll say
ADC $2000
So for every planet, the game just looks at the data that is supposed to be used for the first planet.
I'm not sure why, but the result is wobbly orbits.
In order to change the indexed LDA into a normal (non-indexed) LDA, just change the BD to AD.
so, for example
$13/E56D AD 00 20 LDA $2000
And to change an indexed ADC into a normal ADC, change the 7D into 6D.
so, for example
$13/E110 6D 00 20 ADC $2000
Try playing around with these commands and see what kind of fun you can have.
you can also change the "2000's" into "2002," "2004," "2040," "2042," etc.
2000, 2002, 2004, 2006, 2008, 2040, 2042, 2044, 2046 and 2048 are all accessed by these routines so changing any instance of 2000 or 2040 to any of these values will produce different orbiting results.
These offsets are all in LoROM, by the way. You can play with a live ROM by opening it in Geiger's SNES 9X Debugger, viewing the IN SPACE visual effect, then use the emulator's hex viewer to view/change the assembly at those offsets.
Does that make sense?