SysFn24/ru: Difference between revisions

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


Параметры:
Параметры:
* eax = 24 - номер функции
:* eax = 24 - номер функции
* ebx = 4 - номер подфункции
:* ebx = 4 - номер подфункции
* ecx = номер CD/DVD-диска (от 0=Primary Master до 3=Secondary Slave)
:* ecx = номер CD/DVD-диска
 
:::(от 0=Primary Master до 3=Secondary Slave)
Возвращаемое значение:
Возвращаемое значение:
* функция не возвращает значения
:* функция не возвращает значения
 
Замечания:
Замечания:
* Функция поддерживается только для ATAPI-устройств (CD и DVD).
:* Функция поддерживается только для ATAPI-устройств (CD и DVD).
* При извлечении лотка производится разблокировка ручного управления механизмом лотка.
:* При извлечении лотка производится разблокировка ручного управления
* При извлечении лотка код производит очистку кэша соответствующего устройства.
::механизмом лотка.
* Примером использования функции является приложение CD_tray.
:* При извлечении лотка код производит очистку кэша соответствующего
::устройства.
:* Примером использования функции является приложение CD_tray.


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

Revision as of 09:19, 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.