Цитата Сообщение от barsik Посмотреть сообщение
Это инициализация ВГ75 на стандартный режим дисплея, экранная область не чистится.

Зачем делать JMP внутрь тела ПЗУ F800, на нестандартную подпрограмму. В одной версии ПЗУ F800 это есть, а в другом нет. В базовом ПЗУ РК86 есть, а в базовом ПЗУ Микроши и других клонов нет. В версии для КР580 есть, а в версии для Z80 или 6502 нет.

Это плохой стиль программирования "лезть внутрь ПЗУ F800". Зачем жестко привязывать программы к коду ПЗУ? Завтра к РК86 будет подключен модуль МЦПГ для добавления цвета и графики и в ПЗУ придётся вставить команды инициализации, отчего все внутренние нестандартные подпрограммы сдвинутся. И тогда все некорректные программы сделаные в стиле, "а мне плевать", лезущие во внутрь ПЗУ, перестанут работать. Такой стиль программирования обрекает использовать только программы РК сделанные до 1991 года и не позволяет сделать никаких совместимых программных улучшений.

Есть стандартная входная точка F82D, в которой в базовом ПЗУ стоит JMP FACE. Потому результат - без разницы, делать стандартный CALL F82D или нагло лезть внутрь ПЗУ F800, делая нестандартный CALL FACE.

Авторы РК86 неоднократно предупреждали, что лезть внутрь ПЗУ нельзя. Но нашлись умельцы, которые, чтобы с'экономить 9 МКСЕК времени и несколько байтов кода, стали лезть внутрь ПЗУ F800. Вероятно, из-за этого, авторы РК86 не смогли опубликовывать обещанную схему реконфигуратора архитектуры, дающего в РК86 две адресации портов - со старыми адресами портов на 8000 и с адресами портов на F000, что даёт 60 кб ОЗУ.
Может я непонятно написал. Это пример рабочего кода. Из него можно взять параметры инициализации и сами процедуры инициализации. Параметры позволяют не считать биты и вообще не задумываться автору, например желающему написать игру (а разве не после подобной темы отщепилась вот эта?), как изменить высоту строк, увеличить их количество и тд. Нужно только указать в параметрах желаемое. Не все же разбираются в мудрёных и запутанных константах для инициализации БИС, тем более что там нагорожено всё в кучу. Естественно, что переносить в свою программу заполнение экрана нулями и символами, а так же Выход из программы не надо (думал это и так каждому понятно).

Далее. Да, в конце это инициализация на стандартный режим дисплея. И нужна она, чтоб запустив программу (именно вот эту) из Монитора, потом из неё в этот же монитор и вернуться, на строку ниже с тем же курсором. Зачем здесь чистить экран? Лично я в Мониторе правил некоторые параметры в этой программе и снова запускал её. Смотрел как отображается новый экран и снова возвращался. Делал я всё это на Апогее, там и адреса были другие. Для проверки на эмуляторе РК переписал адреса под РК. А если появится желающий проверить "это" на другой машине, ему нужно вставить адреса контроллеров и процедур свои. Чего здесь непонятного? Повторяю - адреса процедур и адреса устройств любой желающий может поставить свои, какие хочет. Это возможность воткнуть в реальный ТВ реальный РК (или клон) и не дожидаясь создания какой-то новой игры или программы, проверить нестандартный режим экрана для РК, но вписывающийся в стандарты ТВ.