Page 1 of 2

Как начать разработку под KolibriOS?

Posted: Sat Oct 05, 2013 6:19 pm
by Nikolai
Здравствуйте, уважаемые разработчики.
Я хочу заняться разработкой под Kolibri, но даже не знаю с чего начать. У меня есть опыт в программировании на PHP и JavaScript, но других языков я не знаю :(
Можете подсказать, что делать в таком случае?

Re: Начало разработки под Kolibri

Posted: Sat Oct 05, 2013 7:42 pm
by SoUrcerer
Скачать себе репозиторий SVN и посмотреть на примеры программ :)

Re: Начало разработки под Kolibri

Posted: Sat Oct 05, 2013 10:31 pm
by e-andrew
1) asmworld.ru - классный сайт-учебник под fasm
2) файл example.asm на /rd/1/ - что бы понять структуры приложений на колибри
3) прога DockPack > Sysfuncr.txt - список стандартных функций на колибри

Re: Начало разработки под Kolibri

Posted: Sun Oct 06, 2013 12:55 am
by Mario_r4
Для попытки первого погружения вполне подходят выпуски e-zine Электронный журнал "Вестник КолибриОС", которые были выпущены в количестве трех номеров. К сожалению в дальнейшем, как обычно случается, "энтузазизм" участников заглох.

Взять можно как в составе архива "Kolibri 0.7.7.0 Средства разработчика (SDK)" http://kolibrios.org/ru/releases (расположено в kolibri_0.7.7.0_sdk.7z\articles\e-zine)
Так же я залил в свою директорию на FTP, как в текстовом виде, так и в сжатом в единый архив ftp://ftp.kolibrios.org/users/Mario/e-zine/
Ну, и для самых ленивых размещу архив прямо в этом сообщении:
e-zine.7z (56.39 KiB)
Downloaded 442 times

Re: Начало разработки под Kolibri

Posted: Thu Jan 02, 2014 10:44 am
by Kopa
Литература по программированию на Assembler на twirpx

P.S. Что из этого, в первую очередь, наиболее интересно и практично для скачивания и прочтения?

Re: Начало разработки под Kolibri

Posted: Wed Feb 12, 2014 6:29 pm
by Kopa
Фактически нет примеров по реализации "типовых" задач на ассемблере на ресурсе
Rosetta_Code
для сравнения и изучения с реализацией на обычных языках.

P.S. C-- тоже не увидел .

Re: Начало разработки под Kolibri

Posted: Wed Feb 12, 2014 6:48 pm
by ppk-center
Еще можно попробовать делать новеллы средствами Condition Script.

Re: Начало разработки под Kolibri

Posted: Thu Feb 13, 2014 10:37 am
by punk_joker
ppk-center wrote:Еще можно попробовать делать новеллы средствами Condition Script.
Именно для этих целей я и начал разработку TextGame

Re: Начало разработки под Kolibri

Posted: Thu Feb 13, 2014 3:14 pm
by Kopa
Посмотрел бегло статистику использования команд процессора в kernel, drivers, programs директориях
Основные используемые команды ветвления с прямой логикой (без частцы не, с частицей не однофлаговые переходы )

Code: Select all

JA (U>), JAE (U>=) JB,JC (U<) JBE (U<=) ветвления при беззнаковых числах  
JE,JZ (= , 0=)  JNE,JNZ (<>/ <>0) JNS (+sign) JS (-sign) JP (чётное число бит)  
JG (>) JGE (>=) JL (<) JLE (<=)  ветвления при знаковых числах  
Другие варианты команд ветвлений фактически не используются JNAE JNA JNB JNBE JNG JNGE JNL JNLE JNO JNP JO JPE JPO

P.S. В "чёрном" списке много неиспользуемых других команд (например битовых и др.)
Вопрос: Есть рекомендации не использовать какие то команды (например XLAT , BOUND, ENTER LEAVE и др.) или это только субъективный опыт программирования на ассемблере X86 и накладываемые особенности Колибри? У кого какой "рейтинг" по применению команд X86 для "типовых" случаев?

Понравилось такое описание системы команд (но вроде оно не полное. Не увидел, например, команду CMOVG)
Описание системы команд микропроцессоров Intel

Re: Начало разработки под Kolibri

Posted: Tue Sep 01, 2015 1:04 am
by MorningStar
Таки закончил хеллоуворлд, заброшенный еще 4 месяца назад.
https://drive.google.com/file/d/0B4jkCp ... sp=sharing
Если у кого-то не пойдет/зависнет/слетит_все_к_фигам, то это вполне ожидаемо, ибо не тестировалось нигде, кроме как у меня в Virtualbox.

Приятной игры.

Re: Начало разработки под Kolibri

Posted: Tue Sep 01, 2015 12:58 pm
by Leency
Образ не запускается, файл RnJ1 не запускается (если это бинарник, почему бы его не ужать с помощью kpack'a?).

Re: Начало разработки под Kolibri

Posted: Tue Sep 01, 2015 1:34 pm
by MorningStar
А можно содержимое лога?

Скачал сегодняшний билд Колибри. Еще раз перепроверил. Образ прекрасно подключается как к Qemu, так и к Virtualbox.
Для Qemu такой батник:
qemu-system-i386.exe -L . -m 128 -fda Snake_640x480_x86_KolibriOS.ima -cdrom KolibriOS_rev5781.iso -boot d -localtime -vga vmware -net nic,model=rtl8139 -net user -soundhw ac97 -usb -usbdevice tablet
Насколько помню в Qemu у меня не получалось поключить лайв-дискету и дискету с данными одновременно. Поэтому нужен образ лайвсиди.
А еще в Qemu сильно тормозит и с управлением косяки (запускается, но неиграбельно). Поэтому лучше в VirtualBox.

Для Virtualbox:
Носители
Контроллер: IDE
Вторичный мастер IDE: [Оптический привод] KolibriOS_rev5781.iso (52,55 МБ)
Контроллер: Floppy
Флоппи привод 0: Snake_640x480_x86_KolibriOS.IMA

На дискете находятся:
RnJ1 - исполняемы файл
Main.lua - стартовый скрипт
log.log - мой старый лог. Он не нужен. После запуска появится новый.
mods - папка с играми.

Для запуска необходимо, чтобы RnJ1, Main.lua и mods находились в одной директории. Я пробовал только с дискеты запускать. Как оно будет работать где-то в другом месте я не знаю.

Re: Начало разработки под Kolibri

Posted: Tue Sep 01, 2015 5:05 pm
by Leency
Запустил.
1. Почему RnJ1 так много занимает? Что в нем?
2. Почему бы не использовать kpack для бинарника?
3. Очень кривое окно.
4. По нажатию Esc все зависает.

Re: Начало разработки под Kolibri

Posted: Tue Sep 01, 2015 5:53 pm
by MorningStar
1. Много всего. SDL, freetype, libpng, zlib, Lua и т. д. Это все мне пригодится. В рамках портирования движка, зависимости перекочевали с винды, благо добрые люди портировали в Колибри все, что мне нужно. Как-нибудь покажу виндовую версию движка.
2. Не слышал о таком. Знаю, что у сообщества KolibriOS идеология гласит делать приложения, как можно меньше. Я не фанат оси, я всего лишь кодер. Сори, мне не принципиально. Обязательно подумаю над этим как-нибудь, но не сейчас.
4. Да, есть такое. SDL под колибри, видимо, не умеет закрывать окно. Что-нибудь придумаю.

Leency, благодарю за внимание.

P. S. Все-таки, не рекомендую никому запускать в Qemu. Ужасно все лагает.

Re: Начало разработки под Kolibri

Posted: Thu Sep 03, 2015 4:21 pm
by MorningStar
В рамках удовлетворения моего любопытства, как работает SDL на Колибри, адаптировал еще одну свою старую игрушку. Игра про машинки.
Скрин:
Spoiler:Image
Суть:
Spoiler:Вы управляете машинкой. У машинки отказали тормоза. Более того, она постоянно набирает скорость. Единственный шанс уцелеть - это ждать, пока не кончится топливо. Хорошая новость - топлива в бензобаке хватит всего на 2 минуты. Попробуйте продержаться все это время не разбив в хлам машинку.

Стрелками влево и вправо меняйте позицию машинки. Ширина дороги - 4 машинки, т. е. вам надо постоянно перемещаться между этими четырьмя позициями.

Помимо вашей машинки, на дороге присутствует 2 типа машин, несущихся вам на встречу - цветные и белые с полосками.

При столкновении с цветной машинкой ваша скорость снижается на 20 км/ч, но не может опуститься ниже 20. Так же ваша машинка получает урон. Чем больше разница скоростей вашей машины и той, в которую врезались, тем больше урон. Если столкновение неизбежно (нет свободной позиции), то выбирайте машинку, которая приближается медленнее всего к вам и врезайтесь.

Это все, что касается цветных машинок. В игре есть еще белые машинки с полосками на крыше - это ремонтные машинки. Столкновение с ними восстанавливает 1/4 здоровья и снижает вашу скорость на 5 км/ч.

Скорость цветных машинок фиксированная и зависит от цвета. Скорость белой машинки может быть различной и составляет половину скорости вашей машинки на момент появления.
Взять можно здесь:
https://drive.google.com/file/d/0B4jkCp ... sp=sharing

MessageBox'ы в Колибри я пока не осилил, поэтому в аварийной ситуации, программа все-так же молчаливо завершится. По совету Leency хотел было ужать KPACK'ом. Получилось, и размер стал 208К. Но вот беда, WinImage отказался запихивать в образ пожатый исполнимый файл. Либо лыжи не едут, либо я чего-то не понимаю. Окно по-прежнему кривое.
Игра тормозит (у меня падение fps до 15-16). Это я накосячил. Но играть можно (на Virtualbox, не на Qemu).

Приятной игры.