Hi!
I am not a programmer. So, it can be possible, that my idea is naive.
You write here in the list, that the best would be, to make clean room reverse enginering, if an API isn't documented.
But why you not disasseble the apps which you want to run on ROS instead of disassembling Windows?
I see for it two advancements and one disadvancement.
The advancements:
1. If you make clean room rev. eng., then you cut into halves the number of developer of ROS. Then only one half programs for the system. The other half writes documents. But if you disasseble the apps which running on Windows, then you are still allowed to publish the documentation of the API it used. You are not allowed to write then an application like that, what you have disassembled. But that is nothing you want. You want to write an OS, which can execute this app. And that is (hopefully) allowed.
I don't know, if I am naive, but I think, if you see, that the program used a function void WindowsFunctuion (int, int, float); then you can write little test apps, with different values, to see what happens. So you don't need to disasseble Windows to look which happens.
2. If you make a clean room rev. eng. the people who write the document can make a mistake. Discribes the API wrong or not complete, so that the program which needs it still not runs. In this case the people who program, must say to the documenter, that he must do it again or better. But they can not communicate to much about it. Not to detailed. But this problem can be solved if you use the programs/drivers for Windows to disasseble insted of Windows itself.
The only disadvantage I see is, that it can need more time to understand the code. If you "only" disassemble Windows, you comprehend the code in any time.
But if you disassemble an app, it is at first the same. But if you have written the API for ROS and the app runs on ROS, then you must begin by zero by disassembling the next app, which don't run on ROS. And you must try to understand the code of this app and so on. So it can be possible, that this way takes longer, then clean room rev. eng. Windows direct. But I am not sure.
Greatings theuserbl