[an error occurred while processing this directive]

.шп136

III.5.1 Вызов подпрограммы ЧЗТС.

.шп0

Для вызова подпрограммы ЧЗТС (чтения/записи трека/сектора; RWTS read/write trek/sektor) следует вызвать две подпрограммы:

- JSR ¤03E3 - в регистры Y и A загружается адрес УТ (Управляющей таблицы RWTS IOB (в ДОС 3.3 располагается по адресу ¤557), в Y - мл., в A - ст. байт адреса. Результат ее работы можно сохранить в двух ячейках нулевой страницы, чтобы иметь возможность модифицировать УТ и получать выходные величины после вызова RWTS.

- JSR ¤03D9 - это главный вход в RWTS. Перед этим должен быть загружен адрес УТ в регистры Y и A.

.шп+8

Управляющая таблица общей RWTS ДОС 3.3.

(в ДОС располагается по адресу ¤557)

.шп-8

.гр

╔══════════╦════════════════════════════════════════════════╗
|  БАЙТ    |             СОДЕРЖИМОЕ                         |
╠══════════╬════════════════════════════════════════════════╣
|          |                                                |
|   00     |  тип таблицы = ¤01                             |
|          |                                                |
|*  01     |  S*¤10 (номер разъема НГМД, умноженный на ¤10) |
|          |                                                |
|   02     |  D, номер привода НГМД                         |
|          |                                                |
|   03     |  V, ожидаемый номер тома НГМД, ¤00-игнорировать|
|          |                                                |
|*  04     |  номер трека: ¤00-¤22 для НГМД ЕС5088          |
|          |               ¤00-¤9F для НГМД FD55.F          |
|          |               ¤00-¤7F для НГМД FD55.E и TM65-21|
|          |               ¤00-¤3F для НГМД ROBOTRON        |
|          |*              ¤00-¤1F для виртуального диска   |
|          |                                                |
|*  05     |  номер сектора: ¤00-¤14 для НГМД FD55, ROBOTRON|
|          |                 ¤00-¤0F для НГМД ЕС5088        |
|          |*                ¤00-¤0F для виртуального диска |
|          |                                                |
|*  06     |  действие: 0-немедленное, не 0-отложенное      |
|          |                                                |
|   07     |  не используется                               |
|          |                                                |
|* 08-09   |  адрес буфера для чтения/записи                |
|          |                                                |
|  0A-0B   |  не используются                               |
|          |                                                |
|* 0C      |  код работы:                                   |
|          |  0═включить НГМД, подвести головку             |
|          |* 1═чтение 256 байт в буфер                     |
|          |* 2═запись 256 байт из буфера                   |
|          |* 4═разметка ГМД                                |
|          |                                                |
|* 0D      |  код завершения обмена:                        |
|          |  C=0                                           |
|          |* ¤00═нормальное завершение                     |
|          |  C=1                                           |
|          |  ¤10═ГМД защищен от записи                     |
|          |  ¤20═не тот номер тома                         |
|          |* ¤40═сбой в чтении/записи                      |
|          |* ¤80═нет устройства                            |
|          |                                                |
|  0E      |  V (номер тома ГМД, предыдущее обращение)      |
|          |                                                |
|* 0F      |  S*¤10 (номер разъема предыдущее обращение)    |
|          |                                                |
|  10      |  D (номер привода НГМД, предыдущее обращение)  |
|          |                                                |
╚══════════╩════════════════════════════════════════════════╝

.тт

* Примечание: знаками "*" отмечены параметры IOB, используемые, возвращаемые или имеющие значение для VRWTS виртуального диска, управляемого драйвером VIRT128 .BIN фирмы Friends' software (подробно см. описание соответствующего фирменного продукта). Параметры IOB, не помеченные "*" VRWTS не используются (но используются RWTS других устройств). При форматировании виртуального диска через RWTS, каталог не создается (фактически происходит очистка (обнуление) всей памяти ДОП ОЗУ).

ПРИМЕЧАНИЕ:

- RWTS использует ячейку ¤48, которая используется МОНИТОРом для сохранения регистра P. Ячейку ¤48 следует обнулять после каждого вызова RWTS. При каждом последующем вызове первое, что делает МОНИТОР,-восстанавливает свои переменные из рабочей области.

- Параметры ¤0E-¤10 IOB должны быть инициализированы при каждом последующем вызове RWTS.

.ст Раздел III:5.2

[an error occurred while processing this directive]