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

User Tag List

Показано с 1 по 6 из 6

Тема: [PentEvo] CLi for WildCommander

  1. #1
    FishBone Crew Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,586
    Благодарностей: 764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation [PentEvo] CLi for WildCommander

    Command Line Interface for WildCommander v0.06 alpha
    (Для работоспособности плагина требуется WildCommander не ниже версии 0.39)

    Данный плагин представляет из себя интерфейс командной строки (CLi) или в простонародье консоль/shell.
    Плагин частично использует api WildCommander'а и пока используется только работа SD-картой (Z-Controller).

    На данный момент реализовано несколько команд(встроенных):
    about - информация о текущей версии плагина
    cd name - change directory - сменить рабочую (текущую) директорию, где name - имя новой директории.
    cls - clear screen - очистить экран.
    dir - выводит на экран содержимое текущей директории (аналог windwos/dos)
    echo text - выводит на экран текстовую строку, где text - текстовая строка (поддерживаются управляющие коды)
    exit - выйти из CLi и вернутся в WildCommander
    help - выводит на экран список доступных команд.
    ls - выводит на экран содержимое текущей директории (аналог unix)
    pwd - path work dir - выводит на экран путь рабочей (текущей) директории
    sh filename.sh - shell - вызов командного интерпретатора, где filename.sh - имя исполняемого скрипта sh
    sleep n - задержка на указанное время n в секундах (если задать значение 0 - будет ожидать нажатие любой клавиши)



    Плагин можно вызвать из меню WildCommander (F10), а так же нажав ENTER на файлах с расширением *.SH
    CLi поддерживает историю, ранее введённых команд (пока ограничено 10ю), которую можно пролистать с помощью клавиш курсора (вверх/вниз). Так же имеется буфер ранее выведенной информации (на данный момент ограниченный ~320 строками). Просмотреть содержимое буфера можно удерживая клавишу ALT и стрелками вверх/вниз.

    Длина вводимой строки ограничена(пока) 77 символами. Для внесения изменений используются клавиши влево/вправо в режиме замены.

    Для установки плагина необходимо его скопировать в стандартную директорию для всех плагинов(WC) и прописать для автозагрузки в файле wc.ini

    Downloads:
    Свежая версия WildCommander всегда доступна здесь.

    Current версии и исходники доступны на gutHub'е - http://bit.ly/Cli4WC
    Для просмотра необходим PentEvo c прошивкой TS-Labs или UnrealSpeccy TS-Labs Edition.

    Без этих людей, плагин не увидел бы свет:
    - robat(Wizard^DT) - благодаря твоему скринсейверу я разобрался как работать с текстовым режимом и как писать плагины к WC
    - Budder^MGN за огромнейшую помощь со скроллером экрана, кодом и всяким плюшками в API WildCommander'а.
    - TS-Labs за замечательную прошивку для PentEvo и за не менее замечательную версию Unreal Speccy
    - CHRV и всей команде NedoPC за отличную платформу PentEvo

    Ну и для тех, кому лениво разбираться с прошивками, эмуляторами итд, видео на youtube.
    Последний раз редактировалось breeze; 21.11.2013 в 11:04.

  2. Эти 7 пользователя(ей) поблагодарили breeze за это полезное сообщение:
    BYTEMAN (14.10.2012), crazy_bender/ex-PLACEBO (15.10.2012), Djoni (14.10.2012), Enigmatic (14.10.2012), perestoronin (13.10.2012), psb (13.10.2012), zim (17.10.2014)

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

  4. #2
    FishBone Crew Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,586
    Благодарностей: 764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation

    Обновилась версия до v0.08 (17.10.2012):
    • fix скролла, теперь для истории доступно 512 строк, которые не будут грохаться при выходе из плагина и запуска других плагинов (например видеоплеера)
    • fix команды echo для корректной обработки текста в кавычках
    • fix команды cd и обработки путей (теперь для команд ls, sh и других можно задать полный путь, например «../dir1/dir2/» итд
    • добавлена экспериментальная команда exec для запуска «бинарных» файлов


    Немного подробнее о команде exec:
    Это пробная конструкция для запуска файлов, которые могут воспользоваться API командой строки (CLi). В дальнейшем (возможно) данная команда будет упразднена, если будет найден более оптимальный вариант, ну а пока исполняемый файл (application) представляет собой скомпилированный код с адреса #c000 и добавленным заголовком:

    db #7f,"CLA" ; Command Line Application

    при загрузке файла проверяется данная сигнатура и если её нет выводится сообщение об ошибке.
    в архиве пример «hello world», который выводит текстовую строку через API командой строки.

    Сам архив в первом сообщении здесь.
    Последний раз редактировалось breeze; 21.11.2013 в 11:19.

  5. #3
    FishBone Crew Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,586
    Благодарностей: 764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation

    v0.10 (19.10.2012):
    • fix команды cd если был не найден путь
    • fix буфера который использовался при поиске файла
    • теперь при старте плагина, происходит поиск директории «/bin» и сканирование её на предмет исполняемых файлов. Найденные там файлы будут использованы как внешние команды (своеобразная альтернатива с вариантом exec). Список обнаруженных команд доступен через команду help (Available commands(external)). Теперь когда пользователь вводит команду, происходит поиск по списку встроенных (embedded), а затем по списку внешних (external), в противном случае выводится сообщение об ошибке.
    • Поскольку в fat32 нет такого понятия как атрибут «исполняемый файл», было решено сделать запуск по аналогии с unix, но со спецификой fat32. Если набираемый текст начинается с «./» то подразумевается, что это попытка запуска исполняемого файла, путь к файлу передаётся на исполнение команде exec и если файл действительно имеет структуру «CLA», он запускается, в противном случае выдаётся сообщение об ошибке.
    • Для принудительного обновления списка внешних команд (external) из /bin, добавлена команда rehash.
    • Для загрузки и установки своей палитры, добавлена команда loadpal filename.pal. Файл в формате подставляет собой 512 байт палитры, по 2 байта на каждый цвет и имеет в начале файла 4 байта сигнатуры - #7f,"PAL". Если сигнатура не указана или указана не верно, выводится сообщение об ошибке.
    • Добавлен новый режим — графический экран (по умолчанию это 320x240 256c). Переключатся между режимами можно в реальном времени с помощью комбинации ALT+F1 и ALT+F2 (unix way). ALT+F1 - включает текстовый экран консоли, ALT+F2 - включает графический экран. При активном графическом экране так же возможен вывод текста в консоль. Например в графическом экране строиться какой-то график, а в консоль в реальном времени выводятся значения построения.
    • Для переключения между режимами в скриптах (*.sh) добавлена команда screen. значение 0 - включает текстовый экран консоли, 1 - графический. Другие значение вызывают сообщение об ошибке - «неверный параметр».
    • Добавлена команда gfxcls (здесь и далее все команды для графического режима будут начинаться с gfx) - которая очищает графический экран заливая #00
    • Команда gfxborder N устанавливает цвет бордера, когда активен графический режим. N - может принимать значения от 0 до 255.


    Все новые stable версии теперь будут доступны так же на gitHub в разделе downloads.
    Последний раз редактировалось breeze; 19.10.2012 в 18:33.

  6. Этот пользователь поблагодарил breeze за это полезное сообщение:
    Djoni (21.10.2012)

  7. #4
    FishBone Crew Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,586
    Благодарностей: 764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation



    v0.12 (22.10.2012):
    • обновилась команда gfxcls. Теперь она очищает графический экран с помощью DMA и делает это мгновенно
    • fix команды help. Не корректно отображалась информация, если не была найдена директория "/bin"
    • Добавилась команда gfxloadpal, которая загружает 512байт палитры для графического режима. Теперь отдельно сосуществуют палитра для текстового режима и графического, переключающиеся с помощь ALT+F1/ALT+F2
    • Несколько расширился функционал для приложений:
      • появилась функция loadResoure, которая позволяет загружать ресурсы из внешнего файла (на данный момент реализована загрузка палитры и спрайтов в виде дампа памяти)
      • появились первые функции библиотеки GLi(Graphics Library interface), которые позволяют работать со спрайтами (создать, загрузить данные, переместить). Так же для спрайта можно задать анимацию, которая будет автоматически сменяться)
    • В качестве демонстрации нового функционала добавлена демка amiga boing. (Запускать лучше из CLi с помощью "./demo/boing". С помощью ALT+F1/ALT+F2 можно протестировать. ESC - выход)


    p.s. Отдельное спасибо за помощь с некоторыми процедурами Koshi(Budder) и информацию по спрайтам TS-Labs.

    Все новые stable версии теперь будут доступны так же на gitHub в разделе downloads.
    Последний раз редактировалось breeze; 22.10.2012 в 12:37.

  8. #5
    FishBone Crew Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,586
    Благодарностей: 764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation





    v0.14с (01.08.2013):

    Итак, после продолжительной и бурной паузы меня вновь пробило немного пописать, результатом чего наконец-таки стала новая версия плагина Сommand Line Interface. Большая часть работы была проделана ещё осенью, и не менее большая была проделана сейчас. Поэтому здесь как бы два апдейта 0.14 и 0.14с. Доработок производилось достаточно много и возможно что-то было упущено, но тем не менее

    • Исправлен запуск *.sh скриптов (о чём писал TS-Labs)
    • Переписан вызов функций api. Теперь все заголовки вынесены в начало файла и при последующих изменениях нет необходимости пересобирать приложения
    • Добавлен драйвер работы с NeoGS (пока только загрузка mod-файлов)
    • Добавлен драйвер Kempston Mouse
    • Добавлена внешняя команда loadmod для загрузки файлов NeoGS
    • Добавлена внешняя команда type для отображения текстовых файлов
    • Добавлена внешняя команда micetest для тестирования кемпстон мыши (при переключении между txt/gfx режимами [alt+f1/f2] меняется разрешение как экрана, так и границы для мыши)
    • Доработана очистка полного (360x288) графического экрана с помощью DMA
    • Добавлена функция callback для приложений при переключении между txt/gfx режимами (alt+f1/f2)
    • Добавлена функция переключений разрешений для граф.экрана (256x192/320x200/320x240/360x288)
    • Исправлена ошибка в парсере, из-за чего были недоступны внешние команды с длинной имени в 8 символов
    • Немного изменена палитра для текстового режима
    • Добавлена проверка на целостность системы при первом запуске (проверяется наличие системных директорий bin, fonts, libs, locale, system
    • Добавлена поддержка кода таб (\t) при выводе в консоль.
    • Удалена команда about
    • Добавлено игнорирование регистра (верхний/нижний) при вызове встроенных команд
    • Исправлена ошибка при вторичном вызове функции exec.
    • Добавлено описание функций api cli в заголовок (cli.h.asm)
    • Полностью реструктуризирована иерархия /BIN
    • Добавлена внутренняя команда loadfont
    • Исправлена ошибка при загрузке ресурсов
    • Добавлена функция получения статуса (ok/error) при загрузке ресурсов
    • Добавлена поддержка кода delete(#0c) при печати
    • Добавлена функция индикатора ожидания
    • Исправлена ошибка восстановления исходного пути, при вызове команд из /bin
    • Исправлена ошибка при создании списка внешних команд из /bin (Теперь в список добавляются только исполняемые файлы (с пустым расширением))


    Хочется особо отметить, что теперь появилось возможность писать собственные («независимые») приложения, которые могут используя ресурсы Cli выводить данные, как в консоль (в текстовом режиме) так и в графическом. Примером такой работы была небольшая демка «Boing», ну а теперь коллекция ещё пополнилась примером в виде «micetest». Более подробно о написании приложений я расскажу несколько позже.

    Поскольку GitHub убрал Downloads, файлы будут размещаться на форуме TS-Labs и копия на моём DropBox

    p.s. Отдельное спасибо psndCJ/triebkraft & pcb за помощь с написанием драйвера Kempston мышки и очередное спасибо Koshi(Budder) за неоценимую помощь с драйвером NeoGS
    Последний раз редактировалось breeze; 02.08.2013 в 22:23.

  9. Эти 4 пользователя(ей) поблагодарили breeze за это полезное сообщение:
    MEGAMONSTER (02.08.2013), Merlin2010 (02.08.2013), perestoronin (02.08.2013), SoftLight (02.08.2013)

  10. #6
    FishBone Crew Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,586
    Благодарностей: 764
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation



    После небольшой «заморозки» проекта — долгожданное обновление 0.16, которое вылилось в целый небольшой рассказ — «CLi² (Command Line Interface 2)»

  11. Эти 7 пользователя(ей) поблагодарили breeze за это полезное сообщение:
    daniel (10.09.2014), Den1982 (10.09.2014), Djoni (11.09.2014), piroxilin (11.09.2014), Sergey (16.09.2014), Warlockus (16.09.2014), zim (17.10.2014)

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

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

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

Похожие темы

  1. Innsmouth for PentEVO
    от hippiman в разделе Игры
    Ответов: 49
    Последнее: 02.11.2012, 08:31
  2. Pentevo и его RAM-диск
    от Дмитрий в разделе Софт
    Ответов: 22
    Последнее: 23.12.2011, 21:22
  3. NeoGS + Pentevo
    от Merlin2010 в разделе Звук
    Ответов: 5
    Последнее: 14.03.2011, 01:19
  4. PentEvo + EvoDOS
    от breeze в разделе ZXEvo
    Ответов: 58
    Последнее: 02.03.2011, 10:58
  5. PentEvo ?
    от F0lken в разделе ZXEvo
    Ответов: 88
    Последнее: 10.09.2009, 10:53

Ваши права

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