Процедура на вид верная и очищает планы 1,2 видеопамяти. Просто из центрального процессора через 176640/176642 ты можешь поменять лишь два цветовых плана памяти. А третий (дефолтно он синий после загрузки компа) - поменять не выйдет через эти регистры.
После загрузки компа центральная часть экрана закрашена синим. А служебные строки - черным. Ты через 176642 делаешь очистку и очистишь только 2 байта из трех. А третий меняется через похожий регистровый способ, но только из периферийного процессора.
Вот поэтому и не очистить вышеприведенным кодом вообще весь экран.
Надо либо лезть в ПП и выполнять там кусок кода (не прям мегасложно).
Либо использовать (я сам не знаю какие) скажем ESC-команды терминала для того чтобы одна из процедур обработки терминала в ПП сама покрасила/очистила. Кстати этими ESC командами ЕМНИП можно линии кружки и пр. рисовать. Ну чтобы не изобретать велосипед и не реализовывать брезенхема или что-то навроде для линии. https://zx-pk.ru/threads/31436-kody-...ala-uknts.html





Ответить с цитированием