DC-SWAT Forum

Полная версия: DreamShell NG v3.0.0.500 Beta
Вы просматриваете yпpощеннyю веpсию форума. Пеpейти к полной веpсии.
Страниц: 1 2 3
Ну вот, свершилось чудо:)
Представляю вам бета версию DreamShell NG.
В этом выпуске было заостренно внимание не на графической оболочке(GUI), а на системную сторону DS
этого поколения.
Главными новшествами являются:
Загрузка дополнительных модулей, с помощью них в DS можно добавить практически что угодно, от
новых комманд, до дополнений к lua скриптам или вообще сделать какое либо приложение к DS,
возможности практически не ограничены!
При запуске DS грузятся модули gui, cmd, elf, vfdc.
gui - это графическая оболочка, я ее буду со временем обновлять, а вы будете качать обновления прямо с дрима.
cmd - это модуль с дополнительными командами, elf для запуска elf файлов, vfdc для проигрывания видео.
Все модули в любой момент можно выгрузить или загрузить.
SDK для создания модулей для DreamShell вы найдете в DreamShell Service 5.5.
Еще одним новшеством является переработка lua интерпретатора. Теперь он не инициализирует каждый раз заново библиотеки,
Они будут инициализированны при загрузке DS, теперь скрипты будут запускаться без "раздумий" как это было раньше.
Для комманд на скриптах и для инсталляционного скрипта создается новый процесс, чтобы не засорять мусором главный интерпретатор.
Ведь все глобальные переменные и функции которые пришли с запускаемых скриптов, останутся в нем.
Так же в Lua добавлены новый функции, самым главным дополнением является внедрение DreamShell GUI API,
то есть можно пользоваться интерфейсами gui через скрипты, это поможет создавать оболочки для ваших приложений на скриптах.
Так же теперь не обязательно инициализировать видео SDL заново, можно использовать экран DS, взяв
его спецальной функцией(см. в списке функций на страничке DS).
Кстати префиксы функций изменились, теперь KOS функции идут с префиксом KOS, DreamShell функции с префиксом DS, SDL как и было с SDL префиксом.
Подробнее смотрите в списках функций на страничке DreamShell.
Появилась очень удобная команда install, с помощью нее вы можете делать инсталляционные пакеты для DS,
под управлением lua скрипта. Смотрите пример в DreamShell Service 5.5.
Исправлены архиваторы gzip и zip. gzip теперь не спецефический, а такой же как и везде.
Добавлена Нормальная распаковка и запаковка zip архивов, даже с паролями:)
Вообщем там конечно проделана довольно большая работа, я даже всего и не напишу, много всяких багов убрал, добавил/убрал/исправил команды,
Увеличил шрифт(а то кто то жаловался), перевел все это на более быструю и новую версию SDL, облегчил исполняемый файл и т.п.
Вообщем я хотел создать платформу, способную на максимальный внешний апгрейд, думаю у меня получается:)
Осталось теперь только наблюдать за багами, чтобы исправить их в дальнейшем(если это будет иметь успех).

Теперь немного общего описания.
Все файлы вынесены на диск, так что без диска ее теперь не загрузить.
Если кто то захочет запустить ее через Chankast, то придется немного подредактировать DS.CFG который
лежит в корне диска и запускать с образа.
Изначально DreamShell грузится в консольном режиме, по желанию GUI можно запустить спецальной командой.
Просто пока от GUI толку особого нету, т.к. он не доделан, я решил не грузить его изначально.
Кстати в DS.CFG можно прописать режимы загрузки DreamShell.
Ну на сегодня описания хватить, остальное смотрте сами, потом может дополню, если что упустил важное:)
Жду отзывов...
Цитата:Жду отзывов...
СУПЕР:)
Ептеть! Наконец-то!!! Судя по описанию ты нехило попотел!!! И всунул много чего нужного! Молодец!!

ПС уже качаю как скачаю отпишусь )))
качаемс....
Сват........Я ТЕБЯ ЛЮБЛЮ....:lol:
Жесть:)Держите себя в руках:)А то еще не то поймут:)
Теперь вопросы.

1) Можно ли запустит из под binload дримшелл
2) раскажи поподробней про

.klf - Дополнительный модуль(программа или просто библиотека) для DS, используется командой - module

.dsi - Это файл инсталлятора, используется командой - install

как это будет выглядить?? И что из себя представляет. Или как ты это представляешь в дримшелл???

3) "thread" - менеджер процессов??? Хотелось бы по подробней узнать.

4) Еще хотелось бы узнать про нововедения в луа. Что изменил, что добавил. Этот же вопрос и про СДЛ.
klf - Это полноценная программа, просто выполненная как модуль, как у Windows dll, в него не линкуются библиотеки при компиляции, все функции которые в ней используются, экспортируются в него из DreamShell, эта особенность делает их очень маленькими в размере, что очень даже неплохо для самого DC:)
Формат klf модуля - elf.
В модуле должны быть 4 обязательных функции, это:
Код:
const char * lib_get_name();
uint32 lib_get_version();
int lib_open(klibrary_t * lib);
int lib_close(klibrary_t * lib);
При открытии модуля срабатывает функция lib_open, при закрытии lib_close. Вообщем эти функции можно наблюдать в SDK для их создания в DreamShell Service v5.5.


.dsi - Это вообщем обычный zip архив, в котором должен быть обязательно файл ds_install.lua. При наборе команды:

install /ram/pack.dsi

DreamShell извлекает из архива файл ds_install.lua, создает отдельный процесс луа, отправляет в него полный адрес dsi файла и запускает этот скрипт. В самом скрипте уже расписана остальная манипуляция с этим архивом, что куда извлечь, удалить, запустить и т.п.
Пример можно можно посмотреть в DreamShell Service v5.5.
Да и еще, dsi может быть как чистым архивом, так и конвертированный в VMU файл, команда install сама распознает что это за формат и сделает нужные действия.

thread - В данный момент он на стадии разработки. Сейчас там можно запустить отдельным процессом lua, dsc скрипт и elf файл(специализированный). Все это можно запустить только по 1.

Про луа сорри позже, я на работу поехал:)
И так о lua...
Про изменения в интерпретаторе я писал выше.
Списки функций можно посмотреть на страничке DreamShell или в DreamShell Service v5.5
Хмм... а что еще писать то?:)Может уточниш?:)
Вот могу тебе сказать что теперь видео SDL не обязательно заново инициализировать(хотя и это я писал, но все же уточню), обычный экран SDL можно взять функцией:

Код:
SDL.GetDScreen();
Она возвращает указатель на экран DS (тот самый SDL_Surface *screen)

А вот эта устанавливает новый экран:
Код:
SDL.SetDScreen(SDL_Surface *new_screen);


Такие же есть для работы с GUI:
Код:
SDL.GUI_SetScreen(GUI_Screen *);
SDL.GUI_GetScreen();

Попозже может дам пример как использовать экран DreamShell.

Воистину круто что под дримшелл можнополноценные проги писать. Вскоре завались будет прог со всего мира!!! МАЗА!!!
Сегодя наконец записал ее... )))

И так :
GUI режим меня порадовал! Перемещение курсора сделано класно! Курсор сразу же реагирует на аналог.

Луа наконец-то выполняется без задержек!

Также порадовало наличие моих скриптов в релизе ))

Из багов:
Довольно частое зависание в консоли.
Почему-то мои скрипты бывают вешают дримшелл. Почему еще не разобрался.
Также как и в XT проблема с вывода картинок на экран ((
Но тут впринципи удивлятся не чему т.к. это бета...

Из пожеланий:
Увеличить размер шрифта в GUI. Исправить баги. Положить последнюю версию блокнота на луа и моего imageviewer!
И еще потом доделаю Launcher от заеро и скину тебе его в асю. Надо чтоб ты его впихнул в финал релиз... Просто хочу сделать тодну хрень там...

Это пока все на что обратил внимание ))
Dreamshell NG рулит..... ))))))
На счет лаунчела...
Я для удобного запуска приложений сделал команду install, юзай ее, очень удобно! Ведь она сама все делает. Смотри пример инсталлятора в DSS.

Цитата:Довольно частое зависание в консоли.
Почему-то мои скрипты бывают вешают дримшелл. Почему еще не разобрался.


Ну если вешают значить что то не то
Врятли я что то накосячил с луа, я ее много раз тестил.
Ты смотри, там же изменения в синтаксисе использования внедренных функций. А вообще выкладывай скрипты которые вешают DS, посмотрим че не так.

А про показ картинок я вообще забыл млин

А нафиг шрифт увеличивать в GUI? Что неужели так мелко?
Цитата:Я для удобного запуска приложений сделал команду install, юзай ее, очень удобно!
ок!
Цитата:Ну если вешают значить что то не то
Врятли я что то накосячил с луа, я ее много раз тестил.
Ты смотри, там же изменения в синтаксисе использования внедренных функций. А вообще выкладывай скрипты которые вешают DS, посмотрим че не так.
Я брал те мои скрипты которые ты кинул в бету... Например notepad после 2-го запуска вешает. Также и калькулятор после второго запуска вешает ( Надо будет еще твои скрипты потестить)

Цитата:А про показ картинок я вообще забыл млин
Вот вот... Как всегда ))
Цитата:А нафиг шрифт увеличивать в GUI? Что неужели так мелко?
Я б сказал, что не совсем комфортно. Ты б конфиг сделал бы GUI? Хотяб чтоб размер и тип шрифта минять... ))

Цитата:Например notepad после 2-го запуска вешает. Также и калькулятор после второго запуска вешает ( Надо будет еще твои скрипты потестить)

Про это я уже говорил при выпуске, не нада мусорить там, ведь теперь не инициализируется луа каждый раз, все глобальные твои переменные остаются там, поэтому при втором запуске и происходит висяк.
Цитата:Про это я уже говорил при выпуске, не нада мусорить там, ведь теперь не инициализируется луа каждый раз, все глобальные твои переменные остаются там, поэтому при втором запуске и происходит висяк.
Блин. Я про это и забыл как-то ((...
Очень рад, что новая DS вышла!
Толку то, некому не нужна она уже...
Цитата:Толку то, некому не нужна она уже...
Как некому? Мне нужна!
Кхе... Ну знаеш ли, заниматься таким далеко не маленьким проектом из за одного человека, помоему это извращение:)
Согласен. Просто хотел тебя как-то морально поддержать )
Страниц: 1 2 3
URL ссылки