Elite on the BBC Micro and NES

# Maths (Arithmetic): PIX1

## [BBC Micro disc version, Docked]

```       Name: PIX1                                                    [Show more]
Type: Subroutine
Category: Maths (Arithmetic)
Summary: Calculate (YY+1 SYL+Y) = (A P) + (S R) and draw stardust particle
Context: See this subroutine in context in the source code
Variations: See code variations for this subroutine in the different versions
References: No direct references to this subroutine in this source file

Calculate the following:

(YY+1 SYL+Y) = (A P) + (S R)

and draw a stardust particle at (X1,Y1) with distance ZZ.

Arguments:

(A P)                A is the angle ALPHA or BETA, P is always 0

(S R)                YY(1 0) or YY(1 0) + Q * A

Y                    Stardust particle number

X1                   The x-coordinate offset

Y1                   The y-coordinate offset

ZZ                   The distance of the point (further away = smaller point)

.PIX1

JSR ADD                \ Set (A X) = (A P) + (S R)

STA YY+1               \ Set YY+1 to A, the high byte of the result

TXA                    \ Set SYL+Y to X, the low byte of the result
STA SYL,Y

\ Fall through into PIX1 to draw the stardust particle
\ at (X1,Y1)
```