Some words about source code

The original Astrum+ was written for the 48K Spectrum and it uses a scheme whereby if the first character in a line is a space there is no label. If the first character is not a space then the first word defines a label. Astrum Next follows this convention which means if your source code is left aligned (as I have seen in Pasmo files) or has labels in other places then Astrum will not assemble it correctly. Astrum also expects one instruction per line and currently doesn't recognise multiple statements separated by colons. Astrum will, however, treat a tab (character 9) as a space.

Astrum+ used character 13 (carriage return) to denote end-of-line, Astrum Next does the same. Astrum Next will also recognise and use source files whose lines end in character 10 (line feed). Source files that come from a PC probably will use both carriage return and line feed to mark the end of a line (what were they thinking)? Astrum Next will detect this and convert the files (by removing the character 10s). You will be prompted when this happens and saving the file will result in the loss of all those innocent character 10s... This may cause a problem if the file is brought back to the PC, for example. Some files will contain both character 13 and character 10 at the end of the line; I don't understand why it happens but there are Spectrum Next specific files out there that are like this! Astrum will detect this situation and harmonise the file to use just one line ending. Astrum will tell you if it does that.

Astrum Next can convert your files from using character 13 to character 10 for end-of-line (or vice-versa) from the Help->Tools menu.

Git for Windows seems to struggle to treat source files that use line feed as source code. I have written a utility for the PC that allows end-of-line conversion from the command line: https://github.com/silverfrost/CrLf (built executable: https://github.com/silverfrost/CrLf/releases/tag/1.0).

Astrum normally works in auto-format mode which means that you type, for example:

     ld b,5 ;store 5s
    loop ld (hl),a
     inc hl
     djnz loop
and Astrum will auto-format it to
            ld b,5          ; store 5s
    loop    ld (hl),a
            inc hl
            djnz loop
If the source code uses line feed for end-of-line then auto-formatting will be turned off. You can toggle auto-format using EXTEND SS + F and set the default from the settings screen on the help menu.