Page 1 of 2
Программирование колибри
Posted: Mon Jan 05, 2015 10:46 pm
by bodyawm
Мне очень нравится эта ос.Я бы хотел узнать как создать форму.Надо ли мучится с ее созданием как с winapi?Как с компонентами
?
Мой проект
Posted: Mon Jan 05, 2015 10:50 pm
by bodyawm
Сейчас я пишу игровой движок для windows.Но когда я постигну колибри я портирую его на колибри
!А чем он будет отличатся от RenPy?Тем что у него будет среда разработки.И любой желающий сможет создавать на нем игры!
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:Сейчас я пишу игровой движок [...] портирую его на колибри
! [...] у него будет среда разработки.И любой желающий сможет создавать на нем игры!
Рад этому, может будет интересно/полезно -
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
Спасибо, почитал. В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))
Почему я и спрашивал есть ли прямая поддержка масма)
Re: Программирование колибри
Posted: Tue May 01, 2018 1:08 am
by Siemargl
sniv wrote:
Спасибо, почитал. В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))
Почему я и спрашивал есть ли прямая поддержка масма)
А в чем такая принципиальная разница ?
Для меня ассемблеры выглядят максимально совместимыми - минимум переделок по коду
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)
В нём тоже можно использовать много ассемблера.