Код:
Altair DOS V3.4t (2010.04.14)
-----------------------------
+ Добавлена нативная (в BIOS, управляемая стандартным для CP/M способом через
IOBYTE) поддержка устройства TTY (RS-232 консоль стандарта Orion-2010 -
порты 0F764, 0F765).
Консольные вызовы для TTY не векторизируются (для ускорения).
Поэтому если необходимо использовать внешний драйвер TTY (обычно внешние
драйвера консоли используют векторизацию CONSTATUS/CONIN/CONOUT на векторах
0F307H, 0F30AH, 0F30DH), то включайте через IOBYTE режим CRT (см. команду
IOBYTE файла config.sys ), в этом режиме консоль векторизирована как это
было и ранее, когда поддерживался только CRT.
+ В файле config.sys добавлена команда "IOBYTE", устанавливающая соответствующую
переменную CP/M (см. описание функции 8 BDOS, описание CP/M IO Byte, описание
тразитных команд STAT.COM, PIP.COM). Параметр команды - 8-битное число
(в config.sys вводится в десятичном виде), которое представляет собой битовую
маску соответствия логических и физических устройств по отношению 4:4.
В V3.4t реализована только возможность выбора CRT/TTY для устройства CONSOLE.
Пример:
IOBYTE 149 ; 149=95H - default console=CRT ; 148=94H - default console=TTY
+ В файле config.sys добавлена команда "TTY", конфигурирующая порт UART (RS-232) -
устанавливающая скорость обмена и режим чтения (Interrupt/Poll). Параметр
команды - скорость обмена (бит/с). Возможные варианты скорости - 4800, 9600,
19200, 38400. Режим Interrupt/Poll устанавливается в зависимости от того, с
каким параметром была ранее применена команда INT_IO (см. ниже).
Пример:
TTY 9600
+- В части реализации TTY расширена функциональность команды "INT_IO"
файла config.sys:
"INT_IO 0" - дисковые операции ввода-вывода не прерываются по int
(обработка прерываний приостанавливаются по DI/EI);
опрос готовности TTY-консоли на прием выполняется в режиме POLL
(опрос готовности в цикле)
"INT_IO 1" - прерывания никогда не выключаются, даже во время дискового IO;
TTY-консоль на прием работает по прерыванию от устройства RS-232.
По умолчанию (если в config.sys не применялась команда IOBYTE), консолью является
устройство CRT (графический экран и штатная клавиатура). TTY по умолчанию (если в
config.sys не применялись команды INT_IO, TTY), работает в режиме POLL на скорости
4800 бод.
Ячейка 0F3FFh содержит текущую конфигурацию порта RS-232 (копия значения,
выводившегося при обработке config.sys в порт 0F765h). Эту ячейку внешние программы,
меняющие настройки RS-232, могут использовать для установки исходных настроек порта
после своего завершения.
Altair DOS V3.4s (2010.03.27)
-----------------------------
+ Добавлена поддержка SD-карт (формат SDC - т.е. емкостью не более 2G) - устройство SDCARD.
Схема N8VEM или MSX (при старте ОС выполняется автодетект схемы).
IDE по-прежнему поддерживается - устройства MASTER и SLAVE.
+ При дисковом вводе-выводе добавлена возможность управлять режимом выключения
прерываний. Это настраивается командой INT_IO файла config.sys.
"INT_IO 0" - дисковые операции ввода-вывода не прерываются по int
(обработка прерываний приостанавливаются по DI/EI).
"INT_IO 1" - прерывания никогда не выключаются.
+- Изменена команда CCP MNT (подключение устройств к символам дисков):
MNT DRIVE:DEVICE[.PARTITION]
- mount device { FDD0 | FDD1 | VDISK | MASTER | SLAVE | SDCARD | NONE }
if device = { MASTER | SLAVE | SDCARD } then also specify PARTITION (0,1,2,3)
"NONE"=unmount
map to drive letter { DRIVE }
MNT DRIVE:
- show device, mounted to this drive letter
MNT
- show all devices, mounted to all drive letters
+- Изменена команда ASSIGN файла config.sys в части IDE и SD устройств.
Примеры нового формата синтаксиса (устройства и нумерация партиций как в команде MNT):
ASSIGN DRIVE C = SDCARD 0 ; mount 1-st partition of SD-card
ASSIGN DRIVE D = SDCARD 1 ; mount 2-nd partition of SD-card
ASSIGN DRIVE D = MASTER 0 ; mount 1-st partition of IDE-Master
ASSIGN DRIVE D = SLAVE 1 ; mount 2-nd partition of IDE-Slave
ASSIGN DRIVE C = SLAVE 3 ; mount last (4-th) partition of IDE-Slave
+- Количество одновременно подключенных партиций с любых комбинаций устройств увеличено
с двух (в версии V3.4i) до трех (в V3.4s). Максимальных суммарный объем подключенных
(смонтированных) партиций не должен превышать 100Mb.
+ Новые сообщения об ошибках, возникающищ при монтировании партиции:
"HDD slot not found" - все 3 имеющихся точки монтирования партиций уже заняты.
Решение: отмонтировать что-то ненужное командой "MNT D:NONE".
"CP/M not found" - попытка монтирования партиции, тип которой отличается от CP/M (52h)
Решение: создать CP/M-партицию можно программой FDISK.COM.
"DPB not found" - попытка монтирования партиции, тип которой CP/M (52h), но при
этом bootsector партиции не содержит DPB (нет корректной ФС).
Решение: создать файловую систему (DPB) можно программой FDISK.COM.
"ALV not found" - Для монтируемой файловой системы требуется буфер ALV, который с
учетом других уже смонтированных партиций не помещается в текущий
буфер CPM. Размер буфера ALV пропорционален размеру файловой системы
(то самое ограничение 100Мб).
Решение: умерить аппетиты при создании файловой системы
программой FDISK.COM.
"Bad command" - попытка отмонтировать текущий диск
Решение: сначала установить текущим (перейти на) другой диск.
+- Драйвер IDEBDOS.COM (требуемый для FDISK.COM, FAT.COM) доработан для поддержки
SD-карт - см. встроенный хелп про параметр "SD". Также добавлен новый параметр
"NOINT" - если он указан, то операции ввода-вывода не прерываются по int.
Выполняется автодетект обеих схем подключения SD-карт (N8VEM и MSX).
+- Утилита FDISK.COM теперь создает файловые системы с размером блока не 8кб, а 16кб
(блок 16к - это максимум для CP/M 2.2), что позволяет вдвое снизить требования к
размеру буферов ALV (и добиться ранее упоминавшегося объема одновременно
монтируемых партиций в 100Mb).
Altair DOS V3.4i (2009.10.10)
-----------------------------
+ Добавлена команда команда CCP MNT (подключение устройств к символам дисков):
MNT DRIVE:DEVICE_SLOT[.PARTITION]
- mount device { FDD0 | FDD1 | IDE0 | IDE1 | VDISK | NONE } // NONE=unmount
if device = { IDE0 | IDE1 } then also specify PARTITION (0,2,4,6=MASTER ; 1,3,5,7=SLAVE)
to drive letter { DRIVE }
MNT DRIVE:
- show device, mounted to this drive letter
MNT
- show all devices, mounted to all drive letters
+ При обращении к IDE на запись/чтение выключаются прерывания
(сделано на всякий случай - на реале и без этого работало, но... были подозрения)
- Исключена команда CCP SAVE (место в CCP не резиновое)
+- Исправлена ошибка с записью сектора на IDE при работе IDE на порту F600.
На порту F500 эта ошибка не проявлялась (все работало нормально).
Altair DOS V3.4h, V3.3 и предыдущие
-----------------------------------
V3.4h - Первая принципиальная возможность работы с IDE-устройствами на i8255
на порту F500/F600.
Более ранние изменения не фиксировались.