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

User Tag List

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

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

  1. #41
    Master
    Регистрация
    27.01.2005
    Сообщений
    649
    Благодарностей: 352
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  2. #42
    Master
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    957
    Благодарностей: 524
    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. Этот пользователь поблагодарил Barmaley_m за это полезное сообщение:
    Black Cat / Era CG (27.12.2018)

  4. #43
    Member Аватар для asve79
    Регистрация
    13.11.2018
    Адрес
    г. Москва
    Сообщений
    46
    Благодарностей: 54
    Записей в дневнике
    26
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

  5. #44
    Activist
    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    243
    Благодарностей: 69
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. #45
    Member Аватар для asve79
    Регистрация
    13.11.2018
    Адрес
    г. Москва
    Сообщений
    46
    Благодарностей: 54
    Записей в дневнике
    26
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  7. #46
    Master
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    957
    Благодарностей: 524
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

  9. #47
    Member Аватар для asve79
    Регистрация
    13.11.2018
    Адрес
    г. Москва
    Сообщений
    46
    Благодарностей: 54
    Записей в дневнике
    26
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  10. #48
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    868
    Благодарностей: 238
    Mentioned
    0 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;
    }

  11. Этот пользователь поблагодарил Oleg N. Cher за это полезное сообщение:
    asve79 (13.01.2019)

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

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

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

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

Похожие темы

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

Ваши права

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