Программирование колибри
-
Мне очень нравится эта ос.Я бы хотел узнать как создать форму.Надо ли мучится с ее созданием как с winapi?Как с компонентами ?
Сейчас я пишу игровой движок для windows.Но когда я постигну колибри я портирую его на колибри !А чем он будет отличатся от RenPy?Тем что у него будет среда разработки.И любой желающий сможет создавать на нем игры!
Немного си.немного асм.неплохо делфи/паскаль
В рамдиске есть файл example.asm, где создается форма.
Функция 0 - определить и нарисовать окно.
Как пользоваться SVN сервером KolibriOS.
Box_lib и прочие библиотеки, еще больше библиотек.
Использование компиляторов в KOS.
Разбор example.asm можешь посмотреть в e-zine (немного устарел).
Если что-то будет не понятно, спрашивай смело...
Как пользоваться SVN сервером KolibriOS.
Box_lib и прочие библиотеки, еще больше библиотек.
Использование компиляторов в KOS.
Разбор example.asm можешь посмотреть в e-zine (немного устарел).
Рад этому, может будет интересно/полезно - tengine :: tiny multiplatform 2d engine.bodyawm wrote:Сейчас я пишу игровой движок [...] портирую его на колибри ! [...] у него будет среда разработки.И любой желающий сможет создавать на нем игры!
Если что-то будет не понятно, спрашивай смело...
Last edited by kiv on Thu Jan 08, 2015 11:00 pm, edited 1 time in total.
Раз уж мы ушли в оффтоп в ветке EasyShot, давайте продолжим где-то здесь.
Немного мыслей вслух.
На ассемблере раньше как оно было и в большинстве случаев остается:Местами стало получше:
В плане С-- я пришел к мысли, что структуры - это хорошо и элементы ООП вроде инкапсуляции - просто прекрасно. Большую программу без ООП написать НАМНОГО сложнее, чем с ним.
Так что чем дальше, тем большеПревращается в id выделяется автоматически, и мы оперируем не им, а объектом.
У объекта есть функции и свойства. Наверное, для многих избитые истины.
Да, это немного увеличивает размер бинарника, но дает возможность удобного чтения, контроля и расширения. Скажем, в будущем можно будет сделать перемещение по разным элементам с помощью TAB.
Немного мыслей вслух.
На ассемблере раньше как оно было и в большинстве случаев остается:
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();
У объекта есть функции и свойства. Наверное, для многих избитые истины.
Да, это немного увеличивает размер бинарника, но дает возможность удобного чтения, контроля и расширения. Скажем, в будущем можно будет сделать перемещение по разным элементам с помощью TAB.
Из хаоса в космос
Доброго всем времени) Я еще не юзал колибри, но что хотел заранее спросить - есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
Можно почитать тут: http://diamond.kolibrios.org/hll/hll.htm#masmsniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
Спасибо, почитал. В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))tsdima wrote:Можно почитать тут: http://diamond.kolibrios.org/hll/hll.htm#masmsniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
Почему я и спрашивал есть ли прямая поддержка масма)
А в чем такая принципиальная разница ?sniv wrote:Спасибо, почитал. В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))tsdima wrote:Можно почитать тут: http://diamond.kolibrios.org/hll/hll.htm#masmsniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке ??
Почему я и спрашивал есть ли прямая поддержка масма)
Для меня ассемблеры выглядят максимально совместимыми - минимум переделок по коду
В самом дистрибутиве нет. Но как уже было написано выше http://kolibri-n.org/inf/hll/hll#masmsniv wrote:есть ли поддержка masm (к примеру от 6 до 11) в операционке
Также есть возможность использовать 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:В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме.
Насколько я понимаю, FASM там используется только лишь для того, чтобы вытащить из .exe нужный код и ещё кое-какие данные. Можно написать отдельный конвертор, типа pe2kos. А может быть и он подойдет (тут я не в курсе).sniv wrote:В итоге я так понимаю если я напишу что-то на масме, то мне придется писать еще и портирование на фасме. И как итог - нащще мне ентот бубен, проще сразу пересаживаться на синтаксис фасма))
Спасибо за инфу, уже знакомлюсь
Там ещё не представлен для программирования Форт (Forth) в Колибри. (есть темы на местном форуме + ForthEC с трансляцией кода в MASM)sniv wrote:Спасибо за инфу, уже знакомлюсь
В нём тоже можно использовать много ассемблера.
Who is online
Users browsing this forum: No registered users and 2 guests