Здравствуйте, уважаемые разработчики.
Я хочу заняться разработкой под Kolibri, но даже не знаю с чего начать. У меня есть опыт в программировании на PHP и JavaScript, но других языков я не знаю
Можете подсказать, что делать в таком случае?
Как начать разработку под KolibriOS?
Скачать себе репозиторий SVN и посмотреть на примеры программ
1) asmworld.ru - классный сайт-учебник под fasm
2) файл example.asm на /rd/1/ - что бы понять структуры приложений на колибри
3) прога DockPack > Sysfuncr.txt - список стандартных функций на колибри
2) файл example.asm на /rd/1/ - что бы понять структуры приложений на колибри
3) прога DockPack > Sysfuncr.txt - список стандартных функций на колибри
Для попытки первого погружения вполне подходят выпуски 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/
Ну, и для самых ленивых размещу архив прямо в этом сообщении:
Взять можно как в составе архива "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/
Ну, и для самых ленивых размещу архив прямо в этом сообщении:
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Литература по программированию на Assembler на twirpx
P.S. Что из этого, в первую очередь, наиболее интересно и практично для скачивания и прочтения?
P.S. Что из этого, в первую очередь, наиболее интересно и практично для скачивания и прочтения?
Фактически нет примеров по реализации "типовых" задач на ассемблере на ресурсе
Rosetta_Code
для сравнения и изучения с реализацией на обычных языках.
P.S. C-- тоже не увидел .
Rosetta_Code
для сравнения и изучения с реализацией на обычных языках.
P.S. C-- тоже не увидел .
Еще можно попробовать делать новеллы средствами Condition Script.
The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
Именно для этих целей я и начал разработку TextGameppk-center wrote:Еще можно попробовать делать новеллы средствами Condition Script.
to infinity and beyond
Посмотрел бегло статистику использования команд процессора в kernel, drivers, programs директориях
Основные используемые команды ветвления с прямой логикой (без частцы не, с частицей не однофлаговые переходы )
Другие варианты команд ветвлений фактически не используются JNAE JNA JNB JNBE JNG JNGE JNL JNLE JNO JNP JO JPE JPO
P.S. В "чёрном" списке много неиспользуемых других команд (например битовых и др.)
Вопрос: Есть рекомендации не использовать какие то команды (например XLAT , BOUND, ENTER LEAVE и др.) или это только субъективный опыт программирования на ассемблере X86 и накладываемые особенности Колибри? У кого какой "рейтинг" по применению команд X86 для "типовых" случаев?
Понравилось такое описание системы команд (но вроде оно не полное. Не увидел, например, команду CMOVG)
Описание системы команд микропроцессоров Intel
Основные используемые команды ветвления с прямой логикой (без частцы не, с частицей не однофлаговые переходы )
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 (<=) ветвления при знаковых числах
P.S. В "чёрном" списке много неиспользуемых других команд (например битовых и др.)
Вопрос: Есть рекомендации не использовать какие то команды (например XLAT , BOUND, ENTER LEAVE и др.) или это только субъективный опыт программирования на ассемблере X86 и накладываемые особенности Колибри? У кого какой "рейтинг" по применению команд X86 для "типовых" случаев?
Понравилось такое описание системы команд (но вроде оно не полное. Не увидел, например, команду CMOVG)
Описание системы команд микропроцессоров Intel
Таки закончил хеллоуворлд, заброшенный еще 4 месяца назад.
https://drive.google.com/file/d/0B4jkCp ... sp=sharing
Если у кого-то не пойдет/зависнет/слетит_все_к_фигам, то это вполне ожидаемо, ибо не тестировалось нигде, кроме как у меня в Virtualbox.
Приятной игры.
https://drive.google.com/file/d/0B4jkCp ... sp=sharing
Если у кого-то не пойдет/зависнет/слетит_все_к_фигам, то это вполне ожидаемо, ибо не тестировалось нигде, кроме как у меня в Virtualbox.
Приятной игры.
Образ не запускается, файл RnJ1 не запускается (если это бинарник, почему бы его не ужать с помощью kpack'a?).
Из хаоса в космос
А можно содержимое лога?
Скачал сегодняшний билд Колибри. Еще раз перепроверил. Образ прекрасно подключается как к 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 находились в одной директории. Я пробовал только с дискеты запускать. Как оно будет работать где-то в другом месте я не знаю.
Скачал сегодняшний билд Колибри. Еще раз перепроверил. Образ прекрасно подключается как к 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 находились в одной директории. Я пробовал только с дискеты запускать. Как оно будет работать где-то в другом месте я не знаю.
Запустил.
1. Почему RnJ1 так много занимает? Что в нем?
2. Почему бы не использовать kpack для бинарника?
3. Очень кривое окно.
4. По нажатию Esc все зависает.
1. Почему RnJ1 так много занимает? Что в нем?
2. Почему бы не использовать kpack для бинарника?
3. Очень кривое окно.
4. По нажатию Esc все зависает.
Из хаоса в космос
1. Много всего. SDL, freetype, libpng, zlib, Lua и т. д. Это все мне пригодится. В рамках портирования движка, зависимости перекочевали с винды, благо добрые люди портировали в Колибри все, что мне нужно. Как-нибудь покажу виндовую версию движка.
2. Не слышал о таком. Знаю, что у сообщества KolibriOS идеология гласит делать приложения, как можно меньше. Я не фанат оси, я всего лишь кодер. Сори, мне не принципиально. Обязательно подумаю над этим как-нибудь, но не сейчас.
4. Да, есть такое. SDL под колибри, видимо, не умеет закрывать окно. Что-нибудь придумаю.
Leency, благодарю за внимание.
P. S. Все-таки, не рекомендую никому запускать в Qemu. Ужасно все лагает.
2. Не слышал о таком. Знаю, что у сообщества KolibriOS идеология гласит делать приложения, как можно меньше. Я не фанат оси, я всего лишь кодер. Сори, мне не принципиально. Обязательно подумаю над этим как-нибудь, но не сейчас.
4. Да, есть такое. SDL под колибри, видимо, не умеет закрывать окно. Что-нибудь придумаю.
Leency, благодарю за внимание.
P. S. Все-таки, не рекомендую никому запускать в Qemu. Ужасно все лагает.
В рамках удовлетворения моего любопытства, как работает SDL на Колибри, адаптировал еще одну свою старую игрушку. Игра про машинки.
Скрин:
Суть:
Стрелками влево и вправо меняйте позицию машинки. Ширина дороги - 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).
Приятной игры.
Скрин:
Spoiler:
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).
Приятной игры.
Who is online
Users browsing this forum: No registered users and 36 guests