.StopDrawingEdge TSX \ These instructions remove two bytes from the top of INX \ the stack so the RTS below returns an extra level up INX \ the call chain TXS \ \ We jump to this routine from the DrawVergeByteLeft and \ DrawVergeByteRight routines. These are only called \ from the DrawShallowToLeft, DrawShallowToRight, \ DrawSteepToLeft or DrawSteepToRight routines, which in \ turn are only called from DrawSegmentEdge, so this \ returns us to DrawSegmentEdge to stop drawing the \ current segment's verge edge and move on to the next \ segment LDA updateBackground \ If updateBackground is non-zero, then we just drew a BNE UpdateBackground \ verge on the start of the left edge of the screen, so \ call UpdateBackground to update the background colour \ for this track line, returning from the subroutine \ using a tail call RTS \ Return from the subroutineName: StopDrawingEdge [Show more] Type: Subroutine Category: Drawing the track Summary: Stop drawing the current segment's verge edgeContext: See this subroutine in context in the source code References: This subroutine is called as follows: * DrawVergeByteLeft calls StopDrawingEdge * DrawVergeByteRight calls StopDrawingEdge
This routine stops drawing the current segment's edge when called from DrawVergeByteLeft or DrawVergeByteRight.
[X]
Subroutine UpdateBackground (category: Drawing the track)
Update the background colour table for when we draw a verge edge off the left edge of the screen
[X]
Variable updateBackground in workspace Zero page
Flag to indicate we have changed the background colour of a track line