Page 11 of 14
Re: Очень функциональный шелл
Posted: Thu Jan 23, 2014 10:49 am
by Albom
Shell 0.7.4
Добавил буфер обмена. Пока что тестовая версия.
Ctrl+C - копирует строку целиком.
Ctrl+V - вставляет строку целиком.
Между окнами Shell работает нормально.
Из tinypad копируется с дополнительными символами (перевод строки и возврат каретки), вставка в tinypad приводит к его падению.
Из t_edit не копируется, вставка происходит нормально.
Re: Очень функциональный шелл
Posted: Tue Jan 28, 2014 3:03 pm
by IgorA
Albom wrote:Из t_edit не копируется, вставка происходит нормально.
После ревизии 4542 уже копируется. Не правильно определялся размер буфера в t_edit при копировании.
Re: Очень функциональный шелл
Posted: Fri Jan 31, 2014 2:18 am
by Mario_r4
Albom wrote:Из tinypad копируется с дополнительными символами (перевод строки и возврат каретки), вставка в tinypad приводит к его падению.
Исправлено в SVN r.4552.
Re: Очень функциональный шелл
Posted: Fri Jan 31, 2014 2:36 am
by Albom
IgorA, Mario_r4
Спасибо!
Re: Очень функциональный шелл
Posted: Fri Jan 31, 2014 2:45 am
by Mario_r4
Albom
На всякий случай, вдруг у тебя не учтено, если встретился 0, до указанного в начале ожидаемого размера, то это безусловный конец текста. Думаю нужно учесть этот вариант в коде.
Re: Очень функциональный шелл
Posted: Thu Feb 27, 2014 1:54 pm
by Mario_r4
Как я и
предупреждал, ревизия 4588 сломала ввод в Shell. Вероятно не учтено что то описанное в документации ф.2. Например, проверка EAX или AX, вместо того чтобы проверять AH и AL, а может еще что-нибудь.
Re: Очень функциональный шелл
Posted: Thu Feb 27, 2014 7:20 pm
by Albom
Mario_r4 wrote:Как я и предупреждал, ревизия 4588 сломала ввод в Shell. Вероятно не учтено что то описанное в документации ф.2. Например, проверка EAX или AX, вместо того чтобы проверять AH и AL, а может еще что-нибудь.
Буду починять.
UPDATED
* fixed in r4600
Re: Очень функциональный шелл
Posted: Sat Mar 29, 2014 2:53 pm
by e-andrew
Есть у меня пара идеи касательно Shell:
1) Переписать интерпретатор в библиотеку. Это позволит использовать его в других приложениях (например в job), не создавая файла, т.е. прямо в коде.
Пример реализации обмена информации между шелом и программой:
Есть структура:
Code: Select all
struct ShellSession
CurrentDir dd ?
InputBuffer dd ?
OutputBuffer dd ?
ends
В CurrentDir находится ссылка на строку с текущей папкой, в InputBuffer ссылка на строку с вводом, а в OutputBuffer ссылка на буфер, в которой будет результат команды.
К примеру
Code: Select all
command1:
db "mkdir test", 0
command2:
db "echo Hello", 0
output:
rb 1024
ShellSession term
; ...
mov [term.OutputBuffer], output
mov [term.InputBuffer], command1
invoke shell.do, term
mov [term.InputBuffer], command2
invoke shell.do, term
; в output находится "Hello", 0
2) Новая команда: waitall. Она будет ждать, пока закроются все открытые приложения из текущей сессии. То есть строка "Уведомление закрыто" будет выведена только после того, как приложение закроется:
Code: Select all
echo Открываю уведомление
notify Hello
waitall
echo Уведомление закрыто
Вот и все идеи.
Re: Очень функциональный шелл
Posted: Sat Mar 29, 2014 6:22 pm
by Kopa
Не знал где добавить данное предложение.
Запустил Demo Web шар-паутинку под VirtualBox на буке под Ubuntu и не смог закрыть (может нонсенс)
и предлагаю диспетчер задач добавить в меню "левой границы окна".
P.S. Запустил CPU-ID под вохом и процессор определился правильно и тактовые частоты, а размер кеш не определился
VirualBox под Ubuntu и ещё не понял как под Ubuntu добавить в Grub загрузку с флеш т.к. с Ubuntu плотно не "общался"
Re: Очень функциональный шелл
Posted: Sat Mar 29, 2014 6:57 pm
by Wildwest
размер кеш не определился
В 2009 году инженеры Интела почесали левой пяткой грудь и решили ввести новые способы узнать информацию о кешах - вызовы cpuid c 04h и с 80000006h
http://www.microbe.cz/docs/CPUID.pdf , что естественно пока не реализовано - я тогда уходил (последняя версия описания cpuid в списке всех функций тут
http://www.intel.es/content/dam/www/pub ... manual.pdf )
Re: Очень функциональный шелл
Posted: Sat Mar 29, 2014 7:27 pm
by Kopa
Wildwest wrote:то естественно пока не реализовано )
B Kolibri in Win CPU-ID тоже определяет процессор, но вроде есть какие то неувязки
Re: Очень функциональный шелл
Posted: Sat Mar 29, 2014 8:25 pm
by Wildwest
Если есть время, то в ту тему
viewtopic.php?f=42&t=594&start=75 кинь скрины от CPU-Z и от моей cpuid
Re: Очень функциональный шелл
Posted: Sun Mar 30, 2014 10:55 pm
by e-andrew
Пока просто выложу, что получилось, потом опишу каждую процедуру/макрос подробно.
Re: Очень функциональный шелл
Posted: Thu Oct 30, 2014 1:24 am
by punk_joker
Баги: некорректная работа команд ls и echo без параметров. ls без параметров просто выдает ошибку, а echo выводит на экран pecho (можно наблюдать в ночных сборках)
Re: Система сборки Tup
Posted: Sat Nov 29, 2014 8:37 am
by Serge
Переход на Tup поломал Shell.
Сборка #5095 работает, а #5100 нет