in an api you program to a standard codeset which the os can trap and kill if it goes awry.
in direct hardware you have a set of commands(loose wording) that directly control the hardware that has the potential to let multiple programs access this hardware simultaneously. this creates the possibility of causing a hardware lockup killing the system.
...
You are thinking doing multitasking while someone is accessing directly the hardware and trying to avoid conflicts, but I am talking about just allowing an application to use hardware directly. You can do that with IOPM or Amiga does it by the application not allowing other applications to run at the same time.
>uh nope if a piece of software requires directx 10 or higher it is cut and dry. directx 10 even has backwards compatibility with previous versions. also this piece of software installs the version it needs on install.
But they also fixed bugs in higher and higher versions of DirectX; so you need to know whether to avoid the bugs or not.
>yea i do have a shallow understanding of it. but what i understand is that it is a gate system. and the port is open or closed. that it is very simplistic in operation. but closing the barn door after a lockup is not of any use.
>In order for the os to really control the flow you will have to adopt some form of api this way the os can refuse to pass on something that is not properly executed. this is the point of an api.
No, you don't need an API. Windows for each task keeps track of an IOPM and it can set IOPM to enable hardware ports needed by that application and application directly accesses that port without any API/drivers involved.