AMOS has some powerful features that i really love. That you can just load in IFF pictures, ProTracker mods &c, and save them along with your program, unpack the graphics and play the mod with a couple of lines... in many ways it is a dream. Easy to learn, difficult to master - but only partly because of the performance. I find i have to declare loads of variables as global, arrays can't be dynamically resized, if you want to implement any kind of data structure you find yourself peeking and poking directly into memory banks, and at that point you start to wonder if you shouldn't be using something else.
And with such arbitrary limitations, why only 8 screens? Why all the memory banks accessed by number? It's these kinds of things i find difficult to come back to after several years of C++, or even Asm.
It would be nice if AMOS could do things like
S = new Screen(320,256,16,lowres)
B = new Reserve as Chip(4096)