Simon Lothar wrote about g3a virtualisation among others here
http://www.casiopeia.net/forum/viewtopi ... ing#p14339 “At best syscall 0x0026 could serve as template. 0x0026 is used to virtualize a G3A. Important syscalls in this course are 0x1DAA, which enumerates the 4096-byte blocks of an open file, and 0x0009, which sets the TLB.
Possibly syscall 0x0027 is informative, too. It virtualizes the static RAM (8*64k) of a G3A and uses 0x000A to set the TLB.
I did not unravel the way of 0x0026 in detail, therefore I cannot present examples. These things are rather complicated.”
Asking him what he knows about size of add-in limitations / workarounds may help a lot.
Separately my understanding of addin states being preserved is that only for the most resently exited addin it is preserved when you leave to main menu and come back to it. Also something gbl08ma I think was calling child process can be launched when another add-in/built-in app is started as e-activity like strip app (with checkered status bar) and then menu key press switches from child process to back to the parent app.
Having said it all it is still possible to create linked with eachother addins- for example have one addin save its state or more like history of inputs etc and when necessary launch another addin reusing those saved inputs for some additional functionality not available in the first addin...