Board.KolibriOS.org

Official KolibriOS board
It is currently Thu Feb 27, 2020 9:35 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 1138 posts ]  Go to page Previous 137 38 39 40 4176 Next
Author Message
PostPosted: Thu Aug 23, 2012 8:54 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 814
Вопрос по работе с svn. Пробовал сделать ревизию, выдает:
Quote:
Error Commit falied (details follow):
Error Can't create directory '...2932-1.txt': No
Error space left on device

Что это значит, где-то закончилось место, как его расширить?
Spoiler: Show
Attachment:
error_svn.PNG
error_svn.PNG [ 20.85 KiB | Viewed 1829 times ]

Раньше такого у меня не было, у кого-либо сейчас ревизии делаются?


Top
   
PostPosted: Thu Aug 23, 2012 10:13 pm 
Offline
User avatar

Joined: Tue Aug 25, 2009 4:45 pm
Posts: 796
Не надо ничего расширять, я почистил логи - теперь есть место :)


Top
   
PostPosted: Fri Aug 31, 2012 10:39 pm 
Offline

Joined: Sun Oct 02, 2011 4:48 pm
Posts: 44
в файле kernel.asm есть строчка include "lang.inc" однако в папке kernel такого файла нет. Например в исходниках версии 0.7.7.0 всего 2 файла с таким названием (если я не ошибся).
Зачем тогда эта строчка в kernel.asm ?


Top
   
PostPosted: Fri Aug 31, 2012 11:04 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1248
z525 wrote:
в файле kernel.asm есть строчка include "lang.inc" однако в папке kernel такого файла нет. Например в исходниках версии 0.7.7.0 всего 2 файла с таким названием (если я не ошибся).
Зачем тогда эта строчка в kernel.asm ?


The file lang.inc is generated by the build script build.bat or makefile.
You can create your own file with the text "lang fix ru" or "lang fix en".

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Top
   
PostPosted: Sat Sep 15, 2012 7:58 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Есть lib от masm (coff) в ней есть точка входа. Вопрос такой: "Можно ли её прицепить как то к проекту на фасм или собрать совместно, чтобы потом передать управление на эту точку?"

PS: также есть intel omf obj из которого собрана либа.

Грубо говоря что то вроде такого необходимо:
Code:
  use32
  org    0x0

  db    'MENUET01'
  dd    0x01
  dd    Start
  dd    I_END
  dd    0x1000
  dd    0x1000
  dd    0x0
  dd    0x0

Start:
jmp  EPOINT ; точка куда надо передать управление, которая находится в obj
file   "demo.obj" ; тот самый obj
I_END:


Собственно прилагаю к посту lib и obj (intel omf) , а также obj2 (переконвертированный из intel omf в mscoff)
Точка входа Start$qqrv
При сборке lib использовал следующие параметры:
link.exe -lib /FORCE:UNRESOLVED /fixed /subsystem:native /base:-0x0 /ALIGN:16 /ENTRY:Start$qqrv /nologo demo.obj /out:demo.lib


Attachments:
demo.zip [1.71 KiB]
Downloaded 219 times
Top
   
PostPosted: Mon Sep 17, 2012 12:08 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Еще один вопрос. Функция 70 подфункция 7:
eax = 70 - номер функции
ebx = указатель на информационную структуру


Я описал структуру:
Code:
struct files_information
  number       dw 7 ; +0: dword: 7 = номер подфункции
  flags        dw 0 ; +4: dword: поле флагов:
  params       dw 0 ; +8: dword: 0 или указатель на ASCIIZ-строку с параметрами
  res1         dw 0 ; +12 = +0xC: dword: 0 (зарезервировано)
  res2         dw 0 ; +16 = +0x10: dword: 0 (зарезервировано)
  null         db 0 ; +20 = +0x14: db 0
  string       dd ? ; +21 = +0x15: dd указатель на ASCIIZ-строку с именем файла
ends

Объявил данные:
Code:
    fi      files_information
    way     db '/rd/1/calc',0         ; замена на /sys/calc ничего не дала

Вешаю на обработчик нажатия кнопки:
Code:
run:
    mov     eax,way ; получаем указатель на строку
    mov     [fi.string],eax

    mov     eax,4                         ; функция 4: написать текст в окне
    mov     ebx,10*65536 + 70            ; [x начальный] *65536 + [y начальный]
    mov     ecx,0x40000000                ; цвет текста RRGGBB
    mov     edx,[fi.string]               ; указатель на начало текста
    mov     esi,9                         ; длина текста в байтах
    mov     edi,[sc.grab]
    int     0x40

    mov     eax,70
    mov     ebx,[fi]
    int     0x40
    mov     [cel],eax          ; всегда возвращает 2 !!!!!!!!!!!!!!
    call    draw_result         ; вот тут вывожу значение 47 функцией
    ret
;end_run

присвоение пути структуре проходит (судя по выводу 4 функции). Потом вызываю 70 функцию, но еах всегда возвращает 2. Вопрос - где я опять накосячил!!!?


Top
   
PostPosted: Mon Sep 17, 2012 12:56 pm 
Akyltist
Пока вижу один множественный косяк.
Quote:
Общий формат информационной структуры:
+0: dword: номер подфункции
+4: dword: смещение в файле
+8: dword: старший dword смещения (должен быть 0) или поле флагов
+12 = +0xC: dword: размер
+16 = +0x10: dword: указатель на данные
+20 = +0x14: n db: ASCIIZ-строка с именем файла или
+20 = +0x14: db 0
+21 = +0x15: dd указатель на ASCIIZ-строку с именем файла

dword = dd
word = dw
byte = db


Top
   
PostPosted: Mon Sep 17, 2012 12:59 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Фёдор Михайлович Достоевский по этому поводу уже написал однажды книгу.
Спасибо большое! Пошел править.

Хм не помогло


Top
   
PostPosted: Mon Sep 17, 2012 2:40 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 814
Мне кажется что проблема здесь
Akyltist wrote:
mov     ebx,[fi]

в ebx должен быть адрес структуры fi, а судя по коду туда попадает 4-х быйтный dword из fi (т. е. номер подфункции ebx = 7)
Попробуй сделать так:
Code:
mov ebx,fi


Top
   
PostPosted: Fri Sep 21, 2012 11:17 am 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Можно как то менее затратно узнать PID текущего процесса не прибегая к 9 функции?


Top
   
PostPosted: Mon Sep 24, 2012 10:35 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Включить TLS. PID хранится по адресу fs:0.


Top
   
PostPosted: Mon Sep 24, 2012 12:10 pm 
Serge wrote:
Включить TLS. PID хранится по адресу fs:0.

Накладные расходы не нивелируют разницу?


Top
   
PostPosted: Mon Sep 24, 2012 3:12 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario
Бесплатно ничего не бывает.


Top
   
PostPosted: Mon Sep 24, 2012 7:01 pm 
Serge wrote:
Mario
Бесплатно ничего не бывает.

Вопрос в актуальности твоего совета относительно заданного вопроса.


Top
   
PostPosted: Mon Sep 24, 2012 7:48 pm 
Offline
User avatar

Joined: Mon Feb 09, 2009 4:13 am
Posts: 445
Кто нибудь знает? Есть ли способ, сделать более быстрый снимок области экрана, чем при использовании ф.35 или ф.36?

Переделываю свой ScrollBar. Добавил в него функцию полупрозрачности. Он у меня очень сильно мерцает, из-за тормазов ф.36 (очень медленно делается снимок). Help me, please! :mrgreen:

Демо файлы со скроллбаром, прикрепил.

Image


Attachments:
ScrollBar_demos.7z [5.38 KiB]
Downloaded 222 times

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Image
Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 1138 posts ]  Go to page Previous 137 38 39 40 4176 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited