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+ uses character 13 (carriage return) to denote end-of-line. Astrum Next will 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, 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.