I'm faced with much the same problem as the OP.
Alexander Terekhov wrote:
> http://anubis.dkuug.dk/jtc1/sc22/wg2.../PDTR18015.pdf
> (see "The <hardware> Interface for C++")
I copied the following code from the above document:
#include <hardware>
#include "driv_defs.h"
register_access<PortA1_T, Platform> devStatus;
register_access<PortA2_T, Platform> devOut;
const uint8_t statusBusy = 0x4;
uint8_t ch = ' ';
// Wait until controller is no longer busy:
while (devStatus & statusBusy) ; // do nothing
// Write some value to controller:
devOut = ch;
I get the big picture, and this is just plain beautifull.
But where can I get the <hardware> interface? And say that
I'm trying to communicate with a hard disk drive on an
Intel PC, where can I get the "drive_defs.h" for this
platform?
Where does one find information about this stuff...?
And does anyone know how (or where to find out how) one
plugs into say the Linux and Windows core, in order to
actually get the permission to do such low level calls
to a device? (Ok, slightly OT for the group, but hey,
the whole point is that I don't know where else to ask

)
--
Fred H, paranoid norwegian hardware developer
void FredH::Contact() {
TextToSpeach.say("frode at age dee dee dot en oh");
}