Сообщение от LWДля того чтобы ипользовать TRD-образы дисков из FAT-раздела винчестера на СкорпионеСообщение от kox
вовсе не обязательно делать поддержку FAT'а в Scorpion BIOS и менять ПЗУ. Достаточно будет специально написанной внешней системной программы.
Попробую донести свою мысль на следующем примере.
Пусть у нас имеется винчестер, подключенный к компьютеру Scorpion, имеющий FAT-раздел с TRD-образами дисков и раздел MFS - стандартный скорпионовский раздел с подразделом TR-DOS, названным, скажем, \mount в котором четыре псевдодиска, назовем их drv_a, drv_b, drv_c и drv_d (по числу устройств TR-DOS).
Пусть у нас имеется программа, назовем ее FAT_MOUNTER. После ее запуска с TR-DOS-устройства она выдаст нам каталог FAT-раздела винчестера, где мы выбирем TRD-файл для монтирования, - предположем мы выбрали utils.trd; далее программа запрашивает у нас имя устройства TR-DOS: A:...D:, к которому этот файл следует примонтировать, - предположем мы выбрали C:. Теперь FAT_MOUNTER копирует сектора из файла utils.trd, который в FAT-разделе, в псевдодиск \mount\drv_c, который в MFS-разделе, и монтирует последний на C:. Как известно, первый 512-и байтный сектор каждого псевдодиска не используется, FAT_MOUNTER записывает в него свои слежебные данные: информация о монтировании, имя примонтированного файла в FAT-разделе, флаг read/write, дата монтирования, контрольная сумма файла и т.п.
Происходит выход из FAT_MOUNTER'а в TR-DOS, и теперь пользователь может работать с псевдодиском C:\mount\drv_c как будто с файлом utils.trd FAT-раздела стандартными средствами TR-DOS: запускать файлы и создавать новые; может даже отмонтировать этот псевдодиск.
При следующем запуске FAT_MOUNTER восстанавливает точки монтирования (если это задано в его настройках). Если теперь, для нашего примера, в FAT_MOUNTER мы выберем размонтирование C:, произойдет обратное копирование секторов из \mount\drv_c в файл utils.trd FAT-раздела (если только он действительно изменен и не монтировался с флагом read only), а в первый сектор \mount\drv_c запишется информация, что он отмонтирован и выполнится его отмонтирование от C:.
Вот таким вот образом, создав внешнюю программу (названную здесь FAT_MOUNTER) и
появится возможность работы с TRD-образами дисков FAT-раздела винчестера на Скорпионе.
Однако, я уже писал на нашем Форуме, что не являюсь сторонником использования FAT-файловой системы на Spectrum-совместимых компьютерах в рамках системы ZX Spectrum, и вновь хочу это подтвердить. Считаю, что отличным примером взаимодействия TR-DOS с винчестером, как раз и является способ ныне имеющийся в Scorpion BIOS и не использующий FAT.