Помогите новичку

Applications development, KoOS API questions
  • Mario
    Mario wrote:Это игры. Эмулятор тоже не компилятор.
    Это был ответ на вопрос:
    Mario wrote:Как и зачем портировать в Колибри библиотеку, которую в самой Колибри не собрать ничем...
    В основновном используется для портирования Сишного софта в Колибри.
    Mario wrote:Если уж портируется библиотека то логично, что должен быть инструмент который ее использует.
    Предлагаешь портировать gcc?

    Albom
    Мысль интересная. Предложение andrew_programmer'а разбить функции на группы и писать на ассемблере тоже кажется довольно резонным.
  • Albom
    Не помогло.

    К чему это всё. Сейчас многие демки заливают фон окна, хотя рисуют на весь его размер. Из-за этого при активации/деактивации окна оно сильно моргает. Проблема в том, что приложение рисует _почти_ на весь размер окна из-за того, что высота скина может быть разной.
    Выберете скин окна, в котором высокий заголовой - демка будет залазить снизу на ободок окна, слишком узкий - активное содержимое демки не дойдёт до нижнего ободка окна. Потому если фон прозрачный, часть окна снизу будет прозрачной, если фон залит - будет эта часть окна просто залитой.
    Может и не столь важно, но, просмотрев разные версии Колибри (почти все версии), понимаешь что из таких вещей складывается отношение к ОС, такие же банальные вещи, как "показывать или нет @ процессы", "не капсом набранное меню" и т.д.
    К чему я веду, надо это исправить. Если никто не возмёться, придёться напрячься и сесть за асм мне.
    Из хаоса в космос
  • Для превращения Leency в ассемблерщика я даже согласен ничего не менять в демках. :lol:
  • andrew_programmer wrote:Ничто не мешает сделать эти функции на ассемблере и залить на SVN в папку SDK, чтобы каждый кому они понадобятся не изобретали их снова.
    Firstly, sorry that I can't write in Russian - but I can read though.

    How about idea to port FASMLIB to KOS? I'v took a look into it, and if I understood correctly, all is needed is to port src/_linux, src/_windows "examples" to Kolibri by reimplementing alloc_heap/free_heap/realloc_heap, create/open/seek/read/tell and other platform-depended stuff.

    Please correct me if mistaken.

    Any comments about FASMLIB?
  • Asper wrote:Для превращения Leency в ассемблерщика я даже согласен ничего не менять в демках. :lol:
    Ассемблерщик из меня не получится, проверено. Я, конечно, могу немного побыдлокодить, но лучше б я занялся, чем-то, что ближе мне, а тот, кому ближе ассемблер занялся бы демками.
    Из хаоса в космос
  • Недавно переводил часть библиотеки 'fasmlib'. Ниже в архиве получившиеся файлы. Если есть желание продолжить начатую работу, данные файлы могут помочь.
    Recent transfer of the libraries 'fasmlib'. Below in the archive the resulting file. If there is a desire to continue this work, these files may help.
    Attachments
    str_lib.7z (14.7 KiB)
    Downloaded 226 times
  • Надо порезать путь, допустим, /hd1/2/Games/Heroes/ на части.

    Code: Select all

    void Func()
    {
    	int ii, jj=0, x_fol_btn=235;
    	char folder[256];
    	for (ii=0; ii<=strlen(#path); ii++;)
    	{
    		folder[jj]=path[ii];
    		IF (path[ii]=='/')
    		{
    			WriteDebug(#folder);
    			folder='';
    			jj=0;
    		}
    	} 
    }
    Этот код на доску выводит влякую фигню :(
    Где ошибка или как более правильно реализовать?
    Из хаоса в космос
  • Leency,
    для начала исправь три явных ошибки в цикле:
    1) инкремент ii++ есть, а jj++ нигде в коде нет;
    2) условие в заголовке цикла: поставь ii < (вместо ii<=), иначе будет лишний прогон в цикле;
    3) инкремент в заголовке цикла: убери точку с запятой после ii++
  • Возможно кому-нибудь, когда-нибудь, зачем-нибудь и пригодится:
    Шесть советов по написанию более понятного программного кода
    Все-таки IBM просто так не постит.
  • кто знает, сколько байт займут команды "mov esi,1" и "jmp smth"? там ведь еще дальность прыжка учесть надо, или это у "ret"?
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • mov esi, 1 = 5 байт, т.к 1 будет как dword (BE XXXXXXXX)
    Лучше xor esi, esi и inc esi, что все вместе займет 3 байта
    Короткий прыжок = 2 байта (EB XX), длинный = 5 (E9 XXXXXXXX)
  • спасибо =)
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • на "mov ecx,dword[tids+esi*8]" приложение вылетает с page fault, хотя "mov [tids+8*esi],eax" работает нормально.. как решить проблему?
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • Может tids поменялся или esi слишком большое значение содержит - выведи на доску отладки перед вызовом.
  • Who is online

    Users browsing this forum: No registered users and 8 guests