Yes but they will not work in a Windows session. There are 2 methods:
- Use bank switching via interrupts or pointer to bank switch function in hardware
- Use the linear frame buffer
The bank switching might work under a DOS session but the pointer to the bank switch function will fail in a DOS session under Windows XP.
The linear frame buffer will only work with a DOS extender and will most likely fail under Windows XP. I know for sure you cannot use the near-pointer LFB method under Windows XP. The only method that will work is using DJGPP and the farnspoke() family of functions. Since this means that each pixel plot equates to a function call you are probably not going to get any kind of good performance. Windows will not allow this anymore:
unsigned int *pLFB=NULL;
//Get address to LFB
....//Fails when trying to map LFB to address space and access as a near pointer
pLFB[offset]=color; //Fails since pLFB is NULL
A better option would be to explore either OpenGL or Direct3D which have made bank switching and linear frame buffer issues a thing of the past.