User Tag List

Показано с 1 по 10 из 52

Тема: MATRIX

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #2

    Регистрация
    05.10.2006
    Адрес
    Харьковская обл.
    Сообщений
    166
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    4. Работа с графической подсистемой (вывод на экран)



    Программа может создавать и использовать несколько окон для отображения в них текста или спрайтов.



    Перед началом работы с графической подсистемой программа должна выполнить вызов определенной функции ядра системы,

    в процессе выполнения которой ядро даст запрос графической подсистеме и она зарегистирирует эту программу в списке программ,сообщения от которых ею (графсистемой)обрабатывают ся.



    Функции.



    newin - создать новое окно (in: NN- адрес заголовка окна(в нём координаты, размеры, цвет)out: ID - нового окна)



    viewin ID- показать на экране окно с номером ID



    minwin ID - убрать с экрана окно с номером ID



    killwin ID - уничтожить окно с номером



    clswin ID - очистить окно с номером ID



    txtwin ID - напечать текст в окне по текущим координатам



    koorwin ID - координаты печати в окне



    printwin ID - напечатать заголовок окна



    sprwin ID - напечатать спрайт в окне по указанным координатам



    attrdwin ID - изменить различные аттрибуты окна (размеры, координаты, цвет окна и заголовка)



    Также есть возможность захватывать устройство типа основной экран и дополнительный экран в монопольное использование программой,в этом случае программа может напрямую работать с байтами на экранах

    Функции:

    getscr - занять основной экран

    getscr2 - занять дополнительный экран

    freescr - освободить

    freescr2 - освободить

    pagescr2 - Отобразить в адресное пространство в адрес #C000 страницу с экраном 2

    pagescr - Отобразить в адресное пространство в адрес #C000 страницу с экраном 1

    onscr,onscr2 - сделать видимым экран 1 или экран 2 (после вызова этой функции переключение экранов будет выполнено

    после прихода прерывания).

    Если с экраном работает какая-нибудь программа, то другой программе будет отказано в захвате экрана при вызове её функции getscr(getscr2)



    Вышеуказанные функции являются сообщениями от программы для графической подсистемы, а сама графическая подсистема посылает программе сообщения в том случае если на окно произодиться воздействие устройством управления (клавиатурой и мышью,джойстиком) - в виде -координаты воздействия от левого верхнего угла окна в знакоместах, тип воздействия (левая, правая, средняя кнопка мыши или клавиша (в этом случае дополнительно передается код клавиши) и способ (нажата или отжата)).

    Программа периодически просматривает почтовый ящик на предмет сообщений от графической подсистемы и САМА реагирует на них - т.е. сама определяет куда попало нажатие внутри окна - на какие пункты меню, кнопки или иконки и выполняет какое либо действие - например нажатие на правом верхнем углу окна может трактоваться программой как команда от пользователя - завершить работу программы (при условии, что программа вывела туда крестик),а нажатие на правый нижний угол окна программы она воспримет как команды к изменению размеров окна и т.д.

    Такое упрощение процесса работы графсистемы необходимо, чтобы минимизировать затраты памяти и процессорного времени на обработку команд от устройств управления.




    5. Работа с периферийными устройствами



    Под периферийными устройствами понимается музыкальные устройства типа муз.процессора,TS,TSFM,GS а также принтер,модем.

    Для них необходимы функции, аналогичные функциям работы с экраном, т.е. программа дает вызов на захват устройства (getay) и в случае согласия системы работает с ним, а по завершении работы освобождает устройство (freeay).





    6.Заключение.



    Данная система не позволяет выполнение программ,которым единолично требуются все ресурсы компьютера (например "тяжелым" играм с динамической графикой или программам для обслуживания дисков(форматирование, восстановление данных)),но она на

    это и не претендует, так как для таких программ и игр необходима другая система (проект SHMATRIX - система с переключением задач),разработка программ под SHMATRIX почти аналогична разработке под систему TR-DOS, за исключением того, что в программу добавляются драйвера не только дисководов, но и драйвера других дисковых накопителей(hdd,cd/dvd/sd/ram) и сама программа оформляется в виде кодового блокас набором дополнительных файлов,который можно запускать с любых дисковых накопителей.

    ///////////////////////////////////////////



    ОЧЕНЬ интересует мнение КОДЕРОВ с точки зрения удобства разработки программ для системы MATRIX.
    Последний раз редактировалось Zet9; 29.08.2009 в 07:35.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. The Matrix
    от transman в разделе Игры
    Ответов: 5
    Последнее: 15.05.2005, 15:08

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •