Надоело "ходить беременным", родил по принципу "что выросло - то выросло". Надо тестировать.
Итак, релиз-кандидат CPMс поддержкой SD-карт скачиваем тут:
http://orion-z.hoter.ru/file/335/5706_GAMES-sd.zip
Грузить ОС с SD-карт можно при помощи загрузчиков ранее уже опубликованных в этом посте:
http://zx.pk.ru/showpost.php?p=262906&postcount=31
Описание как чего подготавливать сделаю позже.
В целом, это делается точно так же, как и для CF-карт или ATA hdd (уже ранее описывалось на форуме в какой-то Орионовской ветке).
ewgeny7 , проверить ЭТО на реале пока можешь только ты.
К тому же, наверняка справишься с записью образа на карту и без HOW-TO.
Исходники во вложении этого сообщения.
Т.к. ребеночек родился 7-месячным, исходники явно неокончательные.
Release Notes:
Код:Altair DOS V3.4s (2010.03.27) ----------------------------- + Добавлена поддержка SD-карт (формат SDC - т.е. емкостью не более 2G) - устройство SDCARD. Схема N8VEM или MSX (при старте ОС выполняется автодетект схемы). IDE по-прежнему поддерживается - устройства MASTER и SLAVE. + При дисковом вводе-выводе есть возможность выключать прерывания. Это настраивается командой INT_IO файла config.sys. "INT_IO 0" - операции ввода-вывода не прерываются по int (прерывания приостанавливаются). "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. +- Драйвер 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 и предыдущие ----------------------------------- Ранее изменения не фиксировались.




с поддержкой SD-карт скачиваем тут:
Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
