OR DOS V6.10, Функции операционной системы ORDOS Ver 6.10, операционная система Орион-128 и Орион-ПРО
OR DOS 6.10 для Ориона-128 и Орион ПРО для работы с Ром Диском
Все журналы "Радио" с упоминанием Ориона
Стандарты ПО, адресов и портов
ORDOS4 - Описание программиста
Операционная система OR DOS V6.10
Комментарии к новой ОС: Ver 6.10
FUNC.TX R MIFVI Smolensk - 2001
Функции операционной системы ORDOS Ver 6.10
Все функции при успешном завершении работы возвращают флаг Z=0 и A=ххН
- код возврата, при ошибке Z=1 и A=xxH - код ошибки.
Примечание: функции N1-23 аналогичны соответствующим функциям ORDOS
версий 4.1 и ниже, далее при описании указаны только отличия,
характерные для ORDOS версии 6.10.
1. 0BFFDH - теплый старт системы.
2. 0BFFAH - чтение файла с диска. вых: A=0 - найден, A=80-8FH - код
файла
80Н - *.COM , *.$ - исполняемый
81Н - *.EXE - исполняемый Windows может быть более 64 Кб
82Н - *.BRU - стандартный BRU
8EH - *.DRV - файл драйвера устройства
8FH - *.BAT - командный файл
83Н - 8DH - резерв
3. 0BFF7H - запись файла на диск.
4. 0BFF4H - закрыть последовательный файл.
5. 0BFF1H - открыть последовательный файл.
6. 0BFEEH - удалить файл.
7. 0BFEBH - переименовать файл.
8. 0BFE8H - вывод каталога в буфер. вх: HL - адрес буфера вых: A -
количество файлов в текущем каталоге
9. 0BFE5H - поиск файла по ст. ORDOS4, имя до 8 символов. вых: A=0 - нет
файла A=FFH - файл найден HL - адрес оглавления (ORDOS) для (MSDOS)
адрес в системной странице
10. 0BFE2H - запись стоп байта, для msdos дисков блокировано.
11. 0BFDFH - запись байта в диск, для msdos блокировано. вх: A - байт HL
- адрес
12. 0BFDCH - чтение байта с диска, для msdos блокировано. вх: HL - адрес
вых: A - байт
13. 0BFD9H - чтение имени текущего диска. вых: A - имя (A-P)
14. 0BFD6H - определение текущего диска. вх: A - имя установленного
диска при ошибке имя текущего диска не изменяется
15. 0BFD3H - чтение адреса буфера имени файла. вых: HL - адрес
16. 0BFD0H - запись адреса буфера имени файла. вх: HL - адрес эту
функцию следует выполнять перед всеми функциями оперирующими с именами
файлов
16. 0BFCDH - чтение адресов размещения файла. вых: (ordos) HL - начало
файла на диске DE - конец файла на диске вых: (msdos) HL - начальный
кластер файла DE - не определено
(выполнять после функции поиска файла)
17. 0BFCAH - запись Н/К адресов блока ОЗУ. вх: HL - начало блока DE -
конец блока
18. 0BFC7H - чтение атрибутов файла. вых: HL - адрес посадки файла DE -
длина файла BC - (ordos) адрес оглавления - (msdos) адрес оглавления в
системной странице (выполнять после поиска файла)
19. 0BFC4H - запись максимального размера квазидиска. вх: HL -
максимальная граница для msdos дисков блокировано
20. 0BFC1H - чтение максимального размера диска. вых: HL - максимальный
размер (для msdos дисков размер в кластерах)
21. 0BFBEH - изменение адреса посадки файла. вх: HL - новый адрес
посадки вых: HL - старый адрес посадки
22. 0BFBBH - номер версии ДОС (двоично-десятичный формат) вых: A - номер
версии (61Н) Z=0 компьютер Орион-ПРО z=1 компьютер Орион-128
23. 0BFB8H - конечный адрес программ на диске. вых: HL - адрес стоп
байта для msdos дисков номер первого свободного кластера
24. 0BFB5H - поиск файла по ст. ORDOS6 имя до 8+3 символов. вых: HL -
адрес посадки файла A - код файла 00Н - файл найден 80-9FH - для
зарезервированных расширений поиск ведётся во всех каталогах, заданных
командами PATH, пока файл не будет найден. Если файл не найден, то
остаётся текущий каталог.
25. 0BFB2H - вызов расширенных функций ORDOS6. вх: С - номер функции
2-7FH остальные регистры для передачи параметров
26. 0BFAFH - последовательное чтение из файла вых: Z=0 - успешно A -
символ Z=1 - ошибка или конец файла A=23H HL - адрес посадки (только при
открытии) DE - осталось байт в файле по исчерпании всего файла он
автоматически закрывается
27. 0BFADH - закрыть последовательное чтение из файла
28. 0BFAAH - читать сектор с диска (только для мsdos дисков). вх: BC -
цилиндр D - сектор Е - поверхность HL - адрес буфера А - количество
читаемых секторов
29. 0BFA7H - записать сектор на диск (только для msdos дисков). вх: BC -
цилиндр D - сектор Е - поверхность HL - адрес буфера А - количество
читаемых секторов
**************************************************************
РАСШИРЕННЫЕ ФУНКЦИИ ORDOS Ver 6.00 ВЕКТОР 25 (0BFB2H) основных функций
1. С=2Н - копировать файл командная строка в буфере имени файла N:
[путь куда копировать] Name где N имя диска приемника Name имя
копируемого файла, находящегося на текущем диске и каталоге
2. С=3Н - читать байт атрибутов файла вх: имя файла в буфере имени вых:
А - байт атрибутов
3. С=4Н - записать байт атрибутов файла вх: имя файла в буфере имени А -
новый байт атрибутов вых: А - старый байт атрибутов
4. С=5Н - поиск файла в текущем каталоге ДОС. Заданные пути поиска
игнорируются.
5. С=6Н - возврат к каталогу который был перед предыдущим выполнением
функции 26.
6. С=7Н - дос поиск. предназначен для поиска файлов из драйвера. может
вызываться только из дос страницы. имя искомого файла должно быть
предварительно размещено в буфере имени дос страницы.
7. C=0EH - читать каталог в буфер 0 стр. по стандарту msdos. вх: HL -
адрес буфера Z=0 - сначала Z=1 - продолжить В - по сколько записей
каталога за один раз
8. C=0FH - читать сектор каталога в буфер ДОС (только msdos). вх: Z=1 -
сначала каталога Z=0 - следующий сектор каталога вых: адрес буфера в дос
странице ст.б (IX+0CH) мл.б 00Н
9. С=10Н - читать адрес буфера пути текущего каталога. вых: A -
указатель наполнения A=0 - буфер пуст HL - адрес в дос странице
10. С=1DH - запрос свободного места (для msdos дисков). вх: Z=0 - запрос
непрерывной области на диске В - реобходимый размер зоны в кластерах Z=1
- сколько свободно на диске вообще DE - свободно на диске кластеров
11. С=1EH - создать подкаталог (для msdos дисков).
12. С=1FH - зп/чт системное дата/время вх: В=0 - читать время В=1 -
читать дату В=2 - установить время В=3 - установить дату HL - новое
время/дата вых: HL - системное время/дата примечание: HL содержит время
дату в формате msdos время биты: 15-11 - часы 10-5 - минуты 4-0 -
секунды дата биты: 15-9 - год 8-5 - месяц 4-0 - число
13. С=29Н - найти следующее оглавление файла (для ordos дисков). вых: в
служебных ячейках системы
14. С=2AH - читать слово из квазидиска вх: HL - адрес на диске вых: DE -
прочитанное слово
15. С=2BH - проверка на стоп байт для ordos дисков вх: HL - адрес
оглавления вых: Z=0 A=0 - не стоп байт Z=1 A=0FFH - стоп байт
16. С=2CH - найти следующий файл (только msdos). вых: HL - адрес записи
в странице дос A - байт атрибутов файла
17. С=2DH - найти первый файл (только msdos). HL - адрес записи в
странице дос A - байт атрибутов файла
18. C=2EH - служебная функция системы.
19. C=2FH - служебная функция системы.
20. C=30H - инициализация BIOS при холодном старте системы.
21. C=31H - сброс диска и его служебных буферов.
22. С=32Н - запрос о смене дискеты в дисководе. вых: Z=0 - смены диска
не было Z=1 A=8 - диск сменён A=7 - диск отсутствует
23. С=33Н - чтение содержимого элемента FAT. вх: DE - номер элемента FAT
вых: DE - содержимое элемннта FAT A - флаг содержимого A=0 - свободен A=0FFH
- конец файла A=0FEH - занят
24. С=34Н - читать кластер в 0 страницу. вх: HL - адрес буфера DE -
номер кластера A - число кластеров
25. С=35Н - записать кластер из 0 страницы. вх: HL - адрес буфера DE -
номер кластера A - число кластеров
26. С=36Н - читать сектор с диска (LBA). вх: HL - адрес буфера B-DE -
линейный номер сектора A - число секторов
27. С=37Н - записать сектор на диск (LBA). вх: HL - адрес буфера B-DE -
линейный адрес сектора A - число секторов
28. С=38Н - чтение параметра секторов/кластер. вых: A - параметр
29. С=39Н - пересчёт номера кластера в CHS. вх: DE - номер кластера A -
число кластеров вых: BC - цилиндр D - сектор E - поверхность A - число
секторов
30. С=3AH - пересчёт линейного номера сектора в CHS. вх: B-DE - номер
сектора вых: BC - цилиндр D - сектор Е - поверхность
31. С=3BH - чтение размера диска в кластерах вых: HL - размер диска в
кластерах
32. С=3CH - записать элемент FAT вх: DE - номер элемента FAT HL -
информация для записи
33. С=3DH - читать байт дискового устройства вых: А - байт устройства
биты: 7 =0 - 16 бит FAT =1 - 12 бит FAT 6 =1 - виртуальный msdos 5 =1 -
квазидиск структуры ORDOS4 4 =0/1 - физический номер диска IDE 3-2 -
резерв 1-0 - номер однотипного физического устройства
34. С=3EH - служебная функция системы
35. С=3FH - пересчет номера кластера в номер сектора LBA вх: A - число
кластеров (можно игнорировать) DE - номер кластера вых: A - число
секторов C-DE - номер сектора LBA
**************************************************************
КОДЫ ОШИБОК ORDOS 6.10
00H - успешное завершение функции
01Н - файл или каталог не найден
02Н - повторный файл или каталог
03Н - мало места на диске
04Н - R/O только чтение
05Н - ошибка чтения (КС файла)
06Н - ошибка записи
07Н - устройство не готово или не инициализировано
08Н - диск сменён
09Н - каталог содержит файлы, удалить нельзя
...
0EH - нет необходимой свободной зоны на диске
0FH - переполнение буфера пути поиска
10H - параметр функции вне допустимого диапазона
11H - конец каталога (по количеству секторов)
12Н - найден каталог Z=0
13Н - ошибка чтения содержимого элемента FAT
14H - ошибка при чтении сектора FAT
15H - ошибка размещения файла
16Н - конец FAT (по количеству секторов)
17Н - ошибка открытия/закрытия таблицы состояния диска
20Н - ошибка при записи сектора FAT
21Н - ошибка записи элемента FAT
22H - ошибка доступа к FAT
23Н - конец файла (функция последовательного чтения файла)
30Н - недопустимый номер сектора
31Н - недопустимый номер кластера
E5H - найдена стертая запись каталога
F7H - попытка стирания плохого кластера
FFH - функция не реализована или недопустима для данного типа диска
SMOLENSK
ОРДОС V4.04 - работа с 8-ю квазидисками
Работа в CP/M-80 программы и железо
Подробнее будет на www.orion128.ru
На предыдущую страницу На главную страницу На следующую страницу