Skip to navigation

Elite on the BBC Micro and NES

Drawing circles: CIRCLE, Removed

[Elite-A, Docked]

Name: CIRCLE, Removed [Show more] Type: Subroutine Category: Drawing circles Summary: Draw a circle for the planet Deep dive: Drawing circles
Context: See this subroutine in context in the source code References: No direct references to this subroutine in this source file

Draw a circle with the centre at (K3, K4) and radius K. Used to draw the planet's main outline.
Arguments: K The planet's radius K3(1 0) Pixel x-coordinate of the centre of the planet K4(1 0) Pixel y-coordinate of the centre of the planet
\ --- Mod: Code removed for Elite-A: ------------------> \.CIRCLE \ \ LDA #0 \ Set LSX2 = 0 to indicate that the ball line heap is \ STA LSX2 \ not empty, as we are about to fill it \ \ LDX K \ Set X = K = radius \ \ LDA #8 \ Set A = 8 \ \ CPX #8 \ If the radius < 8, skip to PL89 \ BCC PL89 \ \ LSR A \ Halve A so A = 4 \ \ CPX #60 \ If the radius < 60, skip to PL89 \ BCC PL89 \ \ LSR A \ Halve A so A = 2 \ \.PL89 \ \ STA STP \ Set STP = A. STP is the step size for the circle, so \ \ the above sets a smaller step size for bigger circles \ \ \ Fall through into CIRCLE2 to draw the circle with the \ \ correct step size \ --- End of removed code ----------------------------->