Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Apr 08, 2020 7:17 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 1138 posts ]  Go to page Previous 163 64 65 66 6776 Next
Author Message
PostPosted: Wed Jan 28, 2015 1:31 pm 
Offline

Joined: Thu Dec 25, 2014 1:57 am
Posts: 4
Здравствуйте! Помогите, пожалуйста, новичку: какие 5 наиболее важных изменений были сделаны в KoOS после отделения от MeOS?


Top
   
PostPosted: Wed Jan 28, 2015 8:20 pm 
Offline
User avatar

Joined: Mon Jul 25, 2011 6:22 pm
Posts: 93
Поддержка железа, достаточно. Да и вообще, с какой целью интерессуетесь?

_________________
Программист не тот, кто постоянно пишет КОД, а тот кто сможет понять чужой КОД!!!


Top
   
PostPosted: Wed Jan 28, 2015 10:53 pm 
Offline

Joined: Thu Dec 25, 2014 1:57 am
Posts: 4
Offtopic:
Artyom wrote:
Поддержка железа, достаточно. Да и вообще, с какой целью интерессуетесь?


Хочу написать небольшое (15 000 - 20 000 asm строк) коммерческое приложение на fasm'е. Выбираю между MeOS и KoOS, сравниваю.


Top
   
PostPosted: Fri Jan 30, 2015 3:47 am 
Offline
User avatar

Joined: Mon Jul 25, 2011 6:22 pm
Posts: 93
Право выбора есть у всех, не мне за тебя решать!!!

_________________
Программист не тот, кто постоянно пишет КОД, а тот кто сможет понять чужой КОД!!!


Top
   
PostPosted: Sat Jan 31, 2015 2:09 pm 
Offline

Joined: Sat Dec 20, 2014 8:37 pm
Posts: 18
Здравствуйте. Попытка открытия файла с диска с помощью библиотеки libio:
Code:
...
FILE* (* __attribute__((stdcall)) fopen_)(const char*, unsigned int);
...
kol_struct_import *libio = kol_cofflib_load("/sys/lib/libio.obj");
if (libio == 0)
    killMainThread();

fopen_ = ( __attribute__((stdcall)) FILE* (*) (const char*, unsigned int))
      kol_cofflib_procload (libio, "file_open");
if (fopen_ == NULL)
    killMainThread();
...

Code:
int main() {
...
    printf("trying to open file 1.txt\n");
    fopen_("1.txt", 0b00000001); // O_READ = 00000001b
    printf("done!");
...
}

Вывод программы:
Quote:
trying to open file 1.txt

Доска отладки сообщает, что произошёл page fault. MTDBG: "Debugger program called an exception 0E. Suspended."
Image
Файл 1.txt присутствует в каталоге с программой. При прописывании абсолютного пути к файлу наблюдается то же поведение. Что я делаю не так?


Top
   
PostPosted: Mon Feb 02, 2015 11:34 am 
Offline

Joined: Tue Jan 27, 2015 12:12 pm
Posts: 3
Вобщем-то эта "Колибри" хоть и хороша из-за хорошей скорости, но здесь надо быть программистом и самим программировать все, что необходимо иметь для работы. Странно, что так много игровых games. Может разработано для детского садика? Ну не серьезно-же это. Были-бы шахматы и то как-то понятно, а тут все просто тупой азарт.
Невозможно usb-modem установить.


Top
   
PostPosted: Mon Feb 02, 2015 7:18 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
Запустите программу PCIDEV, сделайте скриншот или сохраните в *.txt файл. Посмотрим назначены ли прерывания, что за модем. Хотя шансов мало, если софт-модем.


Top
   
PostPosted: Tue Feb 03, 2015 7:36 pm 
Offline
User avatar

Joined: Mon Jul 25, 2011 6:22 pm
Posts: 93
klb1 wrote:
Вобщем-то эта "Колибри" хоть и хороша из-за хорошей скорости, но здесь надо быть программистом и самим программировать все, что необходимо иметь для работы. Странно, что так много игровых games. Может разработано для детского садика? Ну не серьезно-же это. Были-бы шахматы и то как-то понятно, а тут все просто тупой азарт.
Невозможно usb-modem установить.

На вкус и цвет - ОС нет и НЕ БУДЕТ!!!

_________________
Программист не тот, кто постоянно пишет КОД, а тот кто сможет понять чужой КОД!!!


Top
   
PostPosted: Thu Feb 05, 2015 3:26 pm 
Offline

Joined: Tue Jan 27, 2015 12:12 pm
Posts: 3
Вобщем-то у меня обычный модем - флешка "билайн".
Программа от нее не устанавливается под "KolibriOS".
Тут на форуме пожалуй много интересного можно просто узнать и на досуге почитаю
Спасибо.


Top
   
PostPosted: Thu Feb 05, 2015 5:04 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
http://moskva.beeline.ru/customers/help ... nstrukcii/ Ну там есть несколько моделей... Де-факто есть 2 человека, которые могут помочь (или сказать, что надо писать отдельный драйвер для модема) - CleverMouse и hidnplayr.


Top
   
PostPosted: Fri Feb 06, 2015 8:25 pm 
Offline

Joined: Sat Dec 20, 2014 8:37 pm
Posts: 18
Quote:
Здравствуйте. Попытка открытия файла с диска с помощью библиотеки libio:

Всё ещё актуально.
Нужно ли мне загружать и запускать lib_init из libio перед использованием file_open? Если да, то какие должны быть аргументы и возвращаемое значение mem.*?
Code:
;;================================================================================================;;
proc libio._.init ;///////////////////////////////////////////////////////////////////////////////;;
;;------------------------------------------------------------------------------------------------;;
;? Library entry point (called after library load)                                                ;;
;;------------------------------------------------------------------------------------------------;;
;> eax = memory allocation routine <mem.alloc*>                                                   ;;
;> ebx = memory freeing routine <mem.free*>                                                       ;;
;> ecx = memory reallocation routine <mem.realloc*>                                               ;;
;> edx = library loading routine <dll.load*>                                                      ;;
;;------------------------------------------------------------------------------------------------;;
;< eax = 1 (fail) / 0 (ok) (library initialization result)                                        ;;
;;================================================================================================;;
        mov     [mem.alloc], eax
        mov     [mem.free], ebx
        mov     [mem.realloc], ecx
        mov     [dll.load], edx
        xor     eax, eax
        ret
endp


Top
   
PostPosted: Fri Feb 06, 2015 10:33 pm 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 465
Lib_init вызывать нужно, mem.* и dll.load -- это указатели на функции работы с памятью и загрузки библиотек. Не обязательно эти, но вести себя они должны так же.

Тут явно кто-то использовал libio из C; может, подскажут, куда смотреть за примером.


Top
   
PostPosted: Sat Feb 21, 2015 11:38 am 
Offline

Joined: Sat Dec 20, 2014 8:37 pm
Posts: 18
dunkaist, спасибо!
Теперь другая проблема:
При вызове функции time() из menuetlibc получаю время, сдвинутое вперед на 6 с чем-то лет (конкретно: на 191808000 секунд).
При этом, календарь отображает правильную дату.
Что интересно, день недели и время отображаются верно, а день, месяц и год - 5 марта 2021 вместо 21 февраля 2015.

Code:
#include <time.h>

time_t t = time(NULL);
string s = ctime(&t);


Дистрибутив от 21 февраля 2015 года.
Сообщите, пожалуйста, если это ожидаемое поведение, а не баг.


Top
   
PostPosted: Wed Mar 11, 2015 9:53 am 
Offline
User avatar

Joined: Sat Apr 20, 2013 6:43 am
Posts: 29
Только начал разбираться с программированием для Kolibri на ассемблере (в основное время пишу на языках высокого уровня), поэтому задаю глупый вопрос. Я изменил простую программу, добавил кнопку, с её помощью я хочу закрывать приложение. Что я делаю не так?
Code:
include "macros.inc"

MEOS_APP_START

CODE
redraw:
   call   draw_window
wait_event:
   mcall   10
   dec   eax
   jz   redraw
   dec   eax
   jz   key
   cmp   eax,3
   jz   button_event
key:
; Нажата клавиша, читать и игнорировать
   mcall   2
   jmp   wait_event
button_event:
   cmp  ah,1
   jne   close_program
   jmp   wait_event

close_program:
   mcall   -1
; Отрисовка окна
draw_window:
   mcall   12, 1
   mcall   0, <10,150>, <40,80>, 0x33FFFFFF, , header
   mcall   4, <30,10>, 0x80000000, string
   mcall   4, <30,20>, 0x80000000, string

   mcall   8, <30,50>, <30,20>, 1, 0xf0f0f0
   mcall   4, <38,37>, 0x80000000, button
   mcall   12,2
   ret
; Константы
DATA
header   db   'HelloWorld test',0
string   db   'Тестовая строка',0
button   db   'Кнопка',0


UDATA

MEOS_APP_END


Top
   
PostPosted: Wed Mar 11, 2015 10:51 am 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
если коротко, следует заменить
Code:
cmp   eax,3

на
Code:
dec   eax

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 1138 posts ]  Go to page Previous 163 64 65 66 6776 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 3 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