Доступ к видеопамяти (текстовый режим) в защищённом режиме [MS-DOS]

Здравствуйте. Я пишу одну программу под DOS на Си, которая в числе всего прочего должна разукрасить экран в текстовом режиме. Как-то раз я уже писал эту функцию, но для реального режима. Там я просто циклом for пробежал от указателя * (char 😉 B8000000UL. Теперь программа работает в защищённом режиме, специфику которого я знаю не очень хорошо. Точнее, очень не хорошо. И доступ по указанному выше указателю создаёт исключение. В связи с этим у меня вопрос: по какому указателю мне обращаться, чтобы перекрасить экран? Напишите, пожалуйста, точный указатель. Заранее спасибо.

Так и в защищенном режиме работает .
The following program fills the screen with ’C’ with given attributes.
#include
#define
_4KB
(4096)
/* size of vdu page */
int main( void )
{
int i;
const int attribute = 0x20;
char far *Vid_RAM;
FP_SEG( Vid_RAM ) = 0xb800;
FP_OFF( Vid_RAM ) = 0x0000;
for ( i=0; i