Great architecture but lousy design.
We had a development system for the 9900 and just using 2K of program and 16K of RAM, I built a comms controller linking 8 screen based terminals and 4 printers to the ICL mainframes allowing us to use cheap dumb terminals saving tens of thousands per set up. We took the 99/4 onboard as a cheap device for our remote offices, but when we closely examined the architecture, we found that the memory was accessed through the video controller and not directly which made it a no no for serious development, ie replacing the operating system with my own! Instead we built our own rs232 interfaces and wrote basic programs which allowed the remote offices to input and edit their payroll data, sending it automatically to the mainframe and receiving and printing the processed response. The limitation was the use of cassette tape. I Still remember my first demo, suitably impressing the ladies in the remote office. Taking everything back to scratch and saying "right, your turn" showed the uphill task when the boss lady tried to force the cassette into the player whilst still in its case as they had not come across these new fangled cassette tapes before!