From 69160c350e50fc57ed2ac5793cde1339d1d43601 Mon Sep 17 00:00:00 2001 From: "Evgeny Grechnikov (Diamond)" Date: Wed, 16 May 2007 13:59:46 +0000 Subject: [PATCH] Updated documentation git-svn-id: svn://kolibrios.org@499 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/docs/sysfuncr.txt | 49 +++++++---------------------- kernel/trunk/docs/sysfuncs.txt | 57 ++++++++++------------------------ 2 files changed, 28 insertions(+), 78 deletions(-) diff --git a/kernel/trunk/docs/sysfuncr.txt b/kernel/trunk/docs/sysfuncr.txt index b1bc7458d7..666a93ae43 100644 --- a/kernel/trunk/docs/sysfuncr.txt +++ b/kernel/trunk/docs/sysfuncr.txt @@ -502,7 +502,7 @@ Возвращаемое значение: * функция не возвращает значения Замечания: - * Вызов функции обязателен перед вызовом функций 15.2 и 15.5 + * Вызов функции обязателен перед вызовом подфункций 2 и 5. * Для обновления экрана (после завершения серии команд, работающих с фоном) вызывайте подфункцию 3 перерисовки фона. * Есть парная функция получения размеров фонового изображения - @@ -521,8 +521,8 @@ Замечания: * Смещение для точки с координатами (x,y) вычисляется как (x+y*xsize)*3. - * Если указанное смещение превышает установленный функцией 15.1 размер, - вызов игнорируется. + * Если указанное смещение превышает установленный подфункцией 1 + размер, вызов игнорируется. * Для обновления экрана (после завершения серии команд, работающих с фоном) вызывайте подфункцию 3 перерисовки фона. * Есть парная функция получения точки с фонового изображения - @@ -566,8 +566,7 @@ Возвращаемое значение: * функция не возвращает значения Замечания: - * Если указанное смещение превышает установленный функцией 15.1 размер, - вызов игнорируется. + * Проверки корректности смещения и размера не производится. * Цвет каждого пикселя хранится как 3-байтная величина BBGGRR. * Пиксели фонового изображения записываются последовательно слева направо, сверху вниз. @@ -1822,16 +1821,16 @@ db 'Kolibri',0 * Если удаляется активный (установленный подфункцией 5) курсор, то восстанавливается курсор по умолчанию (стандартная стрелка). -------------------- Подфункция 7 - данные прокрутки -------------------- +------------------ Подфункция 7 - данные прокрутки ------------------- Параметры: * eax = 37 - номер функции - * ebx = 7 - номер подфункции + * ebx = 6 - номер подфункции Возвращаемое значение: - * eax = horizontal_offset*65536 + vertical_offset + * eax = [horizontal offset]*65536 + [vertical offset] Замечания: - * Данные доступны только активному окну - * После прочтения значения обнуляются - * Данные содержат знаковые значения + * Данные доступны только активному окну. + * После прочтения значения обнуляются. + * Данные имеют знаковые значения. ====================================================================== ================== Функция 38 - нарисовать отрезок. ================== @@ -2919,7 +2918,6 @@ dword- * '/hd0/1/menuet/pics/tanzania.bmp',0 Доступные подфункции: * подфункция 0 - чтение файла/папки - * подфункция 1 - перезапись файла * подфункция 8 - LBA-чтение с устройства * подфункция 15 - получение информации о файловой системе @@ -2984,29 +2982,6 @@ dword- используйте подфункцию 11 функции 18 или читайте соответствующие папки подфункцией 1 функции 70. -====================================================================== -============ Функция 58, подфункция 1 - перезаписать файл. =========== -====================================================================== -Если файл не существует, он создаётся. -Если файл существует, он перезаписывается. -Параметры: - * eax = 58 - номер функции - * ebx = указатель на информационную структуру -Формат информационной структуры: - * +0: dword: 1 = номер подфункции - * +4: dword: игнорируется (устанавливайте в 0) - * +8: dword: число байт для записи - * +12 = +0xC: dword: указатель на данные для записи - * +16 = +0x10: dword: указатель на буфер для работы системы - (4096 байт) - * +20 = +0x14: ASCIIZ-имя файла, правила формирования имён указаны в - общем описании -Возвращаемое значение: - * eax = 0 - успешно, иначе код ошибки файловой системы - * ebx разрушается -Замечания: - * Эта функция устарела, используйте подфункцию 2 функции 70. - ====================================================================== ========= Функция 58, подфункция 8 - LBA-чтение с устройства. ======== ====================================================================== @@ -3604,7 +3579,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B); * edx = адрес MSR * esi:edi = старший:младший dword Возвращаемое значение: - * ebx:eax = копия esi:edi + * функция не возвращает значения Замечания: * Указание в ecx несуществующего или нереализованного для данного процессора MSR повлечёт исключение в ядре, которое прибьёт поток. @@ -3806,7 +3781,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B); подфункцией 3. Все подфункции применимы только к процессам/потокам, запущенным -из текущего функцией 58 или 70 с установленным флагом отладки. +из текущего функцией 70 с установленным флагом отладки. Отладка многопоточных программ пока не поддерживается. Полный список подфункций: * подфункция 0 - определить область данных для отладочных сообщений diff --git a/kernel/trunk/docs/sysfuncs.txt b/kernel/trunk/docs/sysfuncs.txt index 92fc885fd0..6b31ce4626 100644 --- a/kernel/trunk/docs/sysfuncs.txt +++ b/kernel/trunk/docs/sysfuncs.txt @@ -493,7 +493,7 @@ Parameters: Returned value: * function does not return value Remarks: - * Before calling functions 15.2 and 15.5 you should call this function + * Before calling subfunctions 2 and 5 you should call this function to set image size! * For update of the screen (after completion of a series of commands working with a background) call subfunction 3. @@ -513,7 +513,7 @@ Returned value: Remarks: * Offset for a pixel with coordinates (x,y) is calculated as (x+y*xsize)*3. - * If the given offset exceeds size sets by function 15.1, + * If the given offset exceeds size set by subfunction 1, the call is ignored. * For update of the screen (after completion of a series of commands working with a background) call subfunction 3. @@ -559,8 +559,7 @@ Parameters: Returned value: * function does not return value Remarks: - * If the block gets out abroad size sets by function 15.1, - the call is ignored. + * Offset and size are not checked for correctness. * Color of each pixel is stored as 3-bytes value BBGGRR. * Pixels of the background image are written sequentially from left to right, from up to down. @@ -674,7 +673,7 @@ Parameters: Returned value: * eax = 0 - success * else eax = error code of the file system -│рьхўрэш : +Remarks: * All folders in the given path must exist, otherwise function returns value 5, "file not found". @@ -1414,7 +1413,7 @@ Parameters: Returned value: * eax = 0 - success * eax = 1 - CD base is not defined -│рьхўрэш : +Remarks: * Previously CD base port must be defined by call to subfunction 3 of function 21. @@ -1797,16 +1796,16 @@ Remarks: * If the active cursor (set by subfunction 5) is deleted, the system restores the default cursor (standard arrow). -------------------- Subfunction 7 - get scroll data -------------------- +------------------ Subfunction 7 - get scroll data ------------------- Parameters: * eax = 37 - function number * ebx = 7 - subfunction number Returned value: - * eax = horizontal_offset*65536 + vertical_offset + * eax = [horizontal offset]*65536 + [vertical offset] Remarks: - * Scroll data is available for active window only - * Values are zeroized after reading - * Values ara signed + * Scroll data is available for active window only. + * Values are zeroed after reading. + * Values are signed. ====================================================================== ====================== Function 38 - draw line. ====================== @@ -2042,8 +2041,8 @@ Parameters: * bh = 0 - display in decimal number system * bh = 1 - display in hexadecimal system * bh = 2 - display in binary system - * сшЄv 16-21 = how many digits to display - * сшЄv 22-31 reserved and must be set to 0 + * bits 16-21 = how many digits to display + * bits 22-31 reserved and must be set to 0 * ecx = number (if bl=0) or pointer (if bl=1) * edx = [coordinate on axis x]*65536 + [coordinate on axis y] * esi = 0xX0RRGGBB: @@ -2893,7 +2892,6 @@ Examples: * '/hd0/1/menuet/pics/tanzania.bmp',0 Existing subfunctions: * subfunction 0 - read file/folder - * subfunction 1 - rewrite file * subfunction 8 - LBA-read from device * subfunction 15 - get file system information @@ -2959,29 +2957,6 @@ Remarks: use subfunction 11 of function 18 or read corresponding folder with subfunction 1 of function 70. -====================================================================== -============= Function 58, subfunction 1 - rewrite file. ============= -====================================================================== -If the file does not exist, it is created. -If the file exists, it is rewritten. -Parameters: - * eax = 58 - function number - * ebx = pointer to the information structure -Format of the information structure: - * +0: dword: 1 = subfunction number - * +4: dword: ignored (set to 0) - * +8: dword: number of bytes to write - * +12 = +0xC: dword: pointer to data to write - * +16 = +0x10: dword: pointer to buffer for system operations - (4096 bytes) - * +20 = +0x14: ASCIIZ-name of file, the rules of names forming are - given in the general description -Returned value: - * eax = 0 - success, otherwise file system error code - * ebx destroyed -Remarks: - * This function is obsolete, use subfunction 2 of function 70. - ====================================================================== ========= Function 58, subfunction 8 - LBA-read from device. ========= ====================================================================== @@ -3297,7 +3272,7 @@ Remarks: ============== Function 63 - work with the debug board. ============== ====================================================================== The debug board is the global system buffer (with the size -4096 bytes), to which any program can write (generally speaking, +1024 bytes), to which any program can write (generally speaking, arbitrary) data and from which other program can read these data. By the agreement written data are text strings interpreted as debug messages on a course of program execution. The kernel in @@ -3573,8 +3548,8 @@ Parameters: * edx = MSR address * esi:edi = high:low dword Returned value: - * ebx:eax = copy of esi:edi -│рьхўрэш : + * function does not return value +Remarks: * If ecx contains nonexistent or not implemented for this processor MSR, processor will generate an exception in the kernel, which will kill the thread. @@ -3773,7 +3748,7 @@ If debugger does not want this, it must previously detach by subfunction 3. All subfunctions are applicable only to processes/threads started -from the current by function 58 or 70 with set debugging flag. +from the current by function 70 with set debugging flag. Debugging of multithreaded programs is not supported yet. The full list of subfunctions: * subfunction 0 - define data area for debug messages