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

User Tag List

Страница 5 из 5 ПерваяПервая 12345
Показано с 41 по 48 из 48

Тема: Оконный интерфейс для asm, может кто помнит?

  1. #41

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я работаю под linux, система работает в UTF-8 и не надо ничего придумывать с IDE.
    Я тоже. Но Kate и KDevelop прекрасно работают и с 866 и с KOI8R. Автораспознавание там есть, кстати, тоже.

  2. #42

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я тоже работаю под Linux. Пока что хватало редактора GEdit для работы со спектрумовскими исходниками, он поддерживает CP866. Автораспознавание не работает, т.к. русского текста в исходниках мало, а латинского - много, и это конфузит автораспознаватель. Ну или он просто дубовый.

    Раз в ассемблере нет перекодирования из UTF8 в CP866 - то нужно либо на PC использовать CP866, либо на Спектруме от неё отказываться. Русские буквы и псевдографика через DEFB в исходнике - это извращение.

    И если отказываться от CP866 на Спеке - то в пользу чего?

    Очевидно, CP1251 не имеет никаких преимуществ. Она тоже восьмибитная. Делать UTF-8 на Спектруме - будет тормозить и памяти больше отжирать, а её там и так мало. Я считаю, что CP866 на Спектруме хорошо прижилась в силу исторических и других причин (псевдографика, совместимость с MS-DOS, IS-DOS, CP/M). Отказываться от неё только ради сомнительного удобства при работе на PC? Когда нужно просто немного разобраться в настройках своего текстового редактора?

  3. #43

    Регистрация
    13.11.2018
    Адрес
    г. Москва
    Сообщений
    47
    Записей в дневнике
    31
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Это идеология многопоточных систем, в которых следует избегать циклов, где что-то опрашивается и процессор занят на 100%. Хотя в моей библиотеке многопоточности пока нет, но её можно прикрутить (см., например, мою тему в этом разделе "вытесняющая многозадачность").
    ИМХО такие штуки нужно делать при спросе на них. Это уже попахивает своей ОС-ю.
    Мне нравится твоя оконная система тем, что она простая для использования. Порог вхождения минимальный. Что нужно разработчику приклада? - Правильно - простая ф-ция "открыл окошко, напечатал там, закрыл окошко". Я это дело вынес в макросы. В xasconv не включал этот модуль, включил в z80-telnet.

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Если перекрыванием пренебречь - то доделка будет умеренной. С перекрыванием - да, сложнее. Попробую покумекать
    Поделюсь своими соображениями: при открытии окна возвращать дескриптор. Ну и сделать ф-цию активации "canvas"-а по дескриптору. Это сохранит обратную совместимость с текущей версии. Если вызывать ф-цию закртытия окна, то на первых порах можно закрывать крайнее открытое, чтобы не заморачиваться со сдвигом сохраненной информации в памяти.

    Кстати, не стоит ли открыть отдельный топик, по обсуждению технических особенностей твоего оконного интерфейса? Этот топик вроде "а какие интерфейсы существуют?" )

  4. #44

    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    487
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    116
    Поблагодарили
    75 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем подозревал для чего тема создавалась :-), не подвели.

  5. #45

    Регистрация
    13.11.2018
    Адрес
    г. Москва
    Сообщений
    47
    Записей в дневнике
    31
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    PS. Недавно внес небольшие корректировки в знакогенератор, чтобы некоторые прописные буковки были "по-ровнее".

  6. #46

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от asve79 Посмотреть сообщение
    Barmaley_m, Решил что уже пора выносить оконную твою систему в отдельный SDK.
    Хорошая идея. Я тоже хотел это предложить. В процессе работы над библиотекой было бы желательно поменять некоторые интерфейсы. Чтобы это не сломало проект XASCONV, пришлось бы и его править, а это дело неблагодарное, т.к. подобный конвертор никому не нужен.

    Я бы не называл данную библиотеку SDK, а немного скромнее - тем, чем она является: Framework.

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

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

  8. #47

    Регистрация
    13.11.2018
    Адрес
    г. Москва
    Сообщений
    47
    Записей в дневнике
    31
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Я бы не называл данную библиотеку SDK, а немного скромнее - тем, чем она является: Framework.
    И все-таки SDK, т.к. я туда пихаю еще и либы по работе с портом, ф-ции работы со строками и немного математических ф-ций. )
    https://github.com/asve79/z80-sdk

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Как часть проекта можно было бы создать тест-программу, демонстрирующую основные функции библиотеки: рисование окон, строк, меню, листбоксы, редактирование, доступ к диску. Такую тест-программу уже не лень менять при изменениях библиотеки; да и испытывать библиотеку после изменений на чём-то надо.
    Согласен. Кстати о ф-циях работы с диском я стал все чаще задумываться. Если "взлетит" ftp клиент, они станут как никогда актуальными. ) Пример работы в ts-conf с SD я вроде как нашел, оформлю по мере проработки, а вот как работать с файлами на дискетах забыл напрочь. Тут пример с описанием был бы как нельзя кстати, чтобы не штурмовать книжки ).

  9. #48

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,716
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    asve79

    ;zill zero string => fill zero string?

    Присмотритесь для поиска нуля в строке к команде CPIR - будет эффективнее по скорости. Вот, например, как это реализовано в SDCC:

    Код:
    unsigned int Strings_Length (unsigned char *str) __z88dk_fastcall {
      __asm
        XOR  A
        LD   B,A
        LD   C,A
        CPIR
        LD   HL,#0xFFFF
        SBC  HL,BC
    __endasm;
    }
    А вот так, если длина строки не более чем len (будет достигнут 0 или строка закончится по длине - без 0). Экзотика, но это я для Оберона делал. Более безопасная работа со строками:

    Код:
    unsigned int Strings_LengthEx (unsigned int len, unsigned char *str) __z88dk_callee {
        __asm
            POP  HL
            POP  BC             ; len
            EX   (SP), HL       ; str
            LD   E, C
            LD   D, B
            XOR  A
            CPIR
            EX   DE, HL
            RET  NZ
            SBC  HL, BC
            DEC  HL
        __endasm;
    }

Страница 5 из 5 ПерваяПервая 12345

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

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

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

Похожие темы

  1. Кто помнит пленочную клавиатуру?
    от SaintTurnip в разделе Устройства ввода
    Ответов: 6
    Последнее: 05.02.2014, 09:17
  2. Аркадные автоматы. Кто чего помнит
    от KiN0 в разделе Зарубежные компьютеры
    Ответов: 9
    Последнее: 31.05.2012, 00:53
  3. Оконный интерфейс для БК0011
    от vinxru в разделе БК-0010/0011
    Ответов: 43
    Последнее: 17.03.2012, 19:33
  4. Ответов: 6
    Последнее: 28.08.2008, 21:34

Ваши права

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