.DOT LDY #2 \ Fetch byte #2 from the parameter block (the dash's LDA (OSSC),Y \ x-coordinate) and store it in X1 STA X1 INY \ Fetch byte #3 from the parameter block (the dash's LDA (OSSC),Y \ y-coordinate) and store it in X1 STA Y1 INY \ Fetch byte #3 from the parameter block (the dash's LDA (OSSC),Y \ colour) and store it in COL STA COL CMP #WHITE2 \ If the dash's colour is not white, jump to CPIX2 to BNE CPIX2 \ draw a single-height dash in the compass, as it is \ showing that the planet or station is behind us \ Otherwise the dash is white, which is in front of us, \ so fall through into CPIX4 to draw a double-height \ dash in the compassName: DOT [Show more] Type: Subroutine Category: Dashboard Summary: Implement the #DOdot command (draw a dash on the compass)Context: See this subroutine in context in the source code Variations: See code variations for this subroutine in the different versions References: This subroutine is called as follows: * OSWVECS calls DOT
Arguments: OSSC(1 0) A parameter block as follows: * Byte #2 = The screen pixel x-coordinate of the dash * Byte #3 = The screen pixel x-coordinate of the dash * Byte #4 = The colour of the dash
[X]
Subroutine CPIX2 (category: Drawing pixels)
Draw a single-height dash on the dashboard
[X]
When the parasite sends an OSWORD command to the I/O processor (i.e. an OSWORD with A = 240 to 255), then the relevant handler routine in the I/O processor is called with OSSC(1 0) pointing to the OSWORD parameter block (i.e. OSSC(1 0) = (Y X) from the original call in the I/O processor)
[X]
Configuration variable WHITE2 = %00111111
Two mode 2 pixels of colour 7 (white)