Please bear with me since I am not all that sure about how to ask the questions that I have.
I have an application that I want to develop for the PC with special hardware that will run on the PCI bus. I will need to send data from the program directly to the hardware. It is not necessary that I use a sophisticated operating system like XP or even any version of Windows. Therefore I can avoid the difficulty of writing Windows device drivers for the new hardware, etc.
I suppose that I could go a couple of ways. One way would be to use good old DOS, which does not run in protected mode, and use DJGPP (or VC1.52, I think) to obtain an executable. Since DOS does not know about protected mode I would not cause a segmentation fault when I directly access the PCI hardware. Is this correct?
I was reading in the DJGPP documentation that DJGPP has a DOS extender. This was described as a layer of software that "traps the call, switches the CPU to real mode, reissues the call, waits for the service to do its thing, then switches the CPU back into protected mode, and returns to the application code that called the real-mode service".
Does Windows have a DOS extender? Is it not possible to run old DOS programs on XP in what passes for a DOS emulator?
Does Linux have a DOS extender? Will an executable made with DJGPP run on Linux?