Нашёл от тов.oldskool такое вот для Си, степень готовности этого проекта не установлено, я Си (всегда бежал! вообще) на УК-НЦ всерьёз не воспринимаю , хотя многое писалось для этой машинки на Си - пример движок игры "Стань Стальной Крысой" да и наверное ещё что-то есть и не мало.
И так документ:
Код:
О П И С А Н И Е Б И Б Л И О Т Е К И C G L I B v.2.00
(C) January 1995, Tiger
Графическая библиотека CGLIB содержит функции работы с графикой ЦП УКНЦ для
программ на языке C. Вторая версия отличается от первой расширенным набором
функций для работы с массивами видеоинформации, а также возможностью работы в
16ти цветах и более корректной версией функции outtext.
Функции библиотеки не обращаются к стандартным меткам C csv$ и cret$,
поэтому возможно их использование из программ на ассемблере. Вызывающая
последовательность выглядит примерно так:
.globl XXXXXX
mov argN,-(sp)
... ..........
mov arg2,-(sp)
mov arg1,-(sp)
call XXXXXX
add #N*2,sp
Здесь N - количество аргументов функции, arg1..argN - соответственно
аргументы (нумеруются слева направо в описании функции на C), XXXXXX - первые
6 символов имени функции.
ВНИМАНИЕ! Функции изменяют содержимое R0 и R1! Содержимое других регистров не
изменяется.
Х А Р А К Т Е Р И С Т И К А Б И Б Л И О Т Е К И
Все графические функции реализованы на ЦП УК-НЦ в связи с
неудовлетворительно малой скоростью работы и неудобным интерфейсом графики
ПЗУ. В связи с этим доступно лишь 4 цвета - соответственно экранные планы 1 и
2. Недостаточно малое количество цветов компенсировано введением механизма
палитр. Физически на экране больше 4 цветов одновременно вы получить не
сможете, но вы можете "жонглировать" цветами по своему усмотрению с помощью
переключения палитр (см. описание функций SetPalette(), Palette()).
Разрешение графического экрана составляет 640*288 точек, начало координат -
в левом верхнем углу экрана.
ВНИМАНИЕ!
Для увеличения скорости работы графики функции не производят проверку на
корректность координат, поэтому вся ответственность за правильность входных
данных лежит на программисте. Координаты должны находиться в следующих
пределах: X : [0..639], Y : [0..287], и номер цвета в пределах [0..3]. Будьте
внимательны! Если координаты выйдут за указанные пределы, могут возникнуть
неприятные сюрпризы, как то: в лучшем случае - белиберда на экране, в худшем
- затертые ОЗУ ЦП и системная область, и, как следствие, зависание машины.
Сравнительный анализ показал, что скорость работы некоторых функций, в
частности, вывод точки и закрашенного прямоугольника, превышает скорость
работы аналогичных ПЗУшных функций в 1,5-2 раза. Функция вывода линии
основана на алгоритме Люка, и ее скорость приблизительно равна скорости
ПЗУшной подпрограммы вывода линии.
Функции работы с областями изображений имеют некоторую специфику работы:
область может начинаться только со столбца, совпадающего с началом
знакоместа, иначе говоря, номер которого кратен 8. Скорость работы функций
копирования и перемещения составляет примерно
175000 (сто семьдесят пять тысяч) точек/с.
И С П О Л Ь З О В А Н И Е Б И Б Л И О Т Е К И
<..>
В приложеном архиве полное описание + CGLIB.OBJ;
Остальное по граф. для ассемблера, Си, паскаля, и Фортрана -
пока только то, что ориентировано только на КЦГД - в принципе,
в архиве наверное с самого начала валялось, я даже постил год или
больше назад про тот кусок архива информацию. Позже выяснилось,
это часть из разработок для КВАНТ-4С с КЦГД и рабочей средой АДОС - имеется в архиве у меня (источник архив Адос SuperMax'а).