А зачем лезть в программирование РУ2? В screen 1 цвета задаются в памяти, откуда они и пересылаются обработчиком BIOS в регистры. Самим в регистры писать бесполезно, ведь их все равно перепишет обработчик BIOS.

Я когда рассматривал возможности видеорежима 1, то для ускорения применял непосредственное программирование цветов через порты, но приходилось каждое прерывание записывать единицу в память по адресу 0FDEBh, которая отвечает за обновление биосом регистров палитры.