typedef unsigned char byte;

this tells the compiler that byte is an alias for an unsigned char.

byte far *VGA = (byte far*)0xA0000000L;

far means that the memory address is a segment:offset...