Важная информация

User Tag List

Страница 2 из 13 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 121

Тема: Конструктор (ZX SDK)

  1. #11
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valker
    Поддерживаю идею.

    Думаю, что первым шагом в создании подобного банка будет очерчивание границ применимости, как то:
    Вторым. Первым -- определённые соглашения о вызове и загрузке.
    Иначе две программы из банка не подружишь. Если они в ассемблере,
    конечно немного проще. Лишь немного. Потому как любой программный продукт имеет срок жизни до тех пор пока он
    сопровождается и поддерживается. Что невозможно без динамической компоновки практически. На FreeBSD до 5.0 посмотрите -- у них на всё make world. У нас world на дискетку
    не поместится...

    Позарез как нужна ДИНАМИЧЕСКАЯ КОМПОНОВКА. Ибо те
    же драйвера cmos, hdd, модема -- у всех свои и несовместимые.
    Несовместимые по интерфейсу. Функции одни и те же практически.
    Нужен некий стандарт как на "дизайн интерфейса", не знаю как
    это назвать, вроде соглашения о передаче параметров, техники
    собственно вызова и т.п. Нужен унифицированный способ
    динамической загрузки и статической компоновки расширений.
    И наконец нужен какой-то способ идентификации интерфейсов,
    что-то вроде COM и виндов.

    1. Конфигурация компьютера (ZX48; ZX128; S256;...),
    2. Модель памяти (SOLID; CODE_IN_LOW_MEMORY_DATA_IN_BANK; CODE_AND_DATA_IN_BANK;...),
    3. Доступные внешние устройства (DOESNT_USE_EXTERNAL; FDD; HDD_SCRP; HDD_NEMO; KEMP_MOUSE;...),
    4. Зависимости от системных библиотек (DOESNT_USE_SYSTEM; ...),
    5. Режимы работы прерываний (INT_MUST_BE_DISABLED; INT_CAN_BE_ANY; HAVE_ISR;...).

    Список, естественно, примерный.

    Каждая единица (модуль, процедура, библиотека), снабжается метками, указывающими на границы применимости.

    Например:
    ZX48 SOLID DOESNT_USE_EXTERNAL DOESNT_USE_SYSTEM INT_CAN_BE_ANY - Процедура удовлетворяет требованиям ZX-Spectrum 48, при этом не требует ни внешних устройств, не использует процедуры из ПЗУ, не зависит от режима прерываний.

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

    IMHO...
    Да. Но возможно и немного наоборот, когда выбирается
    версия процедуры применимой в указанных условиях.
    Или выбирается ошибка.

  2. #12
    Activist
    Регистрация
    23.03.2005
    Адрес
    г. Чернигов, Украина
    Сообщений
    477
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нет, народ, ну, правда ведь, как всегда, не в ногах, а где-то между... Но, действительно, идея неплохая и даааавняя. И NewArt, никого не заставляют сие юзать. Но вот еще пример: надо быстренько конвертор какой забацать... и начинается: из асма с геморойчиком...

    Давайте хотя бы попробуем оттолкнуться от такого уровня что-ли...

    (mac_lib библиотечка+txt описание. остальное - примеры использования)

    Брать пример с BGE! там именно так плуги делать: окно задал, открыл - всё ОК (что там при этом - особо не ебб...) onkey проверил - меню выбрали/нет и т.п. Уж если я там раздуплился - так вы уж, люди добрые извольте. Сомневаюсь, что тут есть кто-то, хуже меня втыкающий в чужие СОРЦЫ. Единственное, в BGE всё этак глобально... Но можно дойти и до такого глобализма.
    Вложения Вложения
    • Тип файла: zip Temp.zip (13.2 Кб, Просмотров: 433)

  3. #13
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart
    А с чужой библиотекой скорее всего не стал бы связываться, пока с ней разберешся можно свою успеть написать. Да и отлаживать всегда проще свое.
    "Я мог бы выпить всю грязь Ганга и даже мне ничего не было бы, просто на это нужно больше чем одна человеческая жизнь." (C) Немо.

    Это первая проблема -- тебя попросту на всё не хватит. Вторая
    заключается в том, что кто-то может делать что-то похожее, но
    почему-то несовместимое. А потом бегать и искать, например,
    драйвер "винчестера" к двум разным программам. А зачем?

  4. #14
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE
    Раньше на Спектруме я сталкивался с такой проблемой, что когда в голову приходила какая-то идея, то основную часть времени для её проверки тратилась на обвязку программы,
    Текстовая консоль, немного математики и строковых функций.
    Собрано с миру по нитке.
    Вложения Вложения

  5. #15
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию 85 символов в строке

    Цитата Сообщение от fk0
    Текстовая консоль, немного математики и строковых функций.
    Собрано с миру по нитке.
    Ещё одна текстовая консоль для режима 85 символов в строке,
    выдрано из биоса CP/M.

    Только мне её нихрена не вложить (недопустимый, блин,
    тип файла, потом недопустимый размер ). Как и следующее за ней оконный интерфейс +
    в качестве примера программа для установки времени в CMOS.
    Интерфейс оконный (C) MAS (выдрано давно было из BBS 3.15).

    Вставляю как есть:

    БЛ$! И так не вставляется -- слишком длинный. Ну я не знаю как ещё можно!
    Вложения Вложения
    • Тип файла: zip files.zip (22.1 Кб, Просмотров: 221)
    Последний раз редактировалось fk0; 30.11.2005 в 17:45.

  6. #16
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак, как я понимаю суть проблемы: надо создать банк полезных процедур (именно, просто статически линкуемых процедур, а на плагинов или COM объектов).
    Перед этим надо оговорить две вещи- стандарты вызовов (чтоб можно было пользоваться процедурами, не заглядывая каждый раз в толстенный талмуд под названием мануал) и второе- области применения (т.е. ZX48, ZX128, HDD_ANY, HDD_NEMO, что использует, что портит).

    после этого можно начинать работу.

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

    ; Print Char
    ; ZX48
    ; DOESNT_USE_EXTERNAL
    ; SOLID
    ; DOESNT_USE_SYSTEM
    ; INT_CAN_BE_ANY
    PrintChar ....
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А по поводу динамической загрузки- есть моменты когда она позарез нужна (CMOS, HDD) и ещё больше моментов когда она нафиг не нужна.

    по этому предлагаю:

    ; LoadModule
    ; ZX128
    ; CODE_IN_LOW_MEMORY_DATA_IN_BANK
    ; FDD
    ; USE_TRDOS
    ; INT_CAN_BE_ANY
    LoadModule ....

    ^_~ - думаю идея всем доступна.
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  9. #18
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus
    по посоду областей применения - меня вполне устроит вариант перед процедурой по одному в строке комментария писать ключевые слова (чтоб можно было как-нибудь автоматом прогнать).
    Проще метку определить. Только спектрумовскому ассемблеру позарез
    как нехватает модульности или namespaces.

  10. #19
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus
    А по поводу динамической загрузки- есть моменты когда она позарез нужна (CMOS, HDD) и ещё больше моментов когда она нафиг не нужна.
    Это кажется, что не нужна. А потом окажется, что Вася Пупкин
    где-то баг пофиксил и всё (make world) пересобирать -- замучаешься.

    по этому предлагаю:
    ; LoadModule
    ; ZX128
    Не обязательно,

    ; CODE_IN_LOW_MEMORY_DATA_IN_BANK
    Модулезависимо.

    ; FDD
    ; USE_TRDOS
    Рамдиски, исдос...

  11. #20
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А по поводу динамической загрузки- есть моменты когда она позарез нужна (CMOS, HDD) и ещё больше моментов когда она нафиг не нужна.
    Это кажется, что не нужна. А потом окажется, что Вася Пупкин где-то баг пофиксил и всё (make world) пересобирать -- замучаешься.
    Если моя программа работает, пусть даже с этим багом, значит он на неё не влияет. И пересобирать ничего не нужно.
    А то что из-за бага не работает, ну так по любому фиксить надо.

    ; LoadModule
    ; ZX128
    Не обязательно
    ; CODE_IN_LOW_MEMORY_DATA_IN_BANK
    Модулезависимо.
    ; FDD
    ; USE_TRDOS
    Рамдиски, исдос...
    Не надо придираться к словам.
    Фишка была в том, чтоб оформить динамичезкую загрузку как процедуру.
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

Страница 2 из 13 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Ваши права

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