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,x`

it'll just say

`LDA $2000`

or, instead of

`ADC $2000,x`

it'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?