PDA

Просмотр полной версии : Возможности СУПЕР-ПЗУ от Coman



KTSerg
02.09.2018, 09:26
В Вектор-Юзер 28-29 увидел описание возможности загрузчика. Написано, что сохранены возможности Супер-ПЗУ Coman, в том числе "печать экрана".
Вот это мне интересно, кто-то разбирался, как это реализовано?
По идее загрузчиком перехватывается работающая программа, печатается экран, а что дальше? Разве можно в Векторе возобновить выполнение перехваченной загрузчиком программы?
Ведь для "печати экрана" нужно как минимум, подключить ПЗУ вместо ОЗУ, а потом снова отключить ПЗУ, я уже не говорю о перехвате адреса выполняемой команды.
Или перехват управления делается при переходе к выполнению штатного прерывания?

ivagor
02.09.2018, 10:35
С данной возможностью не разбирался, дальше только мои предположения (по крайней меря я бы так сделал).
По аналогии с выбором вариантов загрузки (магнитофон, fdd и т.д.) при рестарте держим нажатыми определенные клавиши. При этом загрузчик определит, что не надо очищать область 8000-FFFF и выводит ее на принтер. Продолжение выполнения программы, конечно, не предусматривается, все же в 8080 NMI нет. Один момент смущает - это выбор вариантов "дизеринга" цветов. Загрузчик ведь не знает, какая была палитра у прерванной программы.

KTSerg
02.09.2018, 11:40
Ну, не возвращать управление прерванной программе это не интересно.
Так и я делал в 90-91-ом, когда писал для Вектора программу печати картинок на широком принтере. Правда я в ПЗУ встраивал только копирование экранной области в Квазидиск. Потом запускалась отдельная прога которая из этой копии создавала файл на самом Квазидиске и восстанавливала контрольные суммы. Ещё можно было удалить не используемые в картинке слои, в которых иногда попадался код программ.
Но для игрушек это накладно, добрался до интересного уровня, сделал "скриншот", и начинай игру с начала...
Тем более, что копирование экранного ОЗУ на Квазидиск, ещё встречалось в каком-то загрузчике.