Page 1 of 2

Программирование колибри

Posted: Mon Jan 05, 2015 10:46 pm
by bodyawm
Мне очень нравится эта ос.Я бы хотел узнать как создать форму.Надо ли мучится с ее созданием как с winapi?Как с компонентами :D ?

Мой проект

Posted: Mon Jan 05, 2015 10:50 pm
by bodyawm
Сейчас я пишу игровой движок для windows.Но когда я постигну колибри я портирую его на колибри :D !А чем он будет отличатся от RenPy?Тем что у него будет среда разработки.И любой желающий сможет создавать на нем игры! :D

Re: Программирование колибри

Posted: Mon Jan 05, 2015 11:01 pm
by kiv
Привет, какие языки знаешь?
Какой опыт программирования?
Ты уже смотрел местную Wiki?
Скачал себе SDK?

Posted: Mon Jan 05, 2015 11:05 pm
by bodyawm
Немного си.немного асм.неплохо делфи/паскаль

Re: Программирование колибри

Posted: Mon Jan 05, 2015 11:09 pm
by e-andrew
В рамдиске есть файл example.asm, где создается форма.

Re: Программирование колибри

Posted: Mon Jan 05, 2015 11:16 pm
by kiv
Функция 0 - определить и нарисовать окно.
Как пользоваться SVN сервером KolibriOS.
Box_lib и прочие библиотеки, еще больше библиотек.
Использование компиляторов в KOS.
Разбор example.asm можешь посмотреть в e-zine (немного устарел).
bodyawm wrote:Сейчас я пишу игровой движок [...] портирую его на колибри :D ! [...] у него будет среда разработки.И любой желающий сможет создавать на нем игры! :D
Рад этому, может будет интересно/полезно - tengine :: tiny multiplatform 2d engine.
Если что-то будет не понятно, спрашивай смело...

Re: Программирование колибри

Posted: Sat Apr 21, 2018 2:11 am
by Leency
Раз уж мы ушли в оффтоп в ветке EasyShot, давайте продолжим где-то здесь.
Немного мыслей вслух.

На ассемблере раньше как оно было и в большинстве случаев остается:

Code: Select all

mov eax,8
mov edi,11
mov ebx,10*65536+100
...
je eax,11
...
Местами стало получше:

Code: Select all

mov eax,SF_DEFINE_BUTTON 
mov edi,BTN_APPLY
mov ebx,POSX*65536+100
...
je eax,BTN_APPLY
...
В плане С-- я пришел к мысли, что структуры - это хорошо и элементы ООП вроде инкапсуляции - просто прекрасно. Большую программу без ООП написать НАМНОГО сложнее, чем с ним.
Так что чем дальше, тем больше

Code: Select all

DefineButton(10,20,100,20, 30, 0xFFFfff);
WriteText(.............., "Appy")
if (id==30) dosmth();
Превращается в

Code: Select all

button Apply = { "Appy" };
Apply.draw(10, 20);
if (Apply.click(id)) dosmth();
id выделяется автоматически, и мы оперируем не им, а объектом.
У объекта есть функции и свойства. Наверное, для многих избитые истины.
Да, это немного увеличивает размер бинарника, но дает возможность удобного чтения, контроля и расширения. Скажем, в будущем можно будет сделать перемещение по разным элементам с помощью TAB.

Re: Программирование колибри

Posted: Sun Apr 29, 2018 7:37 pm
by sniv
Доброго всем времени) Я еще не юзал колибри, но что хотел заранее спросить - есть ли поддержка masm (к примеру от 6 до 11) в операционке ??

Re: Программирование колибри

Posted: Sun Apr 29, 2018 7:53 pm
by tsdima
sniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
Можно почитать тут: http://diamond.kolibrios.org/hll/hll.htm#masm

Re: Программирование колибри

Posted: Mon Apr 30, 2018 5:41 pm
by sniv
tsdima wrote:
sniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
Можно почитать тут: http://diamond.kolibrios.org/hll/hll.htm#masm
Спасибо, почитал. В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))
Почему я и спрашивал есть ли прямая поддержка масма)

Re: Программирование колибри

Posted: Tue May 01, 2018 1:08 am
by Siemargl
sniv wrote:
tsdima wrote:
sniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
Можно почитать тут: http://diamond.kolibrios.org/hll/hll.htm#masm
Спасибо, почитал. В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))
Почему я и спрашивал есть ли прямая поддержка масма)
А в чем такая принципиальная разница ?
Для меня ассемблеры выглядят максимально совместимыми - минимум переделок по коду

Re: Программирование колибри

Posted: Tue May 01, 2018 9:58 am
by 0CodErr
sniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке
В самом дистрибутиве нет. Но как уже было написано выше http://kolibri-n.org/inf/hll/hll#masm
Также есть возможность использовать MASM-совместимый JWASM\UASM:
http://board.kolibrios.org/viewtopic.php?p=55776#p55776
http://board.kolibrios.org/viewtopic.php?f=32&t=3583
При желании можно даже собрать UASM под KolibriOS — исходный код открыт.
В качестве примера программы, написанной на MASM-совместимом ассемблере и входящей в дистрибутив, можно привести эту http://board.kolibrios.org/viewtopic.php?f=9&t=3584 её исходный код можно найти на svn вот тут http://websvn.kolibrios.org/listing.php ... f773176113
sniv wrote:В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме.
Но зачем??? Или под словом "портирование" подразумевается что-то иное?

Re: Программирование колибри

Posted: Tue May 01, 2018 2:55 pm
by tsdima
sniv wrote:В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))
Насколько я понимаю, FASM там используется только лишь для того, чтобы вытащить из .exe нужный код и ещё кое-какие данные. Можно написать отдельный конвертор, типа pe2kos. А может быть и он подойдет (тут я не в курсе).

Re: Программирование колибри

Posted: Tue May 01, 2018 9:41 pm
by sniv
Спасибо за инфу, уже знакомлюсь

Re: Программирование колибри

Posted: Wed May 02, 2018 4:14 am
by Kopa
sniv wrote:Спасибо за инфу, уже знакомлюсь
Там ещё не представлен для программирования Форт (Forth) в Колибри. (есть темы на местном форуме + ForthEC с трансляцией кода в MASM)
В нём тоже можно использовать много ассемблера. :)