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

User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 1 по 10 из 48

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

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

    По умолчанию Оконный интерфейс для asm, может кто помнит?

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

    Идея писать что-то свое мне как-то не нравится. Хочется быстрого решения... какой-то готовой библиотеки.. Их же много кто писал.

    Сам когда-то писал такую, давно было дело, свободного время было в избытке. ) Сейчас такой роскоши себе позволить увы, не могу.


    (i) Для тех, кому лень перечитывать весь топик привожу выдержку по оконным системам на 27-12-2018:

    Скрытый текст

    • https://github.com/asve79/xasconv
    • https://zx-pk.ru/threads/2307-okonny...spektrume.html
    • Virtual TR-DOS > System > Операционные системы: Micro Windows v1.1 by Welcome Corporation'96
    • Оконная система ZX Turbo Assembler
      Послушайте, зайдите сюда https://zx-pk.ru/threads/29356-zx-turbo-assembler.html, скачайте ZX Turbo Assembler v2.5 лучше 2.6, файл a2.5_1 (a2.6_1) содержит все что вам нужно, вывод окна (без сохранения подложки), печать / вывод символа и/или строки, система MENU, система INPUT - ввод всякого, естественно опрос клавиатуры, пп. SCROLLи разные мелкие пп. необходимые для работы всего этого. И - Пользуйтесь.
      з.ы. Каким пользоваться ассемблер-компилятором дело личное, любая версия ZAsm`а (кроме 48к) импортирует файл в формат обычного текста.
    [свернуть]
    Последний раз редактировалось asve79; 27.12.2018 в 08:33.

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

  3. #2
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,775
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,180
    Поблагодарили
    776 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

  4. #3
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,168
    Записей в дневнике
    39
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    26 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я свой вариант написал. Когда выйдет в свет неизвестно.

  5. #4
    Activist Аватар для AndTorp
    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    272
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Бегло просмотрел тему, может не заметил.

    Virtual TR-DOS > System > Операционные системы:
    Micro Windows v1.1 by Welcome Corporation'96
    Техническая информация прилагается.

  6. #5
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,058
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я делал собственный оконный интерфейс в 1996г. Была одна из лучших моих работ. На его основе построены следующие программы:
    - GUI для программатора "OMNIPROG" с hex-редактором (под неё изначально делалась библиотека);
    - GUI-программа XAS->TXT;
    - начал, но не доделал, Multi-Format Disk Doctor

    По сути речь идет не только об оконном интерфейсе, но о крупном фреймворке, куда входят также драйверы дисковода, клавиатуры, менеджер кучи, файловая система TR-DOS.

    Даже написал в те годы документацию. Выкладываю всё, что есть. Образцы прикладных программ, приведенных выше, тоже могу выложить. Все исходники компилировались под ASC CP/M ассемблером M80 (ранее выкладывал на форуме в разделе "Софт").

    Содержимое файлов:
    WIND.MAC - библиотека окон, а также вывода символов и сообщений (42 символа в строке)
    SPKEYB.MAC - весьма навороченный драйвер клавиатуры для использования совместно с оконной библиотекой. Он поддерживает только расширенную клавиатуру "Орель БК-08". К счастью, его легко заменить любым другим драйвером, т.к. он имеет только 2 точки входа: INTKEY (вызывается по прерываниям для опроса клавиатуры) и CONIN (ждёт нажатия клавиши).
    EDZNAK.MAC - знакогенератор, автором которого являются, предположительно, Андрей Сендецкий (ASC) и Александр Шафир. Я "украл" этот знакогенератор из ASC CP/M. Он поддерживает русскую кодировку CP866 и графические "рамочные" символы.
    AZKEYB.MAC - драйвер стандартной 40-клавишной клавиатуры из ASC CP/M, исходник которого мне предоставил ASC. На его основе был разработан драйвер SPKEYB.MAC, так что есть вариант адаптации этого драйвера вместо SPKEYB. Драйвер очень навороченный, имеет много вкусностей.
    DMM.MAC - менеджер кучи. Не очень хорошая реализация, рекомендую заменить чем-нибудь получше, если есть.

    Исходники взял с образов старых дискет. Компилируются ли они, работают ли, последняя ли версия - не проверял. Если будут вопросы - пишите.

    - - - Добавлено - - -

    Выкладываю образ диска с примерами приложений на основе моего оконного интерфейса. Использовать по назначению эти программы вряд ли удастся, так как они требуют нестандартных расширений компьютера; но полазить по менюшкам и увидеть возможности библиотеки - вполне. Управление - стрелками. Также считается, что клавиши True Video/Inv Video - это PgUp/PgDn, а Edit имеет ту же функцию, что Esc, то есть выход из меню.
    Вложения Вложения
    Последний раз редактировалось Barmaley_m; 10.12.2018 в 01:16.

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

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Выкладываю образ диска с примерами приложений на основе моего оконного интерфейса. Использовать по назначению эти программы вряд ли удастся, так как они требуют нестандартных расширений компьютера; но полазить по менюшкам и увидеть возможности библиотеки - вполне. Управление - стрелками. Также считается, что клавиши True Video/Inv Video - это PgUp/PgDn, а Edit имеет ту же функцию, что Esc, то есть выход из меню.
    Ооо! Решение выглядит как раз таким, каким надо! Многие спектрумисты писали свою ОС, а надо-то легкую и понятную либу, которая умеет показывать окошки, меню и полей ввода! )

    Но в демках у меня почему-то навигация по меню не работает.
    Запускаю через эмуль.

  8. #7
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,058
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от asve79 Посмотреть сообщение
    Но в демках у меня почему-то навигация по меню не работает.
    Запускаю через эмуль.
    Точно стрелки пробовал нажимать? Поддерживаются только клавиши-стрелки, джойстики не поддерживаются, мышь тоже. Или попробуй другой эмулятор. У меня работает на FUSE и Unreal.

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

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Точно стрелки пробовал нажимать? Поддерживаются только клавиши-стрелки, джойстики не поддерживаются, мышь тоже. Или попробуй другой эмулятор. У меня работает на FUSE и Unreal.
    Хм.. Да, оч похоже на глюк эмуля. В инреале рабоатает. Будем разбираться.

    Barmaley_m, вопрос к тебе: если дойдет до использования, можно менять твой код и выложить его в гитхаб (естественно с сохранением упоминания об авторе)? Ну как минимум поддержка мыши тут ну прям очень напрашивается. )

  10. #9
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,058
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от asve79 Посмотреть сообщение
    если дойдет до использования, можно менять твой код и выложить его в гитхаб (естественно с сохранением упоминания об авторе)?
    Да, конечно, буду только рад! Считай, что действует лицензия BSD.

    Если будут вопросы по использованию библиотеки, тоже обращайся! Вплоть до того, что помогу с доработкой, самому стало интересно, если такие вещи еще кому-нибудь нужны.

    - - - Добавлено - - -

    Цитата Сообщение от asve79 Посмотреть сообщение
    поддержка мыши тут ну прям очень напрашивается. )
    До мыши тут далековато В библиотеке не поддерживается перемещение и изменение размера окон на лету. Все размеры заданы жестко. Хотя можно и допилить.

    Если бы использовал эту библиотеку сегодня, я бы в первую очередь делал следующее:
    1) Адаптация драйвера клавиатуры от ASC (AZKEYB) для поддержки стандартных клавиатур или переход на какую-то более развитую архитектуру. Каким образом сейчас на реалах поддерживаются клавиатуры PS/2 и USB, как сделан программный интерфейс?
    2) Замена менеджера кучи. Может быть, где-то уже есть доступные, или переписать. Нехороший менеджер, хотя и работает;
    3) Ускорение процедур библиотеки, в первую очередь печать символов. Как-то я спрашивал ASC, как он сделал такую быструю печать символов в своем муз. редакторе. Он ответил, что печатаются не отдельные символы, а сразу строки. Действительно, это позволяет отказаться от обработки маски для каждого символа. Можно очистить сразу всю строку (или ее часть), а потом печатать символы по OR. Также не нужно считать координаты в памяти для каждого символа, а можно это делать только один раз. Словом, идея может быть развита.
    4) И вообще рефакторинг, там много что может быть улучшено. Главный плюс - что оно уже отлажено и работает, а новую библиотеку, написанную с нуля, пришлось бы еще отлаживать.

  11. #10
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,058
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот, дошли руки. Адаптировал драйвер стандартной клавиатуры, выбросив из него все CP/M функции.

    Также проверил, что все компоненты оконного интерфейса компилируются без ошибок.

    Теперь при компиляции программ с моим оконным интерфейсом можно использовать либо драйвер клавиатуры SPKEYB40.MAC (стандартная), либо SPKEYB.MAC ("Орель БК-08").
    Вложения Вложения

Страница 1 из 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

Ваши права

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