Выравнивание по секторам (256) в структуре ром-диска коммандера, плюс выравнивание по 64 кб страницам.
Скрипт, создающий образ, тупо перебирает все файлы в папки и пытается всунуть в странице. Из-за этого в некоторых страницах всего по два файла, и под 30 кб пустого места. Такое бывает, если следующий за текущим файл больше оставшегося свободного места.
- - - Updated - - -
Не понял, что ты имеешь в виду. (Можно на ты?)
Средствами какого BIOS? Коммандер/MXOS понимает только диски в формате "типа FAT8", поэтому непрерывный диск на 2 мега не сделать. Рамфос же имеет непрерывную структуру диска, где файлы идут друг за другом без разрывов, и тоже только до 64 кб. Такая структура не позволяет сделать удаление/запись: при удалении файла из середины, всё, что выше, копируется в образовавшуюся дырку. Для 64к рам дисков это Ok, но для флеша это убийство... Да и стирать/писать его можно только 256-байтными блоками. Т.е. к рамфосу можно прикрутить читалку такого флеш диска, но вот писалку... Если бы посмотреть, как устроена его родная MXDOS, но я даже её саму не знаю как вытащить из odi файлов, и исходников вообще нигде не видел, даже на самих odi от Афанасьева (там, кстати, есть исходники рамфоса). Но одно ясно - MXDOS сделана она довольно костыльно, запись/чтение/выполнение файлов с дискеты идет только через рам диск.
В общем, архитектура Коммандера как нельзя лучше подходит для флеш диска. Поэтому я написал драйвер именно для него. К тому же, мне пока не понятно, как прикручивать драйверы к рамфосу. Та же MXDOS это не драйвер дисковода, а целая самостоятельная ОС, которая понимает формат рам дисков рамфоса, и, похоже, использует его БИОС.
Я почему это всё затеял, и почему спрашивал тебя про драйвер дисковода (и PVV пытаю про Sdos)? Я хочу перевести MXOS на FAT12/FAT16, чтобы сделать непрерывные диски (рам, флеш, ром системный до 256кб). Лучше сразу "в настоящем" формате FAT12/FAT16, чтобы потом легче было прикрутить драйвер дисковода и SD карты.
А следующим этапом - запуск программ от Рамфоса. Для этого надо будет реализовать его точки входа. Если не получится, то есть план B: перевести дисковые операции Рамфоса тоже на FAT12/FAT16. Тогда можно будет на компе иметь обе системы, переключаться между ними когда надо, и они обе будут видеть содержимое дисков. Есть ещё план C, более костыльный: сделать для Коммандера драйвер рам-диска в формате Рамфоса. Это будет своеобразный мост между системами.
А, вон оно как, спасибо за подсказку.





Ответить с цитированием