This code appears in the following versions (click to see it in the source code):
Code variations between these versions are shown below.
Name: SHPPT Type: Subroutine Category: Drawing ships
.SHPPT
When drawing a distant ship as a dot, the cassette, disc and 6502SP versions erase the entire on-screen ship before redrawing it, while the Master version erases and redraws each ship one line at a time.
See below for more variations related to this code.
This variation is blank in the Master version.
JSR EE51 \ Call EE51 to remove the ship's wireframe from the \ screen, if there is one
Code variation 5 of 13
See variation 2 above for details.
Tap on a block to expand it, and tap it again to revert.
LDA #%00001000 \ Set bit 3 of the ship's byte #31 to record that we ORA XX1+31 \ have now drawn something on-screen for this ship STA XX1+31
Ships in the advanced versions each have their own colour, including when they are shown as points.
This variation is blank in the Master version.
Tap on a block to expand it, and tap it again to revert.
Code variation 9 of 13
See variation 2 above for details.
Tap on a block to expand it, and tap it again to revert.
.nono LDA #%11110111 \ Clear bit 3 of the ship's byte #31 to record that AND XX1+31 \ nothing is being drawn on-screen for this ship STA XX1+31
Code variation 10 of 13
See variation 2 above for details.
Tap on a block to expand it, and tap it again to revert.
.Shpt
Code variation 11 of 13
See variation 2 above for details.
Tap on a block to expand it, and tap it again to revert.