Hi friends!
i wanna write directly to vdu memory using c language.the code is here
.............code begin........
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i;
char far *vidmem=0xB8000000;
for(i=0;i<=3999; i=i+2)
*(vidmem+i)='A';
return 0;
}

..........code end...........

the compiler i use is Turbo C version 3.0. i got the following error when i try to compile
the code.

cannot convert unsigned long to char far*

please help me , what is the error or the reason why it does not work.
moreover please suggest a good C Book for me i m a college computer science student.
thanx.