Начинающий

Applications development, KoOS API questions
  • Спасибо. Я ещё нашел пояснялки в исходниках:) Сразу не додумался посмотреть. Осталось только исходники обновить. А то у меня ещё с 0.7.7.0.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • dev64, судя по приведённому посту, вторая ссылка неверная, поскольку ведёт на код возможного загрузочного сектора. Правильная ссылка - на kernel/trunk/kernel.asm, примерно с начала до первой команды jmp osloop, но там далеко не только начальная загрузка. Менее конкретных ссылок нет. Конкретные вопросы по устройству ядра - более конкретные, чем "как грузится система?" - можно задавать отдельно. Например, вот тут были достаточно конкретные вопросы, и на них были конкретные ответы.
    Сделаем мир лучше!
  • CleverMouse, спасибо за ссылочки, особенно внутри форума. Ядро уже слегка смотрел. Код оно конечно что ж, код оно неплохо тож :) Но без RиTFM-а далеко не уплывешь :)
  • И опять вопрос:) Моя программка должна читать внешний файл, но дело в том, что это файл лежит там же где и прога, а где лежит прога не известно. Надо как-то узнать, где лежит прога. Как?
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Можно просто открывать файл по имени, без указания пути - должно сработать.
  • Не-а. По умолчанию каталог /rd/1. Он там его и ищет. А моя прога пока не настолько разработана, что бы её в дистрибутив добавлять:)
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Программа на ассемблере?
  • Когда-то в змейке делал так. В заголовке программы есть поле для указателя на абсолютный путь запущенного бинарника. Если в общих словах, то нужно делать так:

    Code: Select all

    mov  edi, cur_dir_path
    xor  eax,  eax
    mov  ecx, 4096
    repne scasb
    mov al, '/'
    neg ecx
    add ecx, 4096
    std
    repne scasb
    cld
    mov  dword[edi+2],    'file'
    mov  dword[edi+6],    'name'
    
    Это, скорее, псевдокод. На веру принимать не стоит. Для понимания следует спокойно разобраться с цепочечными командами и флагом направления (direction flag) по какой-нибудь книжке. Например, по Юрову.
  • Для 70й функции:
    Также функция поддерживает относительные имена. Если путь начинается не с '/', то он считается относительно текущей папки. Получить или установить текущую папку можно с помощью сисфункции 30.
    Далее. Посмотри внимательно на заголовок программы - MENUET01 и так далее. Последний параметр - это указатель на путь, откуда запущена программа.
  • Code: Select all

      db     'MENUET01'  ; 8-байтный идентификатор MenuetOS
      dd     0x01        ; версия заголовка (всегда 1)
      dd     START       ; адрес первой команды
      dd     I_END       ; размер программы
      dd     0x1000      ; количество памяти
      dd     0x1000      ; адрес вершины стэка
      dd     0x0         ; адрес буфера для параметров
      dd     path; <---------------адрес буфера для пути
    ;...................................
     path: rb 1024 ; после запуска программы в этом буфере будет путь 
    
  • Век живи -- век учись. Я помнил, что такое как-то возможно, но сходу не нашёл. А готовый костылик подкинуть всегда проще.
  • Спасибо. У меня просто не было современных описаний заголовка:( Ах да. Чуть не забыл. SoUrcerer, программа на асме. Прямо в Колибри пишу:)
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Вопрос: можно ли считывать текст с чужого окна. Хотя бы с Tinypad'а?
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Можно получить копию экрана. Текст после вывода на экран становится растровым изображением, превратить растровое изображение обратно в текст затруднительно (хотя я делал это даже в Колибри, не помню, выкладывал или нет OCR).
  • Who is online

    Users browsing this forum: No registered users and 34 guests