Skip to navigation

Elite on the BBC Micro and NES

Maths (Geometry): SPS1

[Elite-A, Parasite]

Name: SPS1 [Show more] Type: Subroutine Category: Maths (Geometry) Summary: Calculate the vector to the planet, sun or station and store it in XX15
Context: See this subroutine in context in the source code References: This subroutine is called as follows: * COMPAS calls SPS1 * Main flight loop (Part 9 of 16) calls SPS1 * TACTICS (Part 3 of 7) calls SPS1

Arguments: Y Determines the object whose vector we are calculating: * 0 = calculate the vector to the planet * NI% = calculate the vector to the sun/space station Other entry points: SPS1+1 A BRK instruction
.SPS1 LDX #0 \ Copy the two high bytes of the planet/sun/station's JSR SPS3 \ x-coordinate into K3(2 1 0), separating out the sign \ bit into K3+2 JSR SPS3 \ Copy the two high bytes of the planet/sun/station's \ y-coordinate into K3(5 4 3), separating out the sign \ bit into K3+5 JSR SPS3 \ Copy the two high bytes of the planet/sun/station's \ z-coordinate into K3(8 7 6), separating out the sign \ bit into K3+8 \ Fall through into TAS2 to build XX15 from K3