This is a small list of AMOS bugs you must be aware of:
1. The AMOS string management is not bugfree. Be especially careful with AMAL programs!
2. The AMOS Default routines are not called:
If you load AMOS and then start a program, the extension default
routines are not called. I.e if a music is running from the previous
call, it will not be stopped.
Conclusion: - Call any accessory (e.g the help-accessory) once.
3. Programs cannot be compiled:
The compiler prints out the error 'Not an AMOS program'. If you use
memory banks, all bank lengths must be even. If this is not the case,
the programs do work from the editor but not compiled.
Conclusion: - Extend odd banks by one byte using Bank Stretch.
4. A program that uses data lines does not work correctly when compiled:
There must not be any comments after a data line. Data commands must be
completely alone on a line. Otherwise the compiler will interpret
these comments as data.
Conclusion: - Write the comments into a separate line.
Even worse: a friend of mine was faced to a guru when trying to compile a program that uses approx. 500 KB of data lines. As for now, I found no solution for this problem.
Bugs that are interesting for extension programmers:
1. Your commands or functions can only have a maximum of 9 parameters. Everything above this will not be put on -(a3).
2. All routines, that are jumped to directly by a token must be placed in the first 32 KB of code. Otherwise the command will crash. Additionally the distance of a RBras or RBccs jump must not exceed 32 KB.