.TT103 LDA #GREEN ; Switch to stripe 3-1-3-1, which is white/yellow in the STA COL ; chart view LDA QQ11 ; Fetch the current view type into A BMI TT105 ; If this is the Short-range Chart screen, jump to TT105 LDA QQ9 ; Store the crosshairs x-coordinate in QQ19 JSR SCALEX ; STA QQ19 ; The call to SCALEX reduces the size of the chart to ; three-quarters of the original size, so it can fit ; into the Apple's screen mode, which is smaller than ; the original BBC Micro screen LDA QQ10 ; Store the crosshairs y-coordinate in QQ19 JSR SCALEY ; STA QQ19+1 ; The call to SCALEY halves the value in A (as the chart ; is half as tall as it is wide), and then it reduces ; the result to three-quarters of the original value, so ; we can fit the chart into the Apple's screen mode, ; which is smaller than the original BBC Micro screen LDA #4 ; Set QQ19+2 to 4 denote crosshairs of size 4 STA QQ19+2 JMP TT15 ; Jump to TT15 to draw crosshairs of size 4 at the ; crosshairs coordinates, returning from the subroutine ; using a tail callName: TT103 [Show more] Type: Subroutine Category: Charts Summary: Draw a small set of crosshairs on a chartContext: See this subroutine in context in the source code References: This subroutine is called as follows: * hm calls TT103 * HME2 calls TT103 * TT102 calls TT103 * TT16 calls TT103 * TT23 calls TT103
Draw a small set of crosshairs on a galactic chart at the coordinates in (QQ9, QQ10).
[X]
Configuration variable GREEN = 8
Offset into the MASKT table for green
[X]
Subroutine SCALEX (category: Maths (Geometry))
Scale the x-coordinate in A to 32 + 0.75 * A
[X]
Subroutine SCALEY (category: Maths (Geometry))
Scale the y-coordinate in A to 0.375 * A
[X]
Subroutine TT105 (category: Charts)
Draw crosshairs on the Short-range Chart, with clipping
[X]
Subroutine TT15 (category: Drawing lines)
Draw a set of crosshairs