Есть очепятки/непонятки
Где мультиплексирование адреса - в младших разрядах затесался счетчик строк вместо счетчика точек;
При 60Гц счетчик строк для VGA пожалуй стОит не обнулять, а инициализировать каким-то значением, иначе экран заметно вниз съедет.