.TRNME LDX #7 \ The commander's name can contain a maximum of 7 \ characters, and is terminated by a carriage return, \ so set up a counter in X to copy 8 charactersName: TRNME Type: Subroutine Category: Save and load Summary: Copy the last saved commander's name from INWK to NA%
This variation is blank in the Cassette, Disc (docked), 6502 Second Processor and Electron versions.
LDA thislong \ Copy the length of the commander's name from thislong STA oldlong \ to oldlong (though this is never used, so this \ doesn't have any effect)
LDA INWK,X \ Copy the X-th byte of INWK to the X-th byte of NA% STA NA%,XLDA INWK+5,X \ Copy the X-th byte of INWK+5 to the X-th byte of NA% STA NA%,X
DEX \ Decrement the loop counter BPL GTL1 \ Loop back until we have copied all 8 bytes \ Fall through into TR1 to copy the name back from NA% \ to INWK. This isn't necessary as the name is already \ there, but it does save one byte, as we don't need an \ RTS here