Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб дек 15, 2018 3:37 pm

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




Начать новую тему  Ответить на тему  [ 945 сообщений ]  На страницу Пред. 159 60 61 62 63
Автор Сообщение
СообщениеДобавлено: Пн авг 20, 2018 10:10 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 417
Компилятор Оберона в теме Оберона.

Кех-файл это просто сжатые исполнимые файлы колибри, есть на рабочем столе сжималка.
Нужно только на финальном этапе - когда программа полностью закончена.


Вернуться к началу
СообщениеДобавлено: Ср сен 26, 2018 7:52 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 417
Alex2003 писал(а):
Мне бы Pascal Turbo и программу для перевода exe в kex

viewtopic.php?p=71523#p71523


Вернуться к началу
СообщениеДобавлено: Чт окт 11, 2018 2:33 pm 
Не в сети

Зарегистрирован: Вт окт 09, 2018 7:15 pm
Сообщения: 1
Было бы интересно добавить MUD-клиент. Онлайн игра, а ресурсов надо минимальное количество..


Вернуться к началу
СообщениеДобавлено: Вт окт 16, 2018 7:15 pm 
Не в сети

Зарегистрирован: Вт окт 16, 2018 5:36 pm
Сообщения: 1
Хотелось бы копиляцию колибри на арм процессоры, чтобы можно было бы сделать портативный комп на pi zero, без использования виртуальных машин, привлекло бы много людей в коммьюнити
Я кстати подозреваю, что я просто тупой и этому есть припятствие? иначе бы уже давно было бы??
и кстати если сделать эмуляторы всяких nes то получится идеальная OS для портативных самоделок, а это = привлечение людей, опять таки
Я думал у себя на канале такое собрать, но увидел, что колибри сделана только для x86 =(


Вернуться к началу
СообщениеДобавлено: Вт окт 16, 2018 8:58 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4879
Ты вначале задаешь вопрос и потом сам на него отвечаешь.

https://vk.com/topic-48924138_33355952

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


Вернуться к началу
СообщениеДобавлено: Вт окт 16, 2018 9:01 pm 
Не в сети

Зарегистрирован: Сб апр 22, 2017 6:11 pm
Сообщения: 219
Soul
У нас есть два эмулятора nes (не знаю какого качества, но есть) это FCE Ultra (файл fceu) и Super NES (zsnes). Найти можно в iso образе, директория /cd2/1/kolibrios/emul
К сожалению, переписать на ARM нельзя, получится совсем другая ОС.


Вернуться к началу
СообщениеДобавлено: Пн ноя 26, 2018 1:25 am 
Не в сети

Зарегистрирован: Чт авг 04, 2016 10:43 am
Сообщения: 11
обновление фасма до 1.73.04
свн у меня нет (или правильнее у меня WinXP64SP2 ее свн клиент не коннектится с свн колибри сервера)
попробовал собрать колибри версию из исходников сам (модифицировав оф. фасм пакет) - подгружаемые библиотеки подгрузились, все рисуется, кнопочки отрабатываются, но (чего-то) все-равно нахимичил - ругается что не указан входной файл при попытке компиляции. (конечно целью было слегка похимичить - цикл обработки сообщений через джамптейбл и т.д., хотел конечно еще наоптимизировать - но тот факт, что все не работает как надо застопорил процесс до выяснения ошибки).
во вложении и исходники и скомпилированный фасм, и кейпакнутая его версия (все также 43кб).
https://yadi.sk/d/sP161ACiFu4RiQ
тестил через разшаренный HDD между рабочей ОС и виртуальной колибри (это старое нововведение удобнее, чем когда-то давно когда приходилось расшаривать флешку).


Вложения:
1.73.04.JPG
1.73.04.JPG [ 13.41 КБ | 378 просмотров ]
Вернуться к началу
СообщениеДобавлено: Пн ноя 26, 2018 2:30 am 
Не в сети
Designer
Аватара пользователя

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

Ты уже отрефакторил исходник, это конечно хорошо, но теперь через DIFF сложно понять где что-то потеряно. Как писал Д.Кнут "Преждевременная оптимизация — корень всех зол."
Теперь после нажатия на "COMPILE", стоит вывести на дебаг полную сформированую строку пути к файлу. Возможно, где-то потерялась конкатенация строк. Или если не она, то проверить параметры чтения файла исходника. Корректно ли заполняется структура для функции 70.

Кстати, ты пробовал https://sourceforge.net/projects/tortoi ... plication/ ?
У меня именно эта версия работает под WINXP, правда х32.

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


Вернуться к началу
СообщениеДобавлено: Пн ноя 26, 2018 3:44 am 
Не в сети

Зарегистрирован: Чт авг 04, 2016 10:43 am
Сообщения: 11
Здравствуй, Leency.

мой способ дал бы самую свежую версию фасм для колибри - только мне. Неплохо если стандартные файлы (авторства Томаша обновятся) и добавятся в релиз для всех.
Рекомендованную версию свн попробую. Спасибо.

[edited]Попробовал - то же самое: тортоисепрок запустился - прошли часы, он так и не подтянул файлы.

[edited2]внутренняя структура в точности как у вашего свна (только в той части которая нужна для fasm) (...и все работает - fasm 1.73.04)
посчитаем что это бранч:https://yadi.sk/d/e-ejtYnHTKLc_w ссылка обновлена [edited3]07.12.18 - сам доволен.
по ссылке исходник рабочего fasm 1.73.04, правки от свн версии не считая обновления логики самого ассемблера:
1. большинство mcall`ов через соответствующие им символические имена.
2. цикл обработки сообщений (и обработка нажатий кнопок в нем, оба) реализован через jmptable - в разы быстрее чем проверять каждое значение последовательно. пара dword`ов пожертвованы в читабельность - нулевые члены jmptable`ов излишни.
3. использованы invoke из proc32.inc.
4. переделан macros.inc, слегка - добавлен синтаксический сахар, оптимизацию mov через push/pop убрал - выигрывать 2 байта ценой 2 обращений в стек не мое...
часть макросов из macros.inc вынул в другие файлы, их оставил, но не использую.
5. файл import32.inc, его макросы теперь полностью копируют функционал и возможности аналогичных для windows, однако создают структуры для колибри.
[edited3]6. логика импорта полностью переработана!!!! load_lib.mac - удален к чертям - больше нет никакого (ни одного) макроса загрузки библиотек импорта. Теперь для импорта используются 7 функций из файла importhelperprocs.inc, две из которых названы аналогично именам в windows (и естественно они доступны для вызова в любом месте программы еще до загрузки импортируемых функций): LoadLibrary и GetProcAddress - они принимают такое же количество тех же параметров, что и в windows, только параметры эти реализованы не через стек, а через регистры. Однако работа еще есть - мои функции реализуют только случай где point_dir_name =0 в макросах load_lib.mac (можно пример когда надо в point_dir_name указать какой-то путь?). Ну и при импортировании функции lib_init мои функции не запускают ее автоматически - запуск после на совести пользователя - может и нужно автоматизировать запуск - хз.

Свою хотелку с меню (от 2016 года) помню, доиграюсь с fasm (и макросами на свой вкус), поиграюсь с ее реализацией.


Последний раз редактировалось ProMiNick Пт дек 07, 2018 3:57 am, всего редактировалось 3 раза.

Вернуться к началу
СообщениеДобавлено: Пт дек 07, 2018 1:11 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 783
Хотелось бы перенести в Колибри одну программу из Windows. Эта программа использует для своей работы следующие функции:
Спойлер: Показать
Код:
; Imports from KERNEL32.dll
CreateFileA
GetModuleHandleA
DeleteFileA
EnterCriticalSection
CloseHandle
FileTimeToDosDateTime
FileTimeToLocalFileTime
FindClose
FindFirstFileA
FindNextFileA
ExitProcess
CreateProcessA
GetCommandLineA
GetCurrentDirectoryA
GetCurrentThreadId
GetEnvironmentStrings
GetExitCodeProcess
GetFileAttributesA
GetFileType
GetFullPathNameA
GetLastError
GetLocalTime
GetLogicalDrives
FreeLibrary
GetACP
GetProcAddress
GetStartupInfoA
GetStdHandle
GetSystemInfo
GetVersion
GetVolumeInformationA
GlobalMemoryStatus
InitializeCriticalSection
IsDBCSLeadByteEx
LeaveCriticalSection
LoadLibraryA
MultiByteToWideChar
RaiseException
ReadFile
RtlUnwind
SetConsoleCtrlHandler
SetFilePointer
SetHandleCount
UnhandledExceptionFilter
VirtualAlloc
VirtualFree
VirtualProtect
WaitForSingleObject
WriteFile
GetModuleFileNameA

; Imports from USER32.dll
MessageBoxA
EnumThreadWindows

Есть функции по работе с файловой системой, работа с памятью, сообщения MessageBox подобное точно в Колибри есть, но много функций для меня не понятного назначения. Кто может занимался подобными переносами или портированием на сколько это может быть возможно или не возможно?


Вернуться к началу
СообщениеДобавлено: Пт дек 07, 2018 9:58 am 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 222
LoadLibraryA намекает на то, что этот список может оказаться далеко не полным.


Вернуться к началу
СообщениеДобавлено: Пт дек 07, 2018 3:06 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 783
tsdima писал(а):
LoadLibraryA намекает на то, что этот список может оказаться далеко не полным.

Посмотрел в коде, эта функция вызывается всего 1 раз. Она требует какую-то 32CPINTF.DLL, о которой ничего не известно. Пробовал найти в google информации нет, пробовал искать на системном диске C: тоже не находит. Но несмотря на эти странности программа работает, думаю что эта DLL может быть нужна в каких-то редких случаях и без нее можно обойтись.


Вернуться к началу
СообщениеДобавлено: Сб дек 08, 2018 3:31 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 222
Т.е. исходного кода нет, и хочется сделать аналог wine только для этой конкретной программы?


Вернуться к началу
СообщениеДобавлено: Сб дек 08, 2018 7:47 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 783
Да исходников нет, последняя версия программы была выпущена в 97м году. Зато есть дизасемблированный код, который уже компилируется в fasm-е и работает под windows. Путем експериментов выяснил что программа работает и без использования LoadLibrary. На данный момент удалось в коде опознать несколько функций работы с памятью и строками (memcру meмmove ...)


Вернуться к началу
СообщениеДобавлено: Вс дек 09, 2018 1:53 am 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 222
Разбил список функций на группы:
Спойлер: Показать
Работа с файлами

CreateFileA
DeleteFileA
CloseHandle
SetFilePointer
ReadFile
WriteFile
GetFileType

Чтение каталога

FindFirstFileA
FindNextFileA
FindClose
GetFileAttributesA
GetFullPathNameA

Процессы

CreateProcessA
ExitProcess
GetExitCodeProcess

Информация о своём процессе

GetCommandLineA
GetModuleHandleA
GetModuleFileNameA
GetCurrentDirectoryA
GetCurrentThreadId
GetEnvironmentStrings
GetStdHandle
GetStartupInfoA
EnumThreadWindows
SetHandleCount
SetConsoleCtrlHandler

Работа с датами/временем

FileTimeToDosDateTime
FileTimeToLocalFileTime
GetLocalTime

Работа с DLL

LoadLibraryA
GetProcAddress
FreeLibrary

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

GetVersion
GetSystemInfo
GetLogicalDrives
GetVolumeInformationA
GlobalMemoryStatus

Работа с объектами синхронизации

InitializeCriticalSection
EnterCriticalSection
LeaveCriticalSection
WaitForSingleObject

Обработка ошибок

GetLastError
RtlUnwind
RaiseException
UnhandledExceptionFilter

Работа с памятью

VirtualAlloc
VirtualFree
VirtualProtect

Работа с символами (Unicode)

GetACP
IsDBCSLeadByteEx
MultiByteToWideChar

Диалоговое сообщение

MessageBoxA


Многие фукции принимают в качестве параметра указатель на структуру, содержимое лучше смотреть в MSDN.
Спрашивай, что не понятно, постараюсь разъяснить.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 945 сообщений ]  На страницу Пред. 159 60 61 62 63

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


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

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


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

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