I forgot the IOP part... so this means we will be able to have the MEC command issue that almost got STS-41D, right?Because we have not 5 GPCs. We have 4 PASS GPCs running almost perfectly synchronous at times with up to 32 parallel tasks (FCOS limit) being executed, while other activities are done in the background by hardware. We have up to 25 I/O programs being executed by each IOP in parallel in the mean time (hardware limit, MSC + BCEs, but time division multiplex). And there is a BFS GPC somewhere in between doing its thing.
Would the number just be five, we would not have a problem. Would we just care for the 32 + 1 tasks being executed in parallel, we would still have a smaller problem.
Just serializing the PASS software would also not work out. We would replace finding a solution to making multiple threads run fine in the background of Orbiter by finding a way to define a multiprocess real-time system in a single thread and split it into frame-lengthed segments. I tried this a few times without getting into madness every time a new process is added into the system. Especially it would make it very hard to wait for I/O or special events in it, while it is a single liner in a thread.
We could just focus on making the displays run nice and pretend something happens - but this would mean everything that is not visible directly would not be happening or happening at the wrong time, just like the real-time behavior when interacting with them. And adding new displays like the payload specific ones would be much harder.
Sorry, but I hardly see any good chance to get past this. Even emulating the CPU would just solve a fraction of the problem and replace it by a new one. The idea to focus on the software partitions running the same software in sync sounds like the most economic approach in multiple ways. Out of multiple difficult approaches, its the least bad one.
I just have rarely more than 2 hours per week for working on any Orbiter project and my brain is still to badly damaged by my almost previous paid project. :facepalm:Almost previous - I still don't trust the calm.
The problem with "adding" hardware is we need software to control it... I can do it, it's just that it will be another thing that will need to be "undone" in the future.And can't we just add a OMS TVC subsystem for each engine and have a separate OMS engine handling the chemical work?