SysFn24/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
Line 23: Line 23:


=== Подфункция 2 - получить информацию о дорожках. ===
=== Подфункция 2 - получить информацию о дорожках. ===
Параметры:
Параметры:
* eax = 24 - номер функции
:* eax = 24 - номер функции
* ebx = 2 - номер подфункции
:* ebx = 2 - номер подфункции
* ecx = указатель на буфер для таблицы (максимум 8*64h+4 байт=100 дорожек)
:* ecx = указатель на буфер для таблицы
 
::(максимум 8*64h+4 байт=100 дорожек)
Возвращаемое значение:
Возвращаемое значение:
* eax = 0 - успешно
:* eax = 0 - успешно
* eax = 1 - не определена база CD
:* eax = 1 - не определена база CD
 
Замечания:
Замечания:
* Формат таблицы с информацией о дорожках такой же, как и для ATAPI-CD команды 43h (READ TOC), обычной таблицы (подкоманда 00h). Адреса возвращаются в формате MSF.
:* Формат таблицы с информацией о дорожках такой же, как и для
* Предварительно нужно определить базовый порт CD вызовом подфункции 3 функции 21.
::ATAPI-CD команды 43h (READ TOC), обычной таблицы (подкоманда 00h).
* Функция возвращает информацию только о не более чем 100 первых дорожках. В большинстве случаев этого достаточно.
::Адреса возвращаются в формате MSF.
:* Предварительно нужно определить базовый порт CD вызовом
::подфункции 3 функции 21.
:* Функция возвращает информацию только о не более чем 100
::первых дорожках. В большинстве случаев этого достаточно.


=== Подфункция 3 - остановить проигрываемое CD-audio. ===
=== Подфункция 3 - остановить проигрываемое CD-audio. ===

Revision as of 09:18, 16 December 2013

Функция 24 - работа с проигрывателем компакт-дисков


Подфункция 1 - начать проигрывать CD-audio.

Параметры:

  • eax = 24 - номер функции
  • ebx = 1 - номер подфункции
  • ecx = 0x00FRSSMM, где
  • MM = начальная минута
  • SS = начальная секунда
  • FR = начальный фрейм

Возвращаемое значение:

  • eax = 0 - успешно
  • eax = 1 - не определена база CD

Замечания:

  • Предварительно нужно определить базовый порт CD вызовом
подфункции 3 функции 21.
  • В секунде 75 фреймов, в минуте 60 секунд.
  • Функция асинхронна (возвращает управление, когда началось
проигрывание).

Подфункция 2 - получить информацию о дорожках.

Параметры:

  • eax = 24 - номер функции
  • ebx = 2 - номер подфункции
  • ecx = указатель на буфер для таблицы
(максимум 8*64h+4 байт=100 дорожек)

Возвращаемое значение:

  • eax = 0 - успешно
  • eax = 1 - не определена база CD

Замечания:

  • Формат таблицы с информацией о дорожках такой же, как и для
ATAPI-CD команды 43h (READ TOC), обычной таблицы (подкоманда 00h).
Адреса возвращаются в формате MSF.
  • Предварительно нужно определить базовый порт CD вызовом
подфункции 3 функции 21.
  • Функция возвращает информацию только о не более чем 100
первых дорожках. В большинстве случаев этого достаточно.

Подфункция 3 - остановить проигрываемое CD-audio.

Параметры:

  • eax = 24 - номер функции
  • ebx = 1 - номер подфункции

Возвращаемое значение:

  • eax = 0 - успешно
  • eax = 1 - не определена база CD

Замечания:

  • Предварительно нужно определить базовый порт CD вызовом подфункции 3 функции 21.

Подфункция 4 - извлечь лоток привода диска.

Параметры:

  • eax = 24 - номер функции
  • ebx = 4 - номер подфункции
  • ecx = номер CD/DVD-диска (от 0=Primary Master до 3=Secondary Slave)

Возвращаемое значение:

  • функция не возвращает значения

Замечания:

  • Функция поддерживается только для ATAPI-устройств (CD и DVD).
  • При извлечении лотка производится разблокировка ручного управления механизмом лотка.
  • При извлечении лотка код производит очистку кэша соответствующего устройства.
  • Примером использования функции является приложение CD_tray.

Подфункция 5 - загрузить лоток привода диска.

Параметры:

  • eax = 24 - номер функции
  • ebx = 5 - номер подфункции
  • ecx = номер CD/DVD-диска (от 0=Primary Master до 3=Secondary Slave)

Возвращаемое значение:

  • функция не возвращает значения

Замечания:

  • Функция поддерживается только для ATAPI-устройств (CD и DVD).
  • Примером использования функции является приложение CD_tray.