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 нет