А что там непонятного, отрезать первые 16 байт, склеить их них ROM-диск и засунуть в эмулятор.
Дело было вечером, делать было нечего, склеил минимальный набор файлов:
Вид для печати
Сделал несколько образов дисков, посмотрел, что там Denn напрограммировал. В целом - впечатления положительные, респект.
К сожалению, в старых версиях моего эмулятора работа с диском невозможна, придётся снова скачать с сайта. У Denn-а был контроллер, который работает по адресам F700-F704,F708, а у меня он поддерживался некорректно.
Образы дисков и ROM-диск с системой можно скачать по ссылке. После запуска Орион-128 выбрать на тулбаре прилагаемый ROM-диск и нажать на сброс. Загрузится система. Для удобства можно запустить командой LDC$ что-то типа "командира нортона". В нём F1/F2 выбор диска на панели, F3 просмотр, F4 редактор. Во многих программах F4 - выход в ДОС.
Спасибо :)
Имхо, под эмуляторами нет смысла работать с флопповодами. Но встаёт проблема заливки файлов на диск "B:"... может организовать как-то через COM'овый PC-линкер? Или сделать напрямую поддержку заливки файлов средствами эмулятора...
Если дело только в F708h vs. F720h, то могу перекомпилить весь софт и собрать версию ROM-диска под F720h. А если есть ещё какие-то нюансы в различиях контроллеров, тогда сложнее...
На выходных постараюсь выложить образ распоследней сборки ROM-диска с DSDOS и пакетом программ. Как раз не так давно делал для тестирования очередного эмулятора :)
Хинт: при первоначальной загрузке системы будет предложен выбор ROM или FDD, нужно выбрать ROM.
Сперва желательно отформатировать RAM-диск командой "F". Хотя это скорее относится к железным Орионам, в эмуляторах по-умолчанию ОЗУ обнулено (вроде бы?).
Насчёт запуска "нортона" всё верно, так проще и удобнее. Всё-таки чую, что есть смысл создать тему и расписать всё подробно про систему, про команды, про софт.
А "F4" - это выход не во многих прогах, а во всех :) А если какая старинная софтинка не поддерживает выход по F4, то всегда можно выйти через пользовательское меню: Shift+F1, а там пункт выхода в DOS.
С физическим флоповодом мой эмуль и не работает. Он работает с образом диска. Образы дисков я делаю из твоих .ori файлов при помощи скрипта для FASM. Насчёт поддержки в эмуляторе думал, но пока не буду делать, мне проще скриптом.
Теперь уже всё нормально, скачай последнюю версию эмулятора.
Очередной - это какой? :)
Ну, специально не очищаю, но сишная рантайм выделяет куски памяти почти полностью обнулённые, только несколько байт вначале ненулевые.
Я тут подумал. В эмуляторе есть фича: формирование образа диска CP/M на лету из выбранных файлов. Это когда вместо образа диска выбираются несколько файлов (надо переключить фильтр в диалоге открытия файла). Причём обмен файлами возможен в обе стороны, т.е. если на такой диск записать файл, он появится/обновится в каталоге с выбранными файлами. Если твоя система будет поддерживать диски формата CP/M, то проблема будет решена.
В "Мониторе-2" есть возможность подмена подпрограммы опроса клавиатуры. Делается "закладка", которая вызывает родную п/п в ПЗУ, анализируется ответ, и, если поймана комбинация Shift+F1, то вызывается сервисное меню, в противном случае просто возврат.
---------- Post added at 14:21 ---------- Previous post was at 14:15 ----------
Если расположение битов данных одинаковое, то просто изменить адреса портов - нивапрос. А вот положение битов в байтах там уже жостко завязано на определённые команды и на скорость алгоритмов работы с FDD, там всё работает на пределе скорости проца ВМ80 ((
---------- Post added at 14:28 ---------- Previous post was at 14:21 ----------
Ох-х... тут надо разбираться с форматом дисков СР/М и понимать что там требуется по ресурсам (шоб было место для FAT и т.п.).
Я как раз имел ввиду другое расположение битов, когда говорил "по-другому". Но это лишь порт выбора номера дисковода и стороны, он не часто используется.
На пределе работает п/п чтения/записи сектора, она использует порт F704, который, как выясняется, кроме тебя никто не использовал. Остальные читают регистр статуса ВГ93. Так что тут можно не волноваться :)
Чтобы считать файл, ресурсов особо не требуется, достаточно будет буфера для записи о файле из каталога. А чтобы записать файл, нужна битовая карта занятых блоков, но она тоже небольшая, для 384-х блоков (по 2Кб) всего 48 байт.
---------- Post added at 16:53 ---------- Previous post was at 16:44 ----------
Кстати, было бы интересно заставить работать CP/M в рамках твоей системы. Тогда и с форматом дисков не придётся разбираться :)