Инструкция и памятка для себя по SDOS: Текущая версия SDOS_v8.7 поддерживаются ПК: Специалист std и MX, RK-86, Galaksija, Orion, TRS-80 поддерживает аппаратные интерфейсы SD: HWM_PVV, msx, n8vem поддерживает следующие базовые директивы: - CD ИМЯкаталога - перейти в каталог с указанным именем; - DIR - вывести список файлов и каталогов; - ИМЯфайла.RKX(RKS для std, RKR для RK-86 и GTP для Галаксии, RKO - Орион, CAS - TRS-80 ) запустить файл, при этом расширение можно не набирать, будет произведена автоподстановка; - R ИМЯфайла.РАСШИРЕНИЕфайла,АДРЕСкуда,СКОЛЬКОбайт - прочитать не запуская файл, начиная с указанного адреса в памяти и сколько байт (пример: R TEST.BIN,0ACD,5FE0 - читает файл TEST.BIN в память начиная с адреса 0х0ACD и до адреса 0х0ACD+0х5FE0=0х6AAD). Ограничение - нет проверки на фактическую длину файла и запрошенную на чтение, те можно запросить прочитать больше чем размер файла, поведение не определено; - W ИМЯфайла.РАСШИРЕНИЕфайла,АДРЕСоткуда,СКОЛЬКОбайт - записать в файл данные из памяти, начиная с указанного адреса в памяти и сколько байт (пример: W TEST.BIN,0ACD,5FE0 - пишет в файл TEST.BIN из памяти начиная с адреса 0х0ACD и до адреса 0х0ACD+0х5FE0=0х6AAD). Ограничение - нет проверки на фактическую длину файла и запрошенную на запись, те можно запросить записать больше чем размер файла, поведение не определено. Записать больше чем существующий размер файла нельзя, если записать данных меньше чем размер файла, то размер файла не меняется и остается прежний; - X - перейти в монитор, из которого был запущен SDOS; - I - запуск повторной инициализации карты; только Galaksija: - WB ИМЯфайла.РАСШИРЕНИЕ - запись BASIC программы в файл на SD в формате GTP; только СпецециалистМХ: - L ИМЯфайла.РАСШИРЕНИЕфайла - прочитать данные файла формата RKX с SD в RAM диск МХа; - S ИМЯфайлаНаRAMдиске.РАСШИРЕНИЕ,ИМЯфайлаНаSD.РАСШИРЕНИЕ - записать данные файла из RAM диска МХа на SD в формате RKX; только Orion: - L ИМЯфайла.РАСШИРЕНИЕфайла - прочитать данные файла формата RKO с SD в RAM диск; - S ИМЯфайлаНаRAMдиске,ИМЯфайлаНаSD.РАСШИРЕНИЕ, - записать данные файла из RAM диска на SD в формате RKO. При выводе каталога по DIR печатается имя, расширение файла и его размер(что бы можно было использовать директивы R и W), а на директории пишется DIR в поле размера файла. При запуске файла пишется стартовый и конечный адреса куда будет считан файл с карты. добавлено 24.05.2017: - для СпециалистМХ(2) - L ИМЯфайла.РАСШИРЕНИЕфайла - прочитать данные файла формата RKX с SD в RAM диск МХа (пример: L TEST.BIN - читает файл TEST.BIN в память начиная с адреса 0х0000 и до адреса его длины, создает в RAM диске файл TEST.BIN с стартовым адресом и размером взятыми из 4х первых байт файла на карте, при том, что имя файла в хеадере отсутствовало (в 5м байте 0хЕ6). Или: L TEST.BIN - читает файл TEST.BIN в память начиная с адреса 0х0000 и до адреса его длины, создает в RAM диске файл TEST_MX.HEX, с стартовым адресом и размером считанные из 4х первых байт файла на карте, и именем файла в хеадере TEST_MX.HEX). - S ИМЯфайлаНаRAMдиске.РАСШИРЕНИЕ,ИМЯфайлаНаSD.РАСШИРЕНИЕ, ИМЯфайлаНаSD опциональный параметр, указывается только для варианта файлов с одинаковыми именами на RAM диске но разными расширениями - записать данные файла из RAM диска МХа на SD в формате RKX (пример: S TEST.BIN - читает файл TEST.BIN из RAM диска в память начиная с адреса 0х0000 и до адреса его длины, после записывает его на SD карту в существующий файл с таким же именем TEST.BIN, размер не изменяется, формат RKX! Или: S TEST.BIN,TEST_MX.HEX - читает файл TEST_MX.HEX в память начиная с адреса 0х0000 и до адреса его длины, после записывает его на SD карту в существующий файл с именем TEST.BIN). 14.02.2018 SDOS_v8 сделал поддержку SDHC карт, есть отладочный вывод с типом обнаруженной карты и информации о наличии FAT16 на карте. Добавил директиву I - запуск повторной инициализации карты. 21.02.2018 SDOS_V8.1 для Галаксии добавил директиву: WB ИМЯфайла.РАСШИРЕНИЕ - запись BASIC программы в файл на SD в формате GTP. 01.03.2018 SDOS_V8.3 - L ИМЯфайла.РАСШИРЕНИЕфайла - прочитать данные файла формата RKO с SD в RAM диск Orion (пример: L TEST$.RKO - читает файл TEST$.RKO в память начиная с адреса 0х0000 и до адреса его длины, создает в RAM диске файл TEST$ с именем, стартовым адресом и размером взятыми из хеадера RKO файла на карте. - S ИМЯфайлаНаRAMдиске,ИМЯфайлаНаSD.РАСШИРЕНИЕ, - записать данные файла из RAM диска на SD в формате RKO (пример: S TEST$,TEST1$.BIN -читает файл TEST$ из RAM диска в память начиная с адреса 0х0000 и до адреса его длины, после записывает его на SD карту в существующий файл с таким же именем TEST1$.BIN, размер не изменяется, формат RKO!). 05.03.2018 SDOS_V8.4 добавил поддержку TRS-80 01.06.2018 SDOS_V8.6 добавил чтение двух байт CRC после вычитки сектора, пакета данных в 512 байт 10.07.2018 SDOS_V8.7 добавил поддержку SD_WW55_n8vem { формат заголовка файла RKX: 1) 2 байта -стартовый адрес; 2) 2 байта -конечный адрес (длина данных=конечный адрес-стартовый адрес); 3) опционально, 1+8+1+3=13 байт - признак автозапуска, имя и расширение файла в RAMFOS, между именем и расширением ' ', автозапуск этого файла с его адреса загрузки 0 - нет, FF - да; 4) опционально, 1+8+1+3=13 байт -признак автозапуска, имя монитора с расширением, между именем и расширением '.', автозапуск имеет приоритет над 3), без 3) не имеет смысла; 5) опционально, 1+8+1+3=13 байт еще один монитор (как пункт 4) ), автозапуск имеет приоритет над 4); 6) 0хЕ6 - это 'маркер завершения' дескриптора RKX; 7) данные файла; } { формат заголовка RKO: 8 байт имя 64 нулевых байт, потом 0E6h (синхробайты) 2 байта начало (обычно 0000) 2 байта конец (старший байт первый) 16 байт ORDOS-заголовок (конец-начало-10h) данные 3 нулевых байта, потом 0E6h (синхробайты) 2 байта контрольная сумма } { формат заголовка ORD: 0-7 - ИМЯ ФАЙЛА. МОЖЕТ СОДЕРЖАТЬ НЕ БОЛЕЕ 8 СИМВОЛОВ. ЕСЛИ ИМЯ СОДЕРЖИТ МЕНЬШЕ СИМВОЛОВ, СВОБОДНЫЕ ЯЧЕЙКИ ЗАПОЛНЯЮТСЯ ПРОБЕЛАМИ. 8-9 - НАЧАЛЬНЫЙ АДРЕС РАЗМЕЩЕНИЯ ПРОГРАММЫ ПРИ СЧИТЫВАНИИ ЕЕ ИЗ ДИСКА В ОЗУ - АДРЕС "ПОСАДКИ". А-В - РАЗМЕР ФАЙЛА. В ЭТОТ ПАРАМЕТР ОГЛАВЛЕНИЕ ФАЙЛА(16 БАЙТ) НЕ ВХОДИТ. С - БАЙТ ФЛАГОВ. В "ORDOS" V2.X ИСПОЛЬЗУЕТСЯ ТОЛЬКО БИТ D7. СОСТОЯНИЕ "1" УКАЗЫВАЕТ НА ТО, ЧТО ФАЙЛ ЗАЩИЩЕН ОТ УНИЧТОЖЕНИЯ. ОСТАЛЬНЫЕ БИТЫ ЗАРЕЗЕРВИРОВАНЫ ДЛЯ РАСШИРЕНИЯ. ИЗМЕНЕНИЕ СОСТОЯНИЯ БИТА D7 ПРОИЗВОДЯТ ВНЕШНИЕ ЗАГРУЖАЕМЫЕ ДИРЕКТИВЫ ОПЕРАЦИОННОЙ СИСТЕМЫ. D-F - СЛУЖЕБНЫЕ ЯЧЕЙКИ СИСТЕМЫ. } { CAS File Format for SYSTEM programs ----------------------------------- binary file contains blocks of data 1st block: header: 256 times '00' and 'A5' synchron byte 2nd block: name: 55, and 6 character name from ASC 'A'-'Z' data block: 3C NN LL HH DD DD DD ... DD CC where: 3C: signature byte NN: length of the data block (0 means 256 bytes) HHLL: address of memory DD DD .. DD: data bytes CC: checksum last block: 78 LL HH where HHLL is the start address of the program }