Функция 18, подфункция 13 - получить версию ядра.

Internal structure and you change requests/suggestions

POLL Стоит ли?

Total votes: 13
Да
100%
13
Нет
No votes
0

  • +1
    Номер ревизии очень бы помог программам, у которых есть ограничения "ревизия не менее ...", потому что мало кто читает ридми, а проблемами хочет поделиться каждый. Например, Tinypad 4.0.4 будет использовать менеджер памяти, и я бы добавил проверку на номер ревизии с превеликим удовольствием.
  • В принципе можно, пока еще эту функцию широко не используют.
  • Согласен.
  • Я за.
  • Это несколько неудобно с точки зрения работы с svn: что ли, при каждом commit вручную изменять поле в kernel.asm?
  • Мы об этом думали. Есть парочка вариантов, нужно лишь уточнить возможность их реализуемости:
    1. создать файл revision.inc и при каждом коммите перехватывать данные и изменять их; реализация вроде как несколько проблематична
    2. интегрировать получение текущей ревизии в build.bat/makefile; более удобный вариант, но тоже нужно ещё постараться, чтобы реализовать
    Возможно какие-то ещё, которые я сейчас не вспомнил или не знаю.
  • Вопрос изучен и решение найдено. Не только для kernel.asm, но возможно и для всех файлов нужно включить замену keywords. Например, таким образом SVN сам может заменять последовательность $Revision$ на номер ревизии внутри файла, коммит которого производится.

    http://svnbook.red-bean.com/nightly/ru/ ... l.keywords
  • А не на строку, включающую номер ревизии, из которой надо ещё каким-то образом получить сам номер ревизии, пригодный для определения dd?
  • сделано

    Code: Select all

    include 'MACROS.INC'
    header '01',1,START,I_END,0x100000,0x100000,0,0
    __DEBUG__ equ 1
    __DEBUG_LEVEL__ equ 1
    include 'DEBUG-FDO.INC'
            struct VERSION_INFO
               a        db ?
               b        db ?
               c        db ?
               d        db ?
               type     db ?
               revision dd ?
            ends
    ;---------------------------------------------------------------------
    START:
            mcall   18,13,ver
            DEBUGF  1,'%d.%d.%d.%d\n', [ver.a]:1,[ver.b]:1, [ver.c]:1, [ver.d]:1
            DEBUGF  1,'type=%d\n', [ver.type]:1
            DEBUGF  1,'rev=%d\n', [ver.revision]
            mcall   -1
    
            ver VERSION_INFO;
            include_debug_strings ;
    ;---------------------------------------------------------------------
    I_END:
    небольшой тестик... вроде работает :)
  • Who is online

    Users browsing this forum: No registered users and 3 guests