User Tag List

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

Тема: MATRIX

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

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

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

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    афтар, я приложу тут к посту архивчик профинского profiVision. файлики простые текстовые, посматри в качестве примера как это всё было сделано. напомню, что разработка 93 - 94годов. настоятельно рекомендую в качестве учебного пособия
    архив будет висеть до 3го февраля.
    скачал - почитаю

    ---------- Post added at 16:30 ---------- Previous post was at 15:56 ----------

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


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

    я тоже примерно так думал в свое время правда было бы лучше по образу и подобию alt+tab делать, т.е. жмем cs+ss, появляется окошко со списком прог, затем, если держать ss ИЛИ cs, то окно будет висеть, а нажимая вторую кнопку (cs или ss) - будет перемещение по списку на следующую прогу. или по нажатию ss+cs вылезет окно с прогами, а потом курсорными кнопками выбрать нужную прогу и нажать ентер.
    насчет быстро делать проги - это получится для тех, которые с фиксированного адреса будут грузиться и запускаться (т.е. с #C000 и 0) - а для тех, которые с флагом основной код в нижней памяти - надо таблицу адресов составлять и потом метки по всему исходнику - тяжко вручную - и исходник становиться нечитаемый - хотя вот AlCo - вроде говорил, что можно автоматизировать

    вот ещё подумал, функции создать окно и удалить окно не нужны
    пусть при вызове "показать окно на экране" графсистема сама создает себе окно, а при вызове "убрать окно с экрана" она сама и будет удалять его из своих таблиц

    ну ладно, если прога захочет сама сыпать байты на экран - то будет использовать функцию getscr - и дальше сама

    ---------- Post added at 16:40 ---------- Previous post was at 16:30 ----------

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

    А насчет CS+SS+цифры - то его вместе с CS+SS использовать, типа
    если нажал CS+SS и секунду не жмешь цифру - тогда появляется окно выбора
    Еще вот может стоит оставить верхнюю строку под импровизированную панель задач совмещенную с заголовком - типа как в Ubuntu 9.04 NetBook Remix - там тоже каждое окно на весь экран и вверху строка типа того что я сказал - слева кнопка выхода на рабочий стол - она сворачивает текущее окно а правее вместо имен задач только их иконки маленькие и еще правее заголовок окна но не до конца строки а в правом углу часы и EN/RU

    ---------- Post added at 16:48 ---------- Previous post was at 16:40 ----------

    и еще можно можно в таблицу окна,в заголовок добавить 3 бита, а функция показать окно на экране будет их проверять и если они установлены будет дополнительно
    1бит=1 сразу печатать текст в заголовке - который там же и будет лежать
    2бит=1 сразу печатать дополнительный текст внутри окна (адрес текста тут же в таблице)
    3 бит=1 сразу печатать один или несколько спрайтов из таблицы спрайтов, её адрес прилагается, в ней кол-во спрайта, и координаты для каждого, и его номер из набора, и адрес набора

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

    Для запуска CPM-прог uzix-прог (это ERROR404 предлагал) надо наверно организовать отдельный формат исполняемых файлов(можно с расширением .NIX) - ядро будет перед их запуском сначала освобождать нижнюю память, оставляя там только некоторые свои компоненты (например не более 4К) и далее подключать страницу озу или кэш в с адреса 0 и туда уже загружать такую прогу
    ей будет предлагаться 44 кБ и позже она сможет получить ещё 16 кБ (или меньше) в отдельной странице памяти - токо она про страницы ничего не будет знать - просто сделает запрос получить память
    при этом паралленльно с ней смогут работать те проги, которые сидят в страницах
    (а те которые били в нижней памяти - конечно буду остановлены)

    ---------- Post added at 17:17 ---------- Previous post was at 16:48 ----------

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

    Не для всех программ такой способ подойдет, но для достаточно большого количества (навскидку для половины прог)
    Последний раз редактировалось Zet9; 07.01.2010 в 17:07. Причина: добавлено сообщение

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

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

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

Похожие темы

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

Ваши права

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