"Неправильная" иногда закраска полос - это норма, тут ничего нет такого. Просто работа теста идет при выключенных прерываниях, и нет возможности синхронизировать палитру с началом кадра, из-за чего иногда палитра устанавливается в момент вывода на экран не бордюра, а данных, и в нее записываются "сторонние" данные. Исправить без использования прерываний особо никак, да в тесте и не надо. Тут не парься.
А вот с символами... Пока мысль проверить сигналы, идущие на ножки шины данных ПЗУ со шрифтом. Подозреваю там или спайку пары линий, или обрыв/непропай какой-то одной.