Many thanks james666.
Good to see someone getting stuck in at the coal face.
I'll start grabbing these source changes and collate them with my own and any others. At this stage, the objective is an AMOS Pro V2.x release that just fixes current bugs.
Enhancements would ideally come later and be separate. So, if you're thinking of dabbling in AGA ideas, just keep them separate from bug fixes.
As a general remark, I think it would quite feasible to modify amos.library to handle AGA parameters from the existing command set (e.g. Screen Open in 256 colours, Dual Playfield with 16 colour screens). It's much easier to do things like 64 bit bitmap alignment by putting 3.0 system calls directly in the core library than by patching A500-oriented code with extensions.
Now I'm more familiar with the overall AMOS architecture, I completely agree. The AGA enhancements should go into amos.library. It would require a little bit of adjustment in AMOSPro.Lib to accept the different parameter limits (and can easily cope with alternative parameter formats for instructions if necessary).
Our main problem will be getting amos.library to behave differently depending on whether it detects AGA chipset or not. Also, during tokenisation, the interpreter would need to detect whether it should report an error depending on chipset. Similar to the way it currently detects and flags AMOS 1.3 compatibility. And, of course, the compiler will have to know about it too.
It will need careful planning and coordination.
I published some very naïve AMOS Pro overview diagrams a while back. I'll get those revised and re-published a.s.a.p. now I know what it's doing from the sources. We've got to keep the overall picture in view - AMOS Pro's partitioning is reasonable but it is still very tightly coupled in some places.