It could happen I missed some of the information that was already posted in the French forums; if it is the case, please post a link to it here.
I am running lhTools under Linux Manjaro and they are running fine without any problems. Nevertheless there are some small issues that can cause a slight inconvenience, though they are not really limiting and once you get used to them, you perhaps don't even realize their existence. So they are most visible to a new user like me.
The list is not long, and there might be a misunderstanding from my side, so please correct me where I am wrong.
Part I. - lhasm
Tested version: 0.7.6p1
1. To tell the compiler whether a number is decimal, octal, or hexadecimal, prefixes like &, #, \X, \o etc. are used. However, if you use no prefix, hexadecimal is presumed. This can lead to ambiguities, as a number can have the same format as a symbol (e.g. label). So in the instruction
Code : Tout sélectionner
CALL BC10
2. The prefixes cannot be used with the .ORIGIN: directive. It requires hexadecimal number with no prefix.
3. .EQU directive accepts most of (perhaps all?) specifiers and operators listed in chapters 2.2 and 2.3 of the manual. But an error is raised if the expression contains a symbol. So you can write
Code : Tout sélectionner
SEPAR .EQU $:
OFFSET .EQU [+10]&4455
Code : Tout sélectionner
VAR2 .EQU VAR1
ADR2 .EQU [+0100]BASE
Code : Tout sélectionner
LDA (VAR1)
LD H,[+10]<VAR1
Code : Tout sélectionner
LDA (2+ADR) ; (but not ADR+2)
5. Except for the ML instructions, the compiler has a number of predefined symbols and mnemonics for the use with PC-1500. In chapter 2.1 of the manual, mnemonics for selected SBR() calls are listed. But besides this, there are apparently other named addresses for some useful ROM routines and system variables, but these are not documented.
6. The compiler understands the instruction CLA, which is compiled as &34. But such ML code is not listed in the LH5801 Assembly Language documentation. What does it do...?
7. The indirect instructions AND (R), AND (mn), OR (R), OR (mn) (and perhaps some other?) should not be followed by a comment, otherwise a warning is raised
--WARNING-- Argument 4; Trailing garbage not processed!
followed by a fatal error "Assembler confused" etc. If there is no comment, these instructions compile correctly.
The list will be extended if I come across other irregularities.
For the time being I have no (or very small) experience with the other tools (lhdump, lhcom, lhpoke).