Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс май 20, 2018 8:54 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 126 сообщений ]  На страницу Пред. 1 2 3 4 59 След.
Автор Сообщение
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Пн апр 02, 2018 11:47 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4445
У нас многомерное общение больше похожее на чят :)

0CodErr
Ты можешь пофиксить @open ?
Пока писал сообщение психанул и пофиксил сам #7217.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Ср апр 04, 2018 10:57 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1253
tsdima, у меня тоже есть проблема с libimg.
Обычно выполнение заканчивается вылетом примерно после
Код:
EIP    = $0000017E; EAX    = $00000044; EBX    = $00000014; ECX    = $00000464
EDX    = $00000000; ESI    = $00000464; EDI    = $0414A18C; EBP    = $0412FDF0
ESP    = $0412FDE4; EFLAGS = $00010202
HeapReallocate(MemPtr:$00000000, Bytes:1124)
Я не учёл, что KolibriOS.HeapReallocate работает иначе, чем Windows.HeapRealloc
Цитата:
======================================================================
======= Function 68, subfunction 20 - reallocate memory block. =======
======================================================================
Parameters:
* eax = 68 - function number
* ebx = 20 - subfunction number
* ecx = new size in bytes
* edx = pointer to already allocated block
Returned value:
* eax = pointer to the reallocated block, 0 = error
Remarks:
* Before this call one must initialize process heap by call to
subfunction 11.
* The function allocates an integer number of pages (4 Kb) in such
way that the real size of allocated block is more than or equal to
requested size.
* If edx=0, the function call is equivalent to memory allocation
with subfunction 12. Otherwise the block at edx
must be allocated earlier with subfunction 12 or this subfunction.
* If ecx=0, the function frees memory block at edx and returns 0.
* The contents of the block are unchanged up to the shorter of
the new and old sizes.
Программа ожидала выделения памяти, а его не произошло.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Ср апр 04, 2018 2:23 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 165
Сделал рудиментарную поддержку сети. WebView уже работает. Почему-то не работают Downloader и NsInstall. Вобщем, глючно пока, но куда копать - непонятно.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Ср апр 04, 2018 11:00 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 139
tsdima писал(а):
Сделал рудиментарную поддержку сети. WebView уже работает.
А у меня, не работает.

Вот скрин:

Изображение
Полный лог из терминала:
Спойлер: Показать
Код:
~/.kex $ ./kex "root/RD/1/File Managers/EOLITE"
02.00000AEF: mcall 37, 0x4, 0x24C4, 0x1
02.00000B19: mcall 37, 0x5, 0x0, 0x0
<html> found
Document has no information about encoding, UTF will be used
02.00000B08: mcall 37, 0x5, 0x25, 0x0
02.00000B19: mcall 37, 0x5, 0x0, 0x0
Usage: nmcli device { COMMAND | help }

COMMAND := { status | show | connect | reapply | disconnect | delete | monitor | wifi | lldp }

  status

  show [<ifname>]

  set [ifname] <ifname> [autoconnect yes|no] [managed yes|no]

  connect <ifname>

  reapply <ifname>

  disconnect <ifname> ...

  delete <ifname> ...

  monitor <ifname> ...

  wifi [list [ifname <ifname>] [bssid <BSSID>]]

  wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] [ifname <ifname>]
                         [bssid <BSSID>] [name <name>] [private yes|no] [hidden yes|no]

  wifi hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>] [band a|bg] [channel <channel>] [password <password>]

  wifi rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]

  lldp [list [ifname <ifname>]]

Error: 'dev' command 'list' is not valid.
Contacting DNS server failed with EAI code: 00000004
HTTP GET error!
bufsize: 0
02.00000B19: mcall 37, 0x5, 0x0, 0x0
<html> found
cur_encoding    : 6
set_new_encoding: 5

Ещё заметил, что во время запуска OPENDIAL, в терминале почему-то выводятся сообщения о ненайденных файлах .obj. Но эти файлы присутствуют.

Вот скрин:

Изображение

_________________
The Glass is Always Half Full! :mrgreen:


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Ср апр 04, 2018 11:31 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4445
Снова регистр?

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Чт апр 05, 2018 12:16 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 139
Leency писал(а):
Снова регистр?
На гитхабе написано:
[github] tsdima писал(а):
case insensitive file search
Это-то и странно. Пробовал со ссылкой и без. Результат, в обоих случаях, тот же.

_________________
The Glass is Always Half Full! :mrgreen:


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Чт апр 05, 2018 1:10 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1253
JohnXenox писал(а):
Ещё заметил, что во время запуска OPENDIAL, в терминале почему-то выводятся сообщения о ненайденных файлах .obj. Но эти файлы присутствуют.
Вообще-то тех файлов не должно быть в папке File managers. Если только ты их сам туда не положил.
А так OpenDialog сперва ищет библиотеки в своей папке и, если не находит, то как обычно в /sys/lib.
Странная логика, как мне кажется, ведь это же системные библиотеки и они должны быть как раз в /sys/lib, а не в папке с программой.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Чт апр 05, 2018 3:58 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 139
0CodErr писал(а):
Вообще-то тех файлов не должно быть в папке File managers. Если только ты их сам туда не положил.
Нет в папке с OPENDIAL их нет, и туда их не клал. Я имел ввиду, что файлы присутствуют в принципе, в частности в папке ~/.kex/root/RD/1/LIB.
0CodErr писал(а):
А так OpenDialog сперва ищет библиотеки в своей папке и, если не находит, то как обычно в /sys/lib.
Странная логика, как мне кажется, ведь это же системные библиотеки и они должны быть как раз в /sys/lib, а не в папке с программой.
Вот и мне, кажется это странным. Файлы есть, а ворнинги всё-равно выводятся.

_________________
The Glass is Always Half Full! :mrgreen:


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Чт апр 05, 2018 9:45 am 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 165
JohnXenox писал(а):
Файлы есть, а ворнинги всё-равно выводятся.

Предупреждения выводятся при попытке загрузить библиотеку. Я же не виноват, что OpenDialog ищет их сначала в текущем каталоге. Обычно, если программа грузит библиотеку, но её нет, то это что-то не совсем обычное, поэтому я и вывожу предупреждение. В данном случае можно игнорировать эти сообщения.

По поводу nmcli: я подозревал, что на других дистрибутивах могут быть другие параметры, или другой формат вывода. Но другого способа получить адрес DNS и gateway (причём полученный по DHCP) я пока не нашёл. Без адреса DNS сеть работает, но толку мало. Можно попытаться задать статическую конфигурацию в network.ini и запустить @zeroconf, а потом посмотреть, что выдаёт netstat. Если получится установить адрес DNS, то сеть должна заработать.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Чт апр 05, 2018 12:16 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 165
Попробовал вышеописанный метод - пришлось кое-что пофиксить. Теперь статическую конфигурацию можно задавать в network.ini и запускать @zeroconf.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Пт апр 06, 2018 4:13 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 139
tsdima писал(а):
Предупреждения выводятся при попытке загрузить библиотеку. Я же не виноват, что OpenDialog ищет их сначала в текущем каталоге.
Тебя никто, ни в чём, не обвиняет. Я просто указал на неправильное, с моей точки зрения, поведение эмулятора, которое вводит в заблуждение. И если эмулятор делает какие-то неправильные или странные вещи, то это, либо недоработка, либо личные предпочтения автора эмулятора.

На мой вгляд, неправильно выводить в терминал далеко некритические сообщения, в то время, когда программа OPENDIAL, по существу, имеет все необходимые файлы для удавлетворения своих потребностей и корректной работы. Кстати сама программа, в Колибри, в такой ситуации, ворнинги не выводит, что вполне логично.
tsdima писал(а):
Обычно, если программа грузит библиотеку, но её нет, то это что-то не совсем обычное, поэтому я и вывожу предупреждение.
Когда библиотеки нигде нет, не найдена - это да. Но когда библиотека есть и/или найдена, в одной из директорий прописанных в программе, то это нормальная ситуация. Программа проверяет все директории, которые в ней прописаны, на наличие нужной библиотеки, и если библиотека найдена, запускается, а если нет, то выбрасывает ворнинг. К тому же, эмулятор не должен ничего решать за программу, которую он эмулирует. Если программа не выбрасывает ворнинг, то и эмулятор, не должен за неё это делать.
tsdima писал(а):
В данном случае можно игнорировать эти сообщения.
Хорошо, буду игнорировать.
tsdima писал(а):
По поводу nmcli: я подозревал, что на других дистрибутивах могут быть другие параметры, или другой формат вывода. Но другого способа получить адрес DNS и gateway (причём полученный по DHCP) я пока не нашёл. Без адреса DNS сеть работает, но толку мало. Можно попытаться задать статическую конфигурацию в network.ini и запустить @zeroconf, а потом посмотреть, что выдаёт netstat. Если получится установить адрес DNS, то сеть должна заработать.
Ясно.

P.S. Прошу бурно не реагировать на моё сообщение. Я просто выложил своё видение по этому поводу.

_________________
The Glass is Always Half Full! :mrgreen:


Последний раз редактировалось JohnXenox Пт апр 06, 2018 4:34 am, всего редактировалось 2 раза.

Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Пт апр 06, 2018 4:16 am 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 139
tsdima писал(а):
Попробовал вышеописанный метод - пришлось кое-что пофиксить. Теперь статическую конфигурацию можно задавать в network.ini и запускать @zeroconf.
Позже попробую, но не уверян, что что-то получится. Я в этом полный нуб.

_________________
The Glass is Always Half Full! :mrgreen:


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Пт апр 06, 2018 9:16 am 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 165
JohnXenox писал(а):
На мой вгляд, неправильно выводить в терминал далеко некритические сообщения

Ну, поначалу, сообщение о ненайденной библиотеке было критичным :)
Можно убрать это сообщение, но тогда будет непонятно, почему не работает программа, если библиотеки действительно нет. Не все программы ругаются, если не нашли библиотеку.

В последней версии работает pcidev. Заметил, что есть программы, которые требуют наличия /tmp0/1, так что каталог ~/.kex/root/TMP0/1 тоже нужно создавать. В Колибри это делается запуском launcher-a, но он запускает кучу ненужных эмулятору вещей (например @zeroconf, в эмуляторе не нужно запрашивать dhcp, оно сейчас и не работает, поэтому адрес получается случайный, работает только статическая конфигурация, но в kolibri.img по-умолчанию стоит auto).

Можно сделать, чтобы эмулятор сам создавал /tmp0/1, но сколько ещё таких костылей будет? Нужно ли это делать? С одной стороны, человек, мало знакомый с Колибри ОС не догадается сам это сделать, но с другой стороны, если бы не было запуска tmpdisk в autorun.dat, то поведение программ, требующих /tmp0/1, мало чем отличалось бы.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Вс апр 08, 2018 10:11 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 18, 2017 2:29 am
Сообщения: 139
tsdima писал(а):
Ну, поначалу, сообщение о ненайденной библиотеке было критичным :)
Можно убрать это сообщение, но тогда будет непонятно, почему не работает программа, если библиотеки действительно нет. Не все программы ругаются, если не нашли библиотеку.
Задача эмулятора Колибри - это как можно точнее эмулировать работу Колибри, а не улучшать, профилировать или отлаживать программу, которая эмулируется. Если программа не ругается, то это только проблема программы. Но с программой OPENDIAL другой случай, у неё функция ругани есть, и она срабатывает только в действительно критической ситуации. А у тебя эмулятор ругается за саму программу, в то время, когда у программы никакой критической ситуации нет. Конечно, другое дело, если это сделано в целях отладки эмулятора.
tsdima писал(а):
В последней версии работает pcidev.
Отлично. :D
tsdima писал(а):
Заметил, что есть программы, которые требуют наличия /tmp0/1, так что каталог ~/.kex/root/TMP0/1 тоже нужно создавать. В Колибри это делается запуском launcher-a, но он запускает кучу ненужных эмулятору вещей (например @zeroconf, в эмуляторе не нужно запрашивать dhcp, оно сейчас и не работает, поэтому адрес получается случайный, работает только статическая конфигурация, но в kolibri.img по-умолчанию стоит auto).

Можно сделать, чтобы эмулятор сам создавал /tmp0/1, но сколько ещё таких костылей будет? Нужно ли это делать? С одной стороны, человек, мало знакомый с Колибри ОС не догадается сам это сделать, но с другой стороны, если бы не было запуска tmpdisk в autorun.dat, то поведение программ, требующих /tmp0/1, мало чем отличалось бы.
Я думаю, так как директория /rd/1 создаётся вручную, то /tmp0/1, тоже должна создаваться вручную. А пользователя, можно предупредить на github.

Что-то вроде:
Цитата:
Для некоторых программ Колибри требуется директория /tmp0/1.
Чтобы создать директорию /tmp0/1, введите в терминале:

cd ~/.kex/root && mkdir tmp0 && mkdir tmp0/1

_________________
The Glass is Always Half Full! :mrgreen:


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор под Linux
СообщениеДобавлено: Пн апр 09, 2018 5:29 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 165
Сделал максимизацию по двойному клику на заголовке. Растягивание окон тоже должно работать, т.к. теперь оно делается ещё и вручную (т.е. независимо от оконного менеджера). Делается не совсем так, как в реальной Колибри, но лучше уж так, чем совсем никак.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 126 сообщений ]  На страницу Пред. 1 2 3 4 59 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB