Here's what I don't understand.
Maybe someone can help me here.
How can someone build a compatible API without getting information from the origional source code?
Easy, you use other sources of information. For programs to be able to use an OS's API's, they will need the documentation on how to interface with the OS's API's. Otherwise, you can't run any apps.
And if you build api's that act exactly like the origional enviornment, then you would have to write it the same way, although you would extend it further.
And the available documentation that you speak of also would have to be source code.
Correct?
I'm afraid not. API's work via a system of interfaces and calls to those interfaces. What lies behind those interfaces is a complete mystery to the program, they only know to use a specific API call and get a specific result. How things work between call and result can be done one of a hundred ways, as shown by the various mechanisms to impliment the POSIX API in many OS's
So no matter how you say it, it always comes back to the origional source code.
If you're going to emulate the Amiga OS and extend it, you're gonna have to do it with the origional source code.
Correct?
Incorrect. AROS has done it without any source code. They just read the documentation on the system API's, and then created a new system that uses the same API calls to the same results. The inner-mechanism for these can be worlds different. One could use a message-passing mechanism as in a microkernel, one could use a dynamic library setup as in an executive library, and yet another methodology is to make the API calls directly to a monolithic kernel.
What other documentation would there be that would even start to help that is not source code?
Doesn't make sense to me.
The documentation used in this case are the infamous Rom Kernel Manuals, published by Commodore Business Machines. I happen to own 2 complete sets of these manuals, the Brown and the Grey editions. I can state quite clearly:
These books contain no source code to the Amiga Operating System.
(Ironically, one edition does include partial schemaitcs for a segment of the Amiga chipset that were covered by patents, the blitter)
Please, purchase a copy of these books on eBay and read them. They have complete docs on the API's, library system, even the style of the AmigaOS widget set. With them, it is more than possible to clone an OS's API's without using a single line of code, nor even using the same mechanism for how the system operates.