Обнаружил одну весьма существенную недоработку в описателе файла - как будут файлы с одинаковыми именами и разными расширениями на ФС РАМФОС сохраняться на SD карту (и обратно) при использовании фиксированного расширения файла RKX (для cpx\i80 все аналогично)? - надо в описатель добавить полное имя файла с расширением, а не только одно расширение. Это даст возможность на SD иметь разные имена RKX файлов при такой необходимости, а в описателе имена, как они на ФС РАМФОСа. С учетом этого, директива sddos S преобразуется в такой вид:
S ИМЯфайла.РАСШИРЕНИЕфайлаНаRAMдиске,ИМЯфайлаНаSD. При этом, я думаю, можно сделать ИМЯфайлаНаSD опциональным параметром, и указывать его только для варианта файлов с одинаковыми именами но разными расширениями.
fifan wrote:
Зачем думать что на SD карту перенесётся файл без адресов посадки в памяти. Мы для чего это делаем? Опять в эмуляторе файл юзать или просто на писишке использовать?
Я рассматриваю свой вариант-отладил я какой то код в эмуляторе на PC и хочу его проверить на реале, как я этот код на реал скину, если у меня магнитофонный интерфейс в 'Специалист'_е даже не предусмотрен? Затем этот код как то подкорректировал, или дополнительно, какой то кусок памяти захотел на PC перекинуть, что мне делать? Вот я и хочу сделать удобный для себя инструмент...и возможно, этот инструмент пригодится кому-то еще...
fifan wrote:
На Специалисте МХ уже есть операционная система RAMFOS/MX-DOS и достаточно. Зачем нужна какая-то псевдо SD система? Здесь нужно думать в другом направлении. Как поменять что-то в RAMFOS/MX-DOS чтоб он стал понимать SD карту. Делать такой софтовый эмулятор зашитый в пзушку.
То, что sddos так называется, еще не значит, что это 'Дисковая Операционная Система', это некая программа, которая может перекидывать файлы с SD в ОЗУ и обратно, и имеющая некий набор дополнительных функций.
На счет другого направления - мы начинали обсуждать тему эмулятора ВГ93, но как-то все притормозилось хотя задумка интересная, а сейчас я вижу, что можно сделать совсем иначе, сложнее программно, но не прибегая к аппаратным доработкам -
внести программные доработки в, фактически, три программы - RAMFOS, MX-DOS и CPM следующего плана. Запуская из sddos некий аналог ODImounter, выбираем ODI файлы для диска А и В. Запоминаем в ОЗУ в каком секторе и в какой позиции этого сектора находится запись FAT с первым сектором ODI файла(это первый указатель на кластер с данными из последовательной цепочки кластеров с этим ODI файлом) для А и В дисков. Возвращаемся в РАМФОС. Запускаем MX-DOS, как? Нам sddos уже не нужен, знать как устроен FAT16 тоже не нужно, просто читаем данные, используя последовательные указатели из FAT на кластеры с нашим ODI. Если выбрать размер раздела на SD в 1-2ГБайт, что бы размер кластера получился в 32КБ, то на один odi файл в 800КБ будет 800/32=25 записей в FAT. Математика здесь простая, нужно будет иметь функцию, которая может читать сектор с SD, и вторую для записи сектора. Места эти функции займут не слишком много. Вот в этом направлении можно покопать... Если б надо было много программ адаптировать, то альтернативы аппаратному эмулятору нет, а с таким скромным числом, вполне можно и заморочиться. Для РАМФОСа, там вообще все очень просто будет.