Варианты загрузки с IDE на i8255 (580вв55) на Орионе:Сообщение от Tim0xA
- при помощи ПЗУ F800 (один из: M35ZMSH.BIN, M35ZRKH.BIN, M36ZMSH.BIN, M36ZRKH.BIN - см. ROM_IDE.ZIP во вложении). ПЗУ при включении питания вместо ORDOS сразу грузит MBR-сектор с master-IDE в ОЗУ по адресу 1:0000 (т.е. с начала второй физической страницы памяти) и передает туда управление. M35* работают с IDE с портoм 0F500h, M36* - с портoм 0F600h. Суффикс *RK* обозначает прошивку для клавиатуры RK-86, *MS* - для клавиатуры МС7007 по лениградской схеме.
- Вариант загрузки из ORDOS. ПЗУ F800 при этом может быть любым. ПЗУ F800 грузит ORDOS и передает ей управление. Под ORDOS используйте утилиту HddF600$.ord (ее можно прошить в ROM-DISK - см. IDEF600.ZIP во вложении), которая использует загрузчик, полностью аналогичный Мониторам, но корректирующий в загружаемом с IDE-F600 коде MBR-загрузчика и BOOT-сектора CPM все вызовы адреса 0F834h (это подпрограмма чтения с IDE 512-байтного сектора в Мониторах М3*H.BIN) на вызов своей подпрограммы, которая читает с HDD, но не с порта F500, а с F600.
Дальнейшая загрузка происходит так, как написан MBR (в настоящее время он позволяет грузиться по выбору с любого из 4-х primary разделов master-HDD, где есть загрузочный образ CPM. Выводится меню - список меток_дисков [offset +20h] соотвествующих разделов). MBR (а далее и BOOT-сектор раздела) используют п/п 0F834h (или п\п предоставляемую HddF600$.ord), которая в числе прочих параметров возвращает и базовый адрес ППА IDE. Далее этот адрес передается в CPM как базовый адрес порта IDE (F500/F600/...) и ядро CPM само себя соответствующе корректирует. Т.е. не важно какой адрес порта IDE будет передан из MBR\BOOT (он может даже не быть F500/F600, а быть, к примеру, F567).
В качестве образа диска для загрузки с IDE рекомендую диск с игрушками (на нем более-менее свежая [читай работоспособная] версия ОС с поддержкой IDE, в архиве есть readme), да и лучшего теста для Z80CardII чем игры - не придумать :
http://orion-z.hoter.ru/335/5480_games2.zip
В силу вышеописанного алгоритма работы, корректировать ОС для работы на порту, отличном от F500 не надо, все корректировки адреса ППА IDE надо делать только в Мониторе (ПЗУ F800) или HddF600$.ord. Некоторые CP/M утилиты, к примеру fat.com, fdisk.com, которым необходимо лезть к IDE "напрямую", т.е. мимо CPM, работают с IDE через драйвер IDEBDOS.COM. Этому драйверу при старте можно в командной строке передать параметры, в т.ч. и номер порта IDE. Например:
IDEBDOS port:f600
Залить образ HDD на реальный IDE-диск под Windows можно утилитой HddUtil.exe:
http://orion-z.hoter.ru/file/355/4538_HddUtil.zip
Утилита консольная (т.е. запускать из CMD - оно напишет подсказку). Я ее тестировал на чтении/заливке образов с/на как реальных винтов (подключенных к IDE материнской платы), так и для CompactFlash в обычном китайском USB-адаптере (CardReader). Например, чтобы записать образ GAMES.OHI на hdd, установленный в системе вторым, надо выполнить примерно такое:
hddutil c:\temp\games.ohi 1: /c=131072
На вопрос ответить "Yes". После завершения счетчика записанных секторов hddutil сообщит "Complete", что означает, что все записалось.
После записи образа, команда
hddutil /list
для привода 1: должна показывать наличие двух СРМ партиций




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